{"_id":"node-repl-await","_rev":"4-80d86068f8dcb6f8714732cc0137678a","name":"node-repl-await","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"node-repl-await","version":"0.1.0","description":"Standalone util function from Node.js core to process await statements in REPL.","main":"index.js","types":"index.d.ts","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/hyurl/node-repl-await.git"},"keywords":["repl","await","async","shell","console","terminal"],"license":"MIT","bugs":{"url":"https://github.com/nodejs/node/issues"},"homepage":"https://nodejs.org","dependencies":{"acorn":"^6.1.1","acorn-walk":"^6.1.1"},"devDependencies":{"@types/node":"^11.13.5","mocha":"^6.1.3"},"gitHead":"04d351a080ea2e0b26d07bf1061adc67beca8389","_id":"node-repl-await@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"hyurl","email":"i@hyurl.com"},"dist":{"integrity":"sha512-IFTxtD5M08mIBk6GkBxQ7Y9vDj0rVzc9P4dJJsu0fieXKVzmSAbPJjC/T/6xABDJQqw3G/VqURrJiZFZeHGjxg==","shasum":"017b4213979c8235de6cc2c4cf2167553840d326","tarball":"https://registry.npmjs.org/node-repl-await/-/node-repl-await-0.1.0.tgz","fileCount":7,"unpackedSize":9472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuDPlCRA9TVsSAnZWagAACN4P/091sMkr5G6N21sYjEHA\nKofDm7riQzd3+mvcHok9DpHomXljBiQ3fUoZnCHuaKTBuNeFnqLOQJqkcbAL\nWcnShNQxVe9jMTfil0lIwoR8+sLjTrE5ybdsv6IR+Ys8TO2K9ODfFKLsCnsS\nrZkD1M54ZYxn4itGVBrPWyZWFIIzh70Fcrt2OnBuWbl7GgzVYjqNW6UQUxqo\nFB02lE7+f0WCzetN1SFOEkUlOrsW52WfqydgrHYRiUmydbNb0c/fzsRICtWi\n1U4TYUEKOYqClgWvXwEvhEUGGmubXzBuCI/HLpdbosMCEeUkWeGS+CPgjM3i\nrA3oK1qOj88fVVRK2UUD8/eLAqH/a5cFpkY49I3WDay/1tsE8jK2teTJlF5s\nqGcpgG9KxYHYNQJB0UrHh2QiQR4taIvuVqBX49NiC1Won46z+Ao+VWSDTYx3\nwijAzMMPY7HAKvbGo41Z3QEaULCowr7obSXlZNmqrKP09+IedDV/VZUgnuDZ\n9gkZ92k9+DU8YdmccmG4x/OCCc3I/VR6HbYELkOMD+gujNlsK24S+JG4Pxtd\nB53RLvDcMoVxpcdk6pc2WjdNQe21DPrpLGfwlyA+sJwdDaWVvfH7zA9941Oi\nUPWrTOZDt/yS8cWWnR33CCvIJJeA/5i/VKFY4F3dKNkvjHWRgx1kvzRSexWv\nsR2R\r\n=cHjg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGw2JlTEdIQK5X9jdEdB748M1mA+dAfDt9UIlsl4FdjOAiBxCGJ31oTw2aOOA305v5VSv2F7x3mCtwR/NxbNoRZBIA=="}]},"maintainers":[{"name":"hyurl","email":"i@hyurl.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-repl-await_0.1.0_1555575781190_0.7756588271151899"},"_hasShrinkwrap":false},"0.1.1":{"name":"node-repl-await","version":"0.1.1","description":"Standalone util function from Node.js core to process await statements in REPL.","main":"index.js","types":"index.d.ts","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/hyurl/node-repl-await.git"},"keywords":["repl","await","async","shell","console","terminal"],"license":"MIT","bugs":{"url":"https://github.com/nodejs/node/issues"},"homepage":"https://nodejs.org","dependencies":{"acorn":"^6.3.0","acorn-class-fields":"^0.3.1","acorn-numeric-separator":"^0.3.0","acorn-private-methods":"^0.3.0","acorn-static-class-features":"^0.2.0","acorn-walk":"^6.2.0"},"devDependencies":{"@types/node":"^11.15.2","mocha":"^6.2.2"},"gitHead":"37016ff5369dc8fd0440b8ff2675f77cceab1a1a","_id":"node-repl-await@0.1.1","_nodeVersion":"12.13.0","_npmVersion":"6.12.1","dist":{"integrity":"sha512-ZtYMsRzhmWURZfjSrlhQcSz0+tLIiiz16SNzxm2e1ZuDRfM7vB9h8PPM5YcX/2sQAQpttp0vAIm8jTYNSfXhKA==","shasum":"fe3a992555648e281b63c390bc811df5800aabde","tarball":"https://registry.npmjs.org/node-repl-await/-/node-repl-await-0.1.1.tgz","fileCount":7,"unpackedSize":9797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdysrdCRA9TVsSAnZWagAAY10P/3/IoyBfp8Pv7Q/8r8rs\nW7YVPSth8OR00+Xt+1lYcoGS/WzIpje3SE1VU/LmmvM3arhG7Pc5C75CZsGW\ngyyLOUFvTNXgxom/4g3qa+GXcXGNTskg8IlwgLcoPqfm1dD15H9A4OD7FQxt\nRIVYz+gl9kfPqIePF6rkbvt6GLiQn4bZjg2ztnwXlNcmr/6oaULMeqfhcVjt\nMZw+T1kFScP+kff/EoyMou+QYcvujwCkEW6Eu+2CZ55cJEGusgcFxV9O9Tw4\nuQ+qFRJohl0vrfOumQbwXyaM5oo5ttm9JAVHUEDwPcYo93mssl4bDv1Tl4KT\nYKsTXhzaBB9xG9njK4Mn9O1CM8AxA5htyMrmehlbiRTL9uugO9+GVa//35sX\npDIb52xikVLZj04Yzpidt6/Tnmx8aK93KxEdf3YtcPAnOgYvBtUeiSUfJsyj\nOEhcdoXvUt4ux7GFjWMoyz4ilngj9M5fXBk+VUJDcuE88+2kiNwQn0Dzg+v2\nTK3W+YfCPRTqNoO7NffFqvhfNxTd5i/Tyr8RjStljVTw0u61ZiQArnqg34Hi\nau8sPX03G3jjU5GZwHlFy4x9q/CIYi81h9ZLTsdkm9JuCEP17Y58YiFPwPfT\nxfkqoHWJhV9SF3pYPYDEvTtONL5Nof4BeX04sDosLj1h7rGdpMDFU4VpDwlm\nW1bK\r\n=18/9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVKwzoCkJtwY7d3oZUh+wDnsvYKUutAJl3hA3NWATWDAiEAxnF9j76idhK8lQ6Q7iVcfOI61CMyqqevLqRkta7B35Y="}]},"maintainers":[{"name":"hyurl","email":"i@hyurl.com"}],"_npmUser":{"name":"hyurl","email":"i@hyurl.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-repl-await_0.1.1_1573571293043_0.9250401357176941"},"_hasShrinkwrap":false},"0.1.2":{"name":"node-repl-await","version":"0.1.2","description":"Standalone util function from Node.js core to process await statements in REPL.","main":"index.js","types":"index.d.ts","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/hyurl/node-repl-await.git"},"keywords":["repl","await","async","shell","console","terminal"],"license":"MIT","bugs":{"url":"https://github.com/nodejs/node/issues"},"homepage":"https://nodejs.org","dependencies":{"acorn":"^8.0.5","acorn-class-fields":"^1.0.0","acorn-private-methods":"^1.0.0","acorn-static-class-features":"^1.0.0","acorn-walk":"^8.0.2"},"devDependencies":{"@types/node":"^11.15.2","mocha":"^6.2.2"},"gitHead":"d129e4107526405c6518bdf957ead9665e206b8e","_id":"node-repl-await@0.1.2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-e03zlI31RjF6Ks9+/ju0gY55dZSm21XXMSzy85FGZtDxuAZCa/iQwzWoQjmZvaolQCrIjzs0e4shxZs1bxbpUg==","shasum":"dff7fcdca39a7eaa88e596b5492b856d0800845d","tarball":"https://registry.npmjs.org/node-repl-await/-/node-repl-await-0.1.2.tgz","fileCount":7,"unpackedSize":10439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOgjjCRA9TVsSAnZWagAA05MQAIOkq2cngCOgt7OABf/5\nlDLh80WD0wuycMLAH62PCqQmRPtTPBolw1RhAvX8BBWD0Ku92CKzu1T+fJ/B\nu2WT1RPB5y63p6JFSrf5JKM8z0cgyUL2c7PRufWPEH9o1ZrqXI9y+gu0Vxbg\nsA4bEdZ7fN5lbTB0q66EKue4P+43vXgpyY4+Lk/crnoo4qq+PjpGNdggjjY8\nYX4Y79Jk1EBCmli37W5+dTYS99ouqVbTBCCRTDWYg9C/AKhH21D3OaA55xa1\ny8rTKXfQcBhu2mMJFNq0U9rwHBjG3pkGo+nxMJ7vDGjVXqBLs0GOjaO2Ii1D\nq8K4Cjs2FuhJk3PMENTydNRVHXRe0DwOcr6exCe/53HHCb37fY8M4Ela/wie\nU4ChDHj5DzptqeXfs5qd/22NTicZ+ZMtWZq0KZLV4aisqdTk0W9IcO5ZI+xi\nRup61oDXoI6FhwaWE1M9dkSyhtTaf5pz64eAxj1ztbHnSGxz5ps//tO6UovM\n8Xah2R62aEpKnOSM4SkqQtbc+g0lnkIhKgXVW/t4bBuTGbbZlAHn1v0quKq0\n46Mp16LfKLau4Txa9L0EVbno3LW+ApxI1PJ7T7nU1elQRCsAd19VYNjZUVyr\nvJkuD90Pqy1EBLvBO2dOsDuBzANAvVWYTqL4YCXLrjOxfQ6wMeiU7JwKVhsz\nT3Ya\r\n=MRnj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHrrOHG4ffMjMoYPK4Zyw59b64p/rTx6IOOd2YnrSumcAiEAyzqHmVzW8DeRaKLpMbMqFTMOeffUmJPMonF4eljXzDo="}]},"_npmUser":{"name":"hyurl","email":"i@hyurl.com"},"directories":{},"maintainers":[{"name":"hyurl","email":"i@hyurl.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-repl-await_0.1.2_1614416099481_0.939655874159903"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-18T08:23:01.189Z","0.1.0":"2019-04-18T08:23:01.290Z","modified":"2023-05-09T15:11:18.516Z","0.1.1":"2019-11-12T15:08:13.140Z","0.1.2":"2021-02-27T08:54:59.600Z"},"maintainers":[{"email":"the@ayon.li","name":"ayonli"}],"description":"Standalone util function from Node.js core to process await statements in REPL.","homepage":"https://nodejs.org","keywords":["repl","await","async","shell","console","terminal"],"repository":{"type":"git","url":"git+https://github.com/hyurl/node-repl-await.git"},"bugs":{"url":"https://github.com/nodejs/node/issues"},"license":"MIT","readme":"# Node's processTopLevelAwait\n\nStandalone util function from Node.js core to process await statements in REPL.\n\nSince v10.0.0, Node.js introduced a new experimental feature to support `await` \nkeyword in the REPL by using the argument `--experimental-repl-await`, however,\nif a user wants to implement a custom REPL console, there would be no\nawait-support at all, to achieve such a goal, this package clones the internal\nmodule of await-support to form a standalone version, allowing users share the \nbenefits of await-support in their own REPL environments.\n\nSee\n[Node.js docs](https://nodejs.org/dist/latest-v11.x/docs/api/repl.html#repl_await_keyword)\nfor more details, and contribute to the\n[original source](https://github.com/nodejs/node/blob/master/lib/internal/repl/await.js).\n\n## Example\n\n```javascript\nconst repl = require(\"repl\");\nconst vm = require(\"vm\");\nconst { processTopLevelAwait } = require(\"node-repl-await\");\n\nfunction isRecoverableError(error) {\n    if (error.name === 'SyntaxError') {\n        return /^(Unexpected end of input|Unexpected token)/.test(error.message);\n    }\n    return false;\n}\n\nasync function myEval(code, context, filename, callback) {\n    code = processTopLevelAwait(code) || code;\n\n    try {\n        let result = await vm.runInNewContext(code, context);\n        callback(null, result);\n    } catch (e) {\n        if (isRecoverableError(e)) {\n            callback(new repl.Recoverable(e));\n        } else {\n            console.log(e);\n        }\n    }\n}\n\nrepl.start({ prompt: '> ', eval: myEval });\n```\n\n## API\n\n```typescript\nfunction processTopLevelAwait(src: string): string | void\n```\n\nTries to wrap the given source code to an immediately-invoked function if it \ncontains any top level `await` statement in the form of\n\n```js\n(async () => { /* source code */ })()\n```\n\nIf no `await` presents or processing failed, the function returns `null`.","readmeFilename":"README.md"}