Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 2.33 KB

mirrordrive.md

File metadata and controls

80 lines (56 loc) · 2.33 KB

MirrorDrive

Mirrors a Hyperdrive or a LocalDrive into another one.

GitHub (Mirrordrive)

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 it is done.

const mirror = new MirrorDrive(src, dst)
await mirror.done()
console.log(mirror.count) // => { files: 1, add: 1, remove: 0, change: 0 }