mirror of
https://github.com/aljazceru/pear-docs.git
synced 2025-12-17 14:34:19 +01:00
2.3 KiB
2.3 KiB
MirrorDrive
Mirrors 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 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 }