Links
Comment on page

MirrorDrive

Mirror a Hyperdrive or a Localdrive into another one.

Installation

Install with npm:
npm install mirror-drive

Basic usage

import MirrorDrive from 'mirror-drive'
const src = new Localdrive('./src')
const dst = new Hyperdrive(store)
const mirror = new MirrorDrive(src, dst)
console.log(mirror.count) // => { files: 0, add: 0, remove: 0, change: 0 }
for await (const diff of mirror) {
console.log(diff) /* {
op: 'add',
key: '/new-file.txt',
bytesRemoved: 0,
bytesAdded: 4
}*/
}
console.log(mirror.count) // => { files: 1, add: 1, remove: 0, change: 0 }

API

const mirror = new MirrorDrive(src, dst, [options])

Creates a mirror instance to efficiently move src drive into dst drive.
options include:
Property
Type
Default
prefix
String
'/'
dryRun
Boolean
false
prune
Boolean
true
includeEquals
Boolean
false
filter
Function
(key) => true
metadataEquals
Function
(srcMetadata, dstMetadata) => { ... }
batch
Boolean
false
entries
Array
null

mirror.count

It counts the total files processed, added, removed, and changed.
Default: { files: 0, add: 0, remove: 0, change: 0 }
const mirror = new MirrorDrive(src, dst)
console.log(mirror.count) // => { files: 0, add: 0, remove: 0, change: 0 }

await mirror.done()

It starts processing all the diffing until is done.
const mirror = new MirrorDrive(src, dst)
await mirror.done()
console.log(mirror.count) // => { files: 1, add: 1, remove: 0, change: 0 }