UNPKG

chainscript

Version:
86 lines (63 loc) 2.33 kB
'use strict'; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _child_process = require('child_process'); var _commander = require('commander'); var _commander2 = _interopRequireDefault(_commander); var _utilsReadPackageSync = require('../utils/readPackageSync'); var _utilsReadPackageSync2 = _interopRequireDefault(_utilsReadPackageSync); var _utilsHashPDF = require('../utils/hashPDF'); var _utilsHashPDF2 = _interopRequireDefault(_utilsHashPDF); var args = []; var chainscriptArgs = []; var execChainscript = false; process.argv.forEach(function (arg) { if (arg === '--') { execChainscript = true; return; } if (execChainscript) { chainscriptArgs.push(arg); } else { args.push(arg); } }); _commander2['default'].version(_utilsReadPackageSync2['default']('version')).usage('[options] input [-- chainscript args]').option('-a, --algorithm <name>', 'hash algorithm (default sha256)').option('-r, --root <path>', 'JSON root path (default content.hash)').parse(args); if (_commander2['default'].args.length !== 1) { _commander2['default'].outputHelp(); process.exit(1); } function handleOutput(output) { var str = JSON.stringify(output, null, '\t') + '\n'; process.stdout.write(str, function () { return process.exit(0); }); } function handleError(err) { process.stderr.write(err.message + '\n', function () { return process.exit(1); }); } _utilsHashPDF2['default'](_path2['default'].resolve(process.cwd(), _commander2['default'].args[0]), _commander2['default'].algorithm, _commander2['default'].root).then(function (json) { if (execChainscript) { var hasAt = false; chainscriptArgs = chainscriptArgs.map(function (arg) { if (arg === '@') { hasAt = true; return JSON.stringify(json); } return arg; }); try { _child_process.execFileSync(_path2['default'].resolve(__dirname, '../../bin/chainscript'), chainscriptArgs, { input: hasAt ? null : JSON.stringify(json), stdio: [hasAt ? process.stdin : 'pipe', process.stdout, process.stderr] }); } catch (err) { handleError(err); } return; } handleOutput(json); })['catch'](handleError);