%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
var readline = require('readline') var Promise = require('any-promise') var objectAssign = require('object-assign') var Interface = readline.Interface function wrapCompleter (completer) { if (completer.length === 2) return completer return function (line, cb) { var result = completer(line) if (typeof result.then !== 'function') { return cb(null, result) } result.catch(cb).then(function (result) { process.nextTick(function () { cb(null, result) }) }) } } function InterfaceAsPromised (input, output, completer, terminal) { if (arguments.length === 1) { var options = input if (typeof options.completer === 'function') { options = objectAssign({}, options, { completer: wrapCompleter(options.completer) }) } Interface.call(this, options) } else { if (typeof completer === 'function') { completer = wrapCompleter(completer) } Interface.call(this, input, output, completer, terminal) } } InterfaceAsPromised.prototype = Object.create(Interface.prototype) InterfaceAsPromised.prototype.question = function (question, callback) { if (typeof callback === 'function') { return Interface.prototype.question.call(this, question, callback) } var self = this return new Promise(function (resolve) { Interface.prototype.question.call(self, question, resolve) }) } objectAssign(exports, readline, { Interface: InterfaceAsPromised, createInterface: function (input, output, completer, terminal) { if (arguments.length === 1) { return new InterfaceAsPromised(input) } return new InterfaceAsPromised(input, output, completer, terminal) } })