chainscript
Version:
Client for chainscript.io
43 lines (29 loc) • 1.18 kB
JavaScript
;
exports.__esModule = true;
exports['default'] = hashPDF;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _stream = require('stream');
var _objectPath = require('object-path');
var _objectPath2 = _interopRequireDefault(_objectPath);
var _hashFile = require('./hashFile');
var _hashFile2 = _interopRequireDefault(_hashFile);
var _writeToPDF = require('./writeToPDF');
var _writeToPDF2 = _interopRequireDefault(_writeToPDF);
function hashPDF(input) {
var algorithm = arguments.length <= 1 || arguments[1] === undefined ? 'sha256' : arguments[1];
var root = arguments.length <= 2 || arguments[2] === undefined ? 'content.hash' : arguments[2];
return new Promise(function (resolve, reject) {
var proxy = new _stream.PassThrough();
_writeToPDF2['default'](input, proxy)['catch'](reject);
_hashFile2['default'](proxy, algorithm).then(function (hash) {
if (root) {
var json = {};
_objectPath2['default'].set(json, root, hash);
resolve(json);
return;
}
resolve(hash);
})['catch'](reject);
});
}
module.exports = exports['default'];