Files
pear-docs/helpers/mirrordrive.md
Vivek Singh fac1f73572 Fix grammar in docs (#49)
* fix grammar in readme

* fix grammar in compact-encoding

* fix grammar in hyperdht

* fix grammar in hyperdrive

* fix grammar in hypercore

* fix grammar in hyperswarm

* fix grammar in localdrive

* fix grammar in mirrordrive

* fix grammar in sharing-a-pear-app

* tiny fixes
2024-02-16 14:46:16 +01:00

2.3 KiB

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 }