UNPKG

rabin-wasm

Version:

Rabin fingerprinting implemented in AssemblyScript

22 lines 604 B
#!/usr/bin/env node var fs = require('fs') var crypto = require('crypto') var args = require('minimist')(process.argv.slice(2)) var Rabin = require('./rabin-stream') var rabin = new Rabin(args) var offset = 0 var rs = fs.createReadStream(args._[0]) var count = 0 rs.pipe(rabin).on('data', function (ch) { offset += ch.length count++ var hash = crypto.createHash('sha256').update(ch).digest('hex') var data = { length: ch.length, offset: offset - ch.length, hash: hash } console.log(JSON.stringify(data)) }).on('end', function () { console.error('average', ~~(offset / count)) })