UNPKG

fs-safe-copy

Version:

Copy some files easily. Check your copy checksum.

28 lines (22 loc) 566 B
'use strict' const crypto = require('crypto') const stream = require('stream') const digester = Symbol('digester') class SumCreator extends stream.Transform { constructor (algorithm, opts) { super(opts) this[digester] = crypto.createHash(algorithm) } _transform (chunk, encoding, callback) { const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding) this[digester].update(buffer) callback() } _flush (callback) { this.push(this[digester].digest('hex')) callback() } } module.exports = { SumCreator }