initial commit
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
'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;
|
||||
Reference in New Issue
Block a user