Spaces:
Configuration error
Configuration error
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| const hash_fn_1 = require("./hash-fn"); | |
| /** | |
| * Base implementation of hashing. | |
| */ | |
| class BaseHash { | |
| constructor(implementation, alloc, getReader) { | |
| this.alloc = alloc; | |
| this.getReader = getReader; | |
| this.hash = implementation; | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| update(data) { | |
| if (!this.hash) { | |
| throw new Error('Cannot continue updating hashing after dispose() has been called'); | |
| } | |
| this.hash.update(hash_fn_1.inputToArray(data)); | |
| return this; | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| digest({ length = hash_fn_1.defaultHashLength, dispose = true } = {}) { | |
| if (!this.hash) { | |
| throw new Error('Cannot call digest() after dipose() has been called'); | |
| } | |
| const digested = this.alloc(length); | |
| this.hash.digest(digested); | |
| if (dispose) { | |
| this.dispose(); | |
| } | |
| return digested; | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| reader({ dispose = true } = {}) { | |
| if (!this.hash) { | |
| throw new Error('Cannot call reader() after dipose() has been called'); | |
| } | |
| const reader = this.getReader(this.hash.reader()); | |
| if (dispose) { | |
| this.dispose(); | |
| } | |
| return reader; | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| dispose() { | |
| var _a; | |
| (_a = this.hash) === null || _a === void 0 ? void 0 : _a.free(); | |
| this.hash = undefined; | |
| } | |
| } | |
| exports.BaseHash = BaseHash; | |
| //# sourceMappingURL=hash-instance.js.map |