@omegajs/mirror-drive
v1.0.0
Published
Mirror a Omega Drive or Local Drive into another one
Downloads
3
Readme
Mirror Omega Drives
@omegajs/mirror-drive
Mirror an Omega Drive or Localdrive into another one
Install Via L1FE's NPM
npm config set registry https://npm.l1fe.tech
npm install @omegajs/mirror-drive
Install Via L1FE's Git Repository
git clone https://lab.l1fe.tech/omega/mirror-drive.git
cd mirror-drive
npm install
Usage
import MirrorDrive from '@omegajs/mirror-drive'
const src = new Localdrive('./src')
const dst = new Drive(vault)
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 }
Another example:
const mirror = new MirrorDrive(src, dst)
console.log(mirror.count) // => { files: 0, add: 0, remove: 0, change: 0 }
await mirror.done()
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.
Available options
:
{
prefix: '/',
dryRun: false,
prune: true,
includeEquals: false,
filter: (key) => true,
metadataEquals: (srcMetadata, dstMetadata) => { ... }
batch: false,
entries: null // Array of key entries (if you use this then prefix is ignored)
}
mirror.count
It counts the total files proccessed, added, removed, and changed.
Default value: { files: 0, add: 0, remove: 0, change: 0 }
await mirror.done()
It starts processing all the diffing until is done.
License
Apache-2.0