Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | module.exports = failEarly => { const handle = handler(failEarly) return pxi => { process.stdin.setEncoding('utf8') process.stdout.on('error', () => process.exit(1)) process.stderr.on('error', () => process.exit(1)) process.stdin .on('data', data => { const {str} = handle(pxi(data, false)) process.stdout.write(str) }) .on('end', () => { const {str} = handle(pxi('', true)) process.stdout.write(str) process.exit(0) }) .on('error', () => process.exit(1)) } } function handler (failEarly) { return obj => { const err = obj.err || [] if (err.length > 0) { const msgs = err.map(({msg, line, info}) => (typeof line !== 'undefined' ? '(Line ' + line + ') ' : '') + msg + (typeof info !== 'undefined' ? ', in ' + info : '') + '\n' ) process.stderr.write(msgs.join('')) if (failEarly) process.exit(1) } return obj } } |