sorted-diff-stream

1.1.0 • Public • Published

sorted-diff-stream

NPM

given two sorted streams will emit only pairs that do not match

usage

var diffStream = require('sorted-diff-stream')

returns a function that can be used to create new diff

see test.js for API examples

example

var diffStream = require('sorted-diff-stream')
var through = require('through2')
 
var a = through()
var b = through()
 
var diffs = diffStream(a, b, isEqual, compare)
 
// this is the default `isEqual`, you dont have to pass one above
function isEqual (a, b, cb) {
  cb(null, a.value === b.value)
  // you can implement your own equality check here instead
}
 
// this is the default `compare`, you dont have to pass one above
function compare (a, b, cb) {
  cb(null, a.key > b.key ? 1 : a.key < b.key ? -1 : 0)
  // you can implement your own comparison here instead
}
 
diffs.on('data', function (diff) {
  console.log(diff)
})
 
a.write({key: 1, value: 'a'})
a.write({key: 2, value: 'b'})
a.write({key: 3, value: 'c'})
a.write({key: 4, value: 'd'})
 
b.write({key: 1, value: 'a'})
b.write({key: 3, value: 'c'})
b.write({key: 4, value: 'd'})
b.write({key: 5, value: 'e'})
 
// console output:
// [{key: 2, value: 'b'}, null]
// [null, {key: 5, value: 'e'}]

/sorted-diff-stream/

    Package Sidebar

    Install

    npm i sorted-diff-stream

    Weekly Downloads

    2

    Version

    1.1.0

    License

    BSD

    Last publish

    Collaborators

    • jed
    • karissa
    • mafintosh
    • maxogden