'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _stream = require('stream'); var _crypto = require('crypto'); class HashStream extends _stream.Transform { constructor(algo) { var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; var _ref$encoding = _ref.encoding; let encoding = _ref$encoding === undefined ? 'hex' : _ref$encoding; super({ objectMode: true }); this.algo = algo; this.digestEncoding = encoding; this.hashSum = (0, _crypto.createHash)(algo); } _transform(chunk, encoding, cb) { // Update hash sum objects this.hashSum.update(chunk); cb(); } _flush(cb) { // Compute hash digest const digest = this.hashSum.digest(this.digestEncoding); // this.emit('hash', hash) this.push({ digest }); cb(null); } } exports.default = HashStream;