UNPKG

chainscript

Version:
44 lines (31 loc) 1 kB
'use strict'; exports.__esModule = true; exports['default'] = readFromPDF; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); function readFromPDF(input) { return new Promise(function (resolve, reject) { var reader = typeof input === 'string' ? _fs2['default'].createReadStream(input) : input; var buffer = new Buffer([]); reader.on('error', reject); reader.on('data', function (data) { return buffer = Buffer.concat([buffer, data]); }); reader.on('end', function () { var start = buffer.indexOf('\n% Chainscript: '); if (start < 0) { resolve(null); } start += 16; var end = buffer.indexOf('\n', start); var str = buffer.slice(start, end).toString(); try { resolve(JSON.parse(str)); } catch (err) { reject(err); } }); }); } module.exports = exports['default'];