Update FUI
This commit is contained in:
parent
4416492dda
commit
14dacc54c3
1098 changed files with 66552 additions and 2016 deletions
26
node_modules/.yarn-integrity
generated
vendored
26
node_modules/.yarn-integrity
generated
vendored
|
@ -11,7 +11,7 @@
|
||||||
"fomantic-ui@^2.9.0-beta.293"
|
"fomantic-ui@^2.9.0-beta.293"
|
||||||
],
|
],
|
||||||
"lockfileEntries": {
|
"lockfileEntries": {
|
||||||
"@actions/core@^1.6.0": "https://registry.yarnpkg.com/@actions/core/-/core-1.9.1.tgz#97c0201b1f9856df4f7c3a375cdcdb0c2a2f750b",
|
"@actions/core@^1.6.0": "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f",
|
||||||
"@actions/http-client@^2.0.1": "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c",
|
"@actions/http-client@^2.0.1": "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c",
|
||||||
"@fontsource/atkinson-hyperlegible@^4.5.9": "https://registry.yarnpkg.com/@fontsource/atkinson-hyperlegible/-/atkinson-hyperlegible-4.5.9.tgz#87a377801c1b8ebc4d575da95d75a83efcbbacdc",
|
"@fontsource/atkinson-hyperlegible@^4.5.9": "https://registry.yarnpkg.com/@fontsource/atkinson-hyperlegible/-/atkinson-hyperlegible-4.5.9.tgz#87a377801c1b8ebc4d575da95d75a83efcbbacdc",
|
||||||
"@fontsource/raleway@^4.5.10": "https://registry.yarnpkg.com/@fontsource/raleway/-/raleway-4.5.10.tgz#6859021ac4faf83be4b4ce769d479321a29c6f0d",
|
"@fontsource/raleway@^4.5.10": "https://registry.yarnpkg.com/@fontsource/raleway/-/raleway-4.5.10.tgz#6859021ac4faf83be4b4ce769d479321a29c6f0d",
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
"@octokit/endpoint@^7.0.0": "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.2.tgz#11ee868406ba7bb1642e61bbe676d641f79f02be",
|
"@octokit/endpoint@^7.0.0": "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.2.tgz#11ee868406ba7bb1642e61bbe676d641f79f02be",
|
||||||
"@octokit/graphql@^5.0.0": "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.1.tgz#a06982514ad131fb6fbb9da968653b2233fade9b",
|
"@octokit/graphql@^5.0.0": "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.1.tgz#a06982514ad131fb6fbb9da968653b2233fade9b",
|
||||||
"@octokit/openapi-types@^12.11.0": "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0",
|
"@octokit/openapi-types@^12.11.0": "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0",
|
||||||
"@octokit/openapi-types@^13.10.0": "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-13.10.0.tgz#27e29c97a6dc26e218834730ae3f7ea5e05bcb7f",
|
"@octokit/openapi-types@^13.11.0": "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-13.13.1.tgz#a783bacb1817c9f61a2a0c3f81ea22ad62340fdf",
|
||||||
"@octokit/plugin-paginate-rest@^1.1.1": "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc",
|
"@octokit/plugin-paginate-rest@^1.1.1": "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc",
|
||||||
"@octokit/plugin-request-log@^1.0.0": "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85",
|
"@octokit/plugin-request-log@^1.0.0": "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85",
|
||||||
"@octokit/plugin-rest-endpoint-methods@2.4.0": "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e",
|
"@octokit/plugin-rest-endpoint-methods@2.4.0": "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e",
|
||||||
|
@ -36,11 +36,11 @@
|
||||||
"@octokit/types@^2.0.1": "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2",
|
"@octokit/types@^2.0.1": "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2",
|
||||||
"@octokit/types@^6.0.3": "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04",
|
"@octokit/types@^6.0.3": "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04",
|
||||||
"@octokit/types@^6.16.1": "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04",
|
"@octokit/types@^6.16.1": "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04",
|
||||||
"@octokit/types@^7.0.0": "https://registry.yarnpkg.com/@octokit/types/-/types-7.4.0.tgz#ac2aecc9c46b30f7899976dc7c56b47c0e093688",
|
"@octokit/types@^7.0.0": "https://registry.yarnpkg.com/@octokit/types/-/types-7.5.1.tgz#4e8b182933c17e1f41cc25d44757dbdb7bd76c1b",
|
||||||
"@types/expect@^1.20.4": "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5",
|
"@types/expect@^1.20.4": "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5",
|
||||||
"@types/node@*": "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154",
|
"@types/node@*": "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f",
|
||||||
"@types/node@>= 8": "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154",
|
"@types/node@>= 8": "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f",
|
||||||
"@types/node@^14.14.41": "https://registry.yarnpkg.com/@types/node/-/node-14.18.29.tgz#a0c58d67a42f8953c13d32f0acda47ed26dfce40",
|
"@types/node@^14.14.41": "https://registry.yarnpkg.com/@types/node/-/node-14.18.31.tgz#4b873dea3122e71af4f77e65ec5841397ff254d3",
|
||||||
"@types/vinyl@^2.0.4": "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.6.tgz#b2d134603557a7c3d2b5d3dc23863ea2b5eb29b0",
|
"@types/vinyl@^2.0.4": "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.6.tgz#b2d134603557a7c3d2b5d3dc23863ea2b5eb29b0",
|
||||||
"abbrev@^1.0.0": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8",
|
"abbrev@^1.0.0": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8",
|
||||||
"ansi-colors@^1.0.1": "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9",
|
"ansi-colors@^1.0.1": "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9",
|
||||||
|
@ -117,8 +117,8 @@
|
||||||
"cache-base@^1.0.1": "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2",
|
"cache-base@^1.0.1": "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2",
|
||||||
"call-bind@^1.0.2": "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c",
|
"call-bind@^1.0.2": "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c",
|
||||||
"camelcase@^3.0.0": "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a",
|
"camelcase@^3.0.0": "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a",
|
||||||
"caniuse-lite@^1.0.30001109": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001400.tgz#3038bee70d8b875604cd8833cb0e5e254ee0281a",
|
"caniuse-lite@^1.0.30001109": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz#5f1715e506e71860b4b07c50060ea6462217611e",
|
||||||
"caniuse-lite@^1.0.30001400": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001400.tgz#3038bee70d8b875604cd8833cb0e5e254ee0281a",
|
"caniuse-lite@^1.0.30001400": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz#5f1715e506e71860b4b07c50060ea6462217611e",
|
||||||
"chalk@^1.0.0": "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
"chalk@^1.0.0": "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||||
"chalk@^1.1.3": "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
"chalk@^1.1.3": "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||||
"chalk@^2.3.0": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
|
"chalk@^2.3.0": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
|
||||||
|
@ -193,7 +193,7 @@
|
||||||
"duplexify@^3.6.0": "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309",
|
"duplexify@^3.6.0": "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309",
|
||||||
"each-props@^1.3.2": "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333",
|
"each-props@^1.3.2": "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333",
|
||||||
"editorconfig@^0.15.3": "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5",
|
"editorconfig@^0.15.3": "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5",
|
||||||
"electron-to-chromium@^1.4.251": "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.251.tgz#8b62448f3c591f0d32488df09454dda72dec96d5",
|
"electron-to-chromium@^1.4.251": "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.269.tgz#93ea2724b07f5f562daa7dd3740a1d28572b028b",
|
||||||
"emoji-regex@^8.0.0": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37",
|
"emoji-regex@^8.0.0": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37",
|
||||||
"end-of-stream@^1.0.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
|
"end-of-stream@^1.0.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
|
||||||
"end-of-stream@^1.1.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
|
"end-of-stream@^1.1.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
|
||||||
|
@ -239,7 +239,7 @@
|
||||||
"first-chunk-stream@^2.0.0": "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70",
|
"first-chunk-stream@^2.0.0": "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70",
|
||||||
"flagged-respawn@^1.0.0": "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41",
|
"flagged-respawn@^1.0.0": "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41",
|
||||||
"flush-write-stream@^1.0.2": "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8",
|
"flush-write-stream@^1.0.2": "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8",
|
||||||
"fomantic-ui@^2.9.0-beta.293": "https://registry.yarnpkg.com/fomantic-ui/-/fomantic-ui-2.9.0-beta.315.tgz#2cace04fca8da463774aa31043f5c642e26fab7f",
|
"fomantic-ui@^2.9.0-beta.293": "https://registry.yarnpkg.com/fomantic-ui/-/fomantic-ui-2.9.0-beta.323.tgz#3ead87ccba5941b6f8a8842482f42b10e44d6320",
|
||||||
"for-in@^1.0.1": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80",
|
"for-in@^1.0.1": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80",
|
||||||
"for-in@^1.0.2": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80",
|
"for-in@^1.0.2": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80",
|
||||||
"for-own@^1.0.0": "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b",
|
"for-own@^1.0.0": "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b",
|
||||||
|
@ -561,7 +561,7 @@
|
||||||
"postcss-value-parser@^4.1.0": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514",
|
"postcss-value-parser@^4.1.0": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514",
|
||||||
"postcss@^7.0.2": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309",
|
"postcss@^7.0.2": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309",
|
||||||
"postcss@^7.0.32": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309",
|
"postcss@^7.0.32": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309",
|
||||||
"postcss@^8.3.11": "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c",
|
"postcss@^8.3.11": "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5",
|
||||||
"pretty-hrtime@^1.0.0": "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1",
|
"pretty-hrtime@^1.0.0": "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1",
|
||||||
"process-nextick-args@^2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
|
"process-nextick-args@^2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
|
||||||
"process-nextick-args@~2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
|
"process-nextick-args@~2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
|
||||||
|
@ -625,7 +625,7 @@
|
||||||
"rimraf@^2.2.8": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
|
"rimraf@^2.2.8": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
|
||||||
"rtlcss@^3.5.0": "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3",
|
"rtlcss@^3.5.0": "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3",
|
||||||
"run-async@^2.4.0": "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455",
|
"run-async@^2.4.0": "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455",
|
||||||
"rxjs@^7.5.5": "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc",
|
"rxjs@^7.5.5": "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39",
|
||||||
"safe-buffer@^5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
|
"safe-buffer@^5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
|
||||||
"safe-buffer@^5.1.2": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
|
"safe-buffer@^5.1.2": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
|
||||||
"safe-buffer@~5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
|
"safe-buffer@~5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
|
||||||
|
@ -726,7 +726,7 @@
|
||||||
"type@^1.0.1": "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0",
|
"type@^1.0.1": "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0",
|
||||||
"type@^2.7.2": "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0",
|
"type@^2.7.2": "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0",
|
||||||
"typedarray@^0.0.6": "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777",
|
"typedarray@^0.0.6": "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777",
|
||||||
"uglify-js@^3.0.5": "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85",
|
"uglify-js@^3.0.5": "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6",
|
||||||
"unc-path-regex@^0.1.2": "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa",
|
"unc-path-regex@^0.1.2": "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa",
|
||||||
"undertaker-registry@^1.0.0": "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50",
|
"undertaker-registry@^1.0.0": "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50",
|
||||||
"undertaker@^1.2.1": "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18",
|
"undertaker@^1.2.1": "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18",
|
||||||
|
|
35
node_modules/@actions/core/lib/core.js
generated
vendored
35
node_modules/@actions/core/lib/core.js
generated
vendored
|
@ -34,7 +34,6 @@ const file_command_1 = require("./file-command");
|
||||||
const utils_1 = require("./utils");
|
const utils_1 = require("./utils");
|
||||||
const os = __importStar(require("os"));
|
const os = __importStar(require("os"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const uuid_1 = require("uuid");
|
|
||||||
const oidc_utils_1 = require("./oidc-utils");
|
const oidc_utils_1 = require("./oidc-utils");
|
||||||
/**
|
/**
|
||||||
* The code to exit an action
|
* The code to exit an action
|
||||||
|
@ -64,20 +63,9 @@ function exportVariable(name, val) {
|
||||||
process.env[name] = convertedVal;
|
process.env[name] = convertedVal;
|
||||||
const filePath = process.env['GITHUB_ENV'] || '';
|
const filePath = process.env['GITHUB_ENV'] || '';
|
||||||
if (filePath) {
|
if (filePath) {
|
||||||
const delimiter = `ghadelimiter_${uuid_1.v4()}`;
|
return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
|
||||||
// These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter.
|
|
||||||
if (name.includes(delimiter)) {
|
|
||||||
throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
|
|
||||||
}
|
|
||||||
if (convertedVal.includes(delimiter)) {
|
|
||||||
throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
|
|
||||||
}
|
|
||||||
const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
|
|
||||||
file_command_1.issueCommand('ENV', commandValue);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
command_1.issueCommand('set-env', { name }, convertedVal);
|
|
||||||
}
|
}
|
||||||
|
command_1.issueCommand('set-env', { name }, convertedVal);
|
||||||
}
|
}
|
||||||
exports.exportVariable = exportVariable;
|
exports.exportVariable = exportVariable;
|
||||||
/**
|
/**
|
||||||
|
@ -95,7 +83,7 @@ exports.setSecret = setSecret;
|
||||||
function addPath(inputPath) {
|
function addPath(inputPath) {
|
||||||
const filePath = process.env['GITHUB_PATH'] || '';
|
const filePath = process.env['GITHUB_PATH'] || '';
|
||||||
if (filePath) {
|
if (filePath) {
|
||||||
file_command_1.issueCommand('PATH', inputPath);
|
file_command_1.issueFileCommand('PATH', inputPath);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
command_1.issueCommand('add-path', {}, inputPath);
|
command_1.issueCommand('add-path', {}, inputPath);
|
||||||
|
@ -135,7 +123,10 @@ function getMultilineInput(name, options) {
|
||||||
const inputs = getInput(name, options)
|
const inputs = getInput(name, options)
|
||||||
.split('\n')
|
.split('\n')
|
||||||
.filter(x => x !== '');
|
.filter(x => x !== '');
|
||||||
return inputs;
|
if (options && options.trimWhitespace === false) {
|
||||||
|
return inputs;
|
||||||
|
}
|
||||||
|
return inputs.map(input => input.trim());
|
||||||
}
|
}
|
||||||
exports.getMultilineInput = getMultilineInput;
|
exports.getMultilineInput = getMultilineInput;
|
||||||
/**
|
/**
|
||||||
|
@ -168,8 +159,12 @@ exports.getBooleanInput = getBooleanInput;
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
function setOutput(name, value) {
|
function setOutput(name, value) {
|
||||||
|
const filePath = process.env['GITHUB_OUTPUT'] || '';
|
||||||
|
if (filePath) {
|
||||||
|
return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
|
||||||
|
}
|
||||||
process.stdout.write(os.EOL);
|
process.stdout.write(os.EOL);
|
||||||
command_1.issueCommand('set-output', { name }, value);
|
command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
|
||||||
}
|
}
|
||||||
exports.setOutput = setOutput;
|
exports.setOutput = setOutput;
|
||||||
/**
|
/**
|
||||||
|
@ -298,7 +293,11 @@ exports.group = group;
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
function saveState(name, value) {
|
function saveState(name, value) {
|
||||||
command_1.issueCommand('save-state', { name }, value);
|
const filePath = process.env['GITHUB_STATE'] || '';
|
||||||
|
if (filePath) {
|
||||||
|
return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
|
||||||
|
}
|
||||||
|
command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
|
||||||
}
|
}
|
||||||
exports.saveState = saveState;
|
exports.saveState = saveState;
|
||||||
/**
|
/**
|
||||||
|
|
2
node_modules/@actions/core/lib/core.js.map
generated
vendored
2
node_modules/@actions/core/lib/core.js.map
generated
vendored
File diff suppressed because one or more lines are too long
3
node_modules/@actions/core/lib/file-command.d.ts
generated
vendored
3
node_modules/@actions/core/lib/file-command.d.ts
generated
vendored
|
@ -1 +1,2 @@
|
||||||
export declare function issueCommand(command: string, message: any): void;
|
export declare function issueFileCommand(command: string, message: any): void;
|
||||||
|
export declare function prepareKeyValueMessage(key: string, value: any): string;
|
||||||
|
|
22
node_modules/@actions/core/lib/file-command.js
generated
vendored
22
node_modules/@actions/core/lib/file-command.js
generated
vendored
|
@ -20,13 +20,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.issueCommand = void 0;
|
exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
|
||||||
// We use any as a valid input type
|
// We use any as a valid input type
|
||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const os = __importStar(require("os"));
|
const os = __importStar(require("os"));
|
||||||
|
const uuid_1 = require("uuid");
|
||||||
const utils_1 = require("./utils");
|
const utils_1 = require("./utils");
|
||||||
function issueCommand(command, message) {
|
function issueFileCommand(command, message) {
|
||||||
const filePath = process.env[`GITHUB_${command}`];
|
const filePath = process.env[`GITHUB_${command}`];
|
||||||
if (!filePath) {
|
if (!filePath) {
|
||||||
throw new Error(`Unable to find environment variable for file command ${command}`);
|
throw new Error(`Unable to find environment variable for file command ${command}`);
|
||||||
|
@ -38,5 +39,20 @@ function issueCommand(command, message) {
|
||||||
encoding: 'utf8'
|
encoding: 'utf8'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.issueCommand = issueCommand;
|
exports.issueFileCommand = issueFileCommand;
|
||||||
|
function prepareKeyValueMessage(key, value) {
|
||||||
|
const delimiter = `ghadelimiter_${uuid_1.v4()}`;
|
||||||
|
const convertedValue = utils_1.toCommandValue(value);
|
||||||
|
// These should realistically never happen, but just in case someone finds a
|
||||||
|
// way to exploit uuid generation let's not allow keys or values that contain
|
||||||
|
// the delimiter.
|
||||||
|
if (key.includes(delimiter)) {
|
||||||
|
throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
|
||||||
|
}
|
||||||
|
if (convertedValue.includes(delimiter)) {
|
||||||
|
throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
|
||||||
|
}
|
||||||
|
return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
|
||||||
|
}
|
||||||
|
exports.prepareKeyValueMessage = prepareKeyValueMessage;
|
||||||
//# sourceMappingURL=file-command.js.map
|
//# sourceMappingURL=file-command.js.map
|
2
node_modules/@actions/core/lib/file-command.js.map
generated
vendored
2
node_modules/@actions/core/lib/file-command.js.map
generated
vendored
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"}
|
{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"}
|
2
node_modules/@actions/core/package.json
generated
vendored
2
node_modules/@actions/core/package.json
generated
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@actions/core",
|
"name": "@actions/core",
|
||||||
"version": "1.9.1",
|
"version": "1.10.0",
|
||||||
"description": "Actions core lib",
|
"description": "Actions core lib",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"github",
|
"github",
|
||||||
|
|
4
node_modules/@octokit/openapi-types/package.json
generated
vendored
4
node_modules/@octokit/openapi-types/package.json
generated
vendored
|
@ -9,12 +9,12 @@
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
"version": "13.10.0",
|
"version": "13.13.1",
|
||||||
"main": "",
|
"main": "",
|
||||||
"types": "types.d.ts",
|
"types": "types.d.ts",
|
||||||
"author": "Gregor Martynus (https://twitter.com/gr2m)",
|
"author": "Gregor Martynus (https://twitter.com/gr2m)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"octokit": {
|
"octokit": {
|
||||||
"openapi-version": "7.12.0"
|
"openapi-version": "7.14.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
197
node_modules/@octokit/openapi-types/types.d.ts
generated
vendored
197
node_modules/@octokit/openapi-types/types.d.ts
generated
vendored
|
@ -3239,6 +3239,32 @@ export interface paths {
|
||||||
*/
|
*/
|
||||||
delete: operations["code-scanning/delete-analysis"];
|
delete: operations["code-scanning/delete-analysis"];
|
||||||
};
|
};
|
||||||
|
"/repos/{owner}/{repo}/code-scanning/codeql/databases": {
|
||||||
|
/**
|
||||||
|
* Lists the CodeQL databases that are available in a repository.
|
||||||
|
*
|
||||||
|
* For private repositories, you must use an access token with the `security_events` scope.
|
||||||
|
* For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
|
||||||
|
* GitHub Apps must have the `contents` read permission to use this endpoint.
|
||||||
|
*/
|
||||||
|
get: operations["code-scanning/list-codeql-databases"];
|
||||||
|
};
|
||||||
|
"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": {
|
||||||
|
/**
|
||||||
|
* Gets a CodeQL database for a language in a repository.
|
||||||
|
*
|
||||||
|
* By default this endpoint returns JSON metadata about the CodeQL database. To
|
||||||
|
* download the CodeQL database binary content, set the `Accept` header of the request
|
||||||
|
* to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure
|
||||||
|
* your HTTP client is configured to follow redirects or use the `Location` header
|
||||||
|
* to make a second request to get the redirect URL.
|
||||||
|
*
|
||||||
|
* For private repositories, you must use an access token with the `security_events` scope.
|
||||||
|
* For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
|
||||||
|
* GitHub Apps must have the `contents` read permission to use this endpoint.
|
||||||
|
*/
|
||||||
|
get: operations["code-scanning/get-codeql-database"];
|
||||||
|
};
|
||||||
"/repos/{owner}/{repo}/code-scanning/sarifs": {
|
"/repos/{owner}/{repo}/code-scanning/sarifs": {
|
||||||
/**
|
/**
|
||||||
* Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
|
* Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
|
||||||
|
@ -3733,7 +3759,11 @@ export interface paths {
|
||||||
* github.com URLs (`html_url` and `_links["html"]`) will have null values.
|
* github.com URLs (`html_url` and `_links["html"]`) will have null values.
|
||||||
*/
|
*/
|
||||||
get: operations["repos/get-content"];
|
get: operations["repos/get-content"];
|
||||||
/** Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. */
|
/**
|
||||||
|
* Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint.
|
||||||
|
*
|
||||||
|
* **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.
|
||||||
|
*/
|
||||||
put: operations["repos/create-or-update-file-contents"];
|
put: operations["repos/create-or-update-file-contents"];
|
||||||
/**
|
/**
|
||||||
* Deletes a file in a repository.
|
* Deletes a file in a repository.
|
||||||
|
@ -3743,6 +3773,8 @@ export interface paths {
|
||||||
* The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.
|
* The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.
|
||||||
*
|
*
|
||||||
* You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.
|
* You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.
|
||||||
|
*
|
||||||
|
* **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.
|
||||||
*/
|
*/
|
||||||
delete: operations["repos/delete-file"];
|
delete: operations["repos/delete-file"];
|
||||||
};
|
};
|
||||||
|
@ -8791,7 +8823,7 @@ export interface components {
|
||||||
*/
|
*/
|
||||||
"nullable-alert-updated-at": string | null;
|
"nullable-alert-updated-at": string | null;
|
||||||
/**
|
/**
|
||||||
* @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`.
|
* @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
"secret-scanning-alert-state": "open" | "resolved";
|
"secret-scanning-alert-state": "open" | "resolved";
|
||||||
|
@ -13473,8 +13505,19 @@ export interface components {
|
||||||
/**
|
/**
|
||||||
* @description The outcome of the job.
|
* @description The outcome of the job.
|
||||||
* @example success
|
* @example success
|
||||||
|
* @enum {string|null}
|
||||||
*/
|
*/
|
||||||
conclusion: string | null;
|
conclusion:
|
||||||
|
| (
|
||||||
|
| "success"
|
||||||
|
| "failure"
|
||||||
|
| "neutral"
|
||||||
|
| "cancelled"
|
||||||
|
| "skipped"
|
||||||
|
| "timed_out"
|
||||||
|
| "action_required"
|
||||||
|
)
|
||||||
|
| null;
|
||||||
/**
|
/**
|
||||||
* Format: date-time
|
* Format: date-time
|
||||||
* @description The time that the job started, in ISO 8601 format.
|
* @description The time that the job started, in ISO 8601 format.
|
||||||
|
@ -13758,6 +13801,11 @@ export interface components {
|
||||||
head_repository: components["schemas"]["minimal-repository"];
|
head_repository: components["schemas"]["minimal-repository"];
|
||||||
/** @example 5 */
|
/** @example 5 */
|
||||||
head_repository_id?: number;
|
head_repository_id?: number;
|
||||||
|
/**
|
||||||
|
* @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow.
|
||||||
|
* @example Simple Workflow
|
||||||
|
*/
|
||||||
|
display_title: string;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Environment Approval
|
* Environment Approval
|
||||||
|
@ -14904,6 +14952,38 @@ export interface components {
|
||||||
*/
|
*/
|
||||||
confirm_delete_url: string | null;
|
confirm_delete_url: string | null;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* CodeQL Database
|
||||||
|
* @description A CodeQL database.
|
||||||
|
*/
|
||||||
|
"code-scanning-codeql-database": {
|
||||||
|
/** @description The ID of the CodeQL database. */
|
||||||
|
id: number;
|
||||||
|
/** @description The name of the CodeQL database. */
|
||||||
|
name: string;
|
||||||
|
/** @description The language of the CodeQL database. */
|
||||||
|
language: string;
|
||||||
|
uploader: components["schemas"]["simple-user"];
|
||||||
|
/** @description The MIME type of the CodeQL database file. */
|
||||||
|
content_type: string;
|
||||||
|
/** @description The size of the CodeQL database file in bytes. */
|
||||||
|
size: number;
|
||||||
|
/**
|
||||||
|
* Format: date-time
|
||||||
|
* @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
|
||||||
|
*/
|
||||||
|
created_at: string;
|
||||||
|
/**
|
||||||
|
* Format: date-time
|
||||||
|
* @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
|
||||||
|
*/
|
||||||
|
updated_at: string;
|
||||||
|
/**
|
||||||
|
* Format: uri
|
||||||
|
* @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property.
|
||||||
|
*/
|
||||||
|
url: string;
|
||||||
|
};
|
||||||
/** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */
|
/** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */
|
||||||
"code-scanning-analysis-sarif-file": string;
|
"code-scanning-analysis-sarif-file": string;
|
||||||
"code-scanning-sarifs-receipt": {
|
"code-scanning-sarifs-receipt": {
|
||||||
|
@ -20153,7 +20233,7 @@ export interface components {
|
||||||
"application/json": components["schemas"]["basic-error"];
|
"application/json": components["schemas"]["basic-error"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** Response if the repository is archived or if github advanced security is not enabled for this repository */
|
/** Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */
|
||||||
code_scanning_forbidden_write: {
|
code_scanning_forbidden_write: {
|
||||||
content: {
|
content: {
|
||||||
"application/json": components["schemas"]["basic-error"];
|
"application/json": components["schemas"]["basic-error"];
|
||||||
|
@ -22893,11 +22973,11 @@ export interface operations {
|
||||||
| "subscribed"
|
| "subscribed"
|
||||||
| "repos"
|
| "repos"
|
||||||
| "all";
|
| "all";
|
||||||
/** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the issues to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
||||||
labels?: components["parameters"]["labels"];
|
labels?: components["parameters"]["labels"];
|
||||||
/** What to sort results by. Can be either `created`, `updated`, `comments`. */
|
/** What to sort results by. */
|
||||||
sort?: "created" | "updated" | "comments";
|
sort?: "created" | "updated" | "comments";
|
||||||
/** The direction to sort the results by. */
|
/** The direction to sort the results by. */
|
||||||
direction?: components["parameters"]["direction"];
|
direction?: components["parameters"]["direction"];
|
||||||
|
@ -22984,7 +23064,7 @@ export interface operations {
|
||||||
/** @description The Markdown text to render in HTML. */
|
/** @description The Markdown text to render in HTML. */
|
||||||
text: string;
|
text: string;
|
||||||
/**
|
/**
|
||||||
* @description The rendering mode. Can be either `markdown` or `gfm`.
|
* @description The rendering mode.
|
||||||
* @default markdown
|
* @default markdown
|
||||||
* @example markdown
|
* @example markdown
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
|
@ -26270,11 +26350,11 @@ export interface operations {
|
||||||
| "subscribed"
|
| "subscribed"
|
||||||
| "repos"
|
| "repos"
|
||||||
| "all";
|
| "all";
|
||||||
/** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the issues to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
||||||
labels?: components["parameters"]["labels"];
|
labels?: components["parameters"]["labels"];
|
||||||
/** What to sort results by. Can be either `created`, `updated`, `comments`. */
|
/** What to sort results by. */
|
||||||
sort?: "created" | "updated" | "comments";
|
sort?: "created" | "updated" | "comments";
|
||||||
/** The direction to sort the results by. */
|
/** The direction to sort the results by. */
|
||||||
direction?: components["parameters"]["direction"];
|
direction?: components["parameters"]["direction"];
|
||||||
|
@ -27053,7 +27133,7 @@ export interface operations {
|
||||||
org: components["parameters"]["org"];
|
org: components["parameters"]["org"];
|
||||||
};
|
};
|
||||||
query: {
|
query: {
|
||||||
/** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the projects to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
@ -33801,6 +33881,71 @@ export interface operations {
|
||||||
503: components["responses"]["service_unavailable"];
|
503: components["responses"]["service_unavailable"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* Lists the CodeQL databases that are available in a repository.
|
||||||
|
*
|
||||||
|
* For private repositories, you must use an access token with the `security_events` scope.
|
||||||
|
* For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
|
||||||
|
* GitHub Apps must have the `contents` read permission to use this endpoint.
|
||||||
|
*/
|
||||||
|
"code-scanning/list-codeql-databases": {
|
||||||
|
parameters: {
|
||||||
|
path: {
|
||||||
|
/** The account owner of the repository. The name is not case sensitive. */
|
||||||
|
owner: components["parameters"]["owner"];
|
||||||
|
/** The name of the repository. The name is not case sensitive. */
|
||||||
|
repo: components["parameters"]["repo"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
responses: {
|
||||||
|
/** Response */
|
||||||
|
200: {
|
||||||
|
content: {
|
||||||
|
"application/json": components["schemas"]["code-scanning-codeql-database"][];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
403: components["responses"]["code_scanning_forbidden_read"];
|
||||||
|
404: components["responses"]["not_found"];
|
||||||
|
503: components["responses"]["service_unavailable"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Gets a CodeQL database for a language in a repository.
|
||||||
|
*
|
||||||
|
* By default this endpoint returns JSON metadata about the CodeQL database. To
|
||||||
|
* download the CodeQL database binary content, set the `Accept` header of the request
|
||||||
|
* to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure
|
||||||
|
* your HTTP client is configured to follow redirects or use the `Location` header
|
||||||
|
* to make a second request to get the redirect URL.
|
||||||
|
*
|
||||||
|
* For private repositories, you must use an access token with the `security_events` scope.
|
||||||
|
* For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
|
||||||
|
* GitHub Apps must have the `contents` read permission to use this endpoint.
|
||||||
|
*/
|
||||||
|
"code-scanning/get-codeql-database": {
|
||||||
|
parameters: {
|
||||||
|
path: {
|
||||||
|
/** The account owner of the repository. The name is not case sensitive. */
|
||||||
|
owner: components["parameters"]["owner"];
|
||||||
|
/** The name of the repository. The name is not case sensitive. */
|
||||||
|
repo: components["parameters"]["repo"];
|
||||||
|
/** The language of the CodeQL database. */
|
||||||
|
language: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
responses: {
|
||||||
|
/** Response */
|
||||||
|
200: {
|
||||||
|
content: {
|
||||||
|
"application/json": components["schemas"]["code-scanning-codeql-database"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
302: components["responses"]["found"];
|
||||||
|
403: components["responses"]["code_scanning_forbidden_read"];
|
||||||
|
404: components["responses"]["not_found"];
|
||||||
|
503: components["responses"]["service_unavailable"];
|
||||||
|
};
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
|
* Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
|
||||||
*
|
*
|
||||||
|
@ -35302,7 +35447,11 @@ export interface operations {
|
||||||
404: components["responses"]["not_found"];
|
404: components["responses"]["not_found"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. */
|
/**
|
||||||
|
* Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint.
|
||||||
|
*
|
||||||
|
* **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.
|
||||||
|
*/
|
||||||
"repos/create-or-update-file-contents": {
|
"repos/create-or-update-file-contents": {
|
||||||
parameters: {
|
parameters: {
|
||||||
path: {
|
path: {
|
||||||
|
@ -35372,6 +35521,8 @@ export interface operations {
|
||||||
* The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.
|
* The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.
|
||||||
*
|
*
|
||||||
* You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.
|
* You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.
|
||||||
|
*
|
||||||
|
* **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.
|
||||||
*/
|
*/
|
||||||
"repos/delete-file": {
|
"repos/delete-file": {
|
||||||
parameters: {
|
parameters: {
|
||||||
|
@ -36396,7 +36547,7 @@ export interface operations {
|
||||||
repo: components["parameters"]["repo"];
|
repo: components["parameters"]["repo"];
|
||||||
};
|
};
|
||||||
query: {
|
query: {
|
||||||
/** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */
|
/** The sort order. `stargazers` will sort by star count. */
|
||||||
sort?: "newest" | "oldest" | "stargazers" | "watchers";
|
sort?: "newest" | "oldest" | "stargazers" | "watchers";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
@ -37847,7 +37998,7 @@ export interface operations {
|
||||||
query: {
|
query: {
|
||||||
/** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */
|
/** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */
|
||||||
milestone?: string;
|
milestone?: string;
|
||||||
/** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the issues to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */
|
/** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */
|
||||||
assignee?: string;
|
assignee?: string;
|
||||||
|
@ -37857,7 +38008,7 @@ export interface operations {
|
||||||
mentioned?: string;
|
mentioned?: string;
|
||||||
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
||||||
labels?: components["parameters"]["labels"];
|
labels?: components["parameters"]["labels"];
|
||||||
/** What to sort results by. Can be either `created`, `updated`, `comments`. */
|
/** What to sort results by. */
|
||||||
sort?: "created" | "updated" | "comments";
|
sort?: "created" | "updated" | "comments";
|
||||||
/** The direction to sort the results by. */
|
/** The direction to sort the results by. */
|
||||||
direction?: components["parameters"]["direction"];
|
direction?: components["parameters"]["direction"];
|
||||||
|
@ -39714,7 +39865,7 @@ export interface operations {
|
||||||
repo: components["parameters"]["repo"];
|
repo: components["parameters"]["repo"];
|
||||||
};
|
};
|
||||||
query: {
|
query: {
|
||||||
/** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the projects to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
@ -39787,9 +39938,9 @@ export interface operations {
|
||||||
head?: string;
|
head?: string;
|
||||||
/** Filter pulls by base branch name. Example: `gh-pages`. */
|
/** Filter pulls by base branch name. Example: `gh-pages`. */
|
||||||
base?: string;
|
base?: string;
|
||||||
/** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */
|
/** What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */
|
||||||
sort?: "created" | "updated" | "popularity" | "long-running";
|
sort?: "created" | "updated" | "popularity" | "long-running";
|
||||||
/** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */
|
/** The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */
|
||||||
direction?: "asc" | "desc";
|
direction?: "asc" | "desc";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
@ -39873,7 +40024,7 @@ export interface operations {
|
||||||
};
|
};
|
||||||
query: {
|
query: {
|
||||||
sort?: "created" | "updated" | "created_at";
|
sort?: "created" | "updated" | "created_at";
|
||||||
/** Can be either `asc` or `desc`. Ignored without `sort` parameter. */
|
/** The direction to sort results. Ignored without `sort` parameter. */
|
||||||
direction?: "asc" | "desc";
|
direction?: "asc" | "desc";
|
||||||
/** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
|
/** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
|
||||||
since?: components["parameters"]["since"];
|
since?: components["parameters"]["since"];
|
||||||
|
@ -40232,7 +40383,7 @@ export interface operations {
|
||||||
query: {
|
query: {
|
||||||
/** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */
|
/** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */
|
||||||
sort?: components["parameters"]["sort"];
|
sort?: components["parameters"]["sort"];
|
||||||
/** Can be either `asc` or `desc`. Ignored without `sort` parameter. */
|
/** The direction to sort results. Ignored without `sort` parameter. */
|
||||||
direction?: "asc" | "desc";
|
direction?: "asc" | "desc";
|
||||||
/** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
|
/** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
|
||||||
since?: components["parameters"]["since"];
|
since?: components["parameters"]["since"];
|
||||||
|
@ -46028,11 +46179,11 @@ export interface operations {
|
||||||
| "subscribed"
|
| "subscribed"
|
||||||
| "repos"
|
| "repos"
|
||||||
| "all";
|
| "all";
|
||||||
/** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the issues to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
/** A list of comma separated label names. Example: `bug,ui,@high` */
|
||||||
labels?: components["parameters"]["labels"];
|
labels?: components["parameters"]["labels"];
|
||||||
/** What to sort results by. Can be either `created`, `updated`, `comments`. */
|
/** What to sort results by. */
|
||||||
sort?: "created" | "updated" | "comments";
|
sort?: "created" | "updated" | "comments";
|
||||||
/** The direction to sort the results by. */
|
/** The direction to sort the results by. */
|
||||||
direction?: components["parameters"]["direction"];
|
direction?: components["parameters"]["direction"];
|
||||||
|
@ -46196,7 +46347,7 @@ export interface operations {
|
||||||
"orgs/list-memberships-for-authenticated-user": {
|
"orgs/list-memberships-for-authenticated-user": {
|
||||||
parameters: {
|
parameters: {
|
||||||
query: {
|
query: {
|
||||||
/** Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. */
|
/** Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */
|
||||||
state?: "active" | "pending";
|
state?: "active" | "pending";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
@ -47878,7 +48029,7 @@ export interface operations {
|
||||||
username: components["parameters"]["username"];
|
username: components["parameters"]["username"];
|
||||||
};
|
};
|
||||||
query: {
|
query: {
|
||||||
/** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */
|
/** Indicates the state of the projects to return. */
|
||||||
state?: "open" | "closed" | "all";
|
state?: "open" | "closed" | "all";
|
||||||
/** The number of results per page (max 100). */
|
/** The number of results per page (max 100). */
|
||||||
per_page?: components["parameters"]["per-page"];
|
per_page?: components["parameters"]["per-page"];
|
||||||
|
|
2
node_modules/@octokit/types/dist-node/index.js
generated
vendored
2
node_modules/@octokit/types/dist-node/index.js
generated
vendored
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', { value: true });
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||||||
|
|
||||||
const VERSION = "7.4.0";
|
const VERSION = "7.5.1";
|
||||||
|
|
||||||
exports.VERSION = VERSION;
|
exports.VERSION = VERSION;
|
||||||
//# sourceMappingURL=index.js.map
|
//# sourceMappingURL=index.js.map
|
||||||
|
|
2
node_modules/@octokit/types/dist-src/VERSION.js
generated
vendored
2
node_modules/@octokit/types/dist-src/VERSION.js
generated
vendored
|
@ -1 +1 @@
|
||||||
export const VERSION = "7.4.0";
|
export const VERSION = "7.5.1";
|
||||||
|
|
2
node_modules/@octokit/types/dist-types/VERSION.d.ts
generated
vendored
2
node_modules/@octokit/types/dist-types/VERSION.d.ts
generated
vendored
|
@ -1 +1 @@
|
||||||
export declare const VERSION = "7.4.0";
|
export declare const VERSION = "7.5.1";
|
||||||
|
|
8
node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts
generated
vendored
8
node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts
generated
vendored
|
@ -1531,6 +1531,14 @@ export interface Endpoints {
|
||||||
* @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository
|
* @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository
|
||||||
*/
|
*/
|
||||||
"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">;
|
"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">;
|
||||||
|
/**
|
||||||
|
* @see https://docs.github.com/rest/reference/code-scanning#list-codeql-databases
|
||||||
|
*/
|
||||||
|
"GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">;
|
||||||
|
/**
|
||||||
|
* @see https://docs.github.com/rest/reference/code-scanning#get-codeql-database
|
||||||
|
*/
|
||||||
|
"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">;
|
||||||
/**
|
/**
|
||||||
* @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository
|
* @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository
|
||||||
*/
|
*/
|
||||||
|
|
2
node_modules/@octokit/types/dist-web/index.js
generated
vendored
2
node_modules/@octokit/types/dist-web/index.js
generated
vendored
|
@ -1,4 +1,4 @@
|
||||||
const VERSION = "7.4.0";
|
const VERSION = "7.5.1";
|
||||||
|
|
||||||
export { VERSION };
|
export { VERSION };
|
||||||
//# sourceMappingURL=index.js.map
|
//# sourceMappingURL=index.js.map
|
||||||
|
|
6
node_modules/@octokit/types/package.json
generated
vendored
6
node_modules/@octokit/types/package.json
generated
vendored
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@octokit/types",
|
"name": "@octokit/types",
|
||||||
"description": "Shared TypeScript definitions for Octokit projects",
|
"description": "Shared TypeScript definitions for Octokit projects",
|
||||||
"version": "7.4.0",
|
"version": "7.5.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"files": [
|
"files": [
|
||||||
"dist-*/",
|
"dist-*/",
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
"source": "dist-src/index.js",
|
"source": "dist-src/index.js",
|
||||||
"types": "dist-types/index.d.ts",
|
"types": "dist-types/index.d.ts",
|
||||||
"octokit": {
|
"octokit": {
|
||||||
"openapi-version": "7.12.0"
|
"openapi-version": "7.13.0"
|
||||||
},
|
},
|
||||||
"main": "dist-node/index.js",
|
"main": "dist-node/index.js",
|
||||||
"module": "dist-web/index.js",
|
"module": "dist-web/index.js",
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
],
|
],
|
||||||
"repository": "github:octokit/types.ts",
|
"repository": "github:octokit/types.ts",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@octokit/openapi-types": "^13.10.0"
|
"@octokit/openapi-types": "^13.11.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@pika/pack": "^0.3.7",
|
"@pika/pack": "^0.3.7",
|
||||||
|
|
2
node_modules/@types/node/README.md
generated
vendored
2
node_modules/@types/node/README.md
generated
vendored
|
@ -8,7 +8,7 @@ This package contains type definitions for Node.js (https://nodejs.org/).
|
||||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
||||||
|
|
||||||
### Additional Details
|
### Additional Details
|
||||||
* Last updated: Tue, 13 Sep 2022 22:32:55 GMT
|
* Last updated: Mon, 26 Sep 2022 19:33:03 GMT
|
||||||
* Dependencies: none
|
* Dependencies: none
|
||||||
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
|
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
|
||||||
|
|
||||||
|
|
2
node_modules/@types/node/globals.d.ts
generated
vendored
2
node_modules/@types/node/globals.d.ts
generated
vendored
|
@ -73,6 +73,7 @@ declare var AbortSignal: {
|
||||||
prototype: AbortSignal;
|
prototype: AbortSignal;
|
||||||
new(): AbortSignal;
|
new(): AbortSignal;
|
||||||
// TODO: Add abort() static
|
// TODO: Add abort() static
|
||||||
|
timeout(milliseconds: number): AbortSignal;
|
||||||
};
|
};
|
||||||
//#endregion borrowed
|
//#endregion borrowed
|
||||||
|
|
||||||
|
@ -87,6 +88,7 @@ interface RelativeIndexable<T> {
|
||||||
}
|
}
|
||||||
interface String extends RelativeIndexable<string> {}
|
interface String extends RelativeIndexable<string> {}
|
||||||
interface Array<T> extends RelativeIndexable<T> {}
|
interface Array<T> extends RelativeIndexable<T> {}
|
||||||
|
interface ReadonlyArray<T> extends RelativeIndexable<T> {}
|
||||||
interface Int8Array extends RelativeIndexable<number> {}
|
interface Int8Array extends RelativeIndexable<number> {}
|
||||||
interface Uint8Array extends RelativeIndexable<number> {}
|
interface Uint8Array extends RelativeIndexable<number> {}
|
||||||
interface Uint8ClampedArray extends RelativeIndexable<number> {}
|
interface Uint8ClampedArray extends RelativeIndexable<number> {}
|
||||||
|
|
2
node_modules/@types/node/index.d.ts
generated
vendored
2
node_modules/@types/node/index.d.ts
generated
vendored
|
@ -67,7 +67,7 @@
|
||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// NOTE: These definitions support NodeJS and TypeScript 3.7+.
|
// NOTE: These definitions support NodeJS and TypeScript 4.9+.
|
||||||
|
|
||||||
// Reference required types from the default lib:
|
// Reference required types from the default lib:
|
||||||
/// <reference lib="es2020" />
|
/// <reference lib="es2020" />
|
||||||
|
|
1
node_modules/@types/node/os.d.ts
generated
vendored
1
node_modules/@types/node/os.d.ts
generated
vendored
|
@ -28,6 +28,7 @@ declare module 'os' {
|
||||||
}
|
}
|
||||||
interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
|
interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
|
||||||
family: 'IPv4';
|
family: 'IPv4';
|
||||||
|
scopeid?: undefined;
|
||||||
}
|
}
|
||||||
interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
|
interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
|
||||||
family: 'IPv6';
|
family: 'IPv6';
|
||||||
|
|
11
node_modules/@types/node/package.json
generated
vendored
11
node_modules/@types/node/package.json
generated
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@types/node",
|
"name": "@types/node",
|
||||||
"version": "18.7.18",
|
"version": "18.7.23",
|
||||||
"description": "TypeScript definitions for Node.js",
|
"description": "TypeScript definitions for Node.js",
|
||||||
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -213,6 +213,13 @@
|
||||||
],
|
],
|
||||||
"main": "",
|
"main": "",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
"typesVersions": {
|
||||||
|
"<4.9.0-0": {
|
||||||
|
"*": [
|
||||||
|
"ts4.8/*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
||||||
|
@ -220,6 +227,6 @@
|
||||||
},
|
},
|
||||||
"scripts": {},
|
"scripts": {},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"typesPublisherContentHash": "84a5d57ed95f7a07d1e51fa4e42df59efbcc4ba52b6e687f11f5fc0ea1ec9188",
|
"typesPublisherContentHash": "24d6e2b547c899309701e1e64ad11f0255c46a6f27da723607d3d1505e43d8da",
|
||||||
"typeScriptVersion": "4.1"
|
"typeScriptVersion": "4.1"
|
||||||
}
|
}
|
134
node_modules/@types/node/test.d.ts
generated
vendored
134
node_modules/@types/node/test.d.ts
generated
vendored
|
@ -3,6 +3,14 @@
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/test.js)
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/test.js)
|
||||||
*/
|
*/
|
||||||
declare module 'node:test' {
|
declare module 'node:test' {
|
||||||
|
/**
|
||||||
|
* Programmatically start the test runner.
|
||||||
|
* @since v18.9.0
|
||||||
|
* @param options Configuration options for running tests.
|
||||||
|
* @returns A {@link TapStream} that emits events about the test execution.
|
||||||
|
*/
|
||||||
|
function run(options?: RunOptions): TapStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `test()` function is the value imported from the test module. Each invocation of this
|
* The `test()` function is the value imported from the test module. Each invocation of this
|
||||||
* function results in the creation of a test point in the TAP output.
|
* function results in the creation of a test point in the TAP output.
|
||||||
|
@ -42,7 +50,7 @@ declare module 'node:test' {
|
||||||
function test(options?: TestOptions, fn?: TestFn): Promise<void>;
|
function test(options?: TestOptions, fn?: TestFn): Promise<void>;
|
||||||
function test(fn?: TestFn): Promise<void>;
|
function test(fn?: TestFn): Promise<void>;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @since v18.6.0
|
* @since v18.6.0
|
||||||
* @param name The name of the suite, which is displayed when reporting suite results.
|
* @param name The name of the suite, which is displayed when reporting suite results.
|
||||||
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
@ -54,7 +62,7 @@ declare module 'node:test' {
|
||||||
function describe(options?: TestOptions, fn?: SuiteFn): void;
|
function describe(options?: TestOptions, fn?: SuiteFn): void;
|
||||||
function describe(fn?: SuiteFn): void;
|
function describe(fn?: SuiteFn): void;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @since v18.6.0
|
* @since v18.6.0
|
||||||
* @param name The name of the test, which is displayed when reporting test results.
|
* @param name The name of the test, which is displayed when reporting test results.
|
||||||
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
@ -86,6 +94,122 @@ declare module 'node:test' {
|
||||||
*/
|
*/
|
||||||
type ItFn = (done: (result?: any) => void) => any;
|
type ItFn = (done: (result?: any) => void) => any;
|
||||||
|
|
||||||
|
interface RunOptions {
|
||||||
|
/**
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
concurrency?: number | boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An array containing the list of files to run. If unspecified, the test runner execution model will be used.
|
||||||
|
*/
|
||||||
|
files?: readonly string[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows aborting an in-progress test.
|
||||||
|
* @default undefined
|
||||||
|
*/
|
||||||
|
signal?: AbortSignal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A number of milliseconds the test will fail after. If unspecified, subtests inherit this
|
||||||
|
* value from their parent.
|
||||||
|
* @default Infinity
|
||||||
|
*/
|
||||||
|
timeout?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A successful call of the run() method will return a new TapStream object, streaming a TAP output.
|
||||||
|
* TapStream will emit events in the order of the tests' definitions.
|
||||||
|
* @since v18.9.0
|
||||||
|
*/
|
||||||
|
interface TapStream extends NodeJS.ReadableStream {
|
||||||
|
addListener(event: 'test:diagnostic', listener: (message: string) => void): this;
|
||||||
|
addListener(event: 'test:fail', listener: (data: TestFail) => void): this;
|
||||||
|
addListener(event: 'test:pass', listener: (data: TestPass) => void): this;
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
emit(event: 'test:diagnostic', message: string): boolean;
|
||||||
|
emit(event: 'test:fail', data: TestFail): boolean;
|
||||||
|
emit(event: 'test:pass', data: TestPass): boolean;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
on(event: 'test:diagnostic', listener: (message: string) => void): this;
|
||||||
|
on(event: 'test:fail', listener: (data: TestFail) => void): this;
|
||||||
|
on(event: 'test:pass', listener: (data: TestPass) => void): this;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'test:diagnostic', listener: (message: string) => void): this;
|
||||||
|
once(event: 'test:fail', listener: (data: TestFail) => void): this;
|
||||||
|
once(event: 'test:pass', listener: (data: TestPass) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'test:diagnostic', listener: (message: string) => void): this;
|
||||||
|
prependListener(event: 'test:fail', listener: (data: TestFail) => void): this;
|
||||||
|
prependListener(event: 'test:pass', listener: (data: TestPass) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'test:diagnostic', listener: (message: string) => void): this;
|
||||||
|
prependOnceListener(event: 'test:fail', listener: (data: TestFail) => void): this;
|
||||||
|
prependOnceListener(event: 'test:pass', listener: (data: TestPass) => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TestFail {
|
||||||
|
/**
|
||||||
|
* The test duration.
|
||||||
|
*/
|
||||||
|
duration: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The failure casing test to fail.
|
||||||
|
*/
|
||||||
|
error: Error;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The test name.
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ordinal number of the test.
|
||||||
|
*/
|
||||||
|
testNumber: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Present if `context.todo` is called.
|
||||||
|
*/
|
||||||
|
todo?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Present if `context.skip` is called.
|
||||||
|
*/
|
||||||
|
skip?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TestPass {
|
||||||
|
/**
|
||||||
|
* The test duration.
|
||||||
|
*/
|
||||||
|
duration: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The test name.
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ordinal number of the test.
|
||||||
|
*/
|
||||||
|
testNumber: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Present if `context.todo` is called.
|
||||||
|
*/
|
||||||
|
todo?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Present if `context.skip` is called.
|
||||||
|
*/
|
||||||
|
skip?: string;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An instance of `TestContext` is passed to each test function in order to interact with the
|
* An instance of `TestContext` is passed to each test function in order to interact with the
|
||||||
* test runner. However, the `TestContext` constructor is not exposed as part of the API.
|
* test runner. However, the `TestContext` constructor is not exposed as part of the API.
|
||||||
|
@ -159,7 +283,7 @@ declare module 'node:test' {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows aborting an in-progress test.
|
* Allows aborting an in-progress test.
|
||||||
* @since 8.7.0
|
* @since v18.8.0
|
||||||
*/
|
*/
|
||||||
signal?: AbortSignal;
|
signal?: AbortSignal;
|
||||||
|
|
||||||
|
@ -174,7 +298,7 @@ declare module 'node:test' {
|
||||||
* A number of milliseconds the test will fail after. If unspecified, subtests inherit this
|
* A number of milliseconds the test will fail after. If unspecified, subtests inherit this
|
||||||
* value from their parent.
|
* value from their parent.
|
||||||
* @default Infinity
|
* @default Infinity
|
||||||
* @since 8.7.0
|
* @since v18.7.0
|
||||||
*/
|
*/
|
||||||
timeout?: number;
|
timeout?: number;
|
||||||
|
|
||||||
|
@ -186,5 +310,5 @@ declare module 'node:test' {
|
||||||
todo?: boolean | string;
|
todo?: boolean | string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export { test as default, test, describe, it };
|
export { test as default, run, test, describe, it };
|
||||||
}
|
}
|
||||||
|
|
911
node_modules/@types/node/ts4.8/assert.d.ts
generated
vendored
Normal file
911
node_modules/@types/node/ts4.8/assert.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,911 @@
|
||||||
|
/**
|
||||||
|
* The `assert` module provides a set of assertion functions for verifying
|
||||||
|
* invariants.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/assert.js)
|
||||||
|
*/
|
||||||
|
declare module 'assert' {
|
||||||
|
/**
|
||||||
|
* An alias of {@link ok}.
|
||||||
|
* @since v0.5.9
|
||||||
|
* @param value The input that is checked for being truthy.
|
||||||
|
*/
|
||||||
|
function assert(value: unknown, message?: string | Error): asserts value;
|
||||||
|
namespace assert {
|
||||||
|
/**
|
||||||
|
* Indicates the failure of an assertion. All errors thrown by the `assert` module
|
||||||
|
* will be instances of the `AssertionError` class.
|
||||||
|
*/
|
||||||
|
class AssertionError extends Error {
|
||||||
|
actual: unknown;
|
||||||
|
expected: unknown;
|
||||||
|
operator: string;
|
||||||
|
generatedMessage: boolean;
|
||||||
|
code: 'ERR_ASSERTION';
|
||||||
|
constructor(options?: {
|
||||||
|
/** If provided, the error message is set to this value. */
|
||||||
|
message?: string | undefined;
|
||||||
|
/** The `actual` property on the error instance. */
|
||||||
|
actual?: unknown | undefined;
|
||||||
|
/** The `expected` property on the error instance. */
|
||||||
|
expected?: unknown | undefined;
|
||||||
|
/** The `operator` property on the error instance. */
|
||||||
|
operator?: string | undefined;
|
||||||
|
/** If provided, the generated stack trace omits frames before this function. */
|
||||||
|
// tslint:disable-next-line:ban-types
|
||||||
|
stackStartFn?: Function | undefined;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* This feature is currently experimental and behavior might still change.
|
||||||
|
* @since v14.2.0, v12.19.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
class CallTracker {
|
||||||
|
/**
|
||||||
|
* The wrapper function is expected to be called exactly `exact` times. If the
|
||||||
|
* function has not been called exactly `exact` times when `tracker.verify()` is called, then `tracker.verify()` will throw an
|
||||||
|
* error.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* // Creates call tracker.
|
||||||
|
* const tracker = new assert.CallTracker();
|
||||||
|
*
|
||||||
|
* function func() {}
|
||||||
|
*
|
||||||
|
* // Returns a function that wraps func() that must be called exact times
|
||||||
|
* // before tracker.verify().
|
||||||
|
* const callsfunc = tracker.calls(func);
|
||||||
|
* ```
|
||||||
|
* @since v14.2.0, v12.19.0
|
||||||
|
* @param [fn='A no-op function']
|
||||||
|
* @param [exact=1]
|
||||||
|
* @return that wraps `fn`.
|
||||||
|
*/
|
||||||
|
calls(exact?: number): () => void;
|
||||||
|
calls<Func extends (...args: any[]) => any>(fn?: Func, exact?: number): Func;
|
||||||
|
/**
|
||||||
|
* The arrays contains information about the expected and actual number of calls of
|
||||||
|
* the functions that have not been called the expected number of times.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* // Creates call tracker.
|
||||||
|
* const tracker = new assert.CallTracker();
|
||||||
|
*
|
||||||
|
* function func() {}
|
||||||
|
*
|
||||||
|
* function foo() {}
|
||||||
|
*
|
||||||
|
* // Returns a function that wraps func() that must be called exact times
|
||||||
|
* // before tracker.verify().
|
||||||
|
* const callsfunc = tracker.calls(func, 2);
|
||||||
|
*
|
||||||
|
* // Returns an array containing information on callsfunc()
|
||||||
|
* tracker.report();
|
||||||
|
* // [
|
||||||
|
* // {
|
||||||
|
* // message: 'Expected the func function to be executed 2 time(s) but was
|
||||||
|
* // executed 0 time(s).',
|
||||||
|
* // actual: 0,
|
||||||
|
* // expected: 2,
|
||||||
|
* // operator: 'func',
|
||||||
|
* // stack: stack trace
|
||||||
|
* // }
|
||||||
|
* // ]
|
||||||
|
* ```
|
||||||
|
* @since v14.2.0, v12.19.0
|
||||||
|
* @return of objects containing information about the wrapper functions returned by `calls`.
|
||||||
|
*/
|
||||||
|
report(): CallTrackerReportInformation[];
|
||||||
|
/**
|
||||||
|
* Iterates through the list of functions passed to `tracker.calls()` and will throw an error for functions that
|
||||||
|
* have not been called the expected number of times.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* // Creates call tracker.
|
||||||
|
* const tracker = new assert.CallTracker();
|
||||||
|
*
|
||||||
|
* function func() {}
|
||||||
|
*
|
||||||
|
* // Returns a function that wraps func() that must be called exact times
|
||||||
|
* // before tracker.verify().
|
||||||
|
* const callsfunc = tracker.calls(func, 2);
|
||||||
|
*
|
||||||
|
* callsfunc();
|
||||||
|
*
|
||||||
|
* // Will throw an error since callsfunc() was only called once.
|
||||||
|
* tracker.verify();
|
||||||
|
* ```
|
||||||
|
* @since v14.2.0, v12.19.0
|
||||||
|
*/
|
||||||
|
verify(): void;
|
||||||
|
}
|
||||||
|
interface CallTrackerReportInformation {
|
||||||
|
message: string;
|
||||||
|
/** The actual number of times the function was called. */
|
||||||
|
actual: number;
|
||||||
|
/** The number of times the function was expected to be called. */
|
||||||
|
expected: number;
|
||||||
|
/** The name of the function that is wrapped. */
|
||||||
|
operator: string;
|
||||||
|
/** A stack trace of the function. */
|
||||||
|
stack: object;
|
||||||
|
}
|
||||||
|
type AssertPredicate = RegExp | (new () => object) | ((thrown: unknown) => boolean) | object | Error;
|
||||||
|
/**
|
||||||
|
* Throws an `AssertionError` with the provided error message or a default
|
||||||
|
* error message. If the `message` parameter is an instance of an `Error` then
|
||||||
|
* it will be thrown instead of the `AssertionError`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.fail();
|
||||||
|
* // AssertionError [ERR_ASSERTION]: Failed
|
||||||
|
*
|
||||||
|
* assert.fail('boom');
|
||||||
|
* // AssertionError [ERR_ASSERTION]: boom
|
||||||
|
*
|
||||||
|
* assert.fail(new TypeError('need array'));
|
||||||
|
* // TypeError: need array
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Using `assert.fail()` with more than two arguments is possible but deprecated.
|
||||||
|
* See below for further details.
|
||||||
|
* @since v0.1.21
|
||||||
|
* @param [message='Failed']
|
||||||
|
*/
|
||||||
|
function fail(message?: string | Error): never;
|
||||||
|
/** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */
|
||||||
|
function fail(
|
||||||
|
actual: unknown,
|
||||||
|
expected: unknown,
|
||||||
|
message?: string | Error,
|
||||||
|
operator?: string,
|
||||||
|
// tslint:disable-next-line:ban-types
|
||||||
|
stackStartFn?: Function
|
||||||
|
): never;
|
||||||
|
/**
|
||||||
|
* Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.
|
||||||
|
*
|
||||||
|
* If `value` is not truthy, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is `undefined`, a default
|
||||||
|
* error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
||||||
|
* If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``.
|
||||||
|
*
|
||||||
|
* Be aware that in the `repl` the error message will be different to the one
|
||||||
|
* thrown in a file! See below for further details.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.ok(true);
|
||||||
|
* // OK
|
||||||
|
* assert.ok(1);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.ok();
|
||||||
|
* // AssertionError: No value argument passed to `assert.ok()`
|
||||||
|
*
|
||||||
|
* assert.ok(false, 'it\'s false');
|
||||||
|
* // AssertionError: it's false
|
||||||
|
*
|
||||||
|
* // In the repl:
|
||||||
|
* assert.ok(typeof 123 === 'string');
|
||||||
|
* // AssertionError: false == true
|
||||||
|
*
|
||||||
|
* // In a file (e.g. test.js):
|
||||||
|
* assert.ok(typeof 123 === 'string');
|
||||||
|
* // AssertionError: The expression evaluated to a falsy value:
|
||||||
|
* //
|
||||||
|
* // assert.ok(typeof 123 === 'string')
|
||||||
|
*
|
||||||
|
* assert.ok(false);
|
||||||
|
* // AssertionError: The expression evaluated to a falsy value:
|
||||||
|
* //
|
||||||
|
* // assert.ok(false)
|
||||||
|
*
|
||||||
|
* assert.ok(0);
|
||||||
|
* // AssertionError: The expression evaluated to a falsy value:
|
||||||
|
* //
|
||||||
|
* // assert.ok(0)
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* // Using `assert()` works the same:
|
||||||
|
* assert(0);
|
||||||
|
* // AssertionError: The expression evaluated to a falsy value:
|
||||||
|
* //
|
||||||
|
* // assert(0)
|
||||||
|
* ```
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function ok(value: unknown, message?: string | Error): asserts value;
|
||||||
|
/**
|
||||||
|
* **Strict assertion mode**
|
||||||
|
*
|
||||||
|
* An alias of {@link strictEqual}.
|
||||||
|
*
|
||||||
|
* **Legacy assertion mode**
|
||||||
|
*
|
||||||
|
* > Stability: 3 - Legacy: Use {@link strictEqual} instead.
|
||||||
|
*
|
||||||
|
* Tests shallow, coercive equality between the `actual` and `expected` parameters
|
||||||
|
* using the [`==` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality). `NaN` is specially handled
|
||||||
|
* and treated as being identical if both sides are `NaN`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* assert.equal(1, 1);
|
||||||
|
* // OK, 1 == 1
|
||||||
|
* assert.equal(1, '1');
|
||||||
|
* // OK, 1 == '1'
|
||||||
|
* assert.equal(NaN, NaN);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.equal(1, 2);
|
||||||
|
* // AssertionError: 1 == 2
|
||||||
|
* assert.equal({ a: { b: 1 } }, { a: { b: 1 } });
|
||||||
|
* // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are not equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default
|
||||||
|
* error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function equal(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* **Strict assertion mode**
|
||||||
|
*
|
||||||
|
* An alias of {@link notStrictEqual}.
|
||||||
|
*
|
||||||
|
* **Legacy assertion mode**
|
||||||
|
*
|
||||||
|
* > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.
|
||||||
|
*
|
||||||
|
* Tests shallow, coercive inequality with the [`!=` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Inequality). `NaN` is
|
||||||
|
* specially handled and treated as being identical if both sides are `NaN`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* assert.notEqual(1, 2);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.notEqual(1, 1);
|
||||||
|
* // AssertionError: 1 != 1
|
||||||
|
*
|
||||||
|
* assert.notEqual(1, '1');
|
||||||
|
* // AssertionError: 1 != '1'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default error
|
||||||
|
* message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function notEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* **Strict assertion mode**
|
||||||
|
*
|
||||||
|
* An alias of {@link deepStrictEqual}.
|
||||||
|
*
|
||||||
|
* **Legacy assertion mode**
|
||||||
|
*
|
||||||
|
* > Stability: 3 - Legacy: Use {@link deepStrictEqual} instead.
|
||||||
|
*
|
||||||
|
* Tests for deep equality between the `actual` and `expected` parameters. Consider
|
||||||
|
* using {@link deepStrictEqual} instead. {@link deepEqual} can have
|
||||||
|
* surprising results.
|
||||||
|
*
|
||||||
|
* _Deep equality_ means that the enumerable "own" properties of child objects
|
||||||
|
* are also recursively evaluated by the following rules.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function deepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* **Strict assertion mode**
|
||||||
|
*
|
||||||
|
* An alias of {@link notDeepStrictEqual}.
|
||||||
|
*
|
||||||
|
* **Legacy assertion mode**
|
||||||
|
*
|
||||||
|
* > Stability: 3 - Legacy: Use {@link notDeepStrictEqual} instead.
|
||||||
|
*
|
||||||
|
* Tests for any deep inequality. Opposite of {@link deepEqual}.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert';
|
||||||
|
*
|
||||||
|
* const obj1 = {
|
||||||
|
* a: {
|
||||||
|
* b: 1
|
||||||
|
* }
|
||||||
|
* };
|
||||||
|
* const obj2 = {
|
||||||
|
* a: {
|
||||||
|
* b: 2
|
||||||
|
* }
|
||||||
|
* };
|
||||||
|
* const obj3 = {
|
||||||
|
* a: {
|
||||||
|
* b: 1
|
||||||
|
* }
|
||||||
|
* };
|
||||||
|
* const obj4 = Object.create(obj1);
|
||||||
|
*
|
||||||
|
* assert.notDeepEqual(obj1, obj1);
|
||||||
|
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
||||||
|
*
|
||||||
|
* assert.notDeepEqual(obj1, obj2);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.notDeepEqual(obj1, obj3);
|
||||||
|
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
||||||
|
*
|
||||||
|
* assert.notDeepEqual(obj1, obj4);
|
||||||
|
* // OK
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are deeply equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a default
|
||||||
|
* error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
||||||
|
* instead of the `AssertionError`.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Tests strict equality between the `actual` and `expected` parameters as
|
||||||
|
* determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.strictEqual(1, 2);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
||||||
|
* //
|
||||||
|
* // 1 !== 2
|
||||||
|
*
|
||||||
|
* assert.strictEqual(1, 1);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.strictEqual('Hello foobar', 'Hello World!');
|
||||||
|
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
||||||
|
* // + actual - expected
|
||||||
|
* //
|
||||||
|
* // + 'Hello foobar'
|
||||||
|
* // - 'Hello World!'
|
||||||
|
* // ^
|
||||||
|
*
|
||||||
|
* const apples = 1;
|
||||||
|
* const oranges = 2;
|
||||||
|
* assert.strictEqual(apples, oranges, `apples ${apples} !== oranges ${oranges}`);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: apples 1 !== oranges 2
|
||||||
|
*
|
||||||
|
* assert.strictEqual(1, '1', new TypeError('Inputs are not identical'));
|
||||||
|
* // TypeError: Inputs are not identical
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are not strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
|
||||||
|
* default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
||||||
|
* instead of the `AssertionError`.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function strictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
||||||
|
/**
|
||||||
|
* Tests strict inequality between the `actual` and `expected` parameters as
|
||||||
|
* determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.notStrictEqual(1, 2);
|
||||||
|
* // OK
|
||||||
|
*
|
||||||
|
* assert.notStrictEqual(1, 1);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: Expected "actual" to be strictly unequal to:
|
||||||
|
* //
|
||||||
|
* // 1
|
||||||
|
*
|
||||||
|
* assert.notStrictEqual(1, '1');
|
||||||
|
* // OK
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
|
||||||
|
* default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
||||||
|
* instead of the `AssertionError`.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function notStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Tests for deep equality between the `actual` and `expected` parameters.
|
||||||
|
* "Deep" equality means that the enumerable "own" properties of child objects
|
||||||
|
* are recursively evaluated also by the following rules.
|
||||||
|
* @since v1.2.0
|
||||||
|
*/
|
||||||
|
function deepStrictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
||||||
|
/**
|
||||||
|
* Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.notDeepStrictEqual({ a: 1 }, { a: '1' });
|
||||||
|
* // OK
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values are deeply and strictly equal, an `AssertionError` is thrown
|
||||||
|
* with a `message` property set equal to the value of the `message` parameter. If
|
||||||
|
* the `message` parameter is undefined, a default error message is assigned. If
|
||||||
|
* the `message` parameter is an instance of an `Error` then it will be thrown
|
||||||
|
* instead of the `AssertionError`.
|
||||||
|
* @since v1.2.0
|
||||||
|
*/
|
||||||
|
function notDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Expects the function `fn` to throw an error.
|
||||||
|
*
|
||||||
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,
|
||||||
|
* a validation object where each property will be tested for strict deep equality,
|
||||||
|
* or an instance of error where each property will be tested for strict deep
|
||||||
|
* equality including the non-enumerable `message` and `name` properties. When
|
||||||
|
* using an object, it is also possible to use a regular expression, when
|
||||||
|
* validating against a string property. See below for examples.
|
||||||
|
*
|
||||||
|
* If specified, `message` will be appended to the message provided by the`AssertionError` if the `fn` call fails to throw or in case the error validation
|
||||||
|
* fails.
|
||||||
|
*
|
||||||
|
* Custom validation object/error instance:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* const err = new TypeError('Wrong value');
|
||||||
|
* err.code = 404;
|
||||||
|
* err.foo = 'bar';
|
||||||
|
* err.info = {
|
||||||
|
* nested: true,
|
||||||
|
* baz: 'text'
|
||||||
|
* };
|
||||||
|
* err.reg = /abc/i;
|
||||||
|
*
|
||||||
|
* assert.throws(
|
||||||
|
* () => {
|
||||||
|
* throw err;
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* name: 'TypeError',
|
||||||
|
* message: 'Wrong value',
|
||||||
|
* info: {
|
||||||
|
* nested: true,
|
||||||
|
* baz: 'text'
|
||||||
|
* }
|
||||||
|
* // Only properties on the validation object will be tested for.
|
||||||
|
* // Using nested objects requires all properties to be present. Otherwise
|
||||||
|
* // the validation is going to fail.
|
||||||
|
* }
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // Using regular expressions to validate error properties:
|
||||||
|
* throws(
|
||||||
|
* () => {
|
||||||
|
* throw err;
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* // The `name` and `message` properties are strings and using regular
|
||||||
|
* // expressions on those will match against the string. If they fail, an
|
||||||
|
* // error is thrown.
|
||||||
|
* name: /^TypeError$/,
|
||||||
|
* message: /Wrong/,
|
||||||
|
* foo: 'bar',
|
||||||
|
* info: {
|
||||||
|
* nested: true,
|
||||||
|
* // It is not possible to use regular expressions for nested properties!
|
||||||
|
* baz: 'text'
|
||||||
|
* },
|
||||||
|
* // The `reg` property contains a regular expression and only if the
|
||||||
|
* // validation object contains an identical regular expression, it is going
|
||||||
|
* // to pass.
|
||||||
|
* reg: /abc/i
|
||||||
|
* }
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // Fails due to the different `message` and `name` properties:
|
||||||
|
* throws(
|
||||||
|
* () => {
|
||||||
|
* const otherErr = new Error('Not found');
|
||||||
|
* // Copy all enumerable properties from `err` to `otherErr`.
|
||||||
|
* for (const [key, value] of Object.entries(err)) {
|
||||||
|
* otherErr[key] = value;
|
||||||
|
* }
|
||||||
|
* throw otherErr;
|
||||||
|
* },
|
||||||
|
* // The error's `message` and `name` properties will also be checked when using
|
||||||
|
* // an error as validation object.
|
||||||
|
* err
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Validate instanceof using constructor:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.throws(
|
||||||
|
* () => {
|
||||||
|
* throw new Error('Wrong value');
|
||||||
|
* },
|
||||||
|
* Error
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Validate error message using [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions):
|
||||||
|
*
|
||||||
|
* Using a regular expression runs `.toString` on the error object, and will
|
||||||
|
* therefore also include the error name.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.throws(
|
||||||
|
* () => {
|
||||||
|
* throw new Error('Wrong value');
|
||||||
|
* },
|
||||||
|
* /^Error: Wrong value$/
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Custom error validation:
|
||||||
|
*
|
||||||
|
* The function must return `true` to indicate all internal validations passed.
|
||||||
|
* It will otherwise fail with an `AssertionError`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.throws(
|
||||||
|
* () => {
|
||||||
|
* throw new Error('Wrong value');
|
||||||
|
* },
|
||||||
|
* (err) => {
|
||||||
|
* assert(err instanceof Error);
|
||||||
|
* assert(/value/.test(err));
|
||||||
|
* // Avoid returning anything from validation functions besides `true`.
|
||||||
|
* // Otherwise, it's not clear what part of the validation failed. Instead,
|
||||||
|
* // throw an error about the specific validation that failed (as done in this
|
||||||
|
* // example) and add as much helpful debugging information to that error as
|
||||||
|
* // possible.
|
||||||
|
* return true;
|
||||||
|
* },
|
||||||
|
* 'unexpected error'
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `error` cannot be a string. If a string is provided as the second
|
||||||
|
* argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Using the same
|
||||||
|
* message as the thrown error message is going to result in an`ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using
|
||||||
|
* a string as the second argument gets considered:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* function throwingFirst() {
|
||||||
|
* throw new Error('First');
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* function throwingSecond() {
|
||||||
|
* throw new Error('Second');
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* function notThrowing() {}
|
||||||
|
*
|
||||||
|
* // The second argument is a string and the input function threw an Error.
|
||||||
|
* // The first case will not throw as it does not match for the error message
|
||||||
|
* // thrown by the input function!
|
||||||
|
* assert.throws(throwingFirst, 'Second');
|
||||||
|
* // In the next example the message has no benefit over the message from the
|
||||||
|
* // error and since it is not clear if the user intended to actually match
|
||||||
|
* // against the error message, Node.js throws an `ERR_AMBIGUOUS_ARGUMENT` error.
|
||||||
|
* assert.throws(throwingSecond, 'Second');
|
||||||
|
* // TypeError [ERR_AMBIGUOUS_ARGUMENT]
|
||||||
|
*
|
||||||
|
* // The string is only used (as message) in case the function does not throw:
|
||||||
|
* assert.throws(notThrowing, 'Second');
|
||||||
|
* // AssertionError [ERR_ASSERTION]: Missing expected exception: Second
|
||||||
|
*
|
||||||
|
* // If it was intended to match for the error message do this instead:
|
||||||
|
* // It does not throw because the error messages match.
|
||||||
|
* assert.throws(throwingSecond, /Second$/);
|
||||||
|
*
|
||||||
|
* // If the error message does not match, an AssertionError is thrown.
|
||||||
|
* assert.throws(throwingFirst, /Second$/);
|
||||||
|
* // AssertionError [ERR_ASSERTION]
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Due to the confusing error-prone notation, avoid a string as the second
|
||||||
|
* argument.
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function throws(block: () => unknown, message?: string | Error): void;
|
||||||
|
function throws(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Asserts that the function `fn` does not throw an error.
|
||||||
|
*
|
||||||
|
* Using `assert.doesNotThrow()` is actually not useful because there
|
||||||
|
* is no benefit in catching an error and then rethrowing it. Instead, consider
|
||||||
|
* adding a comment next to the specific code path that should not throw and keep
|
||||||
|
* error messages as expressive as possible.
|
||||||
|
*
|
||||||
|
* When `assert.doesNotThrow()` is called, it will immediately call the `fn`function.
|
||||||
|
*
|
||||||
|
* If an error is thrown and it is the same type as that specified by the `error`parameter, then an `AssertionError` is thrown. If the error is of a
|
||||||
|
* different type, or if the `error` parameter is undefined, the error is
|
||||||
|
* propagated back to the caller.
|
||||||
|
*
|
||||||
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation
|
||||||
|
* function. See {@link throws} for more details.
|
||||||
|
*
|
||||||
|
* The following, for instance, will throw the `TypeError` because there is no
|
||||||
|
* matching error type in the assertion:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.doesNotThrow(
|
||||||
|
* () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* SyntaxError
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* However, the following will result in an `AssertionError` with the message
|
||||||
|
* 'Got unwanted exception...':
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.doesNotThrow(
|
||||||
|
* () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* TypeError
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If an `AssertionError` is thrown and a value is provided for the `message`parameter, the value of `message` will be appended to the `AssertionError` message:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.doesNotThrow(
|
||||||
|
* () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* /Wrong value/,
|
||||||
|
* 'Whoops'
|
||||||
|
* );
|
||||||
|
* // Throws: AssertionError: Got unwanted exception: Whoops
|
||||||
|
* ```
|
||||||
|
* @since v0.1.21
|
||||||
|
*/
|
||||||
|
function doesNotThrow(block: () => unknown, message?: string | Error): void;
|
||||||
|
function doesNotThrow(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Throws `value` if `value` is not `undefined` or `null`. This is useful when
|
||||||
|
* testing the `error` argument in callbacks. The stack trace contains all frames
|
||||||
|
* from the error passed to `ifError()` including the potential new frames for`ifError()` itself.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.ifError(null);
|
||||||
|
* // OK
|
||||||
|
* assert.ifError(0);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 0
|
||||||
|
* assert.ifError('error');
|
||||||
|
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 'error'
|
||||||
|
* assert.ifError(new Error());
|
||||||
|
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Error
|
||||||
|
*
|
||||||
|
* // Create some random error frames.
|
||||||
|
* let err;
|
||||||
|
* (function errorFrame() {
|
||||||
|
* err = new Error('test error');
|
||||||
|
* })();
|
||||||
|
*
|
||||||
|
* (function ifErrorFrame() {
|
||||||
|
* assert.ifError(err);
|
||||||
|
* })();
|
||||||
|
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error
|
||||||
|
* // at ifErrorFrame
|
||||||
|
* // at errorFrame
|
||||||
|
* ```
|
||||||
|
* @since v0.1.97
|
||||||
|
*/
|
||||||
|
function ifError(value: unknown): asserts value is null | undefined;
|
||||||
|
/**
|
||||||
|
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
||||||
|
* calls the function and awaits the returned promise to complete. It will then
|
||||||
|
* check that the promise is rejected.
|
||||||
|
*
|
||||||
|
* If `asyncFn` is a function and it throws an error synchronously,`assert.rejects()` will return a rejected `Promise` with that error. If the
|
||||||
|
* function does not return a promise, `assert.rejects()` will return a rejected`Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases the error
|
||||||
|
* handler is skipped.
|
||||||
|
*
|
||||||
|
* Besides the async nature to await the completion behaves identically to {@link throws}.
|
||||||
|
*
|
||||||
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,
|
||||||
|
* an object where each property will be tested for, or an instance of error where
|
||||||
|
* each property will be tested for including the non-enumerable `message` and`name` properties.
|
||||||
|
*
|
||||||
|
* If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* await assert.rejects(
|
||||||
|
* async () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* name: 'TypeError',
|
||||||
|
* message: 'Wrong value'
|
||||||
|
* }
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* await assert.rejects(
|
||||||
|
* async () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* (err) => {
|
||||||
|
* assert.strictEqual(err.name, 'TypeError');
|
||||||
|
* assert.strictEqual(err.message, 'Wrong value');
|
||||||
|
* return true;
|
||||||
|
* }
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.rejects(
|
||||||
|
* Promise.reject(new Error('Wrong value')),
|
||||||
|
* Error
|
||||||
|
* ).then(() => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `error` cannot be a string. If a string is provided as the second
|
||||||
|
* argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Please read the
|
||||||
|
* example in {@link throws} carefully if using a string as the second
|
||||||
|
* argument gets considered.
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
||||||
|
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, error: AssertPredicate, message?: string | Error): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
||||||
|
* calls the function and awaits the returned promise to complete. It will then
|
||||||
|
* check that the promise is not rejected.
|
||||||
|
*
|
||||||
|
* If `asyncFn` is a function and it throws an error synchronously,`assert.doesNotReject()` will return a rejected `Promise` with that error. If
|
||||||
|
* the function does not return a promise, `assert.doesNotReject()` will return a
|
||||||
|
* rejected `Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases
|
||||||
|
* the error handler is skipped.
|
||||||
|
*
|
||||||
|
* Using `assert.doesNotReject()` is actually not useful because there is little
|
||||||
|
* benefit in catching a rejection and then rejecting it again. Instead, consider
|
||||||
|
* adding a comment next to the specific code path that should not reject and keep
|
||||||
|
* error messages as expressive as possible.
|
||||||
|
*
|
||||||
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation
|
||||||
|
* function. See {@link throws} for more details.
|
||||||
|
*
|
||||||
|
* Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* await assert.doesNotReject(
|
||||||
|
* async () => {
|
||||||
|
* throw new TypeError('Wrong value');
|
||||||
|
* },
|
||||||
|
* SyntaxError
|
||||||
|
* );
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))
|
||||||
|
* .then(() => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
function doesNotReject(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
||||||
|
function doesNotReject(block: (() => Promise<unknown>) | Promise<unknown>, error: AssertPredicate, message?: string | Error): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Expects the `string` input to match the regular expression.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.match('I will fail', /pass/);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: The input did not match the regular ...
|
||||||
|
*
|
||||||
|
* assert.match(123, /pass/);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
|
||||||
|
*
|
||||||
|
* assert.match('I will pass', /pass/);
|
||||||
|
* // OK
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values do not match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
|
||||||
|
* to the value of the `message` parameter. If the `message` parameter is
|
||||||
|
* undefined, a default error message is assigned. If the `message` parameter is an
|
||||||
|
* instance of an `Error` then it will be thrown instead of the `AssertionError`.
|
||||||
|
* @since v13.6.0, v12.16.0
|
||||||
|
*/
|
||||||
|
function match(value: string, regExp: RegExp, message?: string | Error): void;
|
||||||
|
/**
|
||||||
|
* Expects the `string` input not to match the regular expression.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import assert from 'assert/strict';
|
||||||
|
*
|
||||||
|
* assert.doesNotMatch('I will fail', /fail/);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...
|
||||||
|
*
|
||||||
|
* assert.doesNotMatch(123, /pass/);
|
||||||
|
* // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
|
||||||
|
*
|
||||||
|
* assert.doesNotMatch('I will pass', /different/);
|
||||||
|
* // OK
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If the values do match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
|
||||||
|
* to the value of the `message` parameter. If the `message` parameter is
|
||||||
|
* undefined, a default error message is assigned. If the `message` parameter is an
|
||||||
|
* instance of an `Error` then it will be thrown instead of the `AssertionError`.
|
||||||
|
* @since v13.6.0, v12.16.0
|
||||||
|
*/
|
||||||
|
function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
|
||||||
|
const strict: Omit<typeof assert, 'equal' | 'notEqual' | 'deepEqual' | 'notDeepEqual' | 'ok' | 'strictEqual' | 'deepStrictEqual' | 'ifError' | 'strict'> & {
|
||||||
|
(value: unknown, message?: string | Error): asserts value;
|
||||||
|
equal: typeof strictEqual;
|
||||||
|
notEqual: typeof notStrictEqual;
|
||||||
|
deepEqual: typeof deepStrictEqual;
|
||||||
|
notDeepEqual: typeof notDeepStrictEqual;
|
||||||
|
// Mapped types and assertion functions are incompatible?
|
||||||
|
// TS2775: Assertions require every name in the call target
|
||||||
|
// to be declared with an explicit type annotation.
|
||||||
|
ok: typeof ok;
|
||||||
|
strictEqual: typeof strictEqual;
|
||||||
|
deepStrictEqual: typeof deepStrictEqual;
|
||||||
|
ifError: typeof ifError;
|
||||||
|
strict: typeof strict;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
export = assert;
|
||||||
|
}
|
||||||
|
declare module 'node:assert' {
|
||||||
|
import assert = require('assert');
|
||||||
|
export = assert;
|
||||||
|
}
|
8
node_modules/@types/node/ts4.8/assert/strict.d.ts
generated
vendored
Normal file
8
node_modules/@types/node/ts4.8/assert/strict.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
declare module 'assert/strict' {
|
||||||
|
import { strict } from 'node:assert';
|
||||||
|
export = strict;
|
||||||
|
}
|
||||||
|
declare module 'node:assert/strict' {
|
||||||
|
import { strict } from 'node:assert';
|
||||||
|
export = strict;
|
||||||
|
}
|
501
node_modules/@types/node/ts4.8/async_hooks.d.ts
generated
vendored
Normal file
501
node_modules/@types/node/ts4.8/async_hooks.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,501 @@
|
||||||
|
/**
|
||||||
|
* The `async_hooks` module provides an API to track asynchronous resources. It
|
||||||
|
* can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import async_hooks from 'async_hooks';
|
||||||
|
* ```
|
||||||
|
* @experimental
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/async_hooks.js)
|
||||||
|
*/
|
||||||
|
declare module 'async_hooks' {
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* import { executionAsyncId } from 'async_hooks';
|
||||||
|
*
|
||||||
|
* console.log(executionAsyncId()); // 1 - bootstrap
|
||||||
|
* fs.open(path, 'r', (err, fd) => {
|
||||||
|
* console.log(executionAsyncId()); // 6 - open()
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The ID returned from `executionAsyncId()` is related to execution timing, not
|
||||||
|
* causality (which is covered by `triggerAsyncId()`):
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const server = net.createServer((conn) => {
|
||||||
|
* // Returns the ID of the server, not of the new connection, because the
|
||||||
|
* // callback runs in the execution scope of the server's MakeCallback().
|
||||||
|
* async_hooks.executionAsyncId();
|
||||||
|
*
|
||||||
|
* }).listen(port, () => {
|
||||||
|
* // Returns the ID of a TickObject (process.nextTick()) because all
|
||||||
|
* // callbacks passed to .listen() are wrapped in a nextTick().
|
||||||
|
* async_hooks.executionAsyncId();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Promise contexts may not get precise `executionAsyncIds` by default.
|
||||||
|
* See the section on `promise execution tracking`.
|
||||||
|
* @since v8.1.0
|
||||||
|
* @return The `asyncId` of the current execution context. Useful to track when something calls.
|
||||||
|
*/
|
||||||
|
function executionAsyncId(): number;
|
||||||
|
/**
|
||||||
|
* Resource objects returned by `executionAsyncResource()` are most often internal
|
||||||
|
* Node.js handle objects with undocumented APIs. Using any functions or properties
|
||||||
|
* on the object is likely to crash your application and should be avoided.
|
||||||
|
*
|
||||||
|
* Using `executionAsyncResource()` in the top-level execution context will
|
||||||
|
* return an empty object as there is no handle or request object to use,
|
||||||
|
* but having an object representing the top-level can be helpful.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { open } from 'fs';
|
||||||
|
* import { executionAsyncId, executionAsyncResource } from 'async_hooks';
|
||||||
|
*
|
||||||
|
* console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
|
||||||
|
* open(new URL(import.meta.url), 'r', (err, fd) => {
|
||||||
|
* console.log(executionAsyncId(), executionAsyncResource()); // 7 FSReqWrap
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* This can be used to implement continuation local storage without the
|
||||||
|
* use of a tracking `Map` to store the metadata:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { createServer } from 'http';
|
||||||
|
* import {
|
||||||
|
* executionAsyncId,
|
||||||
|
* executionAsyncResource,
|
||||||
|
* createHook
|
||||||
|
* } from 'async_hooks';
|
||||||
|
* const sym = Symbol('state'); // Private symbol to avoid pollution
|
||||||
|
*
|
||||||
|
* createHook({
|
||||||
|
* init(asyncId, type, triggerAsyncId, resource) {
|
||||||
|
* const cr = executionAsyncResource();
|
||||||
|
* if (cr) {
|
||||||
|
* resource[sym] = cr[sym];
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }).enable();
|
||||||
|
*
|
||||||
|
* const server = createServer((req, res) => {
|
||||||
|
* executionAsyncResource()[sym] = { state: req.url };
|
||||||
|
* setTimeout(function() {
|
||||||
|
* res.end(JSON.stringify(executionAsyncResource()[sym]));
|
||||||
|
* }, 100);
|
||||||
|
* }).listen(3000);
|
||||||
|
* ```
|
||||||
|
* @since v13.9.0, v12.17.0
|
||||||
|
* @return The resource representing the current execution. Useful to store data within the resource.
|
||||||
|
*/
|
||||||
|
function executionAsyncResource(): object;
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* const server = net.createServer((conn) => {
|
||||||
|
* // The resource that caused (or triggered) this callback to be called
|
||||||
|
* // was that of the new connection. Thus the return value of triggerAsyncId()
|
||||||
|
* // is the asyncId of "conn".
|
||||||
|
* async_hooks.triggerAsyncId();
|
||||||
|
*
|
||||||
|
* }).listen(port, () => {
|
||||||
|
* // Even though all callbacks passed to .listen() are wrapped in a nextTick()
|
||||||
|
* // the callback itself exists because the call to the server's .listen()
|
||||||
|
* // was made. So the return value would be the ID of the server.
|
||||||
|
* async_hooks.triggerAsyncId();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Promise contexts may not get valid `triggerAsyncId`s by default. See
|
||||||
|
* the section on `promise execution tracking`.
|
||||||
|
* @return The ID of the resource responsible for calling the callback that is currently being executed.
|
||||||
|
*/
|
||||||
|
function triggerAsyncId(): number;
|
||||||
|
interface HookCallbacks {
|
||||||
|
/**
|
||||||
|
* Called when a class is constructed that has the possibility to emit an asynchronous event.
|
||||||
|
* @param asyncId a unique ID for the async resource
|
||||||
|
* @param type the type of the async resource
|
||||||
|
* @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created
|
||||||
|
* @param resource reference to the resource representing the async operation, needs to be released during destroy
|
||||||
|
*/
|
||||||
|
init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
|
||||||
|
/**
|
||||||
|
* When an asynchronous operation is initiated or completes a callback is called to notify the user.
|
||||||
|
* The before callback is called just before said callback is executed.
|
||||||
|
* @param asyncId the unique identifier assigned to the resource about to execute the callback.
|
||||||
|
*/
|
||||||
|
before?(asyncId: number): void;
|
||||||
|
/**
|
||||||
|
* Called immediately after the callback specified in before is completed.
|
||||||
|
* @param asyncId the unique identifier assigned to the resource which has executed the callback.
|
||||||
|
*/
|
||||||
|
after?(asyncId: number): void;
|
||||||
|
/**
|
||||||
|
* Called when a promise has resolve() called. This may not be in the same execution id
|
||||||
|
* as the promise itself.
|
||||||
|
* @param asyncId the unique id for the promise that was resolve()d.
|
||||||
|
*/
|
||||||
|
promiseResolve?(asyncId: number): void;
|
||||||
|
/**
|
||||||
|
* Called after the resource corresponding to asyncId is destroyed
|
||||||
|
* @param asyncId a unique ID for the async resource
|
||||||
|
*/
|
||||||
|
destroy?(asyncId: number): void;
|
||||||
|
}
|
||||||
|
interface AsyncHook {
|
||||||
|
/**
|
||||||
|
* Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
|
||||||
|
*/
|
||||||
|
enable(): this;
|
||||||
|
/**
|
||||||
|
* Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
|
||||||
|
*/
|
||||||
|
disable(): this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Registers functions to be called for different lifetime events of each async
|
||||||
|
* operation.
|
||||||
|
*
|
||||||
|
* The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the
|
||||||
|
* respective asynchronous event during a resource's lifetime.
|
||||||
|
*
|
||||||
|
* All callbacks are optional. For example, if only resource cleanup needs to
|
||||||
|
* be tracked, then only the `destroy` callback needs to be passed. The
|
||||||
|
* specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { createHook } from 'async_hooks';
|
||||||
|
*
|
||||||
|
* const asyncHook = createHook({
|
||||||
|
* init(asyncId, type, triggerAsyncId, resource) { },
|
||||||
|
* destroy(asyncId) { }
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The callbacks will be inherited via the prototype chain:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* class MyAsyncCallbacks {
|
||||||
|
* init(asyncId, type, triggerAsyncId, resource) { }
|
||||||
|
* destroy(asyncId) {}
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* class MyAddedCallbacks extends MyAsyncCallbacks {
|
||||||
|
* before(asyncId) { }
|
||||||
|
* after(asyncId) { }
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* const asyncHook = async_hooks.createHook(new MyAddedCallbacks());
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Because promises are asynchronous resources whose lifecycle is tracked
|
||||||
|
* via the async hooks mechanism, the `init()`, `before()`, `after()`, and`destroy()` callbacks _must not_ be async functions that return promises.
|
||||||
|
* @since v8.1.0
|
||||||
|
* @param callbacks The `Hook Callbacks` to register
|
||||||
|
* @return Instance used for disabling and enabling hooks
|
||||||
|
*/
|
||||||
|
function createHook(callbacks: HookCallbacks): AsyncHook;
|
||||||
|
interface AsyncResourceOptions {
|
||||||
|
/**
|
||||||
|
* The ID of the execution context that created this async event.
|
||||||
|
* @default executionAsyncId()
|
||||||
|
*/
|
||||||
|
triggerAsyncId?: number | undefined;
|
||||||
|
/**
|
||||||
|
* Disables automatic `emitDestroy` when the object is garbage collected.
|
||||||
|
* This usually does not need to be set (even if `emitDestroy` is called
|
||||||
|
* manually), unless the resource's `asyncId` is retrieved and the
|
||||||
|
* sensitive API's `emitDestroy` is called with it.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
requireManualDestroy?: boolean | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The class `AsyncResource` is designed to be extended by the embedder's async
|
||||||
|
* resources. Using this, users can easily trigger the lifetime events of their
|
||||||
|
* own resources.
|
||||||
|
*
|
||||||
|
* The `init` hook will trigger when an `AsyncResource` is instantiated.
|
||||||
|
*
|
||||||
|
* The following is an overview of the `AsyncResource` API.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { AsyncResource, executionAsyncId } from 'async_hooks';
|
||||||
|
*
|
||||||
|
* // AsyncResource() is meant to be extended. Instantiating a
|
||||||
|
* // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
||||||
|
* // async_hook.executionAsyncId() is used.
|
||||||
|
* const asyncResource = new AsyncResource(
|
||||||
|
* type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false }
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // Run a function in the execution context of the resource. This will
|
||||||
|
* // * establish the context of the resource
|
||||||
|
* // * trigger the AsyncHooks before callbacks
|
||||||
|
* // * call the provided function `fn` with the supplied arguments
|
||||||
|
* // * trigger the AsyncHooks after callbacks
|
||||||
|
* // * restore the original execution context
|
||||||
|
* asyncResource.runInAsyncScope(fn, thisArg, ...args);
|
||||||
|
*
|
||||||
|
* // Call AsyncHooks destroy callbacks.
|
||||||
|
* asyncResource.emitDestroy();
|
||||||
|
*
|
||||||
|
* // Return the unique ID assigned to the AsyncResource instance.
|
||||||
|
* asyncResource.asyncId();
|
||||||
|
*
|
||||||
|
* // Return the trigger ID for the AsyncResource instance.
|
||||||
|
* asyncResource.triggerAsyncId();
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
class AsyncResource {
|
||||||
|
/**
|
||||||
|
* AsyncResource() is meant to be extended. Instantiating a
|
||||||
|
* new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
||||||
|
* async_hook.executionAsyncId() is used.
|
||||||
|
* @param type The type of async event.
|
||||||
|
* @param triggerAsyncId The ID of the execution context that created
|
||||||
|
* this async event (default: `executionAsyncId()`), or an
|
||||||
|
* AsyncResourceOptions object (since v9.3.0)
|
||||||
|
*/
|
||||||
|
constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);
|
||||||
|
/**
|
||||||
|
* Binds the given function to the current execution context.
|
||||||
|
*
|
||||||
|
* The returned function will have an `asyncResource` property referencing
|
||||||
|
* the `AsyncResource` to which the function is bound.
|
||||||
|
* @since v14.8.0, v12.19.0
|
||||||
|
* @param fn The function to bind to the current execution context.
|
||||||
|
* @param type An optional name to associate with the underlying `AsyncResource`.
|
||||||
|
*/
|
||||||
|
static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
|
||||||
|
fn: Func,
|
||||||
|
type?: string,
|
||||||
|
thisArg?: ThisArg
|
||||||
|
): Func & {
|
||||||
|
asyncResource: AsyncResource;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Binds the given function to execute to this `AsyncResource`'s scope.
|
||||||
|
*
|
||||||
|
* The returned function will have an `asyncResource` property referencing
|
||||||
|
* the `AsyncResource` to which the function is bound.
|
||||||
|
* @since v14.8.0, v12.19.0
|
||||||
|
* @param fn The function to bind to the current `AsyncResource`.
|
||||||
|
*/
|
||||||
|
bind<Func extends (...args: any[]) => any>(
|
||||||
|
fn: Func
|
||||||
|
): Func & {
|
||||||
|
asyncResource: AsyncResource;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Call the provided function with the provided arguments in the execution context
|
||||||
|
* of the async resource. This will establish the context, trigger the AsyncHooks
|
||||||
|
* before callbacks, call the function, trigger the AsyncHooks after callbacks, and
|
||||||
|
* then restore the original execution context.
|
||||||
|
* @since v9.6.0
|
||||||
|
* @param fn The function to call in the execution context of this async resource.
|
||||||
|
* @param thisArg The receiver to be used for the function call.
|
||||||
|
* @param args Optional arguments to pass to the function.
|
||||||
|
*/
|
||||||
|
runInAsyncScope<This, Result>(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result;
|
||||||
|
/**
|
||||||
|
* Call all `destroy` hooks. This should only ever be called once. An error will
|
||||||
|
* be thrown if it is called more than once. This **must** be manually called. If
|
||||||
|
* the resource is left to be collected by the GC then the `destroy` hooks will
|
||||||
|
* never be called.
|
||||||
|
* @return A reference to `asyncResource`.
|
||||||
|
*/
|
||||||
|
emitDestroy(): this;
|
||||||
|
/**
|
||||||
|
* @return The unique `asyncId` assigned to the resource.
|
||||||
|
*/
|
||||||
|
asyncId(): number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
|
||||||
|
*/
|
||||||
|
triggerAsyncId(): number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* This class creates stores that stay coherent through asynchronous operations.
|
||||||
|
*
|
||||||
|
* While you can create your own implementation on top of the `async_hooks` module,`AsyncLocalStorage` should be preferred as it is a performant and memory safe
|
||||||
|
* implementation that involves significant optimizations that are non-obvious to
|
||||||
|
* implement.
|
||||||
|
*
|
||||||
|
* The following example uses `AsyncLocalStorage` to build a simple logger
|
||||||
|
* that assigns IDs to incoming HTTP requests and includes them in messages
|
||||||
|
* logged within each request.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import http from 'http';
|
||||||
|
* import { AsyncLocalStorage } from 'async_hooks';
|
||||||
|
*
|
||||||
|
* const asyncLocalStorage = new AsyncLocalStorage();
|
||||||
|
*
|
||||||
|
* function logWithId(msg) {
|
||||||
|
* const id = asyncLocalStorage.getStore();
|
||||||
|
* console.log(`${id !== undefined ? id : '-'}:`, msg);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* let idSeq = 0;
|
||||||
|
* http.createServer((req, res) => {
|
||||||
|
* asyncLocalStorage.run(idSeq++, () => {
|
||||||
|
* logWithId('start');
|
||||||
|
* // Imagine any chain of async operations here
|
||||||
|
* setImmediate(() => {
|
||||||
|
* logWithId('finish');
|
||||||
|
* res.end();
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* }).listen(8080);
|
||||||
|
*
|
||||||
|
* http.get('http://localhost:8080');
|
||||||
|
* http.get('http://localhost:8080');
|
||||||
|
* // Prints:
|
||||||
|
* // 0: start
|
||||||
|
* // 1: start
|
||||||
|
* // 0: finish
|
||||||
|
* // 1: finish
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Each instance of `AsyncLocalStorage` maintains an independent storage context.
|
||||||
|
* Multiple instances can safely exist simultaneously without risk of interfering
|
||||||
|
* with each other's data.
|
||||||
|
* @since v13.10.0, v12.17.0
|
||||||
|
*/
|
||||||
|
class AsyncLocalStorage<T> {
|
||||||
|
/**
|
||||||
|
* Disables the instance of `AsyncLocalStorage`. All subsequent calls
|
||||||
|
* to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
|
||||||
|
*
|
||||||
|
* When calling `asyncLocalStorage.disable()`, all current contexts linked to the
|
||||||
|
* instance will be exited.
|
||||||
|
*
|
||||||
|
* Calling `asyncLocalStorage.disable()` is required before the`asyncLocalStorage` can be garbage collected. This does not apply to stores
|
||||||
|
* provided by the `asyncLocalStorage`, as those objects are garbage collected
|
||||||
|
* along with the corresponding async resources.
|
||||||
|
*
|
||||||
|
* Use this method when the `asyncLocalStorage` is not in use anymore
|
||||||
|
* in the current process.
|
||||||
|
* @since v13.10.0, v12.17.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
disable(): void;
|
||||||
|
/**
|
||||||
|
* Returns the current store.
|
||||||
|
* If called outside of an asynchronous context initialized by
|
||||||
|
* calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it
|
||||||
|
* returns `undefined`.
|
||||||
|
* @since v13.10.0, v12.17.0
|
||||||
|
*/
|
||||||
|
getStore(): T | undefined;
|
||||||
|
/**
|
||||||
|
* Runs a function synchronously within a context and returns its
|
||||||
|
* return value. The store is not accessible outside of the callback function.
|
||||||
|
* The store is accessible to any asynchronous operations created within the
|
||||||
|
* callback.
|
||||||
|
*
|
||||||
|
* The optional `args` are passed to the callback function.
|
||||||
|
*
|
||||||
|
* If the callback function throws an error, the error is thrown by `run()` too.
|
||||||
|
* The stacktrace is not impacted by this call and the context is exited.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const store = { id: 2 };
|
||||||
|
* try {
|
||||||
|
* asyncLocalStorage.run(store, () => {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the store object
|
||||||
|
* setTimeout(() => {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the store object
|
||||||
|
* }, 200);
|
||||||
|
* throw new Error();
|
||||||
|
* });
|
||||||
|
* } catch (e) {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns undefined
|
||||||
|
* // The error will be caught here
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v13.10.0, v12.17.0
|
||||||
|
*/
|
||||||
|
run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
|
||||||
|
/**
|
||||||
|
* Runs a function synchronously outside of a context and returns its
|
||||||
|
* return value. The store is not accessible within the callback function or
|
||||||
|
* the asynchronous operations created within the callback. Any `getStore()`call done within the callback function will always return `undefined`.
|
||||||
|
*
|
||||||
|
* The optional `args` are passed to the callback function.
|
||||||
|
*
|
||||||
|
* If the callback function throws an error, the error is thrown by `exit()` too.
|
||||||
|
* The stacktrace is not impacted by this call and the context is re-entered.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // Within a call to run
|
||||||
|
* try {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the store object or value
|
||||||
|
* asyncLocalStorage.exit(() => {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns undefined
|
||||||
|
* throw new Error();
|
||||||
|
* });
|
||||||
|
* } catch (e) {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the same object or value
|
||||||
|
* // The error will be caught here
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v13.10.0, v12.17.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
exit<R, TArgs extends any[]>(callback: (...args: TArgs) => R, ...args: TArgs): R;
|
||||||
|
/**
|
||||||
|
* Transitions into the context for the remainder of the current
|
||||||
|
* synchronous execution and then persists the store through any following
|
||||||
|
* asynchronous calls.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const store = { id: 1 };
|
||||||
|
* // Replaces previous store with the given store object
|
||||||
|
* asyncLocalStorage.enterWith(store);
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the store object
|
||||||
|
* someAsyncOperation(() => {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the same object
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* This transition will continue for the _entire_ synchronous execution.
|
||||||
|
* This means that if, for example, the context is entered within an event
|
||||||
|
* handler subsequent event handlers will also run within that context unless
|
||||||
|
* specifically bound to another context with an `AsyncResource`. That is why`run()` should be preferred over `enterWith()` unless there are strong reasons
|
||||||
|
* to use the latter method.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const store = { id: 1 };
|
||||||
|
*
|
||||||
|
* emitter.on('my-event', () => {
|
||||||
|
* asyncLocalStorage.enterWith(store);
|
||||||
|
* });
|
||||||
|
* emitter.on('my-event', () => {
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the same object
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* asyncLocalStorage.getStore(); // Returns undefined
|
||||||
|
* emitter.emit('my-event');
|
||||||
|
* asyncLocalStorage.getStore(); // Returns the same object
|
||||||
|
* ```
|
||||||
|
* @since v13.11.0, v12.17.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
enterWith(store: T): void;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:async_hooks' {
|
||||||
|
export * from 'async_hooks';
|
||||||
|
}
|
2238
node_modules/@types/node/ts4.8/buffer.d.ts
generated
vendored
Normal file
2238
node_modules/@types/node/ts4.8/buffer.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1369
node_modules/@types/node/ts4.8/child_process.d.ts
generated
vendored
Normal file
1369
node_modules/@types/node/ts4.8/child_process.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
410
node_modules/@types/node/ts4.8/cluster.d.ts
generated
vendored
Normal file
410
node_modules/@types/node/ts4.8/cluster.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,410 @@
|
||||||
|
/**
|
||||||
|
* Clusters of Node.js processes can be used to run multiple instances of Node.js
|
||||||
|
* that can distribute workloads among their application threads. When process
|
||||||
|
* isolation is not needed, use the `worker_threads` module instead, which
|
||||||
|
* allows running multiple application threads within a single Node.js instance.
|
||||||
|
*
|
||||||
|
* The cluster module allows easy creation of child processes that all share
|
||||||
|
* server ports.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import cluster from 'cluster';
|
||||||
|
* import http from 'http';
|
||||||
|
* import { cpus } from 'os';
|
||||||
|
* import process from 'process';
|
||||||
|
*
|
||||||
|
* const numCPUs = cpus().length;
|
||||||
|
*
|
||||||
|
* if (cluster.isPrimary) {
|
||||||
|
* console.log(`Primary ${process.pid} is running`);
|
||||||
|
*
|
||||||
|
* // Fork workers.
|
||||||
|
* for (let i = 0; i < numCPUs; i++) {
|
||||||
|
* cluster.fork();
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* cluster.on('exit', (worker, code, signal) => {
|
||||||
|
* console.log(`worker ${worker.process.pid} died`);
|
||||||
|
* });
|
||||||
|
* } else {
|
||||||
|
* // Workers can share any TCP connection
|
||||||
|
* // In this case it is an HTTP server
|
||||||
|
* http.createServer((req, res) => {
|
||||||
|
* res.writeHead(200);
|
||||||
|
* res.end('hello world\n');
|
||||||
|
* }).listen(8000);
|
||||||
|
*
|
||||||
|
* console.log(`Worker ${process.pid} started`);
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Running Node.js will now share port 8000 between the workers:
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* $ node server.js
|
||||||
|
* Primary 3596 is running
|
||||||
|
* Worker 4324 started
|
||||||
|
* Worker 4520 started
|
||||||
|
* Worker 6056 started
|
||||||
|
* Worker 5644 started
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* On Windows, it is not yet possible to set up a named pipe server in a worker.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/cluster.js)
|
||||||
|
*/
|
||||||
|
declare module 'cluster' {
|
||||||
|
import * as child from 'node:child_process';
|
||||||
|
import EventEmitter = require('node:events');
|
||||||
|
import * as net from 'node:net';
|
||||||
|
export interface ClusterSettings {
|
||||||
|
execArgv?: string[] | undefined; // default: process.execArgv
|
||||||
|
exec?: string | undefined;
|
||||||
|
args?: string[] | undefined;
|
||||||
|
silent?: boolean | undefined;
|
||||||
|
stdio?: any[] | undefined;
|
||||||
|
uid?: number | undefined;
|
||||||
|
gid?: number | undefined;
|
||||||
|
inspectPort?: number | (() => number) | undefined;
|
||||||
|
}
|
||||||
|
export interface Address {
|
||||||
|
address: string;
|
||||||
|
port: number;
|
||||||
|
addressType: number | 'udp4' | 'udp6'; // 4, 6, -1, "udp4", "udp6"
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* A `Worker` object contains all public information and method about a worker.
|
||||||
|
* In the primary it can be obtained using `cluster.workers`. In a worker
|
||||||
|
* it can be obtained using `cluster.worker`.
|
||||||
|
* @since v0.7.0
|
||||||
|
*/
|
||||||
|
export class Worker extends EventEmitter {
|
||||||
|
/**
|
||||||
|
* Each new worker is given its own unique id, this id is stored in the`id`.
|
||||||
|
*
|
||||||
|
* While a worker is alive, this is the key that indexes it in`cluster.workers`.
|
||||||
|
* @since v0.8.0
|
||||||
|
*/
|
||||||
|
id: number;
|
||||||
|
/**
|
||||||
|
* All workers are created using `child_process.fork()`, the returned object
|
||||||
|
* from this function is stored as `.process`. In a worker, the global `process`is stored.
|
||||||
|
*
|
||||||
|
* See: `Child Process module`.
|
||||||
|
*
|
||||||
|
* Workers will call `process.exit(0)` if the `'disconnect'` event occurs
|
||||||
|
* on `process` and `.exitedAfterDisconnect` is not `true`. This protects against
|
||||||
|
* accidental disconnection.
|
||||||
|
* @since v0.7.0
|
||||||
|
*/
|
||||||
|
process: child.ChildProcess;
|
||||||
|
/**
|
||||||
|
* Send a message to a worker or primary, optionally with a handle.
|
||||||
|
*
|
||||||
|
* In the primary, this sends a message to a specific worker. It is identical to `ChildProcess.send()`.
|
||||||
|
*
|
||||||
|
* In a worker, this sends a message to the primary. It is identical to`process.send()`.
|
||||||
|
*
|
||||||
|
* This example will echo back all messages from the primary:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* if (cluster.isPrimary) {
|
||||||
|
* const worker = cluster.fork();
|
||||||
|
* worker.send('hi there');
|
||||||
|
*
|
||||||
|
* } else if (cluster.isWorker) {
|
||||||
|
* process.on('message', (msg) => {
|
||||||
|
* process.send(msg);
|
||||||
|
* });
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.7.0
|
||||||
|
* @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:
|
||||||
|
*/
|
||||||
|
send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;
|
||||||
|
send(message: child.Serializable, sendHandle: child.SendHandle, callback?: (error: Error | null) => void): boolean;
|
||||||
|
send(message: child.Serializable, sendHandle: child.SendHandle, options?: child.MessageOptions, callback?: (error: Error | null) => void): boolean;
|
||||||
|
/**
|
||||||
|
* This function will kill the worker. In the primary worker, it does this by
|
||||||
|
* disconnecting the `worker.process`, and once disconnected, killing with`signal`. In the worker, it does it by killing the process with `signal`.
|
||||||
|
*
|
||||||
|
* The `kill()` function kills the worker process without waiting for a graceful
|
||||||
|
* disconnect, it has the same behavior as `worker.process.kill()`.
|
||||||
|
*
|
||||||
|
* This method is aliased as `worker.destroy()` for backwards compatibility.
|
||||||
|
*
|
||||||
|
* In a worker, `process.kill()` exists, but it is not this function;
|
||||||
|
* it is `kill()`.
|
||||||
|
* @since v0.9.12
|
||||||
|
* @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.
|
||||||
|
*/
|
||||||
|
kill(signal?: string): void;
|
||||||
|
destroy(signal?: string): void;
|
||||||
|
/**
|
||||||
|
* In a worker, this function will close all servers, wait for the `'close'` event
|
||||||
|
* on those servers, and then disconnect the IPC channel.
|
||||||
|
*
|
||||||
|
* In the primary, an internal message is sent to the worker causing it to call`.disconnect()` on itself.
|
||||||
|
*
|
||||||
|
* Causes `.exitedAfterDisconnect` to be set.
|
||||||
|
*
|
||||||
|
* After a server is closed, it will no longer accept new connections,
|
||||||
|
* but connections may be accepted by any other listening worker. Existing
|
||||||
|
* connections will be allowed to close as usual. When no more connections exist,
|
||||||
|
* see `server.close()`, the IPC channel to the worker will close allowing it
|
||||||
|
* to die gracefully.
|
||||||
|
*
|
||||||
|
* The above applies _only_ to server connections, client connections are not
|
||||||
|
* automatically closed by workers, and disconnect does not wait for them to close
|
||||||
|
* before exiting.
|
||||||
|
*
|
||||||
|
* In a worker, `process.disconnect` exists, but it is not this function;
|
||||||
|
* it is `disconnect()`.
|
||||||
|
*
|
||||||
|
* Because long living server connections may block workers from disconnecting, it
|
||||||
|
* may be useful to send a message, so application specific actions may be taken to
|
||||||
|
* close them. It also may be useful to implement a timeout, killing a worker if
|
||||||
|
* the `'disconnect'` event has not been emitted after some time.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* if (cluster.isPrimary) {
|
||||||
|
* const worker = cluster.fork();
|
||||||
|
* let timeout;
|
||||||
|
*
|
||||||
|
* worker.on('listening', (address) => {
|
||||||
|
* worker.send('shutdown');
|
||||||
|
* worker.disconnect();
|
||||||
|
* timeout = setTimeout(() => {
|
||||||
|
* worker.kill();
|
||||||
|
* }, 2000);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* worker.on('disconnect', () => {
|
||||||
|
* clearTimeout(timeout);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* } else if (cluster.isWorker) {
|
||||||
|
* const net = require('net');
|
||||||
|
* const server = net.createServer((socket) => {
|
||||||
|
* // Connections never end
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.listen(8000);
|
||||||
|
*
|
||||||
|
* process.on('message', (msg) => {
|
||||||
|
* if (msg === 'shutdown') {
|
||||||
|
* // Initiate graceful close of any connections to server
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.7.7
|
||||||
|
* @return A reference to `worker`.
|
||||||
|
*/
|
||||||
|
disconnect(): void;
|
||||||
|
/**
|
||||||
|
* This function returns `true` if the worker is connected to its primary via its
|
||||||
|
* IPC channel, `false` otherwise. A worker is connected to its primary after it
|
||||||
|
* has been created. It is disconnected after the `'disconnect'` event is emitted.
|
||||||
|
* @since v0.11.14
|
||||||
|
*/
|
||||||
|
isConnected(): boolean;
|
||||||
|
/**
|
||||||
|
* This function returns `true` if the worker's process has terminated (either
|
||||||
|
* because of exiting or being signaled). Otherwise, it returns `false`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import cluster from 'cluster';
|
||||||
|
* import http from 'http';
|
||||||
|
* import { cpus } from 'os';
|
||||||
|
* import process from 'process';
|
||||||
|
*
|
||||||
|
* const numCPUs = cpus().length;
|
||||||
|
*
|
||||||
|
* if (cluster.isPrimary) {
|
||||||
|
* console.log(`Primary ${process.pid} is running`);
|
||||||
|
*
|
||||||
|
* // Fork workers.
|
||||||
|
* for (let i = 0; i < numCPUs; i++) {
|
||||||
|
* cluster.fork();
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* cluster.on('fork', (worker) => {
|
||||||
|
* console.log('worker is dead:', worker.isDead());
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* cluster.on('exit', (worker, code, signal) => {
|
||||||
|
* console.log('worker is dead:', worker.isDead());
|
||||||
|
* });
|
||||||
|
* } else {
|
||||||
|
* // Workers can share any TCP connection. In this case, it is an HTTP server.
|
||||||
|
* http.createServer((req, res) => {
|
||||||
|
* res.writeHead(200);
|
||||||
|
* res.end(`Current process\n ${process.pid}`);
|
||||||
|
* process.kill(process.pid);
|
||||||
|
* }).listen(8000);
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.11.14
|
||||||
|
*/
|
||||||
|
isDead(): boolean;
|
||||||
|
/**
|
||||||
|
* This property is `true` if the worker exited due to `.disconnect()`.
|
||||||
|
* If the worker exited any other way, it is `false`. If the
|
||||||
|
* worker has not exited, it is `undefined`.
|
||||||
|
*
|
||||||
|
* The boolean `worker.exitedAfterDisconnect` allows distinguishing between
|
||||||
|
* voluntary and accidental exit, the primary may choose not to respawn a worker
|
||||||
|
* based on this value.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* cluster.on('exit', (worker, code, signal) => {
|
||||||
|
* if (worker.exitedAfterDisconnect === true) {
|
||||||
|
* console.log('Oh, it was just voluntary – no need to worry');
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // kill worker
|
||||||
|
* worker.kill();
|
||||||
|
* ```
|
||||||
|
* @since v6.0.0
|
||||||
|
*/
|
||||||
|
exitedAfterDisconnect: boolean;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. disconnect
|
||||||
|
* 2. error
|
||||||
|
* 3. exit
|
||||||
|
* 4. listening
|
||||||
|
* 5. message
|
||||||
|
* 6. online
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'disconnect', listener: () => void): this;
|
||||||
|
addListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
|
addListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
|
addListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
|
addListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
addListener(event: 'online', listener: () => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'disconnect'): boolean;
|
||||||
|
emit(event: 'error', error: Error): boolean;
|
||||||
|
emit(event: 'exit', code: number, signal: string): boolean;
|
||||||
|
emit(event: 'listening', address: Address): boolean;
|
||||||
|
emit(event: 'message', message: any, handle: net.Socket | net.Server): boolean;
|
||||||
|
emit(event: 'online'): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'disconnect', listener: () => void): this;
|
||||||
|
on(event: 'error', listener: (error: Error) => void): this;
|
||||||
|
on(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
|
on(event: 'listening', listener: (address: Address) => void): this;
|
||||||
|
on(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
on(event: 'online', listener: () => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'disconnect', listener: () => void): this;
|
||||||
|
once(event: 'error', listener: (error: Error) => void): this;
|
||||||
|
once(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
|
once(event: 'listening', listener: (address: Address) => void): this;
|
||||||
|
once(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
once(event: 'online', listener: () => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'disconnect', listener: () => void): this;
|
||||||
|
prependListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
|
prependListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
|
prependListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
|
prependListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
prependListener(event: 'online', listener: () => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'disconnect', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
|
prependOnceListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
|
prependOnceListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
prependOnceListener(event: 'online', listener: () => void): this;
|
||||||
|
}
|
||||||
|
export interface Cluster extends EventEmitter {
|
||||||
|
disconnect(callback?: () => void): void;
|
||||||
|
fork(env?: any): Worker;
|
||||||
|
/** @deprecated since v16.0.0 - use isPrimary. */
|
||||||
|
readonly isMaster: boolean;
|
||||||
|
readonly isPrimary: boolean;
|
||||||
|
readonly isWorker: boolean;
|
||||||
|
schedulingPolicy: number;
|
||||||
|
readonly settings: ClusterSettings;
|
||||||
|
/** @deprecated since v16.0.0 - use setupPrimary. */
|
||||||
|
setupMaster(settings?: ClusterSettings): void;
|
||||||
|
/**
|
||||||
|
* `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in cluster.settings.
|
||||||
|
*/
|
||||||
|
setupPrimary(settings?: ClusterSettings): void;
|
||||||
|
readonly worker?: Worker | undefined;
|
||||||
|
readonly workers?: NodeJS.Dict<Worker> | undefined;
|
||||||
|
readonly SCHED_NONE: number;
|
||||||
|
readonly SCHED_RR: number;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. disconnect
|
||||||
|
* 2. exit
|
||||||
|
* 3. fork
|
||||||
|
* 4. listening
|
||||||
|
* 5. message
|
||||||
|
* 6. online
|
||||||
|
* 7. setup
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
|
addListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
|
addListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
|
addListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
|
addListener(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
addListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
|
addListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'disconnect', worker: Worker): boolean;
|
||||||
|
emit(event: 'exit', worker: Worker, code: number, signal: string): boolean;
|
||||||
|
emit(event: 'fork', worker: Worker): boolean;
|
||||||
|
emit(event: 'listening', worker: Worker, address: Address): boolean;
|
||||||
|
emit(event: 'message', worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
||||||
|
emit(event: 'online', worker: Worker): boolean;
|
||||||
|
emit(event: 'setup', settings: ClusterSettings): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
|
on(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
|
on(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
|
on(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
|
on(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
on(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
|
on(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
|
once(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
|
once(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
|
once(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
|
once(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
once(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
|
once(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
|
prependListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
|
prependListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
|
prependListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
prependListener(event: 'message', listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void): this;
|
||||||
|
prependListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
|
prependListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
|
prependOnceListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
|
prependOnceListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
|
prependOnceListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
prependOnceListener(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
|
||||||
|
prependOnceListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
|
prependOnceListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
|
}
|
||||||
|
const cluster: Cluster;
|
||||||
|
export default cluster;
|
||||||
|
}
|
||||||
|
declare module 'node:cluster' {
|
||||||
|
export * from 'cluster';
|
||||||
|
export { default as default } from 'cluster';
|
||||||
|
}
|
412
node_modules/@types/node/ts4.8/console.d.ts
generated
vendored
Normal file
412
node_modules/@types/node/ts4.8/console.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,412 @@
|
||||||
|
/**
|
||||||
|
* The `console` module provides a simple debugging console that is similar to the
|
||||||
|
* JavaScript console mechanism provided by web browsers.
|
||||||
|
*
|
||||||
|
* The module exports two specific components:
|
||||||
|
*
|
||||||
|
* * A `Console` class with methods such as `console.log()`, `console.error()` and`console.warn()` that can be used to write to any Node.js stream.
|
||||||
|
* * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('console')`.
|
||||||
|
*
|
||||||
|
* _**Warning**_: The global console object's methods are neither consistently
|
||||||
|
* synchronous like the browser APIs they resemble, nor are they consistently
|
||||||
|
* asynchronous like all other Node.js streams. See the `note on process I/O` for
|
||||||
|
* more information.
|
||||||
|
*
|
||||||
|
* Example using the global `console`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.log('hello world');
|
||||||
|
* // Prints: hello world, to stdout
|
||||||
|
* console.log('hello %s', 'world');
|
||||||
|
* // Prints: hello world, to stdout
|
||||||
|
* console.error(new Error('Whoops, something bad happened'));
|
||||||
|
* // Prints error message and stack trace to stderr:
|
||||||
|
* // Error: Whoops, something bad happened
|
||||||
|
* // at [eval]:5:15
|
||||||
|
* // at Script.runInThisContext (node:vm:132:18)
|
||||||
|
* // at Object.runInThisContext (node:vm:309:38)
|
||||||
|
* // at node:internal/process/execution:77:19
|
||||||
|
* // at [eval]-wrapper:6:22
|
||||||
|
* // at evalScript (node:internal/process/execution:76:60)
|
||||||
|
* // at node:internal/main/eval_string:23:3
|
||||||
|
*
|
||||||
|
* const name = 'Will Robinson';
|
||||||
|
* console.warn(`Danger ${name}! Danger!`);
|
||||||
|
* // Prints: Danger Will Robinson! Danger!, to stderr
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example using the `Console` class:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const out = getStreamSomehow();
|
||||||
|
* const err = getStreamSomehow();
|
||||||
|
* const myConsole = new console.Console(out, err);
|
||||||
|
*
|
||||||
|
* myConsole.log('hello world');
|
||||||
|
* // Prints: hello world, to out
|
||||||
|
* myConsole.log('hello %s', 'world');
|
||||||
|
* // Prints: hello world, to out
|
||||||
|
* myConsole.error(new Error('Whoops, something bad happened'));
|
||||||
|
* // Prints: [Error: Whoops, something bad happened], to err
|
||||||
|
*
|
||||||
|
* const name = 'Will Robinson';
|
||||||
|
* myConsole.warn(`Danger ${name}! Danger!`);
|
||||||
|
* // Prints: Danger Will Robinson! Danger!, to err
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/console.js)
|
||||||
|
*/
|
||||||
|
declare module 'console' {
|
||||||
|
import console = require('node:console');
|
||||||
|
export = console;
|
||||||
|
}
|
||||||
|
declare module 'node:console' {
|
||||||
|
import { InspectOptions } from 'node:util';
|
||||||
|
global {
|
||||||
|
// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
|
||||||
|
interface Console {
|
||||||
|
Console: console.ConsoleConstructor;
|
||||||
|
/**
|
||||||
|
* `console.assert()` writes a message if `value` is [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) or omitted. It only
|
||||||
|
* writes a message and does not otherwise affect execution. The output always
|
||||||
|
* starts with `"Assertion failed"`. If provided, `message` is formatted using `util.format()`.
|
||||||
|
*
|
||||||
|
* If `value` is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy), nothing happens.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.assert(true, 'does nothing');
|
||||||
|
*
|
||||||
|
* console.assert(false, 'Whoops %s work', 'didn\'t');
|
||||||
|
* // Assertion failed: Whoops didn't work
|
||||||
|
*
|
||||||
|
* console.assert();
|
||||||
|
* // Assertion failed
|
||||||
|
* ```
|
||||||
|
* @since v0.1.101
|
||||||
|
* @param value The value tested for being truthy.
|
||||||
|
* @param message All arguments besides `value` are used as error message.
|
||||||
|
*/
|
||||||
|
assert(value: any, message?: string, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* When `stdout` is a TTY, calling `console.clear()` will attempt to clear the
|
||||||
|
* TTY. When `stdout` is not a TTY, this method does nothing.
|
||||||
|
*
|
||||||
|
* The specific operation of `console.clear()` can vary across operating systems
|
||||||
|
* and terminal types. For most Linux operating systems, `console.clear()`operates similarly to the `clear` shell command. On Windows, `console.clear()`will clear only the output in the
|
||||||
|
* current terminal viewport for the Node.js
|
||||||
|
* binary.
|
||||||
|
* @since v8.3.0
|
||||||
|
*/
|
||||||
|
clear(): void;
|
||||||
|
/**
|
||||||
|
* Maintains an internal counter specific to `label` and outputs to `stdout` the
|
||||||
|
* number of times `console.count()` has been called with the given `label`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* > console.count()
|
||||||
|
* default: 1
|
||||||
|
* undefined
|
||||||
|
* > console.count('default')
|
||||||
|
* default: 2
|
||||||
|
* undefined
|
||||||
|
* > console.count('abc')
|
||||||
|
* abc: 1
|
||||||
|
* undefined
|
||||||
|
* > console.count('xyz')
|
||||||
|
* xyz: 1
|
||||||
|
* undefined
|
||||||
|
* > console.count('abc')
|
||||||
|
* abc: 2
|
||||||
|
* undefined
|
||||||
|
* > console.count()
|
||||||
|
* default: 3
|
||||||
|
* undefined
|
||||||
|
* >
|
||||||
|
* ```
|
||||||
|
* @since v8.3.0
|
||||||
|
* @param label The display label for the counter.
|
||||||
|
*/
|
||||||
|
count(label?: string): void;
|
||||||
|
/**
|
||||||
|
* Resets the internal counter specific to `label`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* > console.count('abc');
|
||||||
|
* abc: 1
|
||||||
|
* undefined
|
||||||
|
* > console.countReset('abc');
|
||||||
|
* undefined
|
||||||
|
* > console.count('abc');
|
||||||
|
* abc: 1
|
||||||
|
* undefined
|
||||||
|
* >
|
||||||
|
* ```
|
||||||
|
* @since v8.3.0
|
||||||
|
* @param label The display label for the counter.
|
||||||
|
*/
|
||||||
|
countReset(label?: string): void;
|
||||||
|
/**
|
||||||
|
* The `console.debug()` function is an alias for {@link log}.
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
debug(message?: any, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* Uses `util.inspect()` on `obj` and prints the resulting string to `stdout`.
|
||||||
|
* This function bypasses any custom `inspect()` function defined on `obj`.
|
||||||
|
* @since v0.1.101
|
||||||
|
*/
|
||||||
|
dir(obj: any, options?: InspectOptions): void;
|
||||||
|
/**
|
||||||
|
* This method calls `console.log()` passing it the arguments received.
|
||||||
|
* This method does not produce any XML formatting.
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
dirxml(...data: any[]): void;
|
||||||
|
/**
|
||||||
|
* Prints to `stderr` with newline. Multiple arguments can be passed, with the
|
||||||
|
* first used as the primary message and all additional used as substitution
|
||||||
|
* values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html) (the arguments are all passed to `util.format()`).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const code = 5;
|
||||||
|
* console.error('error #%d', code);
|
||||||
|
* // Prints: error #5, to stderr
|
||||||
|
* console.error('error', code);
|
||||||
|
* // Prints: error 5, to stderr
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If formatting elements (e.g. `%d`) are not found in the first string then `util.inspect()` is called on each argument and the resulting string
|
||||||
|
* values are concatenated. See `util.format()` for more information.
|
||||||
|
* @since v0.1.100
|
||||||
|
*/
|
||||||
|
error(message?: any, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* Increases indentation of subsequent lines by spaces for `groupIndentation`length.
|
||||||
|
*
|
||||||
|
* If one or more `label`s are provided, those are printed first without the
|
||||||
|
* additional indentation.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
group(...label: any[]): void;
|
||||||
|
/**
|
||||||
|
* An alias for {@link group}.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
groupCollapsed(...label: any[]): void;
|
||||||
|
/**
|
||||||
|
* Decreases indentation of subsequent lines by spaces for `groupIndentation`length.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
groupEnd(): void;
|
||||||
|
/**
|
||||||
|
* The `console.info()` function is an alias for {@link log}.
|
||||||
|
* @since v0.1.100
|
||||||
|
*/
|
||||||
|
info(message?: any, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* Prints to `stdout` with newline. Multiple arguments can be passed, with the
|
||||||
|
* first used as the primary message and all additional used as substitution
|
||||||
|
* values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html) (the arguments are all passed to `util.format()`).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const count = 5;
|
||||||
|
* console.log('count: %d', count);
|
||||||
|
* // Prints: count: 5, to stdout
|
||||||
|
* console.log('count:', count);
|
||||||
|
* // Prints: count: 5, to stdout
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* See `util.format()` for more information.
|
||||||
|
* @since v0.1.100
|
||||||
|
*/
|
||||||
|
log(message?: any, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* Try to construct a table with the columns of the properties of `tabularData`(or use `properties`) and rows of `tabularData` and log it. Falls back to just
|
||||||
|
* logging the argument if it can’t be parsed as tabular.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // These can't be parsed as tabular data
|
||||||
|
* console.table(Symbol());
|
||||||
|
* // Symbol()
|
||||||
|
*
|
||||||
|
* console.table(undefined);
|
||||||
|
* // undefined
|
||||||
|
*
|
||||||
|
* console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
|
||||||
|
* // ┌─────────┬─────┬─────┐
|
||||||
|
* // │ (index) │ a │ b │
|
||||||
|
* // ├─────────┼─────┼─────┤
|
||||||
|
* // │ 0 │ 1 │ 'Y' │
|
||||||
|
* // │ 1 │ 'Z' │ 2 │
|
||||||
|
* // └─────────┴─────┴─────┘
|
||||||
|
*
|
||||||
|
* console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
|
||||||
|
* // ┌─────────┬─────┐
|
||||||
|
* // │ (index) │ a │
|
||||||
|
* // ├─────────┼─────┤
|
||||||
|
* // │ 0 │ 1 │
|
||||||
|
* // │ 1 │ 'Z' │
|
||||||
|
* // └─────────┴─────┘
|
||||||
|
* ```
|
||||||
|
* @since v10.0.0
|
||||||
|
* @param properties Alternate properties for constructing the table.
|
||||||
|
*/
|
||||||
|
table(tabularData: any, properties?: ReadonlyArray<string>): void;
|
||||||
|
/**
|
||||||
|
* Starts a timer that can be used to compute the duration of an operation. Timers
|
||||||
|
* are identified by a unique `label`. Use the same `label` when calling {@link timeEnd} to stop the timer and output the elapsed time in
|
||||||
|
* suitable time units to `stdout`. For example, if the elapsed
|
||||||
|
* time is 3869ms, `console.timeEnd()` displays "3.869s".
|
||||||
|
* @since v0.1.104
|
||||||
|
*/
|
||||||
|
time(label?: string): void;
|
||||||
|
/**
|
||||||
|
* Stops a timer that was previously started by calling {@link time} and
|
||||||
|
* prints the result to `stdout`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.time('100-elements');
|
||||||
|
* for (let i = 0; i < 100; i++) {}
|
||||||
|
* console.timeEnd('100-elements');
|
||||||
|
* // prints 100-elements: 225.438ms
|
||||||
|
* ```
|
||||||
|
* @since v0.1.104
|
||||||
|
*/
|
||||||
|
timeEnd(label?: string): void;
|
||||||
|
/**
|
||||||
|
* For a timer that was previously started by calling {@link time}, prints
|
||||||
|
* the elapsed time and other `data` arguments to `stdout`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.time('process');
|
||||||
|
* const value = expensiveProcess1(); // Returns 42
|
||||||
|
* console.timeLog('process', value);
|
||||||
|
* // Prints "process: 365.227ms 42".
|
||||||
|
* doExpensiveProcess2(value);
|
||||||
|
* console.timeEnd('process');
|
||||||
|
* ```
|
||||||
|
* @since v10.7.0
|
||||||
|
*/
|
||||||
|
timeLog(label?: string, ...data: any[]): void;
|
||||||
|
/**
|
||||||
|
* Prints to `stderr` the string `'Trace: '`, followed by the `util.format()` formatted message and stack trace to the current position in the code.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.trace('Show me');
|
||||||
|
* // Prints: (stack trace will vary based on where trace is called)
|
||||||
|
* // Trace: Show me
|
||||||
|
* // at repl:2:9
|
||||||
|
* // at REPLServer.defaultEval (repl.js:248:27)
|
||||||
|
* // at bound (domain.js:287:14)
|
||||||
|
* // at REPLServer.runBound [as eval] (domain.js:300:12)
|
||||||
|
* // at REPLServer.<anonymous> (repl.js:412:12)
|
||||||
|
* // at emitOne (events.js:82:20)
|
||||||
|
* // at REPLServer.emit (events.js:169:7)
|
||||||
|
* // at REPLServer.Interface._onLine (readline.js:210:10)
|
||||||
|
* // at REPLServer.Interface._line (readline.js:549:8)
|
||||||
|
* // at REPLServer.Interface._ttyWrite (readline.js:826:14)
|
||||||
|
* ```
|
||||||
|
* @since v0.1.104
|
||||||
|
*/
|
||||||
|
trace(message?: any, ...optionalParams: any[]): void;
|
||||||
|
/**
|
||||||
|
* The `console.warn()` function is an alias for {@link error}.
|
||||||
|
* @since v0.1.100
|
||||||
|
*/
|
||||||
|
warn(message?: any, ...optionalParams: any[]): void;
|
||||||
|
// --- Inspector mode only ---
|
||||||
|
/**
|
||||||
|
* This method does not display anything unless used in the inspector.
|
||||||
|
* Starts a JavaScript CPU profile with an optional label.
|
||||||
|
*/
|
||||||
|
profile(label?: string): void;
|
||||||
|
/**
|
||||||
|
* This method does not display anything unless used in the inspector.
|
||||||
|
* Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector.
|
||||||
|
*/
|
||||||
|
profileEnd(label?: string): void;
|
||||||
|
/**
|
||||||
|
* This method does not display anything unless used in the inspector.
|
||||||
|
* Adds an event with the label `label` to the Timeline panel of the inspector.
|
||||||
|
*/
|
||||||
|
timeStamp(label?: string): void;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `console` module provides a simple debugging console that is similar to the
|
||||||
|
* JavaScript console mechanism provided by web browsers.
|
||||||
|
*
|
||||||
|
* The module exports two specific components:
|
||||||
|
*
|
||||||
|
* * A `Console` class with methods such as `console.log()`, `console.error()` and`console.warn()` that can be used to write to any Node.js stream.
|
||||||
|
* * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('console')`.
|
||||||
|
*
|
||||||
|
* _**Warning**_: The global console object's methods are neither consistently
|
||||||
|
* synchronous like the browser APIs they resemble, nor are they consistently
|
||||||
|
* asynchronous like all other Node.js streams. See the `note on process I/O` for
|
||||||
|
* more information.
|
||||||
|
*
|
||||||
|
* Example using the global `console`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.log('hello world');
|
||||||
|
* // Prints: hello world, to stdout
|
||||||
|
* console.log('hello %s', 'world');
|
||||||
|
* // Prints: hello world, to stdout
|
||||||
|
* console.error(new Error('Whoops, something bad happened'));
|
||||||
|
* // Prints error message and stack trace to stderr:
|
||||||
|
* // Error: Whoops, something bad happened
|
||||||
|
* // at [eval]:5:15
|
||||||
|
* // at Script.runInThisContext (node:vm:132:18)
|
||||||
|
* // at Object.runInThisContext (node:vm:309:38)
|
||||||
|
* // at node:internal/process/execution:77:19
|
||||||
|
* // at [eval]-wrapper:6:22
|
||||||
|
* // at evalScript (node:internal/process/execution:76:60)
|
||||||
|
* // at node:internal/main/eval_string:23:3
|
||||||
|
*
|
||||||
|
* const name = 'Will Robinson';
|
||||||
|
* console.warn(`Danger ${name}! Danger!`);
|
||||||
|
* // Prints: Danger Will Robinson! Danger!, to stderr
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example using the `Console` class:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const out = getStreamSomehow();
|
||||||
|
* const err = getStreamSomehow();
|
||||||
|
* const myConsole = new console.Console(out, err);
|
||||||
|
*
|
||||||
|
* myConsole.log('hello world');
|
||||||
|
* // Prints: hello world, to out
|
||||||
|
* myConsole.log('hello %s', 'world');
|
||||||
|
* // Prints: hello world, to out
|
||||||
|
* myConsole.error(new Error('Whoops, something bad happened'));
|
||||||
|
* // Prints: [Error: Whoops, something bad happened], to err
|
||||||
|
*
|
||||||
|
* const name = 'Will Robinson';
|
||||||
|
* myConsole.warn(`Danger ${name}! Danger!`);
|
||||||
|
* // Prints: Danger Will Robinson! Danger!, to err
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v16.4.2/lib/console.js)
|
||||||
|
*/
|
||||||
|
namespace console {
|
||||||
|
interface ConsoleConstructorOptions {
|
||||||
|
stdout: NodeJS.WritableStream;
|
||||||
|
stderr?: NodeJS.WritableStream | undefined;
|
||||||
|
ignoreErrors?: boolean | undefined;
|
||||||
|
colorMode?: boolean | 'auto' | undefined;
|
||||||
|
inspectOptions?: InspectOptions | undefined;
|
||||||
|
/**
|
||||||
|
* Set group indentation
|
||||||
|
* @default 2
|
||||||
|
*/
|
||||||
|
groupIndentation?: number | undefined;
|
||||||
|
}
|
||||||
|
interface ConsoleConstructor {
|
||||||
|
prototype: Console;
|
||||||
|
new (stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
|
||||||
|
new (options: ConsoleConstructorOptions): Console;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var console: Console;
|
||||||
|
}
|
||||||
|
export = globalThis.console;
|
||||||
|
}
|
18
node_modules/@types/node/ts4.8/constants.d.ts
generated
vendored
Normal file
18
node_modules/@types/node/ts4.8/constants.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */
|
||||||
|
declare module 'constants' {
|
||||||
|
import { constants as osConstants, SignalConstants } from 'node:os';
|
||||||
|
import { constants as cryptoConstants } from 'node:crypto';
|
||||||
|
import { constants as fsConstants } from 'node:fs';
|
||||||
|
|
||||||
|
const exp: typeof osConstants.errno &
|
||||||
|
typeof osConstants.priority &
|
||||||
|
SignalConstants &
|
||||||
|
typeof cryptoConstants &
|
||||||
|
typeof fsConstants;
|
||||||
|
export = exp;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'node:constants' {
|
||||||
|
import constants = require('constants');
|
||||||
|
export = constants;
|
||||||
|
}
|
3961
node_modules/@types/node/ts4.8/crypto.d.ts
generated
vendored
Normal file
3961
node_modules/@types/node/ts4.8/crypto.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
545
node_modules/@types/node/ts4.8/dgram.d.ts
generated
vendored
Normal file
545
node_modules/@types/node/ts4.8/dgram.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,545 @@
|
||||||
|
/**
|
||||||
|
* The `dgram` module provides an implementation of UDP datagram sockets.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
*
|
||||||
|
* const server = dgram.createSocket('udp4');
|
||||||
|
*
|
||||||
|
* server.on('error', (err) => {
|
||||||
|
* console.log(`server error:\n${err.stack}`);
|
||||||
|
* server.close();
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.on('message', (msg, rinfo) => {
|
||||||
|
* console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.on('listening', () => {
|
||||||
|
* const address = server.address();
|
||||||
|
* console.log(`server listening ${address.address}:${address.port}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.bind(41234);
|
||||||
|
* // Prints: server listening 0.0.0.0:41234
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/dgram.js)
|
||||||
|
*/
|
||||||
|
declare module 'dgram' {
|
||||||
|
import { AddressInfo } from 'node:net';
|
||||||
|
import * as dns from 'node:dns';
|
||||||
|
import { EventEmitter, Abortable } from 'node:events';
|
||||||
|
interface RemoteInfo {
|
||||||
|
address: string;
|
||||||
|
family: 'IPv4' | 'IPv6';
|
||||||
|
port: number;
|
||||||
|
size: number;
|
||||||
|
}
|
||||||
|
interface BindOptions {
|
||||||
|
port?: number | undefined;
|
||||||
|
address?: string | undefined;
|
||||||
|
exclusive?: boolean | undefined;
|
||||||
|
fd?: number | undefined;
|
||||||
|
}
|
||||||
|
type SocketType = 'udp4' | 'udp6';
|
||||||
|
interface SocketOptions extends Abortable {
|
||||||
|
type: SocketType;
|
||||||
|
reuseAddr?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
ipv6Only?: boolean | undefined;
|
||||||
|
recvBufferSize?: number | undefined;
|
||||||
|
sendBufferSize?: number | undefined;
|
||||||
|
lookup?: ((hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void) | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram
|
||||||
|
* messages. When `address` and `port` are not passed to `socket.bind()` the
|
||||||
|
* method will bind the socket to the "all interfaces" address on a random port
|
||||||
|
* (it does the right thing for both `udp4` and `udp6` sockets). The bound address
|
||||||
|
* and port can be retrieved using `socket.address().address` and `socket.address().port`.
|
||||||
|
*
|
||||||
|
* If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.close()` on the socket:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const controller = new AbortController();
|
||||||
|
* const { signal } = controller;
|
||||||
|
* const server = dgram.createSocket({ type: 'udp4', signal });
|
||||||
|
* server.on('message', (msg, rinfo) => {
|
||||||
|
* console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
|
||||||
|
* });
|
||||||
|
* // Later, when you want to close the server.
|
||||||
|
* controller.abort();
|
||||||
|
* ```
|
||||||
|
* @since v0.11.13
|
||||||
|
* @param options Available options are:
|
||||||
|
* @param callback Attached as a listener for `'message'` events. Optional.
|
||||||
|
*/
|
||||||
|
function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
||||||
|
function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
||||||
|
/**
|
||||||
|
* Encapsulates the datagram functionality.
|
||||||
|
*
|
||||||
|
* New instances of `dgram.Socket` are created using {@link createSocket}.
|
||||||
|
* The `new` keyword is not to be used to create `dgram.Socket` instances.
|
||||||
|
* @since v0.1.99
|
||||||
|
*/
|
||||||
|
class Socket extends EventEmitter {
|
||||||
|
/**
|
||||||
|
* Tells the kernel to join a multicast group at the given `multicastAddress` and`multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the`multicastInterface` argument is not
|
||||||
|
* specified, the operating system will choose
|
||||||
|
* one interface and will add membership to it. To add membership to every
|
||||||
|
* available interface, call `addMembership` multiple times, once per interface.
|
||||||
|
*
|
||||||
|
* When called on an unbound socket, this method will implicitly bind to a random
|
||||||
|
* port, listening on all interfaces.
|
||||||
|
*
|
||||||
|
* When sharing a UDP socket across multiple `cluster` workers, the`socket.addMembership()` function must be called only once or an`EADDRINUSE` error will occur:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import cluster from 'cluster';
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
*
|
||||||
|
* if (cluster.isPrimary) {
|
||||||
|
* cluster.fork(); // Works ok.
|
||||||
|
* cluster.fork(); // Fails with EADDRINUSE.
|
||||||
|
* } else {
|
||||||
|
* const s = dgram.createSocket('udp4');
|
||||||
|
* s.bind(1234, () => {
|
||||||
|
* s.addMembership('224.0.0.114');
|
||||||
|
* });
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.6.9
|
||||||
|
*/
|
||||||
|
addMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||||
|
/**
|
||||||
|
* Returns an object containing the address information for a socket.
|
||||||
|
* For UDP sockets, this object will contain `address`, `family` and `port`properties.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
* @since v0.1.99
|
||||||
|
*/
|
||||||
|
address(): AddressInfo;
|
||||||
|
/**
|
||||||
|
* For UDP sockets, causes the `dgram.Socket` to listen for datagram
|
||||||
|
* messages on a named `port` and optional `address`. If `port` is not
|
||||||
|
* specified or is `0`, the operating system will attempt to bind to a
|
||||||
|
* random port. If `address` is not specified, the operating system will
|
||||||
|
* attempt to listen on all addresses. Once binding is complete, a`'listening'` event is emitted and the optional `callback` function is
|
||||||
|
* called.
|
||||||
|
*
|
||||||
|
* Specifying both a `'listening'` event listener and passing a`callback` to the `socket.bind()` method is not harmful but not very
|
||||||
|
* useful.
|
||||||
|
*
|
||||||
|
* A bound datagram socket keeps the Node.js process running to receive
|
||||||
|
* datagram messages.
|
||||||
|
*
|
||||||
|
* If binding fails, an `'error'` event is generated. In rare case (e.g.
|
||||||
|
* attempting to bind with a closed socket), an `Error` may be thrown.
|
||||||
|
*
|
||||||
|
* Example of a UDP server listening on port 41234:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
*
|
||||||
|
* const server = dgram.createSocket('udp4');
|
||||||
|
*
|
||||||
|
* server.on('error', (err) => {
|
||||||
|
* console.log(`server error:\n${err.stack}`);
|
||||||
|
* server.close();
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.on('message', (msg, rinfo) => {
|
||||||
|
* console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.on('listening', () => {
|
||||||
|
* const address = server.address();
|
||||||
|
* console.log(`server listening ${address.address}:${address.port}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* server.bind(41234);
|
||||||
|
* // Prints: server listening 0.0.0.0:41234
|
||||||
|
* ```
|
||||||
|
* @since v0.1.99
|
||||||
|
* @param callback with no parameters. Called when binding is complete.
|
||||||
|
*/
|
||||||
|
bind(port?: number, address?: string, callback?: () => void): this;
|
||||||
|
bind(port?: number, callback?: () => void): this;
|
||||||
|
bind(callback?: () => void): this;
|
||||||
|
bind(options: BindOptions, callback?: () => void): this;
|
||||||
|
/**
|
||||||
|
* Close the underlying socket and stop listening for data on it. If a callback is
|
||||||
|
* provided, it is added as a listener for the `'close'` event.
|
||||||
|
* @since v0.1.99
|
||||||
|
* @param callback Called when the socket has been closed.
|
||||||
|
*/
|
||||||
|
close(callback?: () => void): this;
|
||||||
|
/**
|
||||||
|
* Associates the `dgram.Socket` to a remote address and port. Every
|
||||||
|
* message sent by this handle is automatically sent to that destination. Also,
|
||||||
|
* the socket will only receive messages from that remote peer.
|
||||||
|
* Trying to call `connect()` on an already connected socket will result
|
||||||
|
* in an `ERR_SOCKET_DGRAM_IS_CONNECTED` exception. If `address` is not
|
||||||
|
* provided, `'127.0.0.1'` (for `udp4` sockets) or `'::1'` (for `udp6` sockets)
|
||||||
|
* will be used by default. Once the connection is complete, a `'connect'` event
|
||||||
|
* is emitted and the optional `callback` function is called. In case of failure,
|
||||||
|
* the `callback` is called or, failing this, an `'error'` event is emitted.
|
||||||
|
* @since v12.0.0
|
||||||
|
* @param callback Called when the connection is completed or on error.
|
||||||
|
*/
|
||||||
|
connect(port: number, address?: string, callback?: () => void): void;
|
||||||
|
connect(port: number, callback: () => void): void;
|
||||||
|
/**
|
||||||
|
* A synchronous function that disassociates a connected `dgram.Socket` from
|
||||||
|
* its remote address. Trying to call `disconnect()` on an unbound or already
|
||||||
|
* disconnected socket will result in an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception.
|
||||||
|
* @since v12.0.0
|
||||||
|
*/
|
||||||
|
disconnect(): void;
|
||||||
|
/**
|
||||||
|
* Instructs the kernel to leave a multicast group at `multicastAddress` using the`IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the
|
||||||
|
* kernel when the socket is closed or the process terminates, so most apps will
|
||||||
|
* never have reason to call this.
|
||||||
|
*
|
||||||
|
* If `multicastInterface` is not specified, the operating system will attempt to
|
||||||
|
* drop membership on all valid interfaces.
|
||||||
|
* @since v0.6.9
|
||||||
|
*/
|
||||||
|
dropMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||||
|
/**
|
||||||
|
* This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.
|
||||||
|
* @since v8.7.0
|
||||||
|
* @return the `SO_RCVBUF` socket receive buffer size in bytes.
|
||||||
|
*/
|
||||||
|
getRecvBufferSize(): number;
|
||||||
|
/**
|
||||||
|
* This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.
|
||||||
|
* @since v8.7.0
|
||||||
|
* @return the `SO_SNDBUF` socket send buffer size in bytes.
|
||||||
|
*/
|
||||||
|
getSendBufferSize(): number;
|
||||||
|
/**
|
||||||
|
* By default, binding a socket will cause it to block the Node.js process from
|
||||||
|
* exiting as long as the socket is open. The `socket.unref()` method can be used
|
||||||
|
* to exclude the socket from the reference counting that keeps the Node.js
|
||||||
|
* process active. The `socket.ref()` method adds the socket back to the reference
|
||||||
|
* counting and restores the default behavior.
|
||||||
|
*
|
||||||
|
* Calling `socket.ref()` multiples times will have no additional effect.
|
||||||
|
*
|
||||||
|
* The `socket.ref()` method returns a reference to the socket so calls can be
|
||||||
|
* chained.
|
||||||
|
* @since v0.9.1
|
||||||
|
*/
|
||||||
|
ref(): this;
|
||||||
|
/**
|
||||||
|
* Returns an object containing the `address`, `family`, and `port` of the remote
|
||||||
|
* endpoint. This method throws an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception
|
||||||
|
* if the socket is not connected.
|
||||||
|
* @since v12.0.0
|
||||||
|
*/
|
||||||
|
remoteAddress(): AddressInfo;
|
||||||
|
/**
|
||||||
|
* Broadcasts a datagram on the socket.
|
||||||
|
* For connectionless sockets, the destination `port` and `address` must be
|
||||||
|
* specified. Connected sockets, on the other hand, will use their associated
|
||||||
|
* remote endpoint, so the `port` and `address` arguments must not be set.
|
||||||
|
*
|
||||||
|
* The `msg` argument contains the message to be sent.
|
||||||
|
* Depending on its type, different behavior can apply. If `msg` is a `Buffer`,
|
||||||
|
* any `TypedArray` or a `DataView`,
|
||||||
|
* the `offset` and `length` specify the offset within the `Buffer` where the
|
||||||
|
* message begins and the number of bytes in the message, respectively.
|
||||||
|
* If `msg` is a `String`, then it is automatically converted to a `Buffer`with `'utf8'` encoding. With messages that
|
||||||
|
* contain multi-byte characters, `offset` and `length` will be calculated with
|
||||||
|
* respect to `byte length` and not the character position.
|
||||||
|
* If `msg` is an array, `offset` and `length` must not be specified.
|
||||||
|
*
|
||||||
|
* The `address` argument is a string. If the value of `address` is a host name,
|
||||||
|
* DNS will be used to resolve the address of the host. If `address` is not
|
||||||
|
* provided or otherwise nullish, `'127.0.0.1'` (for `udp4` sockets) or `'::1'`(for `udp6` sockets) will be used by default.
|
||||||
|
*
|
||||||
|
* If the socket has not been previously bound with a call to `bind`, the socket
|
||||||
|
* is assigned a random port number and is bound to the "all interfaces" address
|
||||||
|
* (`'0.0.0.0'` for `udp4` sockets, `'::0'` for `udp6` sockets.)
|
||||||
|
*
|
||||||
|
* An optional `callback` function may be specified to as a way of reporting
|
||||||
|
* DNS errors or for determining when it is safe to reuse the `buf` object.
|
||||||
|
* DNS lookups delay the time to send for at least one tick of the
|
||||||
|
* Node.js event loop.
|
||||||
|
*
|
||||||
|
* The only way to know for sure that the datagram has been sent is by using a`callback`. If an error occurs and a `callback` is given, the error will be
|
||||||
|
* passed as the first argument to the `callback`. If a `callback` is not given,
|
||||||
|
* the error is emitted as an `'error'` event on the `socket` object.
|
||||||
|
*
|
||||||
|
* Offset and length are optional but both _must_ be set if either are used.
|
||||||
|
* They are supported only when the first argument is a `Buffer`, a `TypedArray`,
|
||||||
|
* or a `DataView`.
|
||||||
|
*
|
||||||
|
* This method throws `ERR_SOCKET_BAD_PORT` if called on an unbound socket.
|
||||||
|
*
|
||||||
|
* Example of sending a UDP packet to a port on `localhost`;
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
* import { Buffer } from 'buffer';
|
||||||
|
*
|
||||||
|
* const message = Buffer.from('Some bytes');
|
||||||
|
* const client = dgram.createSocket('udp4');
|
||||||
|
* client.send(message, 41234, 'localhost', (err) => {
|
||||||
|
* client.close();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example of sending a UDP packet composed of multiple buffers to a port on`127.0.0.1`;
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
* import { Buffer } from 'buffer';
|
||||||
|
*
|
||||||
|
* const buf1 = Buffer.from('Some ');
|
||||||
|
* const buf2 = Buffer.from('bytes');
|
||||||
|
* const client = dgram.createSocket('udp4');
|
||||||
|
* client.send([buf1, buf2], 41234, (err) => {
|
||||||
|
* client.close();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Sending multiple buffers might be faster or slower depending on the
|
||||||
|
* application and operating system. Run benchmarks to
|
||||||
|
* determine the optimal strategy on a case-by-case basis. Generally speaking,
|
||||||
|
* however, sending multiple buffers is faster.
|
||||||
|
*
|
||||||
|
* Example of sending a UDP packet using a socket connected to a port on`localhost`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import dgram from 'dgram';
|
||||||
|
* import { Buffer } from 'buffer';
|
||||||
|
*
|
||||||
|
* const message = Buffer.from('Some bytes');
|
||||||
|
* const client = dgram.createSocket('udp4');
|
||||||
|
* client.connect(41234, 'localhost', (err) => {
|
||||||
|
* client.send(message, (err) => {
|
||||||
|
* client.close();
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v0.1.99
|
||||||
|
* @param msg Message to be sent.
|
||||||
|
* @param offset Offset in the buffer where the message starts.
|
||||||
|
* @param length Number of bytes in the message.
|
||||||
|
* @param port Destination port.
|
||||||
|
* @param address Destination host name or IP address.
|
||||||
|
* @param callback Called when the message has been sent.
|
||||||
|
*/
|
||||||
|
send(msg: string | Uint8Array | ReadonlyArray<any>, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
send(msg: string | Uint8Array | ReadonlyArray<any>, port?: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
send(msg: string | Uint8Array | ReadonlyArray<any>, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
|
/**
|
||||||
|
* Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP
|
||||||
|
* packets may be sent to a local interface's broadcast address.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
* @since v0.6.9
|
||||||
|
*/
|
||||||
|
setBroadcast(flag: boolean): void;
|
||||||
|
/**
|
||||||
|
* _All references to scope in this section are referring to [IPv6 Zone Indices](https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses), which are defined by [RFC
|
||||||
|
* 4007](https://tools.ietf.org/html/rfc4007). In string form, an IP_
|
||||||
|
* _with a scope index is written as `'IP%scope'` where scope is an interface name_
|
||||||
|
* _or interface number._
|
||||||
|
*
|
||||||
|
* Sets the default outgoing multicast interface of the socket to a chosen
|
||||||
|
* interface or back to system interface selection. The `multicastInterface` must
|
||||||
|
* be a valid string representation of an IP from the socket's family.
|
||||||
|
*
|
||||||
|
* For IPv4 sockets, this should be the IP configured for the desired physical
|
||||||
|
* interface. All packets sent to multicast on the socket will be sent on the
|
||||||
|
* interface determined by the most recent successful use of this call.
|
||||||
|
*
|
||||||
|
* For IPv6 sockets, `multicastInterface` should include a scope to indicate the
|
||||||
|
* interface as in the examples that follow. In IPv6, individual `send` calls can
|
||||||
|
* also use explicit scope in addresses, so only packets sent to a multicast
|
||||||
|
* address without specifying an explicit scope are affected by the most recent
|
||||||
|
* successful use of this call.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
*
|
||||||
|
* #### Example: IPv6 outgoing multicast interface
|
||||||
|
*
|
||||||
|
* On most systems, where scope format uses the interface name:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const socket = dgram.createSocket('udp6');
|
||||||
|
*
|
||||||
|
* socket.bind(1234, () => {
|
||||||
|
* socket.setMulticastInterface('::%eth1');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* On Windows, where scope format uses an interface number:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const socket = dgram.createSocket('udp6');
|
||||||
|
*
|
||||||
|
* socket.bind(1234, () => {
|
||||||
|
* socket.setMulticastInterface('::%2');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* #### Example: IPv4 outgoing multicast interface
|
||||||
|
*
|
||||||
|
* All systems use an IP of the host on the desired physical interface:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const socket = dgram.createSocket('udp4');
|
||||||
|
*
|
||||||
|
* socket.bind(1234, () => {
|
||||||
|
* socket.setMulticastInterface('10.0.0.2');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v8.6.0
|
||||||
|
*/
|
||||||
|
setMulticastInterface(multicastInterface: string): void;
|
||||||
|
/**
|
||||||
|
* Sets or clears the `IP_MULTICAST_LOOP` socket option. When set to `true`,
|
||||||
|
* multicast packets will also be received on the local interface.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
* @since v0.3.8
|
||||||
|
*/
|
||||||
|
setMulticastLoopback(flag: boolean): boolean;
|
||||||
|
/**
|
||||||
|
* Sets the `IP_MULTICAST_TTL` socket option. While TTL generally stands for
|
||||||
|
* "Time to Live", in this context it specifies the number of IP hops that a
|
||||||
|
* packet is allowed to travel through, specifically for multicast traffic. Each
|
||||||
|
* router or gateway that forwards a packet decrements the TTL. If the TTL is
|
||||||
|
* decremented to 0 by a router, it will not be forwarded.
|
||||||
|
*
|
||||||
|
* The `ttl` argument may be between 0 and 255\. The default on most systems is `1`.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
* @since v0.3.8
|
||||||
|
*/
|
||||||
|
setMulticastTTL(ttl: number): number;
|
||||||
|
/**
|
||||||
|
* Sets the `SO_RCVBUF` socket option. Sets the maximum socket receive buffer
|
||||||
|
* in bytes.
|
||||||
|
*
|
||||||
|
* This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.
|
||||||
|
* @since v8.7.0
|
||||||
|
*/
|
||||||
|
setRecvBufferSize(size: number): void;
|
||||||
|
/**
|
||||||
|
* Sets the `SO_SNDBUF` socket option. Sets the maximum socket send buffer
|
||||||
|
* in bytes.
|
||||||
|
*
|
||||||
|
* This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.
|
||||||
|
* @since v8.7.0
|
||||||
|
*/
|
||||||
|
setSendBufferSize(size: number): void;
|
||||||
|
/**
|
||||||
|
* Sets the `IP_TTL` socket option. While TTL generally stands for "Time to Live",
|
||||||
|
* in this context it specifies the number of IP hops that a packet is allowed to
|
||||||
|
* travel through. Each router or gateway that forwards a packet decrements the
|
||||||
|
* TTL. If the TTL is decremented to 0 by a router, it will not be forwarded.
|
||||||
|
* Changing TTL values is typically done for network probes or when multicasting.
|
||||||
|
*
|
||||||
|
* The `ttl` argument may be between 1 and 255\. The default on most systems
|
||||||
|
* is 64.
|
||||||
|
*
|
||||||
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
|
* @since v0.1.101
|
||||||
|
*/
|
||||||
|
setTTL(ttl: number): number;
|
||||||
|
/**
|
||||||
|
* By default, binding a socket will cause it to block the Node.js process from
|
||||||
|
* exiting as long as the socket is open. The `socket.unref()` method can be used
|
||||||
|
* to exclude the socket from the reference counting that keeps the Node.js
|
||||||
|
* process active, allowing the process to exit even if the socket is still
|
||||||
|
* listening.
|
||||||
|
*
|
||||||
|
* Calling `socket.unref()` multiple times will have no addition effect.
|
||||||
|
*
|
||||||
|
* The `socket.unref()` method returns a reference to the socket so calls can be
|
||||||
|
* chained.
|
||||||
|
* @since v0.9.1
|
||||||
|
*/
|
||||||
|
unref(): this;
|
||||||
|
/**
|
||||||
|
* Tells the kernel to join a source-specific multicast channel at the given`sourceAddress` and `groupAddress`, using the `multicastInterface` with the`IP_ADD_SOURCE_MEMBERSHIP` socket
|
||||||
|
* option. If the `multicastInterface` argument
|
||||||
|
* is not specified, the operating system will choose one interface and will add
|
||||||
|
* membership to it. To add membership to every available interface, call`socket.addSourceSpecificMembership()` multiple times, once per interface.
|
||||||
|
*
|
||||||
|
* When called on an unbound socket, this method will implicitly bind to a random
|
||||||
|
* port, listening on all interfaces.
|
||||||
|
* @since v13.1.0, v12.16.0
|
||||||
|
*/
|
||||||
|
addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void;
|
||||||
|
/**
|
||||||
|
* Instructs the kernel to leave a source-specific multicast channel at the given`sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP`socket option. This method is
|
||||||
|
* automatically called by the kernel when the
|
||||||
|
* socket is closed or the process terminates, so most apps will never have
|
||||||
|
* reason to call this.
|
||||||
|
*
|
||||||
|
* If `multicastInterface` is not specified, the operating system will attempt to
|
||||||
|
* drop membership on all valid interfaces.
|
||||||
|
* @since v13.1.0, v12.16.0
|
||||||
|
*/
|
||||||
|
dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. close
|
||||||
|
* 2. connect
|
||||||
|
* 3. error
|
||||||
|
* 4. listening
|
||||||
|
* 5. message
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'connect', listener: () => void): this;
|
||||||
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
addListener(event: 'listening', listener: () => void): this;
|
||||||
|
addListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'connect'): boolean;
|
||||||
|
emit(event: 'error', err: Error): boolean;
|
||||||
|
emit(event: 'listening'): boolean;
|
||||||
|
emit(event: 'message', msg: Buffer, rinfo: RemoteInfo): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'connect', listener: () => void): this;
|
||||||
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
on(event: 'listening', listener: () => void): this;
|
||||||
|
on(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'connect', listener: () => void): this;
|
||||||
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
once(event: 'listening', listener: () => void): this;
|
||||||
|
once(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'connect', listener: () => void): this;
|
||||||
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependListener(event: 'listening', listener: () => void): this;
|
||||||
|
prependListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'connect', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'listening', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:dgram' {
|
||||||
|
export * from 'dgram';
|
||||||
|
}
|
153
node_modules/@types/node/ts4.8/diagnostics_channel.d.ts
generated
vendored
Normal file
153
node_modules/@types/node/ts4.8/diagnostics_channel.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
/**
|
||||||
|
* The `diagnostics_channel` module provides an API to create named channels
|
||||||
|
* to report arbitrary message data for diagnostics purposes.
|
||||||
|
*
|
||||||
|
* It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* It is intended that a module writer wanting to report diagnostics messages
|
||||||
|
* will create one or many top-level channels to report messages through.
|
||||||
|
* Channels may also be acquired at runtime but it is not encouraged
|
||||||
|
* due to the additional overhead of doing so. Channels may be exported for
|
||||||
|
* convenience, but as long as the name is known it can be acquired anywhere.
|
||||||
|
*
|
||||||
|
* If you intend for your module to produce diagnostics data for others to
|
||||||
|
* consume it is recommended that you include documentation of what named
|
||||||
|
* channels are used along with the shape of the message data. Channel names
|
||||||
|
* should generally include the module name to avoid collisions with data from
|
||||||
|
* other modules.
|
||||||
|
* @experimental
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/diagnostics_channel.js)
|
||||||
|
*/
|
||||||
|
declare module 'diagnostics_channel' {
|
||||||
|
/**
|
||||||
|
* Check if there are active subscribers to the named channel. This is helpful if
|
||||||
|
* the message you want to send might be expensive to prepare.
|
||||||
|
*
|
||||||
|
* This API is optional but helpful when trying to publish messages from very
|
||||||
|
* performance-sensitive code.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* if (diagnostics_channel.hasSubscribers('my-channel')) {
|
||||||
|
* // There are subscribers, prepare and publish message
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param name The channel name
|
||||||
|
* @return If there are active subscribers
|
||||||
|
*/
|
||||||
|
function hasSubscribers(name: string): boolean;
|
||||||
|
/**
|
||||||
|
* This is the primary entry-point for anyone wanting to interact with a named
|
||||||
|
* channel. It produces a channel object which is optimized to reduce overhead at
|
||||||
|
* publish time as much as possible.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* const channel = diagnostics_channel.channel('my-channel');
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param name The channel name
|
||||||
|
* @return The named channel object
|
||||||
|
*/
|
||||||
|
function channel(name: string): Channel;
|
||||||
|
type ChannelListener = (message: unknown, name: string) => void;
|
||||||
|
/**
|
||||||
|
* The class `Channel` represents an individual named channel within the data
|
||||||
|
* pipeline. It is use to track subscribers and to publish messages when there
|
||||||
|
* are subscribers present. It exists as a separate object to avoid channel
|
||||||
|
* lookups at publish time, enabling very fast publish speeds and allowing
|
||||||
|
* for heavy use while incurring very minimal cost. Channels are created with {@link channel}, constructing a channel directly
|
||||||
|
* with `new Channel(name)` is not supported.
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
*/
|
||||||
|
class Channel {
|
||||||
|
readonly name: string;
|
||||||
|
/**
|
||||||
|
* Check if there are active subscribers to this channel. This is helpful if
|
||||||
|
* the message you want to send might be expensive to prepare.
|
||||||
|
*
|
||||||
|
* This API is optional but helpful when trying to publish messages from very
|
||||||
|
* performance-sensitive code.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* const channel = diagnostics_channel.channel('my-channel');
|
||||||
|
*
|
||||||
|
* if (channel.hasSubscribers) {
|
||||||
|
* // There are subscribers, prepare and publish message
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
*/
|
||||||
|
readonly hasSubscribers: boolean;
|
||||||
|
private constructor(name: string);
|
||||||
|
/**
|
||||||
|
* Publish a message to any subscribers to the channel. This will
|
||||||
|
* trigger message handlers synchronously so they will execute within
|
||||||
|
* the same context.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* const channel = diagnostics_channel.channel('my-channel');
|
||||||
|
*
|
||||||
|
* channel.publish({
|
||||||
|
* some: 'message'
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param message The message to send to the channel subscribers
|
||||||
|
*/
|
||||||
|
publish(message: unknown): void;
|
||||||
|
/**
|
||||||
|
* Register a message handler to subscribe to this channel. This message handler
|
||||||
|
* will be run synchronously whenever a message is published to the channel. Any
|
||||||
|
* errors thrown in the message handler will trigger an `'uncaughtException'`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* const channel = diagnostics_channel.channel('my-channel');
|
||||||
|
*
|
||||||
|
* channel.subscribe((message, name) => {
|
||||||
|
* // Received data
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param onMessage The handler to receive channel messages
|
||||||
|
*/
|
||||||
|
subscribe(onMessage: ChannelListener): void;
|
||||||
|
/**
|
||||||
|
* Remove a message handler previously registered to this channel with `channel.subscribe(onMessage)`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import diagnostics_channel from 'diagnostics_channel';
|
||||||
|
*
|
||||||
|
* const channel = diagnostics_channel.channel('my-channel');
|
||||||
|
*
|
||||||
|
* function onMessage(message, name) {
|
||||||
|
* // Received data
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* channel.subscribe(onMessage);
|
||||||
|
*
|
||||||
|
* channel.unsubscribe(onMessage);
|
||||||
|
* ```
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param onMessage The previous subscribed handler to remove
|
||||||
|
* @return `true` if the handler was found, `false` otherwise.
|
||||||
|
*/
|
||||||
|
unsubscribe(onMessage: ChannelListener): void;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:diagnostics_channel' {
|
||||||
|
export * from 'diagnostics_channel';
|
||||||
|
}
|
659
node_modules/@types/node/ts4.8/dns.d.ts
generated
vendored
Normal file
659
node_modules/@types/node/ts4.8/dns.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,659 @@
|
||||||
|
/**
|
||||||
|
* The `dns` module enables name resolution. For example, use it to look up IP
|
||||||
|
* addresses of host names.
|
||||||
|
*
|
||||||
|
* Although named for the [Domain Name System (DNS)](https://en.wikipedia.org/wiki/Domain_Name_System), it does not always use the
|
||||||
|
* DNS protocol for lookups. {@link lookup} uses the operating system
|
||||||
|
* facilities to perform name resolution. It may not need to perform any network
|
||||||
|
* communication. To perform name resolution the way other applications on the same
|
||||||
|
* system do, use {@link lookup}.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dns = require('dns');
|
||||||
|
*
|
||||||
|
* dns.lookup('example.org', (err, address, family) => {
|
||||||
|
* console.log('address: %j family: IPv%s', address, family);
|
||||||
|
* });
|
||||||
|
* // address: "93.184.216.34" family: IPv4
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* All other functions in the `dns` module connect to an actual DNS server to
|
||||||
|
* perform name resolution. They will always use the network to perform DNS
|
||||||
|
* queries. These functions do not use the same set of configuration files used by {@link lookup} (e.g. `/etc/hosts`). Use these functions to always perform
|
||||||
|
* DNS queries, bypassing other name-resolution facilities.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dns = require('dns');
|
||||||
|
*
|
||||||
|
* dns.resolve4('archive.org', (err, addresses) => {
|
||||||
|
* if (err) throw err;
|
||||||
|
*
|
||||||
|
* console.log(`addresses: ${JSON.stringify(addresses)}`);
|
||||||
|
*
|
||||||
|
* addresses.forEach((a) => {
|
||||||
|
* dns.reverse(a, (err, hostnames) => {
|
||||||
|
* if (err) {
|
||||||
|
* throw err;
|
||||||
|
* }
|
||||||
|
* console.log(`reverse for ${a}: ${JSON.stringify(hostnames)}`);
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* See the `Implementation considerations section` for more information.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/dns.js)
|
||||||
|
*/
|
||||||
|
declare module 'dns' {
|
||||||
|
import * as dnsPromises from 'node:dns/promises';
|
||||||
|
// Supported getaddrinfo flags.
|
||||||
|
export const ADDRCONFIG: number;
|
||||||
|
export const V4MAPPED: number;
|
||||||
|
/**
|
||||||
|
* If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as
|
||||||
|
* well as IPv4 mapped IPv6 addresses.
|
||||||
|
*/
|
||||||
|
export const ALL: number;
|
||||||
|
export interface LookupOptions {
|
||||||
|
family?: number | undefined;
|
||||||
|
hints?: number | undefined;
|
||||||
|
all?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
verbatim?: boolean | undefined;
|
||||||
|
}
|
||||||
|
export interface LookupOneOptions extends LookupOptions {
|
||||||
|
all?: false | undefined;
|
||||||
|
}
|
||||||
|
export interface LookupAllOptions extends LookupOptions {
|
||||||
|
all: true;
|
||||||
|
}
|
||||||
|
export interface LookupAddress {
|
||||||
|
address: string;
|
||||||
|
family: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or
|
||||||
|
* AAAA (IPv6) record. All `option` properties are optional. If `options` is an
|
||||||
|
* integer, then it must be `4` or `6` – if `options` is not provided, then IPv4
|
||||||
|
* and IPv6 addresses are both returned if found.
|
||||||
|
*
|
||||||
|
* With the `all` option set to `true`, the arguments for `callback` change to`(err, addresses)`, with `addresses` being an array of objects with the
|
||||||
|
* properties `address` and `family`.
|
||||||
|
*
|
||||||
|
* On error, `err` is an `Error` object, where `err.code` is the error code.
|
||||||
|
* Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when
|
||||||
|
* the host name does not exist but also when the lookup fails in other ways
|
||||||
|
* such as no available file descriptors.
|
||||||
|
*
|
||||||
|
* `dns.lookup()` does not necessarily have anything to do with the DNS protocol.
|
||||||
|
* The implementation uses an operating system facility that can associate names
|
||||||
|
* with addresses, and vice versa. This implementation can have subtle but
|
||||||
|
* important consequences on the behavior of any Node.js program. Please take some
|
||||||
|
* time to consult the `Implementation considerations section` before using`dns.lookup()`.
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dns = require('dns');
|
||||||
|
* const options = {
|
||||||
|
* family: 6,
|
||||||
|
* hints: dns.ADDRCONFIG | dns.V4MAPPED,
|
||||||
|
* };
|
||||||
|
* dns.lookup('example.com', options, (err, address, family) =>
|
||||||
|
* console.log('address: %j family: IPv%s', address, family));
|
||||||
|
* // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6
|
||||||
|
*
|
||||||
|
* // When options.all is true, the result will be an Array.
|
||||||
|
* options.all = true;
|
||||||
|
* dns.lookup('example.com', options, (err, addresses) =>
|
||||||
|
* console.log('addresses: %j', addresses));
|
||||||
|
* // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}]
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If this method is invoked as its `util.promisify()` ed version, and `all`is not set to `true`, it returns a `Promise` for an `Object` with `address` and`family` properties.
|
||||||
|
* @since v0.1.90
|
||||||
|
*/
|
||||||
|
export function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||||
|
export function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||||
|
export function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void;
|
||||||
|
export function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void;
|
||||||
|
export function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||||
|
export namespace lookup {
|
||||||
|
function __promisify__(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
|
||||||
|
function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise<LookupAddress>;
|
||||||
|
function __promisify__(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Resolves the given `address` and `port` into a host name and service using
|
||||||
|
* the operating system's underlying `getnameinfo` implementation.
|
||||||
|
*
|
||||||
|
* If `address` is not a valid IP address, a `TypeError` will be thrown.
|
||||||
|
* The `port` will be coerced to a number. If it is not a legal port, a `TypeError`will be thrown.
|
||||||
|
*
|
||||||
|
* On an error, `err` is an `Error` object, where `err.code` is the error code.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dns = require('dns');
|
||||||
|
* dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {
|
||||||
|
* console.log(hostname, service);
|
||||||
|
* // Prints: localhost ssh
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If this method is invoked as its `util.promisify()` ed version, it returns a`Promise` for an `Object` with `hostname` and `service` properties.
|
||||||
|
* @since v0.11.14
|
||||||
|
*/
|
||||||
|
export function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void;
|
||||||
|
export namespace lookupService {
|
||||||
|
function __promisify__(
|
||||||
|
address: string,
|
||||||
|
port: number
|
||||||
|
): Promise<{
|
||||||
|
hostname: string;
|
||||||
|
service: string;
|
||||||
|
}>;
|
||||||
|
}
|
||||||
|
export interface ResolveOptions {
|
||||||
|
ttl: boolean;
|
||||||
|
}
|
||||||
|
export interface ResolveWithTtlOptions extends ResolveOptions {
|
||||||
|
ttl: true;
|
||||||
|
}
|
||||||
|
export interface RecordWithTtl {
|
||||||
|
address: string;
|
||||||
|
ttl: number;
|
||||||
|
}
|
||||||
|
/** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */
|
||||||
|
export type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord;
|
||||||
|
export interface AnyARecord extends RecordWithTtl {
|
||||||
|
type: 'A';
|
||||||
|
}
|
||||||
|
export interface AnyAaaaRecord extends RecordWithTtl {
|
||||||
|
type: 'AAAA';
|
||||||
|
}
|
||||||
|
export interface CaaRecord {
|
||||||
|
critial: number;
|
||||||
|
issue?: string | undefined;
|
||||||
|
issuewild?: string | undefined;
|
||||||
|
iodef?: string | undefined;
|
||||||
|
contactemail?: string | undefined;
|
||||||
|
contactphone?: string | undefined;
|
||||||
|
}
|
||||||
|
export interface MxRecord {
|
||||||
|
priority: number;
|
||||||
|
exchange: string;
|
||||||
|
}
|
||||||
|
export interface AnyMxRecord extends MxRecord {
|
||||||
|
type: 'MX';
|
||||||
|
}
|
||||||
|
export interface NaptrRecord {
|
||||||
|
flags: string;
|
||||||
|
service: string;
|
||||||
|
regexp: string;
|
||||||
|
replacement: string;
|
||||||
|
order: number;
|
||||||
|
preference: number;
|
||||||
|
}
|
||||||
|
export interface AnyNaptrRecord extends NaptrRecord {
|
||||||
|
type: 'NAPTR';
|
||||||
|
}
|
||||||
|
export interface SoaRecord {
|
||||||
|
nsname: string;
|
||||||
|
hostmaster: string;
|
||||||
|
serial: number;
|
||||||
|
refresh: number;
|
||||||
|
retry: number;
|
||||||
|
expire: number;
|
||||||
|
minttl: number;
|
||||||
|
}
|
||||||
|
export interface AnySoaRecord extends SoaRecord {
|
||||||
|
type: 'SOA';
|
||||||
|
}
|
||||||
|
export interface SrvRecord {
|
||||||
|
priority: number;
|
||||||
|
weight: number;
|
||||||
|
port: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
export interface AnySrvRecord extends SrvRecord {
|
||||||
|
type: 'SRV';
|
||||||
|
}
|
||||||
|
export interface AnyTxtRecord {
|
||||||
|
type: 'TXT';
|
||||||
|
entries: string[];
|
||||||
|
}
|
||||||
|
export interface AnyNsRecord {
|
||||||
|
type: 'NS';
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
export interface AnyPtrRecord {
|
||||||
|
type: 'PTR';
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
export interface AnyCnameRecord {
|
||||||
|
type: 'CNAME';
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
export type AnyRecord = AnyARecord | AnyAaaaRecord | AnyCnameRecord | AnyMxRecord | AnyNaptrRecord | AnyNsRecord | AnyPtrRecord | AnySoaRecord | AnySrvRecord | AnyTxtRecord;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
|
||||||
|
* of the resource records. The `callback` function has arguments`(err, records)`. When successful, `records` will be an array of resource
|
||||||
|
* records. The type and structure of individual results varies based on `rrtype`:
|
||||||
|
*
|
||||||
|
* <omitted>
|
||||||
|
*
|
||||||
|
* On error, `err` is an `Error` object, where `err.code` is one of the `DNS error codes`.
|
||||||
|
* @since v0.1.27
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
* @param [rrtype='A'] Resource record type.
|
||||||
|
*/
|
||||||
|
export function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'A', callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'AAAA', callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'ANY', callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'CNAME', callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'MX', callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'NAPTR', callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'NS', callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'PTR', callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'SOA', callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'SRV', callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void;
|
||||||
|
export function resolve(hostname: string, rrtype: 'TXT', callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void;
|
||||||
|
export function resolve(
|
||||||
|
hostname: string,
|
||||||
|
rrtype: string,
|
||||||
|
callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void
|
||||||
|
): void;
|
||||||
|
export namespace resolve {
|
||||||
|
function __promisify__(hostname: string, rrtype?: 'A' | 'AAAA' | 'CNAME' | 'NS' | 'PTR'): Promise<string[]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'ANY'): Promise<AnyRecord[]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'MX'): Promise<MxRecord[]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'NAPTR'): Promise<NaptrRecord[]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'SOA'): Promise<SoaRecord>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'SRV'): Promise<SrvRecord[]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: 'TXT'): Promise<string[][]>;
|
||||||
|
function __promisify__(hostname: string, rrtype: string): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the`hostname`. The `addresses` argument passed to the `callback` function
|
||||||
|
* will contain an array of IPv4 addresses (e.g.`['74.125.79.104', '74.125.79.105', '74.125.79.106']`).
|
||||||
|
* @since v0.1.16
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
*/
|
||||||
|
export function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void;
|
||||||
|
export function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void;
|
||||||
|
export namespace resolve4 {
|
||||||
|
function __promisify__(hostname: string): Promise<string[]>;
|
||||||
|
function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||||
|
function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a IPv6 addresses (`AAAA` records) for the`hostname`. The `addresses` argument passed to the `callback` function
|
||||||
|
* will contain an array of IPv6 addresses.
|
||||||
|
* @since v0.1.16
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
*/
|
||||||
|
export function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void;
|
||||||
|
export function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void;
|
||||||
|
export namespace resolve6 {
|
||||||
|
function __promisify__(hostname: string): Promise<string[]>;
|
||||||
|
function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||||
|
function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve `CNAME` records for the `hostname`. The`addresses` argument passed to the `callback` function
|
||||||
|
* will contain an array of canonical name records available for the `hostname`(e.g. `['bar.example.com']`).
|
||||||
|
* @since v0.3.2
|
||||||
|
*/
|
||||||
|
export function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export namespace resolveCname {
|
||||||
|
function __promisify__(hostname: string): Promise<string[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve `CAA` records for the `hostname`. The`addresses` argument passed to the `callback` function
|
||||||
|
* will contain an array of certification authority authorization records
|
||||||
|
* available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'}, {critical: 128, issue: 'pki.example.com'}]`).
|
||||||
|
* @since v15.0.0, v14.17.0
|
||||||
|
*/
|
||||||
|
export function resolveCaa(hostname: string, callback: (err: NodeJS.ErrnoException | null, records: CaaRecord[]) => void): void;
|
||||||
|
export namespace resolveCaa {
|
||||||
|
function __promisify__(hostname: string): Promise<CaaRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve mail exchange records (`MX` records) for the`hostname`. The `addresses` argument passed to the `callback` function will
|
||||||
|
* contain an array of objects containing both a `priority` and `exchange`property (e.g. `[{priority: 10, exchange: 'mx.example.com'}, ...]`).
|
||||||
|
* @since v0.1.27
|
||||||
|
*/
|
||||||
|
export function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void;
|
||||||
|
export namespace resolveMx {
|
||||||
|
function __promisify__(hostname: string): Promise<MxRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve regular expression based records (`NAPTR`records) for the `hostname`. The `addresses` argument passed to the `callback`function will contain an array of
|
||||||
|
* objects with the following properties:
|
||||||
|
*
|
||||||
|
* * `flags`
|
||||||
|
* * `service`
|
||||||
|
* * `regexp`
|
||||||
|
* * `replacement`
|
||||||
|
* * `order`
|
||||||
|
* * `preference`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* flags: 's',
|
||||||
|
* service: 'SIP+D2U',
|
||||||
|
* regexp: '',
|
||||||
|
* replacement: '_sip._udp.example.com',
|
||||||
|
* order: 30,
|
||||||
|
* preference: 100
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.9.12
|
||||||
|
*/
|
||||||
|
export function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void;
|
||||||
|
export namespace resolveNaptr {
|
||||||
|
function __promisify__(hostname: string): Promise<NaptrRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve name server records (`NS` records) for the`hostname`. The `addresses` argument passed to the `callback` function will
|
||||||
|
* contain an array of name server records available for `hostname`(e.g. `['ns1.example.com', 'ns2.example.com']`).
|
||||||
|
* @since v0.1.90
|
||||||
|
*/
|
||||||
|
export function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export namespace resolveNs {
|
||||||
|
function __promisify__(hostname: string): Promise<string[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve pointer records (`PTR` records) for the`hostname`. The `addresses` argument passed to the `callback` function will
|
||||||
|
* be an array of strings containing the reply records.
|
||||||
|
* @since v6.0.0
|
||||||
|
*/
|
||||||
|
export function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||||
|
export namespace resolvePtr {
|
||||||
|
function __promisify__(hostname: string): Promise<string[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a start of authority record (`SOA` record) for
|
||||||
|
* the `hostname`. The `address` argument passed to the `callback` function will
|
||||||
|
* be an object with the following properties:
|
||||||
|
*
|
||||||
|
* * `nsname`
|
||||||
|
* * `hostmaster`
|
||||||
|
* * `serial`
|
||||||
|
* * `refresh`
|
||||||
|
* * `retry`
|
||||||
|
* * `expire`
|
||||||
|
* * `minttl`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* nsname: 'ns.example.com',
|
||||||
|
* hostmaster: 'root.example.com',
|
||||||
|
* serial: 2013101809,
|
||||||
|
* refresh: 10000,
|
||||||
|
* retry: 2400,
|
||||||
|
* expire: 604800,
|
||||||
|
* minttl: 3600
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.11.10
|
||||||
|
*/
|
||||||
|
export function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void;
|
||||||
|
export namespace resolveSoa {
|
||||||
|
function __promisify__(hostname: string): Promise<SoaRecord>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve service records (`SRV` records) for the`hostname`. The `addresses` argument passed to the `callback` function will
|
||||||
|
* be an array of objects with the following properties:
|
||||||
|
*
|
||||||
|
* * `priority`
|
||||||
|
* * `weight`
|
||||||
|
* * `port`
|
||||||
|
* * `name`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* priority: 10,
|
||||||
|
* weight: 5,
|
||||||
|
* port: 21223,
|
||||||
|
* name: 'service.example.com'
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.1.27
|
||||||
|
*/
|
||||||
|
export function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void;
|
||||||
|
export namespace resolveSrv {
|
||||||
|
function __promisify__(hostname: string): Promise<SrvRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve text queries (`TXT` records) for the`hostname`. The `records` argument passed to the `callback` function is a
|
||||||
|
* two-dimensional array of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
|
||||||
|
* one record. Depending on the use case, these could be either joined together or
|
||||||
|
* treated separately.
|
||||||
|
* @since v0.1.27
|
||||||
|
*/
|
||||||
|
export function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void;
|
||||||
|
export namespace resolveTxt {
|
||||||
|
function __promisify__(hostname: string): Promise<string[][]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).
|
||||||
|
* The `ret` argument passed to the `callback` function will be an array containing
|
||||||
|
* various types of records. Each object has a property `type` that indicates the
|
||||||
|
* type of the current record. And depending on the `type`, additional properties
|
||||||
|
* will be present on the object:
|
||||||
|
*
|
||||||
|
* <omitted>
|
||||||
|
*
|
||||||
|
* Here is an example of the `ret` object passed to the callback:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* [ { type: 'A', address: '127.0.0.1', ttl: 299 },
|
||||||
|
* { type: 'CNAME', value: 'example.com' },
|
||||||
|
* { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
|
||||||
|
* { type: 'NS', value: 'ns1.example.com' },
|
||||||
|
* { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
|
||||||
|
* { type: 'SOA',
|
||||||
|
* nsname: 'ns1.example.com',
|
||||||
|
* hostmaster: 'admin.example.com',
|
||||||
|
* serial: 156696742,
|
||||||
|
* refresh: 900,
|
||||||
|
* retry: 900,
|
||||||
|
* expire: 1800,
|
||||||
|
* minttl: 60 } ]
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* DNS server operators may choose not to respond to `ANY`queries. It may be better to call individual methods like {@link resolve4},{@link resolveMx}, and so on. For more details, see [RFC
|
||||||
|
* 8482](https://tools.ietf.org/html/rfc8482).
|
||||||
|
*/
|
||||||
|
export function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void;
|
||||||
|
export namespace resolveAny {
|
||||||
|
function __promisify__(hostname: string): Promise<AnyRecord[]>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
|
||||||
|
* array of host names.
|
||||||
|
*
|
||||||
|
* On error, `err` is an `Error` object, where `err.code` is
|
||||||
|
* one of the `DNS error codes`.
|
||||||
|
* @since v0.1.16
|
||||||
|
*/
|
||||||
|
export function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void;
|
||||||
|
/**
|
||||||
|
* Sets the IP address and port of servers to be used when performing DNS
|
||||||
|
* resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted
|
||||||
|
* addresses. If the port is the IANA default DNS port (53) it can be omitted.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* dns.setServers([
|
||||||
|
* '4.4.4.4',
|
||||||
|
* '[2001:4860:4860::8888]',
|
||||||
|
* '4.4.4.4:1053',
|
||||||
|
* '[2001:4860:4860::8888]:1053',
|
||||||
|
* ]);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* An error will be thrown if an invalid address is provided.
|
||||||
|
*
|
||||||
|
* The `dns.setServers()` method must not be called while a DNS query is in
|
||||||
|
* progress.
|
||||||
|
*
|
||||||
|
* The {@link setServers} method affects only {@link resolve},`dns.resolve*()` and {@link reverse} (and specifically _not_ {@link lookup}).
|
||||||
|
*
|
||||||
|
* This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).
|
||||||
|
* That is, if attempting to resolve with the first server provided results in a`NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with
|
||||||
|
* subsequent servers provided. Fallback DNS servers will only be used if the
|
||||||
|
* earlier ones time out or result in some other error.
|
||||||
|
* @since v0.11.3
|
||||||
|
* @param servers array of `RFC 5952` formatted addresses
|
||||||
|
*/
|
||||||
|
export function setServers(servers: ReadonlyArray<string>): void;
|
||||||
|
/**
|
||||||
|
* Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),
|
||||||
|
* that are currently configured for DNS resolution. A string will include a port
|
||||||
|
* section if a custom port is used.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* [
|
||||||
|
* '4.4.4.4',
|
||||||
|
* '2001:4860:4860::8888',
|
||||||
|
* '4.4.4.4:1053',
|
||||||
|
* '[2001:4860:4860::8888]:1053',
|
||||||
|
* ]
|
||||||
|
* ```
|
||||||
|
* @since v0.11.3
|
||||||
|
*/
|
||||||
|
export function getServers(): string[];
|
||||||
|
/**
|
||||||
|
* Set the default value of `verbatim` in {@link lookup} and `dnsPromises.lookup()`. The value could be:
|
||||||
|
*
|
||||||
|
* * `ipv4first`: sets default `verbatim` `false`.
|
||||||
|
* * `verbatim`: sets default `verbatim` `true`.
|
||||||
|
*
|
||||||
|
* The default is `ipv4first` and {@link setDefaultResultOrder} have higher
|
||||||
|
* priority than `--dns-result-order`. When using `worker threads`,{@link setDefaultResultOrder} from the main thread won't affect the default
|
||||||
|
* dns orders in workers.
|
||||||
|
* @since v16.4.0, v14.18.0
|
||||||
|
* @param order must be `'ipv4first'` or `'verbatim'`.
|
||||||
|
*/
|
||||||
|
export function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void;
|
||||||
|
// Error codes
|
||||||
|
export const NODATA: string;
|
||||||
|
export const FORMERR: string;
|
||||||
|
export const SERVFAIL: string;
|
||||||
|
export const NOTFOUND: string;
|
||||||
|
export const NOTIMP: string;
|
||||||
|
export const REFUSED: string;
|
||||||
|
export const BADQUERY: string;
|
||||||
|
export const BADNAME: string;
|
||||||
|
export const BADFAMILY: string;
|
||||||
|
export const BADRESP: string;
|
||||||
|
export const CONNREFUSED: string;
|
||||||
|
export const TIMEOUT: string;
|
||||||
|
export const EOF: string;
|
||||||
|
export const FILE: string;
|
||||||
|
export const NOMEM: string;
|
||||||
|
export const DESTRUCTION: string;
|
||||||
|
export const BADSTR: string;
|
||||||
|
export const BADFLAGS: string;
|
||||||
|
export const NONAME: string;
|
||||||
|
export const BADHINTS: string;
|
||||||
|
export const NOTINITIALIZED: string;
|
||||||
|
export const LOADIPHLPAPI: string;
|
||||||
|
export const ADDRGETNETWORKPARAMS: string;
|
||||||
|
export const CANCELLED: string;
|
||||||
|
export interface ResolverOptions {
|
||||||
|
timeout?: number | undefined;
|
||||||
|
/**
|
||||||
|
* @default 4
|
||||||
|
*/
|
||||||
|
tries?: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* An independent resolver for DNS requests.
|
||||||
|
*
|
||||||
|
* Creating a new resolver uses the default server settings. Setting
|
||||||
|
* the servers used for a resolver using `resolver.setServers()` does not affect
|
||||||
|
* other resolvers:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { Resolver } = require('dns');
|
||||||
|
* const resolver = new Resolver();
|
||||||
|
* resolver.setServers(['4.4.4.4']);
|
||||||
|
*
|
||||||
|
* // This request will use the server at 4.4.4.4, independent of global settings.
|
||||||
|
* resolver.resolve4('example.org', (err, addresses) => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The following methods from the `dns` module are available:
|
||||||
|
*
|
||||||
|
* * `resolver.getServers()`
|
||||||
|
* * `resolver.resolve()`
|
||||||
|
* * `resolver.resolve4()`
|
||||||
|
* * `resolver.resolve6()`
|
||||||
|
* * `resolver.resolveAny()`
|
||||||
|
* * `resolver.resolveCaa()`
|
||||||
|
* * `resolver.resolveCname()`
|
||||||
|
* * `resolver.resolveMx()`
|
||||||
|
* * `resolver.resolveNaptr()`
|
||||||
|
* * `resolver.resolveNs()`
|
||||||
|
* * `resolver.resolvePtr()`
|
||||||
|
* * `resolver.resolveSoa()`
|
||||||
|
* * `resolver.resolveSrv()`
|
||||||
|
* * `resolver.resolveTxt()`
|
||||||
|
* * `resolver.reverse()`
|
||||||
|
* * `resolver.setServers()`
|
||||||
|
* @since v8.3.0
|
||||||
|
*/
|
||||||
|
export class Resolver {
|
||||||
|
constructor(options?: ResolverOptions);
|
||||||
|
/**
|
||||||
|
* Cancel all outstanding DNS queries made by this resolver. The corresponding
|
||||||
|
* callbacks will be called with an error with code `ECANCELLED`.
|
||||||
|
* @since v8.3.0
|
||||||
|
*/
|
||||||
|
cancel(): void;
|
||||||
|
getServers: typeof getServers;
|
||||||
|
resolve: typeof resolve;
|
||||||
|
resolve4: typeof resolve4;
|
||||||
|
resolve6: typeof resolve6;
|
||||||
|
resolveAny: typeof resolveAny;
|
||||||
|
resolveCname: typeof resolveCname;
|
||||||
|
resolveMx: typeof resolveMx;
|
||||||
|
resolveNaptr: typeof resolveNaptr;
|
||||||
|
resolveNs: typeof resolveNs;
|
||||||
|
resolvePtr: typeof resolvePtr;
|
||||||
|
resolveSoa: typeof resolveSoa;
|
||||||
|
resolveSrv: typeof resolveSrv;
|
||||||
|
resolveTxt: typeof resolveTxt;
|
||||||
|
reverse: typeof reverse;
|
||||||
|
/**
|
||||||
|
* The resolver instance will send its requests from the specified IP address.
|
||||||
|
* This allows programs to specify outbound interfaces when used on multi-homed
|
||||||
|
* systems.
|
||||||
|
*
|
||||||
|
* If a v4 or v6 address is not specified, it is set to the default, and the
|
||||||
|
* operating system will choose a local address automatically.
|
||||||
|
*
|
||||||
|
* The resolver will use the v4 local address when making requests to IPv4 DNS
|
||||||
|
* servers, and the v6 local address when making requests to IPv6 DNS servers.
|
||||||
|
* The `rrtype` of resolution requests has no impact on the local address used.
|
||||||
|
* @since v15.1.0, v14.17.0
|
||||||
|
* @param [ipv4='0.0.0.0'] A string representation of an IPv4 address.
|
||||||
|
* @param [ipv6='::0'] A string representation of an IPv6 address.
|
||||||
|
*/
|
||||||
|
setLocalAddress(ipv4?: string, ipv6?: string): void;
|
||||||
|
setServers: typeof setServers;
|
||||||
|
}
|
||||||
|
export { dnsPromises as promises };
|
||||||
|
}
|
||||||
|
declare module 'node:dns' {
|
||||||
|
export * from 'dns';
|
||||||
|
}
|
370
node_modules/@types/node/ts4.8/dns/promises.d.ts
generated
vendored
Normal file
370
node_modules/@types/node/ts4.8/dns/promises.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,370 @@
|
||||||
|
/**
|
||||||
|
* The `dns.promises` API provides an alternative set of asynchronous DNS methods
|
||||||
|
* that return `Promise` objects rather than using callbacks. The API is accessible
|
||||||
|
* via `require('dns').promises` or `require('dns/promises')`.
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
declare module 'dns/promises' {
|
||||||
|
import {
|
||||||
|
LookupAddress,
|
||||||
|
LookupOneOptions,
|
||||||
|
LookupAllOptions,
|
||||||
|
LookupOptions,
|
||||||
|
AnyRecord,
|
||||||
|
CaaRecord,
|
||||||
|
MxRecord,
|
||||||
|
NaptrRecord,
|
||||||
|
SoaRecord,
|
||||||
|
SrvRecord,
|
||||||
|
ResolveWithTtlOptions,
|
||||||
|
RecordWithTtl,
|
||||||
|
ResolveOptions,
|
||||||
|
ResolverOptions,
|
||||||
|
} from 'node:dns';
|
||||||
|
/**
|
||||||
|
* Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),
|
||||||
|
* that are currently configured for DNS resolution. A string will include a port
|
||||||
|
* section if a custom port is used.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* [
|
||||||
|
* '4.4.4.4',
|
||||||
|
* '2001:4860:4860::8888',
|
||||||
|
* '4.4.4.4:1053',
|
||||||
|
* '[2001:4860:4860::8888]:1053',
|
||||||
|
* ]
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function getServers(): string[];
|
||||||
|
/**
|
||||||
|
* Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or
|
||||||
|
* AAAA (IPv6) record. All `option` properties are optional. If `options` is an
|
||||||
|
* integer, then it must be `4` or `6` – if `options` is not provided, then IPv4
|
||||||
|
* and IPv6 addresses are both returned if found.
|
||||||
|
*
|
||||||
|
* With the `all` option set to `true`, the `Promise` is resolved with `addresses`being an array of objects with the properties `address` and `family`.
|
||||||
|
*
|
||||||
|
* On error, the `Promise` is rejected with an `Error` object, where `err.code`is the error code.
|
||||||
|
* Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when
|
||||||
|
* the host name does not exist but also when the lookup fails in other ways
|
||||||
|
* such as no available file descriptors.
|
||||||
|
*
|
||||||
|
* `dnsPromises.lookup()` does not necessarily have anything to do with the DNS
|
||||||
|
* protocol. The implementation uses an operating system facility that can
|
||||||
|
* associate names with addresses, and vice versa. This implementation can have
|
||||||
|
* subtle but important consequences on the behavior of any Node.js program. Please
|
||||||
|
* take some time to consult the `Implementation considerations section` before
|
||||||
|
* using `dnsPromises.lookup()`.
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dns = require('dns');
|
||||||
|
* const dnsPromises = dns.promises;
|
||||||
|
* const options = {
|
||||||
|
* family: 6,
|
||||||
|
* hints: dns.ADDRCONFIG | dns.V4MAPPED,
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* dnsPromises.lookup('example.com', options).then((result) => {
|
||||||
|
* console.log('address: %j family: IPv%s', result.address, result.family);
|
||||||
|
* // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // When options.all is true, the result will be an Array.
|
||||||
|
* options.all = true;
|
||||||
|
* dnsPromises.lookup('example.com', options).then((result) => {
|
||||||
|
* console.log('addresses: %j', result);
|
||||||
|
* // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}]
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function lookup(hostname: string, family: number): Promise<LookupAddress>;
|
||||||
|
function lookup(hostname: string, options: LookupOneOptions): Promise<LookupAddress>;
|
||||||
|
function lookup(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
|
||||||
|
function lookup(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;
|
||||||
|
function lookup(hostname: string): Promise<LookupAddress>;
|
||||||
|
/**
|
||||||
|
* Resolves the given `address` and `port` into a host name and service using
|
||||||
|
* the operating system's underlying `getnameinfo` implementation.
|
||||||
|
*
|
||||||
|
* If `address` is not a valid IP address, a `TypeError` will be thrown.
|
||||||
|
* The `port` will be coerced to a number. If it is not a legal port, a `TypeError`will be thrown.
|
||||||
|
*
|
||||||
|
* On error, the `Promise` is rejected with an `Error` object, where `err.code`is the error code.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const dnsPromises = require('dns').promises;
|
||||||
|
* dnsPromises.lookupService('127.0.0.1', 22).then((result) => {
|
||||||
|
* console.log(result.hostname, result.service);
|
||||||
|
* // Prints: localhost ssh
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function lookupService(
|
||||||
|
address: string,
|
||||||
|
port: number
|
||||||
|
): Promise<{
|
||||||
|
hostname: string;
|
||||||
|
service: string;
|
||||||
|
}>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
|
||||||
|
* of the resource records. When successful, the `Promise` is resolved with an
|
||||||
|
* array of resource records. The type and structure of individual results vary
|
||||||
|
* based on `rrtype`:
|
||||||
|
*
|
||||||
|
* <omitted>
|
||||||
|
*
|
||||||
|
* On error, the `Promise` is rejected with an `Error` object, where `err.code`is one of the `DNS error codes`.
|
||||||
|
* @since v10.6.0
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
* @param [rrtype='A'] Resource record type.
|
||||||
|
*/
|
||||||
|
function resolve(hostname: string): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'A'): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'AAAA'): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'ANY'): Promise<AnyRecord[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'CAA'): Promise<CaaRecord[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'CNAME'): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'MX'): Promise<MxRecord[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'NAPTR'): Promise<NaptrRecord[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'NS'): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'PTR'): Promise<string[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'SOA'): Promise<SoaRecord>;
|
||||||
|
function resolve(hostname: string, rrtype: 'SRV'): Promise<SrvRecord[]>;
|
||||||
|
function resolve(hostname: string, rrtype: 'TXT'): Promise<string[][]>;
|
||||||
|
function resolve(hostname: string, rrtype: string): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the`hostname`. On success, the `Promise` is resolved with an array of IPv4
|
||||||
|
* addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`).
|
||||||
|
* @since v10.6.0
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
*/
|
||||||
|
function resolve4(hostname: string): Promise<string[]>;
|
||||||
|
function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||||
|
function resolve4(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the`hostname`. On success, the `Promise` is resolved with an array of IPv6
|
||||||
|
* addresses.
|
||||||
|
* @since v10.6.0
|
||||||
|
* @param hostname Host name to resolve.
|
||||||
|
*/
|
||||||
|
function resolve6(hostname: string): Promise<string[]>;
|
||||||
|
function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||||
|
function resolve6(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).
|
||||||
|
* On success, the `Promise` is resolved with an array containing various types of
|
||||||
|
* records. Each object has a property `type` that indicates the type of the
|
||||||
|
* current record. And depending on the `type`, additional properties will be
|
||||||
|
* present on the object:
|
||||||
|
*
|
||||||
|
* <omitted>
|
||||||
|
*
|
||||||
|
* Here is an example of the result object:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* [ { type: 'A', address: '127.0.0.1', ttl: 299 },
|
||||||
|
* { type: 'CNAME', value: 'example.com' },
|
||||||
|
* { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
|
||||||
|
* { type: 'NS', value: 'ns1.example.com' },
|
||||||
|
* { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
|
||||||
|
* { type: 'SOA',
|
||||||
|
* nsname: 'ns1.example.com',
|
||||||
|
* hostmaster: 'admin.example.com',
|
||||||
|
* serial: 156696742,
|
||||||
|
* refresh: 900,
|
||||||
|
* retry: 900,
|
||||||
|
* expire: 1800,
|
||||||
|
* minttl: 60 } ]
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveAny(hostname: string): Promise<AnyRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve `CAA` records for the `hostname`. On success,
|
||||||
|
* the `Promise` is resolved with an array of objects containing available
|
||||||
|
* certification authority authorization records available for the `hostname`(e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'},{critical: 128, issue: 'pki.example.com'}]`).
|
||||||
|
* @since v15.0.0, v14.17.0
|
||||||
|
*/
|
||||||
|
function resolveCaa(hostname: string): Promise<CaaRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve `CNAME` records for the `hostname`. On success,
|
||||||
|
* the `Promise` is resolved with an array of canonical name records available for
|
||||||
|
* the `hostname` (e.g. `['bar.example.com']`).
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveCname(hostname: string): Promise<string[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve mail exchange records (`MX` records) for the`hostname`. On success, the `Promise` is resolved with an array of objects
|
||||||
|
* containing both a `priority` and `exchange` property (e.g.`[{priority: 10, exchange: 'mx.example.com'}, ...]`).
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveMx(hostname: string): Promise<MxRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve regular expression based records (`NAPTR`records) for the `hostname`. On success, the `Promise` is resolved with an array
|
||||||
|
* of objects with the following properties:
|
||||||
|
*
|
||||||
|
* * `flags`
|
||||||
|
* * `service`
|
||||||
|
* * `regexp`
|
||||||
|
* * `replacement`
|
||||||
|
* * `order`
|
||||||
|
* * `preference`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* flags: 's',
|
||||||
|
* service: 'SIP+D2U',
|
||||||
|
* regexp: '',
|
||||||
|
* replacement: '_sip._udp.example.com',
|
||||||
|
* order: 30,
|
||||||
|
* preference: 100
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveNaptr(hostname: string): Promise<NaptrRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve name server records (`NS` records) for the`hostname`. On success, the `Promise` is resolved with an array of name server
|
||||||
|
* records available for `hostname` (e.g.`['ns1.example.com', 'ns2.example.com']`).
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveNs(hostname: string): Promise<string[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve pointer records (`PTR` records) for the`hostname`. On success, the `Promise` is resolved with an array of strings
|
||||||
|
* containing the reply records.
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolvePtr(hostname: string): Promise<string[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve a start of authority record (`SOA` record) for
|
||||||
|
* the `hostname`. On success, the `Promise` is resolved with an object with the
|
||||||
|
* following properties:
|
||||||
|
*
|
||||||
|
* * `nsname`
|
||||||
|
* * `hostmaster`
|
||||||
|
* * `serial`
|
||||||
|
* * `refresh`
|
||||||
|
* * `retry`
|
||||||
|
* * `expire`
|
||||||
|
* * `minttl`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* nsname: 'ns.example.com',
|
||||||
|
* hostmaster: 'root.example.com',
|
||||||
|
* serial: 2013101809,
|
||||||
|
* refresh: 10000,
|
||||||
|
* retry: 2400,
|
||||||
|
* expire: 604800,
|
||||||
|
* minttl: 3600
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveSoa(hostname: string): Promise<SoaRecord>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve service records (`SRV` records) for the`hostname`. On success, the `Promise` is resolved with an array of objects with
|
||||||
|
* the following properties:
|
||||||
|
*
|
||||||
|
* * `priority`
|
||||||
|
* * `weight`
|
||||||
|
* * `port`
|
||||||
|
* * `name`
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* priority: 10,
|
||||||
|
* weight: 5,
|
||||||
|
* port: 21223,
|
||||||
|
* name: 'service.example.com'
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveSrv(hostname: string): Promise<SrvRecord[]>;
|
||||||
|
/**
|
||||||
|
* Uses the DNS protocol to resolve text queries (`TXT` records) for the`hostname`. On success, the `Promise` is resolved with a two-dimensional array
|
||||||
|
* of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
|
||||||
|
* one record. Depending on the use case, these could be either joined together or
|
||||||
|
* treated separately.
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function resolveTxt(hostname: string): Promise<string[][]>;
|
||||||
|
/**
|
||||||
|
* Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
|
||||||
|
* array of host names.
|
||||||
|
*
|
||||||
|
* On error, the `Promise` is rejected with an `Error` object, where `err.code`is one of the `DNS error codes`.
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
function reverse(ip: string): Promise<string[]>;
|
||||||
|
/**
|
||||||
|
* Sets the IP address and port of servers to be used when performing DNS
|
||||||
|
* resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted
|
||||||
|
* addresses. If the port is the IANA default DNS port (53) it can be omitted.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* dnsPromises.setServers([
|
||||||
|
* '4.4.4.4',
|
||||||
|
* '[2001:4860:4860::8888]',
|
||||||
|
* '4.4.4.4:1053',
|
||||||
|
* '[2001:4860:4860::8888]:1053',
|
||||||
|
* ]);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* An error will be thrown if an invalid address is provided.
|
||||||
|
*
|
||||||
|
* The `dnsPromises.setServers()` method must not be called while a DNS query is in
|
||||||
|
* progress.
|
||||||
|
*
|
||||||
|
* This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).
|
||||||
|
* That is, if attempting to resolve with the first server provided results in a`NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with
|
||||||
|
* subsequent servers provided. Fallback DNS servers will only be used if the
|
||||||
|
* earlier ones time out or result in some other error.
|
||||||
|
* @since v10.6.0
|
||||||
|
* @param servers array of `RFC 5952` formatted addresses
|
||||||
|
*/
|
||||||
|
function setServers(servers: ReadonlyArray<string>): void;
|
||||||
|
/**
|
||||||
|
* Set the default value of `verbatim` in `dns.lookup()` and `dnsPromises.lookup()`. The value could be:
|
||||||
|
*
|
||||||
|
* * `ipv4first`: sets default `verbatim` `false`.
|
||||||
|
* * `verbatim`: sets default `verbatim` `true`.
|
||||||
|
*
|
||||||
|
* The default is `ipv4first` and `dnsPromises.setDefaultResultOrder()` have
|
||||||
|
* higher priority than `--dns-result-order`. When using `worker threads`,`dnsPromises.setDefaultResultOrder()` from the main thread won't affect the
|
||||||
|
* default dns orders in workers.
|
||||||
|
* @since v16.4.0, v14.18.0
|
||||||
|
* @param order must be `'ipv4first'` or `'verbatim'`.
|
||||||
|
*/
|
||||||
|
function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void;
|
||||||
|
class Resolver {
|
||||||
|
constructor(options?: ResolverOptions);
|
||||||
|
cancel(): void;
|
||||||
|
getServers: typeof getServers;
|
||||||
|
resolve: typeof resolve;
|
||||||
|
resolve4: typeof resolve4;
|
||||||
|
resolve6: typeof resolve6;
|
||||||
|
resolveAny: typeof resolveAny;
|
||||||
|
resolveCname: typeof resolveCname;
|
||||||
|
resolveMx: typeof resolveMx;
|
||||||
|
resolveNaptr: typeof resolveNaptr;
|
||||||
|
resolveNs: typeof resolveNs;
|
||||||
|
resolvePtr: typeof resolvePtr;
|
||||||
|
resolveSoa: typeof resolveSoa;
|
||||||
|
resolveSrv: typeof resolveSrv;
|
||||||
|
resolveTxt: typeof resolveTxt;
|
||||||
|
reverse: typeof reverse;
|
||||||
|
setLocalAddress(ipv4?: string, ipv6?: string): void;
|
||||||
|
setServers: typeof setServers;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:dns/promises' {
|
||||||
|
export * from 'dns/promises';
|
||||||
|
}
|
170
node_modules/@types/node/ts4.8/domain.d.ts
generated
vendored
Normal file
170
node_modules/@types/node/ts4.8/domain.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
/**
|
||||||
|
* **This module is pending deprecation.** Once a replacement API has been
|
||||||
|
* finalized, this module will be fully deprecated. Most developers should
|
||||||
|
* **not** have cause to use this module. Users who absolutely must have
|
||||||
|
* the functionality that domains provide may rely on it for the time being
|
||||||
|
* but should expect to have to migrate to a different solution
|
||||||
|
* in the future.
|
||||||
|
*
|
||||||
|
* Domains provide a way to handle multiple different IO operations as a
|
||||||
|
* single group. If any of the event emitters or callbacks registered to a
|
||||||
|
* domain emit an `'error'` event, or throw an error, then the domain object
|
||||||
|
* will be notified, rather than losing the context of the error in the`process.on('uncaughtException')` handler, or causing the program to
|
||||||
|
* exit immediately with an error code.
|
||||||
|
* @deprecated Since v1.4.2 - Deprecated
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/domain.js)
|
||||||
|
*/
|
||||||
|
declare module 'domain' {
|
||||||
|
import EventEmitter = require('node:events');
|
||||||
|
/**
|
||||||
|
* The `Domain` class encapsulates the functionality of routing errors and
|
||||||
|
* uncaught exceptions to the active `Domain` object.
|
||||||
|
*
|
||||||
|
* To handle the errors that it catches, listen to its `'error'` event.
|
||||||
|
*/
|
||||||
|
class Domain extends EventEmitter {
|
||||||
|
/**
|
||||||
|
* An array of timers and event emitters that have been explicitly added
|
||||||
|
* to the domain.
|
||||||
|
*/
|
||||||
|
members: Array<EventEmitter | NodeJS.Timer>;
|
||||||
|
/**
|
||||||
|
* The `enter()` method is plumbing used by the `run()`, `bind()`, and`intercept()` methods to set the active domain. It sets `domain.active` and`process.domain` to the domain, and implicitly
|
||||||
|
* pushes the domain onto the domain
|
||||||
|
* stack managed by the domain module (see {@link exit} for details on the
|
||||||
|
* domain stack). The call to `enter()` delimits the beginning of a chain of
|
||||||
|
* asynchronous calls and I/O operations bound to a domain.
|
||||||
|
*
|
||||||
|
* Calling `enter()` changes only the active domain, and does not alter the domain
|
||||||
|
* itself. `enter()` and `exit()` can be called an arbitrary number of times on a
|
||||||
|
* single domain.
|
||||||
|
*/
|
||||||
|
enter(): void;
|
||||||
|
/**
|
||||||
|
* The `exit()` method exits the current domain, popping it off the domain stack.
|
||||||
|
* Any time execution is going to switch to the context of a different chain of
|
||||||
|
* asynchronous calls, it's important to ensure that the current domain is exited.
|
||||||
|
* The call to `exit()` delimits either the end of or an interruption to the chain
|
||||||
|
* of asynchronous calls and I/O operations bound to a domain.
|
||||||
|
*
|
||||||
|
* If there are multiple, nested domains bound to the current execution context,`exit()` will exit any domains nested within this domain.
|
||||||
|
*
|
||||||
|
* Calling `exit()` changes only the active domain, and does not alter the domain
|
||||||
|
* itself. `enter()` and `exit()` can be called an arbitrary number of times on a
|
||||||
|
* single domain.
|
||||||
|
*/
|
||||||
|
exit(): void;
|
||||||
|
/**
|
||||||
|
* Run the supplied function in the context of the domain, implicitly
|
||||||
|
* binding all event emitters, timers, and lowlevel requests that are
|
||||||
|
* created in that context. Optionally, arguments can be passed to
|
||||||
|
* the function.
|
||||||
|
*
|
||||||
|
* This is the most basic way to use a domain.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const domain = require('domain');
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const d = domain.create();
|
||||||
|
* d.on('error', (er) => {
|
||||||
|
* console.error('Caught error!', er);
|
||||||
|
* });
|
||||||
|
* d.run(() => {
|
||||||
|
* process.nextTick(() => {
|
||||||
|
* setTimeout(() => { // Simulating some various async stuff
|
||||||
|
* fs.open('non-existent file', 'r', (er, fd) => {
|
||||||
|
* if (er) throw er;
|
||||||
|
* // proceed...
|
||||||
|
* });
|
||||||
|
* }, 100);
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* In this example, the `d.on('error')` handler will be triggered, rather
|
||||||
|
* than crashing the program.
|
||||||
|
*/
|
||||||
|
run<T>(fn: (...args: any[]) => T, ...args: any[]): T;
|
||||||
|
/**
|
||||||
|
* Explicitly adds an emitter to the domain. If any event handlers called by
|
||||||
|
* the emitter throw an error, or if the emitter emits an `'error'` event, it
|
||||||
|
* will be routed to the domain's `'error'` event, just like with implicit
|
||||||
|
* binding.
|
||||||
|
*
|
||||||
|
* This also works with timers that are returned from `setInterval()` and `setTimeout()`. If their callback function throws, it will be caught by
|
||||||
|
* the domain `'error'` handler.
|
||||||
|
*
|
||||||
|
* If the Timer or `EventEmitter` was already bound to a domain, it is removed
|
||||||
|
* from that one, and bound to this one instead.
|
||||||
|
* @param emitter emitter or timer to be added to the domain
|
||||||
|
*/
|
||||||
|
add(emitter: EventEmitter | NodeJS.Timer): void;
|
||||||
|
/**
|
||||||
|
* The opposite of {@link add}. Removes domain handling from the
|
||||||
|
* specified emitter.
|
||||||
|
* @param emitter emitter or timer to be removed from the domain
|
||||||
|
*/
|
||||||
|
remove(emitter: EventEmitter | NodeJS.Timer): void;
|
||||||
|
/**
|
||||||
|
* The returned function will be a wrapper around the supplied callback
|
||||||
|
* function. When the returned function is called, any errors that are
|
||||||
|
* thrown will be routed to the domain's `'error'` event.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const d = domain.create();
|
||||||
|
*
|
||||||
|
* function readSomeFile(filename, cb) {
|
||||||
|
* fs.readFile(filename, 'utf8', d.bind((er, data) => {
|
||||||
|
* // If this throws, it will also be passed to the domain.
|
||||||
|
* return cb(er, data ? JSON.parse(data) : null);
|
||||||
|
* }));
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* d.on('error', (er) => {
|
||||||
|
* // An error occurred somewhere. If we throw it now, it will crash the program
|
||||||
|
* // with the normal line number and stack message.
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @param callback The callback function
|
||||||
|
* @return The bound function
|
||||||
|
*/
|
||||||
|
bind<T extends Function>(callback: T): T;
|
||||||
|
/**
|
||||||
|
* This method is almost identical to {@link bind}. However, in
|
||||||
|
* addition to catching thrown errors, it will also intercept `Error` objects sent as the first argument to the function.
|
||||||
|
*
|
||||||
|
* In this way, the common `if (err) return callback(err);` pattern can be replaced
|
||||||
|
* with a single error handler in a single place.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const d = domain.create();
|
||||||
|
*
|
||||||
|
* function readSomeFile(filename, cb) {
|
||||||
|
* fs.readFile(filename, 'utf8', d.intercept((data) => {
|
||||||
|
* // Note, the first argument is never passed to the
|
||||||
|
* // callback since it is assumed to be the 'Error' argument
|
||||||
|
* // and thus intercepted by the domain.
|
||||||
|
*
|
||||||
|
* // If this throws, it will also be passed to the domain
|
||||||
|
* // so the error-handling logic can be moved to the 'error'
|
||||||
|
* // event on the domain instead of being repeated throughout
|
||||||
|
* // the program.
|
||||||
|
* return cb(null, JSON.parse(data));
|
||||||
|
* }));
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* d.on('error', (er) => {
|
||||||
|
* // An error occurred somewhere. If we throw it now, it will crash the program
|
||||||
|
* // with the normal line number and stack message.
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @param callback The callback function
|
||||||
|
* @return The intercepted function
|
||||||
|
*/
|
||||||
|
intercept<T extends Function>(callback: T): T;
|
||||||
|
}
|
||||||
|
function create(): Domain;
|
||||||
|
}
|
||||||
|
declare module 'node:domain' {
|
||||||
|
export * from 'domain';
|
||||||
|
}
|
641
node_modules/@types/node/ts4.8/events.d.ts
generated
vendored
Normal file
641
node_modules/@types/node/ts4.8/events.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,641 @@
|
||||||
|
/**
|
||||||
|
* Much of the Node.js core API is built around an idiomatic asynchronous
|
||||||
|
* event-driven architecture in which certain kinds of objects (called "emitters")
|
||||||
|
* emit named events that cause `Function` objects ("listeners") to be called.
|
||||||
|
*
|
||||||
|
* For instance: a `net.Server` object emits an event each time a peer
|
||||||
|
* connects to it; a `fs.ReadStream` emits an event when the file is opened;
|
||||||
|
* a `stream` emits an event whenever data is available to be read.
|
||||||
|
*
|
||||||
|
* All objects that emit events are instances of the `EventEmitter` class. These
|
||||||
|
* objects expose an `eventEmitter.on()` function that allows one or more
|
||||||
|
* functions to be attached to named events emitted by the object. Typically,
|
||||||
|
* event names are camel-cased strings but any valid JavaScript property key
|
||||||
|
* can be used.
|
||||||
|
*
|
||||||
|
* When the `EventEmitter` object emits an event, all of the functions attached
|
||||||
|
* to that specific event are called _synchronously_. Any values returned by the
|
||||||
|
* called listeners are _ignored_ and discarded.
|
||||||
|
*
|
||||||
|
* The following example shows a simple `EventEmitter` instance with a single
|
||||||
|
* listener. The `eventEmitter.on()` method is used to register listeners, while
|
||||||
|
* the `eventEmitter.emit()` method is used to trigger the event.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const EventEmitter = require('events');
|
||||||
|
*
|
||||||
|
* class MyEmitter extends EventEmitter {}
|
||||||
|
*
|
||||||
|
* const myEmitter = new MyEmitter();
|
||||||
|
* myEmitter.on('event', () => {
|
||||||
|
* console.log('an event occurred!');
|
||||||
|
* });
|
||||||
|
* myEmitter.emit('event');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/events.js)
|
||||||
|
*/
|
||||||
|
declare module 'events' {
|
||||||
|
interface EventEmitterOptions {
|
||||||
|
/**
|
||||||
|
* Enables automatic capturing of promise rejection.
|
||||||
|
*/
|
||||||
|
captureRejections?: boolean | undefined;
|
||||||
|
}
|
||||||
|
interface NodeEventTarget {
|
||||||
|
once(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
}
|
||||||
|
interface DOMEventTarget {
|
||||||
|
addEventListener(
|
||||||
|
eventName: string,
|
||||||
|
listener: (...args: any[]) => void,
|
||||||
|
opts?: {
|
||||||
|
once: boolean;
|
||||||
|
}
|
||||||
|
): any;
|
||||||
|
}
|
||||||
|
interface StaticEventEmitterOptions {
|
||||||
|
signal?: AbortSignal | undefined;
|
||||||
|
}
|
||||||
|
interface EventEmitter extends NodeJS.EventEmitter {}
|
||||||
|
/**
|
||||||
|
* The `EventEmitter` class is defined and exposed by the `events` module:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const EventEmitter = require('events');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* All `EventEmitter`s emit the event `'newListener'` when new listeners are
|
||||||
|
* added and `'removeListener'` when existing listeners are removed.
|
||||||
|
*
|
||||||
|
* It supports the following option:
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
class EventEmitter {
|
||||||
|
constructor(options?: EventEmitterOptions);
|
||||||
|
/**
|
||||||
|
* Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given
|
||||||
|
* event or that is rejected if the `EventEmitter` emits `'error'` while waiting.
|
||||||
|
* The `Promise` will resolve with an array of all the arguments emitted to the
|
||||||
|
* given event.
|
||||||
|
*
|
||||||
|
* This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event
|
||||||
|
* semantics and does not listen to the `'error'` event.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { once, EventEmitter } = require('events');
|
||||||
|
*
|
||||||
|
* async function run() {
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
*
|
||||||
|
* process.nextTick(() => {
|
||||||
|
* ee.emit('myevent', 42);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* const [value] = await once(ee, 'myevent');
|
||||||
|
* console.log(value);
|
||||||
|
*
|
||||||
|
* const err = new Error('kaboom');
|
||||||
|
* process.nextTick(() => {
|
||||||
|
* ee.emit('error', err);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* try {
|
||||||
|
* await once(ee, 'myevent');
|
||||||
|
* } catch (err) {
|
||||||
|
* console.log('error happened', err);
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* run();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the
|
||||||
|
* '`error'` event itself, then it is treated as any other kind of event without
|
||||||
|
* special handling:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { EventEmitter, once } = require('events');
|
||||||
|
*
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
*
|
||||||
|
* once(ee, 'error')
|
||||||
|
* .then(([err]) => console.log('ok', err.message))
|
||||||
|
* .catch((err) => console.log('error', err.message));
|
||||||
|
*
|
||||||
|
* ee.emit('error', new Error('boom'));
|
||||||
|
*
|
||||||
|
* // Prints: ok boom
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* An `AbortSignal` can be used to cancel waiting for the event:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { EventEmitter, once } = require('events');
|
||||||
|
*
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
* const ac = new AbortController();
|
||||||
|
*
|
||||||
|
* async function foo(emitter, event, signal) {
|
||||||
|
* try {
|
||||||
|
* await once(emitter, event, { signal });
|
||||||
|
* console.log('event emitted!');
|
||||||
|
* } catch (error) {
|
||||||
|
* if (error.name === 'AbortError') {
|
||||||
|
* console.error('Waiting for the event was canceled!');
|
||||||
|
* } else {
|
||||||
|
* console.error('There was an error', error.message);
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* foo(ee, 'foo', ac.signal);
|
||||||
|
* ac.abort(); // Abort waiting for the event
|
||||||
|
* ee.emit('foo'); // Prints: Waiting for the event was canceled!
|
||||||
|
* ```
|
||||||
|
* @since v11.13.0, v10.16.0
|
||||||
|
*/
|
||||||
|
static once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>;
|
||||||
|
static once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* const { on, EventEmitter } = require('events');
|
||||||
|
*
|
||||||
|
* (async () => {
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
*
|
||||||
|
* // Emit later on
|
||||||
|
* process.nextTick(() => {
|
||||||
|
* ee.emit('foo', 'bar');
|
||||||
|
* ee.emit('foo', 42);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* for await (const event of on(ee, 'foo')) {
|
||||||
|
* // The execution of this inner block is synchronous and it
|
||||||
|
* // processes one event at a time (even with await). Do not use
|
||||||
|
* // if concurrent execution is required.
|
||||||
|
* console.log(event); // prints ['bar'] [42]
|
||||||
|
* }
|
||||||
|
* // Unreachable here
|
||||||
|
* })();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns an `AsyncIterator` that iterates `eventName` events. It will throw
|
||||||
|
* if the `EventEmitter` emits `'error'`. It removes all listeners when
|
||||||
|
* exiting the loop. The `value` returned by each iteration is an array
|
||||||
|
* composed of the emitted event arguments.
|
||||||
|
*
|
||||||
|
* An `AbortSignal` can be used to cancel waiting on events:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { on, EventEmitter } = require('events');
|
||||||
|
* const ac = new AbortController();
|
||||||
|
*
|
||||||
|
* (async () => {
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
*
|
||||||
|
* // Emit later on
|
||||||
|
* process.nextTick(() => {
|
||||||
|
* ee.emit('foo', 'bar');
|
||||||
|
* ee.emit('foo', 42);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* for await (const event of on(ee, 'foo', { signal: ac.signal })) {
|
||||||
|
* // The execution of this inner block is synchronous and it
|
||||||
|
* // processes one event at a time (even with await). Do not use
|
||||||
|
* // if concurrent execution is required.
|
||||||
|
* console.log(event); // prints ['bar'] [42]
|
||||||
|
* }
|
||||||
|
* // Unreachable here
|
||||||
|
* })();
|
||||||
|
*
|
||||||
|
* process.nextTick(() => ac.abort());
|
||||||
|
* ```
|
||||||
|
* @since v13.6.0, v12.16.0
|
||||||
|
* @param eventName The name of the event being listened for
|
||||||
|
* @return that iterates `eventName` events emitted by the `emitter`
|
||||||
|
*/
|
||||||
|
static on(emitter: NodeJS.EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>;
|
||||||
|
/**
|
||||||
|
* A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { EventEmitter, listenerCount } = require('events');
|
||||||
|
* const myEmitter = new EventEmitter();
|
||||||
|
* myEmitter.on('event', () => {});
|
||||||
|
* myEmitter.on('event', () => {});
|
||||||
|
* console.log(listenerCount(myEmitter, 'event'));
|
||||||
|
* // Prints: 2
|
||||||
|
* ```
|
||||||
|
* @since v0.9.12
|
||||||
|
* @deprecated Since v3.2.0 - Use `listenerCount` instead.
|
||||||
|
* @param emitter The emitter to query
|
||||||
|
* @param eventName The event name
|
||||||
|
*/
|
||||||
|
static listenerCount(emitter: NodeJS.EventEmitter, eventName: string | symbol): number;
|
||||||
|
/**
|
||||||
|
* Returns a copy of the array of listeners for the event named `eventName`.
|
||||||
|
*
|
||||||
|
* For `EventEmitter`s this behaves exactly the same as calling `.listeners` on
|
||||||
|
* the emitter.
|
||||||
|
*
|
||||||
|
* For `EventTarget`s this is the only way to get the event listeners for the
|
||||||
|
* event target. This is useful for debugging and diagnostic purposes.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { getEventListeners, EventEmitter } = require('events');
|
||||||
|
*
|
||||||
|
* {
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
* const listener = () => console.log('Events are fun');
|
||||||
|
* ee.on('foo', listener);
|
||||||
|
* getEventListeners(ee, 'foo'); // [listener]
|
||||||
|
* }
|
||||||
|
* {
|
||||||
|
* const et = new EventTarget();
|
||||||
|
* const listener = () => console.log('Events are fun');
|
||||||
|
* et.addEventListener('foo', listener);
|
||||||
|
* getEventListeners(et, 'foo'); // [listener]
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v15.2.0, v14.17.0
|
||||||
|
*/
|
||||||
|
static getEventListeners(emitter: DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* setMaxListeners,
|
||||||
|
* EventEmitter
|
||||||
|
* } = require('events');
|
||||||
|
*
|
||||||
|
* const target = new EventTarget();
|
||||||
|
* const emitter = new EventEmitter();
|
||||||
|
*
|
||||||
|
* setMaxListeners(5, target, emitter);
|
||||||
|
* ```
|
||||||
|
* @since v15.4.0
|
||||||
|
* @param n A non-negative number. The maximum number of listeners per `EventTarget` event.
|
||||||
|
* @param eventsTargets Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, `n` is set as the default max for all newly created {EventTarget} and {EventEmitter}
|
||||||
|
* objects.
|
||||||
|
*/
|
||||||
|
static setMaxListeners(n?: number, ...eventTargets: Array<DOMEventTarget | NodeJS.EventEmitter>): void;
|
||||||
|
/**
|
||||||
|
* This symbol shall be used to install a listener for only monitoring `'error'`
|
||||||
|
* events. Listeners installed using this symbol are called before the regular
|
||||||
|
* `'error'` listeners are called.
|
||||||
|
*
|
||||||
|
* Installing a listener using this symbol does not change the behavior once an
|
||||||
|
* `'error'` event is emitted, therefore the process will still crash if no
|
||||||
|
* regular `'error'` listener is installed.
|
||||||
|
*/
|
||||||
|
static readonly errorMonitor: unique symbol;
|
||||||
|
static readonly captureRejectionSymbol: unique symbol;
|
||||||
|
/**
|
||||||
|
* Sets or gets the default captureRejection value for all emitters.
|
||||||
|
*/
|
||||||
|
// TODO: These should be described using static getter/setter pairs:
|
||||||
|
static captureRejections: boolean;
|
||||||
|
static defaultMaxListeners: number;
|
||||||
|
}
|
||||||
|
import internal = require('node:events');
|
||||||
|
namespace EventEmitter {
|
||||||
|
// Should just be `export { EventEmitter }`, but that doesn't work in TypeScript 3.4
|
||||||
|
export { internal as EventEmitter };
|
||||||
|
export interface Abortable {
|
||||||
|
/**
|
||||||
|
* When provided the corresponding `AbortController` can be used to cancel an asynchronous action.
|
||||||
|
*/
|
||||||
|
signal?: AbortSignal | undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
global {
|
||||||
|
namespace NodeJS {
|
||||||
|
interface EventEmitter {
|
||||||
|
/**
|
||||||
|
* Alias for `emitter.on(eventName, listener)`.
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Adds the `listener` function to the end of the listeners array for the
|
||||||
|
* event named `eventName`. No checks are made to see if the `listener` has
|
||||||
|
* already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple
|
||||||
|
* times.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.on('connection', (stream) => {
|
||||||
|
* console.log('someone connected!');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
*
|
||||||
|
* By default, event listeners are invoked in the order they are added. The`emitter.prependListener()` method can be used as an alternative to add the
|
||||||
|
* event listener to the beginning of the listeners array.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myEE = new EventEmitter();
|
||||||
|
* myEE.on('foo', () => console.log('a'));
|
||||||
|
* myEE.prependListener('foo', () => console.log('b'));
|
||||||
|
* myEE.emit('foo');
|
||||||
|
* // Prints:
|
||||||
|
* // b
|
||||||
|
* // a
|
||||||
|
* ```
|
||||||
|
* @since v0.1.101
|
||||||
|
* @param eventName The name of the event.
|
||||||
|
* @param listener The callback function
|
||||||
|
*/
|
||||||
|
on(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Adds a **one-time**`listener` function for the event named `eventName`. The
|
||||||
|
* next time `eventName` is triggered, this listener is removed and then invoked.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.once('connection', (stream) => {
|
||||||
|
* console.log('Ah, we have our first user!');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
*
|
||||||
|
* By default, event listeners are invoked in the order they are added. The`emitter.prependOnceListener()` method can be used as an alternative to add the
|
||||||
|
* event listener to the beginning of the listeners array.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myEE = new EventEmitter();
|
||||||
|
* myEE.once('foo', () => console.log('a'));
|
||||||
|
* myEE.prependOnceListener('foo', () => console.log('b'));
|
||||||
|
* myEE.emit('foo');
|
||||||
|
* // Prints:
|
||||||
|
* // b
|
||||||
|
* // a
|
||||||
|
* ```
|
||||||
|
* @since v0.3.0
|
||||||
|
* @param eventName The name of the event.
|
||||||
|
* @param listener The callback function
|
||||||
|
*/
|
||||||
|
once(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Removes the specified `listener` from the listener array for the event named`eventName`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const callback = (stream) => {
|
||||||
|
* console.log('someone connected!');
|
||||||
|
* };
|
||||||
|
* server.on('connection', callback);
|
||||||
|
* // ...
|
||||||
|
* server.removeListener('connection', callback);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `removeListener()` will remove, at most, one instance of a listener from the
|
||||||
|
* listener array. If any single listener has been added multiple times to the
|
||||||
|
* listener array for the specified `eventName`, then `removeListener()` must be
|
||||||
|
* called multiple times to remove each instance.
|
||||||
|
*
|
||||||
|
* Once an event is emitted, all listeners attached to it at the
|
||||||
|
* time of emitting are called in order. This implies that any`removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution
|
||||||
|
* will not remove them from`emit()` in progress. Subsequent events behave as expected.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myEmitter = new MyEmitter();
|
||||||
|
*
|
||||||
|
* const callbackA = () => {
|
||||||
|
* console.log('A');
|
||||||
|
* myEmitter.removeListener('event', callbackB);
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* const callbackB = () => {
|
||||||
|
* console.log('B');
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* myEmitter.on('event', callbackA);
|
||||||
|
*
|
||||||
|
* myEmitter.on('event', callbackB);
|
||||||
|
*
|
||||||
|
* // callbackA removes listener callbackB but it will still be called.
|
||||||
|
* // Internal listener array at time of emit [callbackA, callbackB]
|
||||||
|
* myEmitter.emit('event');
|
||||||
|
* // Prints:
|
||||||
|
* // A
|
||||||
|
* // B
|
||||||
|
*
|
||||||
|
* // callbackB is now removed.
|
||||||
|
* // Internal listener array [callbackA]
|
||||||
|
* myEmitter.emit('event');
|
||||||
|
* // Prints:
|
||||||
|
* // A
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Because listeners are managed using an internal array, calling this will
|
||||||
|
* change the position indices of any listener registered _after_ the listener
|
||||||
|
* being removed. This will not impact the order in which listeners are called,
|
||||||
|
* but it means that any copies of the listener array as returned by
|
||||||
|
* the `emitter.listeners()` method will need to be recreated.
|
||||||
|
*
|
||||||
|
* When a single function has been added as a handler multiple times for a single
|
||||||
|
* event (as in the example below), `removeListener()` will remove the most
|
||||||
|
* recently added instance. In the example the `once('ping')`listener is removed:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const ee = new EventEmitter();
|
||||||
|
*
|
||||||
|
* function pong() {
|
||||||
|
* console.log('pong');
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* ee.on('ping', pong);
|
||||||
|
* ee.once('ping', pong);
|
||||||
|
* ee.removeListener('ping', pong);
|
||||||
|
*
|
||||||
|
* ee.emit('ping');
|
||||||
|
* ee.emit('ping');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Alias for `emitter.removeListener()`.
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
off(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Removes all listeners, or those of the specified `eventName`.
|
||||||
|
*
|
||||||
|
* It is bad practice to remove listeners added elsewhere in the code,
|
||||||
|
* particularly when the `EventEmitter` instance was created by some other
|
||||||
|
* component or module (e.g. sockets or file streams).
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
removeAllListeners(event?: string | symbol): this;
|
||||||
|
/**
|
||||||
|
* By default `EventEmitter`s will print a warning if more than `10` listeners are
|
||||||
|
* added for a particular event. This is a useful default that helps finding
|
||||||
|
* memory leaks. The `emitter.setMaxListeners()` method allows the limit to be
|
||||||
|
* modified for this specific `EventEmitter` instance. The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
* @since v0.3.5
|
||||||
|
*/
|
||||||
|
setMaxListeners(n: number): this;
|
||||||
|
/**
|
||||||
|
* Returns the current max listener value for the `EventEmitter` which is either
|
||||||
|
* set by `emitter.setMaxListeners(n)` or defaults to {@link defaultMaxListeners}.
|
||||||
|
* @since v1.0.0
|
||||||
|
*/
|
||||||
|
getMaxListeners(): number;
|
||||||
|
/**
|
||||||
|
* Returns a copy of the array of listeners for the event named `eventName`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.on('connection', (stream) => {
|
||||||
|
* console.log('someone connected!');
|
||||||
|
* });
|
||||||
|
* console.log(util.inspect(server.listeners('connection')));
|
||||||
|
* // Prints: [ [Function] ]
|
||||||
|
* ```
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
listeners(eventName: string | symbol): Function[];
|
||||||
|
/**
|
||||||
|
* Returns a copy of the array of listeners for the event named `eventName`,
|
||||||
|
* including any wrappers (such as those created by `.once()`).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const emitter = new EventEmitter();
|
||||||
|
* emitter.once('log', () => console.log('log once'));
|
||||||
|
*
|
||||||
|
* // Returns a new Array with a function `onceWrapper` which has a property
|
||||||
|
* // `listener` which contains the original listener bound above
|
||||||
|
* const listeners = emitter.rawListeners('log');
|
||||||
|
* const logFnWrapper = listeners[0];
|
||||||
|
*
|
||||||
|
* // Logs "log once" to the console and does not unbind the `once` event
|
||||||
|
* logFnWrapper.listener();
|
||||||
|
*
|
||||||
|
* // Logs "log once" to the console and removes the listener
|
||||||
|
* logFnWrapper();
|
||||||
|
*
|
||||||
|
* emitter.on('log', () => console.log('log persistently'));
|
||||||
|
* // Will return a new Array with a single function bound by `.on()` above
|
||||||
|
* const newListeners = emitter.rawListeners('log');
|
||||||
|
*
|
||||||
|
* // Logs "log persistently" twice
|
||||||
|
* newListeners[0]();
|
||||||
|
* emitter.emit('log');
|
||||||
|
* ```
|
||||||
|
* @since v9.4.0
|
||||||
|
*/
|
||||||
|
rawListeners(eventName: string | symbol): Function[];
|
||||||
|
/**
|
||||||
|
* Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments
|
||||||
|
* to each.
|
||||||
|
*
|
||||||
|
* Returns `true` if the event had listeners, `false` otherwise.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const EventEmitter = require('events');
|
||||||
|
* const myEmitter = new EventEmitter();
|
||||||
|
*
|
||||||
|
* // First listener
|
||||||
|
* myEmitter.on('event', function firstListener() {
|
||||||
|
* console.log('Helloooo! first listener');
|
||||||
|
* });
|
||||||
|
* // Second listener
|
||||||
|
* myEmitter.on('event', function secondListener(arg1, arg2) {
|
||||||
|
* console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
|
||||||
|
* });
|
||||||
|
* // Third listener
|
||||||
|
* myEmitter.on('event', function thirdListener(...args) {
|
||||||
|
* const parameters = args.join(', ');
|
||||||
|
* console.log(`event with parameters ${parameters} in third listener`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* console.log(myEmitter.listeners('event'));
|
||||||
|
*
|
||||||
|
* myEmitter.emit('event', 1, 2, 3, 4, 5);
|
||||||
|
*
|
||||||
|
* // Prints:
|
||||||
|
* // [
|
||||||
|
* // [Function: firstListener],
|
||||||
|
* // [Function: secondListener],
|
||||||
|
* // [Function: thirdListener]
|
||||||
|
* // ]
|
||||||
|
* // Helloooo! first listener
|
||||||
|
* // event with parameters 1, 2 in second listener
|
||||||
|
* // event with parameters 1, 2, 3, 4, 5 in third listener
|
||||||
|
* ```
|
||||||
|
* @since v0.1.26
|
||||||
|
*/
|
||||||
|
emit(eventName: string | symbol, ...args: any[]): boolean;
|
||||||
|
/**
|
||||||
|
* Returns the number of listeners listening to the event named `eventName`.
|
||||||
|
* @since v3.2.0
|
||||||
|
* @param eventName The name of the event being listened for
|
||||||
|
*/
|
||||||
|
listenerCount(eventName: string | symbol): number;
|
||||||
|
/**
|
||||||
|
* Adds the `listener` function to the _beginning_ of the listeners array for the
|
||||||
|
* event named `eventName`. No checks are made to see if the `listener` has
|
||||||
|
* already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple
|
||||||
|
* times.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.prependListener('connection', (stream) => {
|
||||||
|
* console.log('someone connected!');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
* @since v6.0.0
|
||||||
|
* @param eventName The name of the event.
|
||||||
|
* @param listener The callback function
|
||||||
|
*/
|
||||||
|
prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this
|
||||||
|
* listener is removed, and then invoked.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.prependOnceListener('connection', (stream) => {
|
||||||
|
* console.log('Ah, we have our first user!');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
||||||
|
* @since v6.0.0
|
||||||
|
* @param eventName The name of the event.
|
||||||
|
* @param listener The callback function
|
||||||
|
*/
|
||||||
|
prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
/**
|
||||||
|
* Returns an array listing the events for which the emitter has registered
|
||||||
|
* listeners. The values in the array are strings or `Symbol`s.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const EventEmitter = require('events');
|
||||||
|
* const myEE = new EventEmitter();
|
||||||
|
* myEE.on('foo', () => {});
|
||||||
|
* myEE.on('bar', () => {});
|
||||||
|
*
|
||||||
|
* const sym = Symbol('symbol');
|
||||||
|
* myEE.on(sym, () => {});
|
||||||
|
*
|
||||||
|
* console.log(myEE.eventNames());
|
||||||
|
* // Prints: [ 'foo', 'bar', Symbol(symbol) ]
|
||||||
|
* ```
|
||||||
|
* @since v6.0.0
|
||||||
|
*/
|
||||||
|
eventNames(): Array<string | symbol>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export = EventEmitter;
|
||||||
|
}
|
||||||
|
declare module 'node:events' {
|
||||||
|
import events = require('events');
|
||||||
|
export = events;
|
||||||
|
}
|
3872
node_modules/@types/node/ts4.8/fs.d.ts
generated
vendored
Normal file
3872
node_modules/@types/node/ts4.8/fs.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1120
node_modules/@types/node/ts4.8/fs/promises.d.ts
generated
vendored
Normal file
1120
node_modules/@types/node/ts4.8/fs/promises.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
294
node_modules/@types/node/ts4.8/globals.d.ts
generated
vendored
Normal file
294
node_modules/@types/node/ts4.8/globals.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,294 @@
|
||||||
|
// Declare "static" methods in Error
|
||||||
|
interface ErrorConstructor {
|
||||||
|
/** Create .stack property on a target object */
|
||||||
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional override for formatting stack traces
|
||||||
|
*
|
||||||
|
* @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces
|
||||||
|
*/
|
||||||
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
||||||
|
|
||||||
|
stackTraceLimit: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*-----------------------------------------------*
|
||||||
|
* *
|
||||||
|
* GLOBAL *
|
||||||
|
* *
|
||||||
|
------------------------------------------------*/
|
||||||
|
|
||||||
|
// For backwards compability
|
||||||
|
interface NodeRequire extends NodeJS.Require { }
|
||||||
|
interface RequireResolve extends NodeJS.RequireResolve { }
|
||||||
|
interface NodeModule extends NodeJS.Module { }
|
||||||
|
|
||||||
|
declare var process: NodeJS.Process;
|
||||||
|
declare var console: Console;
|
||||||
|
|
||||||
|
declare var __filename: string;
|
||||||
|
declare var __dirname: string;
|
||||||
|
|
||||||
|
declare var require: NodeRequire;
|
||||||
|
declare var module: NodeModule;
|
||||||
|
|
||||||
|
// Same as module.exports
|
||||||
|
declare var exports: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Only available if `--expose-gc` is passed to the process.
|
||||||
|
*/
|
||||||
|
declare var gc: undefined | (() => void);
|
||||||
|
|
||||||
|
//#region borrowed
|
||||||
|
// from https://github.com/microsoft/TypeScript/blob/38da7c600c83e7b31193a62495239a0fe478cb67/lib/lib.webworker.d.ts#L633 until moved to separate lib
|
||||||
|
/** A controller object that allows you to abort one or more DOM requests as and when desired. */
|
||||||
|
interface AbortController {
|
||||||
|
/**
|
||||||
|
* Returns the AbortSignal object associated with this object.
|
||||||
|
*/
|
||||||
|
|
||||||
|
readonly signal: AbortSignal;
|
||||||
|
/**
|
||||||
|
* Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted.
|
||||||
|
*/
|
||||||
|
abort(): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. */
|
||||||
|
interface AbortSignal {
|
||||||
|
/**
|
||||||
|
* Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.
|
||||||
|
*/
|
||||||
|
readonly aborted: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare var AbortController: {
|
||||||
|
prototype: AbortController;
|
||||||
|
new(): AbortController;
|
||||||
|
};
|
||||||
|
|
||||||
|
declare var AbortSignal: {
|
||||||
|
prototype: AbortSignal;
|
||||||
|
new(): AbortSignal;
|
||||||
|
// TODO: Add abort() static
|
||||||
|
};
|
||||||
|
//#endregion borrowed
|
||||||
|
|
||||||
|
//#region ArrayLike.at()
|
||||||
|
interface RelativeIndexable<T> {
|
||||||
|
/**
|
||||||
|
* Takes an integer value and returns the item at that index,
|
||||||
|
* allowing for positive and negative integers.
|
||||||
|
* Negative integers count back from the last item in the array.
|
||||||
|
*/
|
||||||
|
at(index: number): T | undefined;
|
||||||
|
}
|
||||||
|
interface String extends RelativeIndexable<string> {}
|
||||||
|
interface Array<T> extends RelativeIndexable<T> {}
|
||||||
|
interface Int8Array extends RelativeIndexable<number> {}
|
||||||
|
interface Uint8Array extends RelativeIndexable<number> {}
|
||||||
|
interface Uint8ClampedArray extends RelativeIndexable<number> {}
|
||||||
|
interface Int16Array extends RelativeIndexable<number> {}
|
||||||
|
interface Uint16Array extends RelativeIndexable<number> {}
|
||||||
|
interface Int32Array extends RelativeIndexable<number> {}
|
||||||
|
interface Uint32Array extends RelativeIndexable<number> {}
|
||||||
|
interface Float32Array extends RelativeIndexable<number> {}
|
||||||
|
interface Float64Array extends RelativeIndexable<number> {}
|
||||||
|
interface BigInt64Array extends RelativeIndexable<bigint> {}
|
||||||
|
interface BigUint64Array extends RelativeIndexable<bigint> {}
|
||||||
|
//#endregion ArrayLike.at() end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since v17.0.0
|
||||||
|
*
|
||||||
|
* Creates a deep clone of an object.
|
||||||
|
*/
|
||||||
|
declare function structuredClone<T>(
|
||||||
|
value: T,
|
||||||
|
transfer?: { transfer: ReadonlyArray<import('worker_threads').TransferListItem> },
|
||||||
|
): T;
|
||||||
|
|
||||||
|
/*----------------------------------------------*
|
||||||
|
* *
|
||||||
|
* GLOBAL INTERFACES *
|
||||||
|
* *
|
||||||
|
*-----------------------------------------------*/
|
||||||
|
declare namespace NodeJS {
|
||||||
|
interface CallSite {
|
||||||
|
/**
|
||||||
|
* Value of "this"
|
||||||
|
*/
|
||||||
|
getThis(): unknown;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type of "this" as a string.
|
||||||
|
* This is the name of the function stored in the constructor field of
|
||||||
|
* "this", if available. Otherwise the object's [[Class]] internal
|
||||||
|
* property.
|
||||||
|
*/
|
||||||
|
getTypeName(): string | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current function
|
||||||
|
*/
|
||||||
|
getFunction(): Function | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the current function, typically its name property.
|
||||||
|
* If a name property is not available an attempt will be made to try
|
||||||
|
* to infer a name from the function's context.
|
||||||
|
*/
|
||||||
|
getFunctionName(): string | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the property [of "this" or one of its prototypes] that holds
|
||||||
|
* the current function
|
||||||
|
*/
|
||||||
|
getMethodName(): string | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the script [if this function was defined in a script]
|
||||||
|
*/
|
||||||
|
getFileName(): string | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current line number [if this function was defined in a script]
|
||||||
|
*/
|
||||||
|
getLineNumber(): number | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current column number [if this function was defined in a script]
|
||||||
|
*/
|
||||||
|
getColumnNumber(): number | null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A call site object representing the location where eval was called
|
||||||
|
* [if this function was created using a call to eval]
|
||||||
|
*/
|
||||||
|
getEvalOrigin(): string | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this a toplevel invocation, that is, is "this" the global object?
|
||||||
|
*/
|
||||||
|
isToplevel(): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does this call take place in code defined by a call to eval?
|
||||||
|
*/
|
||||||
|
isEval(): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this call in native V8 code?
|
||||||
|
*/
|
||||||
|
isNative(): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this a constructor call?
|
||||||
|
*/
|
||||||
|
isConstructor(): boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ErrnoException extends Error {
|
||||||
|
errno?: number | undefined;
|
||||||
|
code?: string | undefined;
|
||||||
|
path?: string | undefined;
|
||||||
|
syscall?: string | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ReadableStream extends EventEmitter {
|
||||||
|
readable: boolean;
|
||||||
|
read(size?: number): string | Buffer;
|
||||||
|
setEncoding(encoding: BufferEncoding): this;
|
||||||
|
pause(): this;
|
||||||
|
resume(): this;
|
||||||
|
isPaused(): boolean;
|
||||||
|
pipe<T extends WritableStream>(destination: T, options?: { end?: boolean | undefined; }): T;
|
||||||
|
unpipe(destination?: WritableStream): this;
|
||||||
|
unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void;
|
||||||
|
wrap(oldStream: ReadableStream): this;
|
||||||
|
[Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface WritableStream extends EventEmitter {
|
||||||
|
writable: boolean;
|
||||||
|
write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;
|
||||||
|
write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;
|
||||||
|
end(cb?: () => void): this;
|
||||||
|
end(data: string | Uint8Array, cb?: () => void): this;
|
||||||
|
end(str: string, encoding?: BufferEncoding, cb?: () => void): this;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ReadWriteStream extends ReadableStream, WritableStream { }
|
||||||
|
|
||||||
|
interface RefCounted {
|
||||||
|
ref(): this;
|
||||||
|
unref(): this;
|
||||||
|
}
|
||||||
|
|
||||||
|
type TypedArray =
|
||||||
|
| Uint8Array
|
||||||
|
| Uint8ClampedArray
|
||||||
|
| Uint16Array
|
||||||
|
| Uint32Array
|
||||||
|
| Int8Array
|
||||||
|
| Int16Array
|
||||||
|
| Int32Array
|
||||||
|
| BigUint64Array
|
||||||
|
| BigInt64Array
|
||||||
|
| Float32Array
|
||||||
|
| Float64Array;
|
||||||
|
type ArrayBufferView = TypedArray | DataView;
|
||||||
|
|
||||||
|
interface Require {
|
||||||
|
(id: string): any;
|
||||||
|
resolve: RequireResolve;
|
||||||
|
cache: Dict<NodeModule>;
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
extensions: RequireExtensions;
|
||||||
|
main: Module | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface RequireResolve {
|
||||||
|
(id: string, options?: { paths?: string[] | undefined; }): string;
|
||||||
|
paths(request: string): string[] | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface RequireExtensions extends Dict<(m: Module, filename: string) => any> {
|
||||||
|
'.js': (m: Module, filename: string) => any;
|
||||||
|
'.json': (m: Module, filename: string) => any;
|
||||||
|
'.node': (m: Module, filename: string) => any;
|
||||||
|
}
|
||||||
|
interface Module {
|
||||||
|
/**
|
||||||
|
* `true` if the module is running during the Node.js preload
|
||||||
|
*/
|
||||||
|
isPreloading: boolean;
|
||||||
|
exports: any;
|
||||||
|
require: Require;
|
||||||
|
id: string;
|
||||||
|
filename: string;
|
||||||
|
loaded: boolean;
|
||||||
|
/** @deprecated since v14.6.0 Please use `require.main` and `module.children` instead. */
|
||||||
|
parent: Module | null | undefined;
|
||||||
|
children: Module[];
|
||||||
|
/**
|
||||||
|
* @since v11.14.0
|
||||||
|
*
|
||||||
|
* The directory name of the module. This is usually the same as the path.dirname() of the module.id.
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
paths: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Dict<T> {
|
||||||
|
[key: string]: T | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ReadOnlyDict<T> {
|
||||||
|
readonly [key: string]: T | undefined;
|
||||||
|
}
|
||||||
|
}
|
1
node_modules/@types/node/ts4.8/globals.global.d.ts
generated
vendored
Normal file
1
node_modules/@types/node/ts4.8/globals.global.d.ts
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
declare var global: typeof globalThis;
|
1553
node_modules/@types/node/ts4.8/http.d.ts
generated
vendored
Normal file
1553
node_modules/@types/node/ts4.8/http.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
2106
node_modules/@types/node/ts4.8/http2.d.ts
generated
vendored
Normal file
2106
node_modules/@types/node/ts4.8/http2.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
541
node_modules/@types/node/ts4.8/https.d.ts
generated
vendored
Normal file
541
node_modules/@types/node/ts4.8/https.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,541 @@
|
||||||
|
/**
|
||||||
|
* HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a
|
||||||
|
* separate module.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/https.js)
|
||||||
|
*/
|
||||||
|
declare module 'https' {
|
||||||
|
import { Duplex } from 'node:stream';
|
||||||
|
import * as tls from 'node:tls';
|
||||||
|
import * as http from 'node:http';
|
||||||
|
import { URL } from 'node:url';
|
||||||
|
type ServerOptions<
|
||||||
|
Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
|
||||||
|
Response extends typeof http.ServerResponse = typeof http.ServerResponse,
|
||||||
|
> = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions<Request, Response>;
|
||||||
|
type RequestOptions = http.RequestOptions &
|
||||||
|
tls.SecureContextOptions & {
|
||||||
|
rejectUnauthorized?: boolean | undefined; // Defaults to true
|
||||||
|
servername?: string | undefined; // SNI TLS Extension
|
||||||
|
};
|
||||||
|
interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {
|
||||||
|
rejectUnauthorized?: boolean | undefined;
|
||||||
|
maxCachedSessions?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* An `Agent` object for HTTPS similar to `http.Agent`. See {@link request} for more information.
|
||||||
|
* @since v0.4.5
|
||||||
|
*/
|
||||||
|
class Agent extends http.Agent {
|
||||||
|
constructor(options?: AgentOptions);
|
||||||
|
options: AgentOptions;
|
||||||
|
}
|
||||||
|
interface Server<
|
||||||
|
Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
|
||||||
|
Response extends typeof http.ServerResponse = typeof http.ServerResponse,
|
||||||
|
> extends http.Server<Request, Response> {}
|
||||||
|
/**
|
||||||
|
* See `http.Server` for more information.
|
||||||
|
* @since v0.3.4
|
||||||
|
*/
|
||||||
|
class Server<
|
||||||
|
Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
|
||||||
|
Response extends typeof http.ServerResponse = typeof http.ServerResponse,
|
||||||
|
> extends tls.Server {
|
||||||
|
constructor(requestListener?: http.RequestListener<Request, Response>);
|
||||||
|
constructor(
|
||||||
|
options: ServerOptions<Request, Response>,
|
||||||
|
requestListener?: http.RequestListener<Request, Response>,
|
||||||
|
);
|
||||||
|
/**
|
||||||
|
* Closes all connections connected to this server.
|
||||||
|
* @since v18.2.0
|
||||||
|
*/
|
||||||
|
closeAllConnections(): void;
|
||||||
|
/**
|
||||||
|
* Closes all connections connected to this server which are not sending a request or waiting for a response.
|
||||||
|
* @since v18.2.0
|
||||||
|
*/
|
||||||
|
closeIdleConnections(): void;
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
addListener(
|
||||||
|
event: 'newSession',
|
||||||
|
listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
addListener(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
listener: (
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
) => void,
|
||||||
|
): this;
|
||||||
|
addListener(
|
||||||
|
event: 'resumeSession',
|
||||||
|
listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
addListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
addListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'connection', listener: (socket: Duplex) => void): this;
|
||||||
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
addListener(event: 'listening', listener: () => void): this;
|
||||||
|
addListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
addListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
addListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
|
||||||
|
addListener(
|
||||||
|
event: 'connect',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
addListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
addListener(
|
||||||
|
event: 'upgrade',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
emit(event: string, ...args: any[]): boolean;
|
||||||
|
emit(event: 'keylog', line: Buffer, tlsSocket: tls.TLSSocket): boolean;
|
||||||
|
emit(
|
||||||
|
event: 'newSession',
|
||||||
|
sessionId: Buffer,
|
||||||
|
sessionData: Buffer,
|
||||||
|
callback: (err: Error, resp: Buffer) => void,
|
||||||
|
): boolean;
|
||||||
|
emit(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
): boolean;
|
||||||
|
emit(event: 'resumeSession', sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;
|
||||||
|
emit(event: 'secureConnection', tlsSocket: tls.TLSSocket): boolean;
|
||||||
|
emit(event: 'tlsClientError', err: Error, tlsSocket: tls.TLSSocket): boolean;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'connection', socket: Duplex): boolean;
|
||||||
|
emit(event: 'error', err: Error): boolean;
|
||||||
|
emit(event: 'listening'): boolean;
|
||||||
|
emit(
|
||||||
|
event: 'checkContinue',
|
||||||
|
req: InstanceType<Request>,
|
||||||
|
res: InstanceType<Response> & { req: InstanceType<Request> },
|
||||||
|
): boolean;
|
||||||
|
emit(
|
||||||
|
event: 'checkExpectation',
|
||||||
|
req: InstanceType<Request>,
|
||||||
|
res: InstanceType<Response> & { req: InstanceType<Request> },
|
||||||
|
): boolean;
|
||||||
|
emit(event: 'clientError', err: Error, socket: Duplex): boolean;
|
||||||
|
emit(event: 'connect', req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;
|
||||||
|
emit(
|
||||||
|
event: 'request',
|
||||||
|
req: InstanceType<Request>,
|
||||||
|
res: InstanceType<Response> & { req: InstanceType<Request> },
|
||||||
|
): boolean;
|
||||||
|
emit(event: 'upgrade', req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
on(
|
||||||
|
event: 'newSession',
|
||||||
|
listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
on(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
listener: (
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
) => void,
|
||||||
|
): this;
|
||||||
|
on(
|
||||||
|
event: 'resumeSession',
|
||||||
|
listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
on(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
on(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'connection', listener: (socket: Duplex) => void): this;
|
||||||
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
on(event: 'listening', listener: () => void): this;
|
||||||
|
on(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
on(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
on(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
|
||||||
|
on(event: 'connect', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
|
||||||
|
on(event: 'request', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
on(event: 'upgrade', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
once(
|
||||||
|
event: 'newSession',
|
||||||
|
listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
once(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
listener: (
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
) => void,
|
||||||
|
): this;
|
||||||
|
once(
|
||||||
|
event: 'resumeSession',
|
||||||
|
listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
once(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
once(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'connection', listener: (socket: Duplex) => void): this;
|
||||||
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
once(event: 'listening', listener: () => void): this;
|
||||||
|
once(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
once(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
once(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
|
||||||
|
once(event: 'connect', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
|
||||||
|
once(event: 'request', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
once(event: 'upgrade', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependListener(
|
||||||
|
event: 'newSession',
|
||||||
|
listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
prependListener(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
listener: (
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
) => void,
|
||||||
|
): this;
|
||||||
|
prependListener(
|
||||||
|
event: 'resumeSession',
|
||||||
|
listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
prependListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'connection', listener: (socket: Duplex) => void): this;
|
||||||
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependListener(event: 'listening', listener: () => void): this;
|
||||||
|
prependListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
|
||||||
|
prependListener(
|
||||||
|
event: 'connect',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
prependListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependListener(
|
||||||
|
event: 'upgrade',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependOnceListener(
|
||||||
|
event: 'newSession',
|
||||||
|
listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
prependOnceListener(
|
||||||
|
event: 'OCSPRequest',
|
||||||
|
listener: (
|
||||||
|
certificate: Buffer,
|
||||||
|
issuer: Buffer,
|
||||||
|
callback: (err: Error | null, resp: Buffer) => void,
|
||||||
|
) => void,
|
||||||
|
): this;
|
||||||
|
prependOnceListener(
|
||||||
|
event: 'resumeSession',
|
||||||
|
listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
|
||||||
|
): this;
|
||||||
|
prependOnceListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependOnceListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'connection', listener: (socket: Duplex) => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'listening', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependOnceListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependOnceListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
|
||||||
|
prependOnceListener(
|
||||||
|
event: 'connect',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
prependOnceListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
|
||||||
|
prependOnceListener(
|
||||||
|
event: 'upgrade',
|
||||||
|
listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
|
||||||
|
): this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* // curl -k https://localhost:8000/
|
||||||
|
* const https = require('https');
|
||||||
|
* const fs = require('fs');
|
||||||
|
*
|
||||||
|
* const options = {
|
||||||
|
* key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
|
||||||
|
* cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* https.createServer(options, (req, res) => {
|
||||||
|
* res.writeHead(200);
|
||||||
|
* res.end('hello world\n');
|
||||||
|
* }).listen(8000);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Or
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const https = require('https');
|
||||||
|
* const fs = require('fs');
|
||||||
|
*
|
||||||
|
* const options = {
|
||||||
|
* pfx: fs.readFileSync('test/fixtures/test_cert.pfx'),
|
||||||
|
* passphrase: 'sample'
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* https.createServer(options, (req, res) => {
|
||||||
|
* res.writeHead(200);
|
||||||
|
* res.end('hello world\n');
|
||||||
|
* }).listen(8000);
|
||||||
|
* ```
|
||||||
|
* @since v0.3.4
|
||||||
|
* @param options Accepts `options` from `createServer`, `createSecureContext` and `createServer`.
|
||||||
|
* @param requestListener A listener to be added to the `'request'` event.
|
||||||
|
*/
|
||||||
|
function createServer<
|
||||||
|
Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
|
||||||
|
Response extends typeof http.ServerResponse = typeof http.ServerResponse,
|
||||||
|
>(requestListener?: http.RequestListener<Request, Response>): Server<Request, Response>;
|
||||||
|
function createServer<
|
||||||
|
Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
|
||||||
|
Response extends typeof http.ServerResponse = typeof http.ServerResponse,
|
||||||
|
>(
|
||||||
|
options: ServerOptions<Request, Response>,
|
||||||
|
requestListener?: http.RequestListener<Request, Response>,
|
||||||
|
): Server<Request, Response>;
|
||||||
|
/**
|
||||||
|
* Makes a request to a secure web server.
|
||||||
|
*
|
||||||
|
* The following additional `options` from `tls.connect()` are also accepted:`ca`, `cert`, `ciphers`, `clientCertEngine`, `crl`, `dhparam`, `ecdhCurve`,`honorCipherOrder`, `key`, `passphrase`,
|
||||||
|
* `pfx`, `rejectUnauthorized`,`secureOptions`, `secureProtocol`, `servername`, `sessionIdContext`,`highWaterMark`.
|
||||||
|
*
|
||||||
|
* `options` can be an object, a string, or a `URL` object. If `options` is a
|
||||||
|
* string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object.
|
||||||
|
*
|
||||||
|
* `https.request()` returns an instance of the `http.ClientRequest` class. The `ClientRequest` instance is a writable stream. If one needs to
|
||||||
|
* upload a file with a POST request, then write to the `ClientRequest` object.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const https = require('https');
|
||||||
|
*
|
||||||
|
* const options = {
|
||||||
|
* hostname: 'encrypted.google.com',
|
||||||
|
* port: 443,
|
||||||
|
* path: '/',
|
||||||
|
* method: 'GET'
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* const req = https.request(options, (res) => {
|
||||||
|
* console.log('statusCode:', res.statusCode);
|
||||||
|
* console.log('headers:', res.headers);
|
||||||
|
*
|
||||||
|
* res.on('data', (d) => {
|
||||||
|
* process.stdout.write(d);
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* req.on('error', (e) => {
|
||||||
|
* console.error(e);
|
||||||
|
* });
|
||||||
|
* req.end();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example using options from `tls.connect()`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const options = {
|
||||||
|
* hostname: 'encrypted.google.com',
|
||||||
|
* port: 443,
|
||||||
|
* path: '/',
|
||||||
|
* method: 'GET',
|
||||||
|
* key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
|
||||||
|
* cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
|
||||||
|
* };
|
||||||
|
* options.agent = new https.Agent(options);
|
||||||
|
*
|
||||||
|
* const req = https.request(options, (res) => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Alternatively, opt out of connection pooling by not using an `Agent`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const options = {
|
||||||
|
* hostname: 'encrypted.google.com',
|
||||||
|
* port: 443,
|
||||||
|
* path: '/',
|
||||||
|
* method: 'GET',
|
||||||
|
* key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
|
||||||
|
* cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'),
|
||||||
|
* agent: false
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* const req = https.request(options, (res) => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example using a `URL` as `options`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const options = new URL('https://abc:xyz@example.com');
|
||||||
|
*
|
||||||
|
* const req = https.request(options, (res) => {
|
||||||
|
* // ...
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Example pinning on certificate fingerprint, or the public key (similar to`pin-sha256`):
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const tls = require('tls');
|
||||||
|
* const https = require('https');
|
||||||
|
* const crypto = require('crypto');
|
||||||
|
*
|
||||||
|
* function sha256(s) {
|
||||||
|
* return crypto.createHash('sha256').update(s).digest('base64');
|
||||||
|
* }
|
||||||
|
* const options = {
|
||||||
|
* hostname: 'github.com',
|
||||||
|
* port: 443,
|
||||||
|
* path: '/',
|
||||||
|
* method: 'GET',
|
||||||
|
* checkServerIdentity: function(host, cert) {
|
||||||
|
* // Make sure the certificate is issued to the host we are connected to
|
||||||
|
* const err = tls.checkServerIdentity(host, cert);
|
||||||
|
* if (err) {
|
||||||
|
* return err;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* // Pin the public key, similar to HPKP pin-sha25 pinning
|
||||||
|
* const pubkey256 = 'pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU=';
|
||||||
|
* if (sha256(cert.pubkey) !== pubkey256) {
|
||||||
|
* const msg = 'Certificate verification error: ' +
|
||||||
|
* `The public key of '${cert.subject.CN}' ` +
|
||||||
|
* 'does not match our pinned fingerprint';
|
||||||
|
* return new Error(msg);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* // Pin the exact certificate, rather than the pub key
|
||||||
|
* const cert256 = '25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:' +
|
||||||
|
* 'D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16';
|
||||||
|
* if (cert.fingerprint256 !== cert256) {
|
||||||
|
* const msg = 'Certificate verification error: ' +
|
||||||
|
* `The certificate of '${cert.subject.CN}' ` +
|
||||||
|
* 'does not match our pinned fingerprint';
|
||||||
|
* return new Error(msg);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* // This loop is informational only.
|
||||||
|
* // Print the certificate and public key fingerprints of all certs in the
|
||||||
|
* // chain. Its common to pin the public key of the issuer on the public
|
||||||
|
* // internet, while pinning the public key of the service in sensitive
|
||||||
|
* // environments.
|
||||||
|
* do {
|
||||||
|
* console.log('Subject Common Name:', cert.subject.CN);
|
||||||
|
* console.log(' Certificate SHA256 fingerprint:', cert.fingerprint256);
|
||||||
|
*
|
||||||
|
* hash = crypto.createHash('sha256');
|
||||||
|
* console.log(' Public key ping-sha256:', sha256(cert.pubkey));
|
||||||
|
*
|
||||||
|
* lastprint256 = cert.fingerprint256;
|
||||||
|
* cert = cert.issuerCertificate;
|
||||||
|
* } while (cert.fingerprint256 !== lastprint256);
|
||||||
|
*
|
||||||
|
* },
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* options.agent = new https.Agent(options);
|
||||||
|
* const req = https.request(options, (res) => {
|
||||||
|
* console.log('All OK. Server matched our pinned cert or public key');
|
||||||
|
* console.log('statusCode:', res.statusCode);
|
||||||
|
* // Print the HPKP values
|
||||||
|
* console.log('headers:', res.headers['public-key-pins']);
|
||||||
|
*
|
||||||
|
* res.on('data', (d) => {});
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* req.on('error', (e) => {
|
||||||
|
* console.error(e.message);
|
||||||
|
* });
|
||||||
|
* req.end();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Outputs for example:
|
||||||
|
*
|
||||||
|
* ```text
|
||||||
|
* Subject Common Name: github.com
|
||||||
|
* Certificate SHA256 fingerprint: 25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16
|
||||||
|
* Public key ping-sha256: pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU=
|
||||||
|
* Subject Common Name: DigiCert SHA2 Extended Validation Server CA
|
||||||
|
* Certificate SHA256 fingerprint: 40:3E:06:2A:26:53:05:91:13:28:5B:AF:80:A0:D4:AE:42:2C:84:8C:9F:78:FA:D0:1F:C9:4B:C5:B8:7F:EF:1A
|
||||||
|
* Public key ping-sha256: RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=
|
||||||
|
* Subject Common Name: DigiCert High Assurance EV Root CA
|
||||||
|
* Certificate SHA256 fingerprint: 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF
|
||||||
|
* Public key ping-sha256: WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=
|
||||||
|
* All OK. Server matched our pinned cert or public key
|
||||||
|
* statusCode: 200
|
||||||
|
* headers: max-age=0; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=";
|
||||||
|
* pin-sha256="k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws="; pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q="; pin-sha256="IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=";
|
||||||
|
* pin-sha256="iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0="; pin-sha256="LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A="; includeSubDomains
|
||||||
|
* ```
|
||||||
|
* @since v0.3.6
|
||||||
|
* @param options Accepts all `options` from `request`, with some differences in default values:
|
||||||
|
*/
|
||||||
|
function request(
|
||||||
|
options: RequestOptions | string | URL,
|
||||||
|
callback?: (res: http.IncomingMessage) => void,
|
||||||
|
): http.ClientRequest;
|
||||||
|
function request(
|
||||||
|
url: string | URL,
|
||||||
|
options: RequestOptions,
|
||||||
|
callback?: (res: http.IncomingMessage) => void,
|
||||||
|
): http.ClientRequest;
|
||||||
|
/**
|
||||||
|
* Like `http.get()` but for HTTPS.
|
||||||
|
*
|
||||||
|
* `options` can be an object, a string, or a `URL` object. If `options` is a
|
||||||
|
* string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const https = require('https');
|
||||||
|
*
|
||||||
|
* https.get('https://encrypted.google.com/', (res) => {
|
||||||
|
* console.log('statusCode:', res.statusCode);
|
||||||
|
* console.log('headers:', res.headers);
|
||||||
|
*
|
||||||
|
* res.on('data', (d) => {
|
||||||
|
* process.stdout.write(d);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* }).on('error', (e) => {
|
||||||
|
* console.error(e);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v0.3.6
|
||||||
|
* @param options Accepts the same `options` as {@link request}, with the `method` always set to `GET`.
|
||||||
|
*/
|
||||||
|
function get(
|
||||||
|
options: RequestOptions | string | URL,
|
||||||
|
callback?: (res: http.IncomingMessage) => void,
|
||||||
|
): http.ClientRequest;
|
||||||
|
function get(
|
||||||
|
url: string | URL,
|
||||||
|
options: RequestOptions,
|
||||||
|
callback?: (res: http.IncomingMessage) => void,
|
||||||
|
): http.ClientRequest;
|
||||||
|
let globalAgent: Agent;
|
||||||
|
}
|
||||||
|
declare module 'node:https' {
|
||||||
|
export * from 'https';
|
||||||
|
}
|
87
node_modules/@types/node/ts4.8/index.d.ts
generated
vendored
Normal file
87
node_modules/@types/node/ts4.8/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
/**
|
||||||
|
* License for programmatically and manually incorporated
|
||||||
|
* documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc
|
||||||
|
*
|
||||||
|
* Copyright Node.js contributors. All rights reserved.
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to
|
||||||
|
* deal in the Software without restriction, including without limitation the
|
||||||
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
* IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// NOTE: These definitions support NodeJS and TypeScript 4.8 and earlier.
|
||||||
|
|
||||||
|
// Reference required types from the default lib:
|
||||||
|
/// <reference lib="es2020" />
|
||||||
|
/// <reference lib="esnext.asynciterable" />
|
||||||
|
/// <reference lib="esnext.intl" />
|
||||||
|
/// <reference lib="esnext.bigint" />
|
||||||
|
|
||||||
|
// Base definitions for all NodeJS modules that are not specific to any version of TypeScript:
|
||||||
|
/// <reference path="assert.d.ts" />
|
||||||
|
/// <reference path="assert/strict.d.ts" />
|
||||||
|
/// <reference path="globals.d.ts" />
|
||||||
|
/// <reference path="async_hooks.d.ts" />
|
||||||
|
/// <reference path="buffer.d.ts" />
|
||||||
|
/// <reference path="child_process.d.ts" />
|
||||||
|
/// <reference path="cluster.d.ts" />
|
||||||
|
/// <reference path="console.d.ts" />
|
||||||
|
/// <reference path="constants.d.ts" />
|
||||||
|
/// <reference path="crypto.d.ts" />
|
||||||
|
/// <reference path="dgram.d.ts" />
|
||||||
|
/// <reference path="diagnostics_channel.d.ts" />
|
||||||
|
/// <reference path="dns.d.ts" />
|
||||||
|
/// <reference path="dns/promises.d.ts" />
|
||||||
|
/// <reference path="dns/promises.d.ts" />
|
||||||
|
/// <reference path="domain.d.ts" />
|
||||||
|
/// <reference path="events.d.ts" />
|
||||||
|
/// <reference path="fs.d.ts" />
|
||||||
|
/// <reference path="fs/promises.d.ts" />
|
||||||
|
/// <reference path="http.d.ts" />
|
||||||
|
/// <reference path="http2.d.ts" />
|
||||||
|
/// <reference path="https.d.ts" />
|
||||||
|
/// <reference path="inspector.d.ts" />
|
||||||
|
/// <reference path="module.d.ts" />
|
||||||
|
/// <reference path="net.d.ts" />
|
||||||
|
/// <reference path="os.d.ts" />
|
||||||
|
/// <reference path="path.d.ts" />
|
||||||
|
/// <reference path="perf_hooks.d.ts" />
|
||||||
|
/// <reference path="process.d.ts" />
|
||||||
|
/// <reference path="punycode.d.ts" />
|
||||||
|
/// <reference path="querystring.d.ts" />
|
||||||
|
/// <reference path="readline.d.ts" />
|
||||||
|
/// <reference path="readline/promises.d.ts" />
|
||||||
|
/// <reference path="repl.d.ts" />
|
||||||
|
/// <reference path="stream.d.ts" />
|
||||||
|
/// <reference path="stream/promises.d.ts" />
|
||||||
|
/// <reference path="stream/consumers.d.ts" />
|
||||||
|
/// <reference path="stream/web.d.ts" />
|
||||||
|
/// <reference path="string_decoder.d.ts" />
|
||||||
|
/// <reference path="test.d.ts" />
|
||||||
|
/// <reference path="timers.d.ts" />
|
||||||
|
/// <reference path="timers/promises.d.ts" />
|
||||||
|
/// <reference path="tls.d.ts" />
|
||||||
|
/// <reference path="trace_events.d.ts" />
|
||||||
|
/// <reference path="tty.d.ts" />
|
||||||
|
/// <reference path="url.d.ts" />
|
||||||
|
/// <reference path="util.d.ts" />
|
||||||
|
/// <reference path="v8.d.ts" />
|
||||||
|
/// <reference path="vm.d.ts" />
|
||||||
|
/// <reference path="wasi.d.ts" />
|
||||||
|
/// <reference path="worker_threads.d.ts" />
|
||||||
|
/// <reference path="zlib.d.ts" />
|
||||||
|
|
||||||
|
/// <reference path="globals.global.d.ts" />
|
2741
node_modules/@types/node/ts4.8/inspector.d.ts
generated
vendored
Normal file
2741
node_modules/@types/node/ts4.8/inspector.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
114
node_modules/@types/node/ts4.8/module.d.ts
generated
vendored
Normal file
114
node_modules/@types/node/ts4.8/module.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
/**
|
||||||
|
* @since v0.3.7
|
||||||
|
*/
|
||||||
|
declare module 'module' {
|
||||||
|
import { URL } from 'node:url';
|
||||||
|
namespace Module {
|
||||||
|
/**
|
||||||
|
* The `module.syncBuiltinESMExports()` method updates all the live bindings for
|
||||||
|
* builtin `ES Modules` to match the properties of the `CommonJS` exports. It
|
||||||
|
* does not add or remove exported names from the `ES Modules`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const assert = require('assert');
|
||||||
|
* const { syncBuiltinESMExports } = require('module');
|
||||||
|
*
|
||||||
|
* fs.readFile = newAPI;
|
||||||
|
*
|
||||||
|
* delete fs.readFileSync;
|
||||||
|
*
|
||||||
|
* function newAPI() {
|
||||||
|
* // ...
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* fs.newAPI = newAPI;
|
||||||
|
*
|
||||||
|
* syncBuiltinESMExports();
|
||||||
|
*
|
||||||
|
* import('fs').then((esmFS) => {
|
||||||
|
* // It syncs the existing readFile property with the new value
|
||||||
|
* assert.strictEqual(esmFS.readFile, newAPI);
|
||||||
|
* // readFileSync has been deleted from the required fs
|
||||||
|
* assert.strictEqual('readFileSync' in fs, false);
|
||||||
|
* // syncBuiltinESMExports() does not remove readFileSync from esmFS
|
||||||
|
* assert.strictEqual('readFileSync' in esmFS, true);
|
||||||
|
* // syncBuiltinESMExports() does not add names
|
||||||
|
* assert.strictEqual(esmFS.newAPI, undefined);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v12.12.0
|
||||||
|
*/
|
||||||
|
function syncBuiltinESMExports(): void;
|
||||||
|
/**
|
||||||
|
* `path` is the resolved path for the file for which a corresponding source map
|
||||||
|
* should be fetched.
|
||||||
|
* @since v13.7.0, v12.17.0
|
||||||
|
*/
|
||||||
|
function findSourceMap(path: string, error?: Error): SourceMap;
|
||||||
|
interface SourceMapPayload {
|
||||||
|
file: string;
|
||||||
|
version: number;
|
||||||
|
sources: string[];
|
||||||
|
sourcesContent: string[];
|
||||||
|
names: string[];
|
||||||
|
mappings: string;
|
||||||
|
sourceRoot: string;
|
||||||
|
}
|
||||||
|
interface SourceMapping {
|
||||||
|
generatedLine: number;
|
||||||
|
generatedColumn: number;
|
||||||
|
originalSource: string;
|
||||||
|
originalLine: number;
|
||||||
|
originalColumn: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @since v13.7.0, v12.17.0
|
||||||
|
*/
|
||||||
|
class SourceMap {
|
||||||
|
/**
|
||||||
|
* Getter for the payload used to construct the `SourceMap` instance.
|
||||||
|
*/
|
||||||
|
readonly payload: SourceMapPayload;
|
||||||
|
constructor(payload: SourceMapPayload);
|
||||||
|
/**
|
||||||
|
* Given a line number and column number in the generated source file, returns
|
||||||
|
* an object representing the position in the original file. The object returned
|
||||||
|
* consists of the following keys:
|
||||||
|
*/
|
||||||
|
findEntry(line: number, column: number): SourceMapping;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
interface Module extends NodeModule {}
|
||||||
|
class Module {
|
||||||
|
static runMain(): void;
|
||||||
|
static wrap(code: string): string;
|
||||||
|
static createRequire(path: string | URL): NodeRequire;
|
||||||
|
static builtinModules: string[];
|
||||||
|
static Module: typeof Module;
|
||||||
|
constructor(id: string, parent?: Module);
|
||||||
|
}
|
||||||
|
global {
|
||||||
|
interface ImportMeta {
|
||||||
|
url: string;
|
||||||
|
/**
|
||||||
|
* @experimental
|
||||||
|
* This feature is only available with the `--experimental-import-meta-resolve`
|
||||||
|
* command flag enabled.
|
||||||
|
*
|
||||||
|
* Provides a module-relative resolution function scoped to each module, returning
|
||||||
|
* the URL string.
|
||||||
|
*
|
||||||
|
* @param specified The module specifier to resolve relative to `parent`.
|
||||||
|
* @param parent The absolute parent module URL to resolve from. If none
|
||||||
|
* is specified, the value of `import.meta.url` is used as the default.
|
||||||
|
*/
|
||||||
|
resolve?(specified: string, parent?: string | URL): Promise<string>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export = Module;
|
||||||
|
}
|
||||||
|
declare module 'node:module' {
|
||||||
|
import module = require('module');
|
||||||
|
export = module;
|
||||||
|
}
|
838
node_modules/@types/node/ts4.8/net.d.ts
generated
vendored
Normal file
838
node_modules/@types/node/ts4.8/net.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,838 @@
|
||||||
|
/**
|
||||||
|
* > Stability: 2 - Stable
|
||||||
|
*
|
||||||
|
* The `net` module provides an asynchronous network API for creating stream-based
|
||||||
|
* TCP or `IPC` servers ({@link createServer}) and clients
|
||||||
|
* ({@link createConnection}).
|
||||||
|
*
|
||||||
|
* It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const net = require('net');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/net.js)
|
||||||
|
*/
|
||||||
|
declare module 'net' {
|
||||||
|
import * as stream from 'node:stream';
|
||||||
|
import { Abortable, EventEmitter } from 'node:events';
|
||||||
|
import * as dns from 'node:dns';
|
||||||
|
type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void;
|
||||||
|
interface AddressInfo {
|
||||||
|
address: string;
|
||||||
|
family: string;
|
||||||
|
port: number;
|
||||||
|
}
|
||||||
|
interface SocketConstructorOpts {
|
||||||
|
fd?: number | undefined;
|
||||||
|
allowHalfOpen?: boolean | undefined;
|
||||||
|
readable?: boolean | undefined;
|
||||||
|
writable?: boolean | undefined;
|
||||||
|
signal?: AbortSignal;
|
||||||
|
}
|
||||||
|
interface OnReadOpts {
|
||||||
|
buffer: Uint8Array | (() => Uint8Array);
|
||||||
|
/**
|
||||||
|
* This function is called for every chunk of incoming data.
|
||||||
|
* Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer.
|
||||||
|
* Return false from this function to implicitly pause() the socket.
|
||||||
|
*/
|
||||||
|
callback(bytesWritten: number, buf: Uint8Array): boolean;
|
||||||
|
}
|
||||||
|
interface ConnectOpts {
|
||||||
|
/**
|
||||||
|
* If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket.
|
||||||
|
* Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will
|
||||||
|
* still be emitted as normal and methods like pause() and resume() will also behave as expected.
|
||||||
|
*/
|
||||||
|
onread?: OnReadOpts | undefined;
|
||||||
|
}
|
||||||
|
interface TcpSocketConnectOpts extends ConnectOpts {
|
||||||
|
port: number;
|
||||||
|
host?: string | undefined;
|
||||||
|
localAddress?: string | undefined;
|
||||||
|
localPort?: number | undefined;
|
||||||
|
hints?: number | undefined;
|
||||||
|
family?: number | undefined;
|
||||||
|
lookup?: LookupFunction | undefined;
|
||||||
|
noDelay?: boolean | undefined;
|
||||||
|
keepAlive?: boolean | undefined;
|
||||||
|
keepAliveInitialDelay?: number | undefined;
|
||||||
|
}
|
||||||
|
interface IpcSocketConnectOpts extends ConnectOpts {
|
||||||
|
path: string;
|
||||||
|
}
|
||||||
|
type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts;
|
||||||
|
type SocketReadyState = 'opening' | 'open' | 'readOnly' | 'writeOnly' | 'closed';
|
||||||
|
/**
|
||||||
|
* This class is an abstraction of a TCP socket or a streaming `IPC` endpoint
|
||||||
|
* (uses named pipes on Windows, and Unix domain sockets otherwise). It is also
|
||||||
|
* an `EventEmitter`.
|
||||||
|
*
|
||||||
|
* A `net.Socket` can be created by the user and used directly to interact with
|
||||||
|
* a server. For example, it is returned by {@link createConnection},
|
||||||
|
* so the user can use it to talk to the server.
|
||||||
|
*
|
||||||
|
* It can also be created by Node.js and passed to the user when a connection
|
||||||
|
* is received. For example, it is passed to the listeners of a `'connection'` event emitted on a {@link Server}, so the user can use
|
||||||
|
* it to interact with the client.
|
||||||
|
* @since v0.3.4
|
||||||
|
*/
|
||||||
|
class Socket extends stream.Duplex {
|
||||||
|
constructor(options?: SocketConstructorOpts);
|
||||||
|
/**
|
||||||
|
* Sends data on the socket. The second parameter specifies the encoding in the
|
||||||
|
* case of a string. It defaults to UTF8 encoding.
|
||||||
|
*
|
||||||
|
* Returns `true` if the entire data was flushed successfully to the kernel
|
||||||
|
* buffer. Returns `false` if all or part of the data was queued in user memory.`'drain'` will be emitted when the buffer is again free.
|
||||||
|
*
|
||||||
|
* The optional `callback` parameter will be executed when the data is finally
|
||||||
|
* written out, which may not be immediately.
|
||||||
|
*
|
||||||
|
* See `Writable` stream `write()` method for more
|
||||||
|
* information.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @param [encoding='utf8'] Only used when data is `string`.
|
||||||
|
*/
|
||||||
|
write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
|
||||||
|
write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
|
||||||
|
/**
|
||||||
|
* Initiate a connection on a given socket.
|
||||||
|
*
|
||||||
|
* Possible signatures:
|
||||||
|
*
|
||||||
|
* * `socket.connect(options[, connectListener])`
|
||||||
|
* * `socket.connect(path[, connectListener])` for `IPC` connections.
|
||||||
|
* * `socket.connect(port[, host][, connectListener])` for TCP connections.
|
||||||
|
* * Returns: `net.Socket` The socket itself.
|
||||||
|
*
|
||||||
|
* This function is asynchronous. When the connection is established, the `'connect'` event will be emitted. If there is a problem connecting,
|
||||||
|
* instead of a `'connect'` event, an `'error'` event will be emitted with
|
||||||
|
* the error passed to the `'error'` listener.
|
||||||
|
* The last parameter `connectListener`, if supplied, will be added as a listener
|
||||||
|
* for the `'connect'` event **once**.
|
||||||
|
*
|
||||||
|
* This function should only be used for reconnecting a socket after`'close'` has been emitted or otherwise it may lead to undefined
|
||||||
|
* behavior.
|
||||||
|
*/
|
||||||
|
connect(options: SocketConnectOpts, connectionListener?: () => void): this;
|
||||||
|
connect(port: number, host: string, connectionListener?: () => void): this;
|
||||||
|
connect(port: number, connectionListener?: () => void): this;
|
||||||
|
connect(path: string, connectionListener?: () => void): this;
|
||||||
|
/**
|
||||||
|
* Set the encoding for the socket as a `Readable Stream`. See `readable.setEncoding()` for more information.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
setEncoding(encoding?: BufferEncoding): this;
|
||||||
|
/**
|
||||||
|
* Pauses the reading of data. That is, `'data'` events will not be emitted.
|
||||||
|
* Useful to throttle back an upload.
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
pause(): this;
|
||||||
|
/**
|
||||||
|
* Resumes reading after a call to `socket.pause()`.
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
resume(): this;
|
||||||
|
/**
|
||||||
|
* Sets the socket to timeout after `timeout` milliseconds of inactivity on
|
||||||
|
* the socket. By default `net.Socket` do not have a timeout.
|
||||||
|
*
|
||||||
|
* When an idle timeout is triggered the socket will receive a `'timeout'` event but the connection will not be severed. The user must manually call `socket.end()` or `socket.destroy()` to
|
||||||
|
* end the connection.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* socket.setTimeout(3000);
|
||||||
|
* socket.on('timeout', () => {
|
||||||
|
* console.log('socket timeout');
|
||||||
|
* socket.end();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `timeout` is 0, then the existing idle timeout is disabled.
|
||||||
|
*
|
||||||
|
* The optional `callback` parameter will be added as a one-time listener for the `'timeout'` event.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
setTimeout(timeout: number, callback?: () => void): this;
|
||||||
|
/**
|
||||||
|
* Enable/disable the use of Nagle's algorithm.
|
||||||
|
*
|
||||||
|
* When a TCP connection is created, it will have Nagle's algorithm enabled.
|
||||||
|
*
|
||||||
|
* Nagle's algorithm delays data before it is sent via the network. It attempts
|
||||||
|
* to optimize throughput at the expense of latency.
|
||||||
|
*
|
||||||
|
* Passing `true` for `noDelay` or not passing an argument will disable Nagle's
|
||||||
|
* algorithm for the socket. Passing `false` for `noDelay` will enable Nagle's
|
||||||
|
* algorithm.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @param [noDelay=true]
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
setNoDelay(noDelay?: boolean): this;
|
||||||
|
/**
|
||||||
|
* Enable/disable keep-alive functionality, and optionally set the initial
|
||||||
|
* delay before the first keepalive probe is sent on an idle socket.
|
||||||
|
*
|
||||||
|
* Set `initialDelay` (in milliseconds) to set the delay between the last
|
||||||
|
* data packet received and the first keepalive probe. Setting `0` for`initialDelay` will leave the value unchanged from the default
|
||||||
|
* (or previous) setting.
|
||||||
|
*
|
||||||
|
* Enabling the keep-alive functionality will set the following socket options:
|
||||||
|
*
|
||||||
|
* * `SO_KEEPALIVE=1`
|
||||||
|
* * `TCP_KEEPIDLE=initialDelay`
|
||||||
|
* * `TCP_KEEPCNT=10`
|
||||||
|
* * `TCP_KEEPINTVL=1`
|
||||||
|
* @since v0.1.92
|
||||||
|
* @param [enable=false]
|
||||||
|
* @param [initialDelay=0]
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
setKeepAlive(enable?: boolean, initialDelay?: number): this;
|
||||||
|
/**
|
||||||
|
* Returns the bound `address`, the address `family` name and `port` of the
|
||||||
|
* socket as reported by the operating system:`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }`
|
||||||
|
* @since v0.1.90
|
||||||
|
*/
|
||||||
|
address(): AddressInfo | {};
|
||||||
|
/**
|
||||||
|
* Calling `unref()` on a socket will allow the program to exit if this is the only
|
||||||
|
* active socket in the event system. If the socket is already `unref`ed calling`unref()` again will have no effect.
|
||||||
|
* @since v0.9.1
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
unref(): this;
|
||||||
|
/**
|
||||||
|
* Opposite of `unref()`, calling `ref()` on a previously `unref`ed socket will _not_ let the program exit if it's the only socket left (the default behavior).
|
||||||
|
* If the socket is `ref`ed calling `ref` again will have no effect.
|
||||||
|
* @since v0.9.1
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
ref(): this;
|
||||||
|
/**
|
||||||
|
* This property shows the number of characters buffered for writing. The buffer
|
||||||
|
* may contain strings whose length after encoding is not yet known. So this number
|
||||||
|
* is only an approximation of the number of bytes in the buffer.
|
||||||
|
*
|
||||||
|
* `net.Socket` has the property that `socket.write()` always works. This is to
|
||||||
|
* help users get up and running quickly. The computer cannot always keep up
|
||||||
|
* with the amount of data that is written to a socket. The network connection
|
||||||
|
* simply might be too slow. Node.js will internally queue up the data written to a
|
||||||
|
* socket and send it out over the wire when it is possible.
|
||||||
|
*
|
||||||
|
* The consequence of this internal buffering is that memory may grow.
|
||||||
|
* Users who experience large or growing `bufferSize` should attempt to
|
||||||
|
* "throttle" the data flows in their program with `socket.pause()` and `socket.resume()`.
|
||||||
|
* @since v0.3.8
|
||||||
|
* @deprecated Since v14.6.0 - Use `writableLength` instead.
|
||||||
|
*/
|
||||||
|
readonly bufferSize: number;
|
||||||
|
/**
|
||||||
|
* The amount of received bytes.
|
||||||
|
* @since v0.5.3
|
||||||
|
*/
|
||||||
|
readonly bytesRead: number;
|
||||||
|
/**
|
||||||
|
* The amount of bytes sent.
|
||||||
|
* @since v0.5.3
|
||||||
|
*/
|
||||||
|
readonly bytesWritten: number;
|
||||||
|
/**
|
||||||
|
* If `true`,`socket.connect(options[, connectListener])` was
|
||||||
|
* called and has not yet finished. It will stay `true` until the socket becomes
|
||||||
|
* connected, then it is set to `false` and the `'connect'` event is emitted. Note
|
||||||
|
* that the `socket.connect(options[, connectListener])` callback is a listener for the `'connect'` event.
|
||||||
|
* @since v6.1.0
|
||||||
|
*/
|
||||||
|
readonly connecting: boolean;
|
||||||
|
/**
|
||||||
|
* See `writable.destroyed` for further details.
|
||||||
|
*/
|
||||||
|
readonly destroyed: boolean;
|
||||||
|
/**
|
||||||
|
* The string representation of the local IP address the remote client is
|
||||||
|
* connecting on. For example, in a server listening on `'0.0.0.0'`, if a client
|
||||||
|
* connects on `'192.168.1.1'`, the value of `socket.localAddress` would be`'192.168.1.1'`.
|
||||||
|
* @since v0.9.6
|
||||||
|
*/
|
||||||
|
readonly localAddress?: string;
|
||||||
|
/**
|
||||||
|
* The numeric representation of the local port. For example, `80` or `21`.
|
||||||
|
* @since v0.9.6
|
||||||
|
*/
|
||||||
|
readonly localPort?: number;
|
||||||
|
/**
|
||||||
|
* This property represents the state of the connection as a string.
|
||||||
|
* @see {https://nodejs.org/api/net.html#socketreadystate}
|
||||||
|
* @since v0.5.0
|
||||||
|
*/
|
||||||
|
readonly readyState: SocketReadyState;
|
||||||
|
/**
|
||||||
|
* The string representation of the remote IP address. For example,`'74.125.127.100'` or `'2001:4860:a005::68'`. Value may be `undefined` if
|
||||||
|
* the socket is destroyed (for example, if the client disconnected).
|
||||||
|
* @since v0.5.10
|
||||||
|
*/
|
||||||
|
readonly remoteAddress?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The string representation of the remote IP family. `'IPv4'` or `'IPv6'`.
|
||||||
|
* @since v0.11.14
|
||||||
|
*/
|
||||||
|
readonly remoteFamily?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The numeric representation of the remote port. For example, `80` or `21`.
|
||||||
|
* @since v0.5.10
|
||||||
|
*/
|
||||||
|
readonly remotePort?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The socket timeout in milliseconds as set by socket.setTimeout(). It is undefined if a timeout has not been set.
|
||||||
|
* @since v10.7.0
|
||||||
|
*/
|
||||||
|
readonly timeout?: number | undefined;
|
||||||
|
/**
|
||||||
|
* Half-closes the socket. i.e., it sends a FIN packet. It is possible the
|
||||||
|
* server will still send some data.
|
||||||
|
*
|
||||||
|
* See `writable.end()` for further details.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @param [encoding='utf8'] Only used when data is `string`.
|
||||||
|
* @param callback Optional callback for when the socket is finished.
|
||||||
|
* @return The socket itself.
|
||||||
|
*/
|
||||||
|
end(callback?: () => void): this;
|
||||||
|
end(buffer: Uint8Array | string, callback?: () => void): this;
|
||||||
|
end(str: Uint8Array | string, encoding?: BufferEncoding, callback?: () => void): this;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. close
|
||||||
|
* 2. connect
|
||||||
|
* 3. data
|
||||||
|
* 4. drain
|
||||||
|
* 5. end
|
||||||
|
* 6. error
|
||||||
|
* 7. lookup
|
||||||
|
* 8. timeout
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'close', listener: (hadError: boolean) => void): this;
|
||||||
|
addListener(event: 'connect', listener: () => void): this;
|
||||||
|
addListener(event: 'data', listener: (data: Buffer) => void): this;
|
||||||
|
addListener(event: 'drain', listener: () => void): this;
|
||||||
|
addListener(event: 'end', listener: () => void): this;
|
||||||
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
addListener(event: 'lookup', listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||||
|
addListener(event: 'ready', listener: () => void): this;
|
||||||
|
addListener(event: 'timeout', listener: () => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'close', hadError: boolean): boolean;
|
||||||
|
emit(event: 'connect'): boolean;
|
||||||
|
emit(event: 'data', data: Buffer): boolean;
|
||||||
|
emit(event: 'drain'): boolean;
|
||||||
|
emit(event: 'end'): boolean;
|
||||||
|
emit(event: 'error', err: Error): boolean;
|
||||||
|
emit(event: 'lookup', err: Error, address: string, family: string | number, host: string): boolean;
|
||||||
|
emit(event: 'ready'): boolean;
|
||||||
|
emit(event: 'timeout'): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'close', listener: (hadError: boolean) => void): this;
|
||||||
|
on(event: 'connect', listener: () => void): this;
|
||||||
|
on(event: 'data', listener: (data: Buffer) => void): this;
|
||||||
|
on(event: 'drain', listener: () => void): this;
|
||||||
|
on(event: 'end', listener: () => void): this;
|
||||||
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
on(event: 'lookup', listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||||
|
on(event: 'ready', listener: () => void): this;
|
||||||
|
on(event: 'timeout', listener: () => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: (hadError: boolean) => void): this;
|
||||||
|
once(event: 'connect', listener: () => void): this;
|
||||||
|
once(event: 'data', listener: (data: Buffer) => void): this;
|
||||||
|
once(event: 'drain', listener: () => void): this;
|
||||||
|
once(event: 'end', listener: () => void): this;
|
||||||
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
once(event: 'lookup', listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||||
|
once(event: 'ready', listener: () => void): this;
|
||||||
|
once(event: 'timeout', listener: () => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: (hadError: boolean) => void): this;
|
||||||
|
prependListener(event: 'connect', listener: () => void): this;
|
||||||
|
prependListener(event: 'data', listener: (data: Buffer) => void): this;
|
||||||
|
prependListener(event: 'drain', listener: () => void): this;
|
||||||
|
prependListener(event: 'end', listener: () => void): this;
|
||||||
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependListener(event: 'lookup', listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||||
|
prependListener(event: 'ready', listener: () => void): this;
|
||||||
|
prependListener(event: 'timeout', listener: () => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: (hadError: boolean) => void): this;
|
||||||
|
prependOnceListener(event: 'connect', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'data', listener: (data: Buffer) => void): this;
|
||||||
|
prependOnceListener(event: 'drain', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'end', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'lookup', listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||||
|
prependOnceListener(event: 'ready', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'timeout', listener: () => void): this;
|
||||||
|
}
|
||||||
|
interface ListenOptions extends Abortable {
|
||||||
|
port?: number | undefined;
|
||||||
|
host?: string | undefined;
|
||||||
|
backlog?: number | undefined;
|
||||||
|
path?: string | undefined;
|
||||||
|
exclusive?: boolean | undefined;
|
||||||
|
readableAll?: boolean | undefined;
|
||||||
|
writableAll?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
ipv6Only?: boolean | undefined;
|
||||||
|
}
|
||||||
|
interface ServerOpts {
|
||||||
|
/**
|
||||||
|
* Indicates whether half-opened TCP connections are allowed.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
allowHalfOpen?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* Indicates whether the socket should be paused on incoming connections.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
pauseOnConnect?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received.
|
||||||
|
* @default false
|
||||||
|
* @since v16.5.0
|
||||||
|
*/
|
||||||
|
noDelay?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received,
|
||||||
|
* similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`.
|
||||||
|
* @default false
|
||||||
|
* @since v16.5.0
|
||||||
|
*/
|
||||||
|
keepAlive?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket.
|
||||||
|
* @default 0
|
||||||
|
* @since v16.5.0
|
||||||
|
*/
|
||||||
|
keepAliveInitialDelay?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* This class is used to create a TCP or `IPC` server.
|
||||||
|
* @since v0.1.90
|
||||||
|
*/
|
||||||
|
class Server extends EventEmitter {
|
||||||
|
constructor(connectionListener?: (socket: Socket) => void);
|
||||||
|
constructor(options?: ServerOpts, connectionListener?: (socket: Socket) => void);
|
||||||
|
/**
|
||||||
|
* Start a server listening for connections. A `net.Server` can be a TCP or
|
||||||
|
* an `IPC` server depending on what it listens to.
|
||||||
|
*
|
||||||
|
* Possible signatures:
|
||||||
|
*
|
||||||
|
* * `server.listen(handle[, backlog][, callback])`
|
||||||
|
* * `server.listen(options[, callback])`
|
||||||
|
* * `server.listen(path[, backlog][, callback])` for `IPC` servers
|
||||||
|
* * `server.listen([port[, host[, backlog]]][, callback])` for TCP servers
|
||||||
|
*
|
||||||
|
* This function is asynchronous. When the server starts listening, the `'listening'` event will be emitted. The last parameter `callback`will be added as a listener for the `'listening'`
|
||||||
|
* event.
|
||||||
|
*
|
||||||
|
* All `listen()` methods can take a `backlog` parameter to specify the maximum
|
||||||
|
* length of the queue of pending connections. The actual length will be determined
|
||||||
|
* by the OS through sysctl settings such as `tcp_max_syn_backlog` and `somaxconn`on Linux. The default value of this parameter is 511 (not 512).
|
||||||
|
*
|
||||||
|
* All {@link Socket} are set to `SO_REUSEADDR` (see [`socket(7)`](https://man7.org/linux/man-pages/man7/socket.7.html) for
|
||||||
|
* details).
|
||||||
|
*
|
||||||
|
* The `server.listen()` method can be called again if and only if there was an
|
||||||
|
* error during the first `server.listen()` call or `server.close()` has been
|
||||||
|
* called. Otherwise, an `ERR_SERVER_ALREADY_LISTEN` error will be thrown.
|
||||||
|
*
|
||||||
|
* One of the most common errors raised when listening is `EADDRINUSE`.
|
||||||
|
* This happens when another server is already listening on the requested`port`/`path`/`handle`. One way to handle this would be to retry
|
||||||
|
* after a certain amount of time:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.on('error', (e) => {
|
||||||
|
* if (e.code === 'EADDRINUSE') {
|
||||||
|
* console.log('Address in use, retrying...');
|
||||||
|
* setTimeout(() => {
|
||||||
|
* server.close();
|
||||||
|
* server.listen(PORT, HOST);
|
||||||
|
* }, 1000);
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this;
|
||||||
|
listen(port?: number, hostname?: string, listeningListener?: () => void): this;
|
||||||
|
listen(port?: number, backlog?: number, listeningListener?: () => void): this;
|
||||||
|
listen(port?: number, listeningListener?: () => void): this;
|
||||||
|
listen(path: string, backlog?: number, listeningListener?: () => void): this;
|
||||||
|
listen(path: string, listeningListener?: () => void): this;
|
||||||
|
listen(options: ListenOptions, listeningListener?: () => void): this;
|
||||||
|
listen(handle: any, backlog?: number, listeningListener?: () => void): this;
|
||||||
|
listen(handle: any, listeningListener?: () => void): this;
|
||||||
|
/**
|
||||||
|
* Stops the server from accepting new connections and keeps existing
|
||||||
|
* connections. This function is asynchronous, the server is finally closed
|
||||||
|
* when all connections are ended and the server emits a `'close'` event.
|
||||||
|
* The optional `callback` will be called once the `'close'` event occurs. Unlike
|
||||||
|
* that event, it will be called with an `Error` as its only argument if the server
|
||||||
|
* was not open when it was closed.
|
||||||
|
* @since v0.1.90
|
||||||
|
* @param callback Called when the server is closed.
|
||||||
|
*/
|
||||||
|
close(callback?: (err?: Error) => void): this;
|
||||||
|
/**
|
||||||
|
* Returns the bound `address`, the address `family` name, and `port` of the server
|
||||||
|
* as reported by the operating system if listening on an IP socket
|
||||||
|
* (useful to find which port was assigned when getting an OS-assigned address):`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }`.
|
||||||
|
*
|
||||||
|
* For a server listening on a pipe or Unix domain socket, the name is returned
|
||||||
|
* as a string.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const server = net.createServer((socket) => {
|
||||||
|
* socket.end('goodbye\n');
|
||||||
|
* }).on('error', (err) => {
|
||||||
|
* // Handle errors here.
|
||||||
|
* throw err;
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Grab an arbitrary unused port.
|
||||||
|
* server.listen(() => {
|
||||||
|
* console.log('opened server on', server.address());
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `server.address()` returns `null` before the `'listening'` event has been
|
||||||
|
* emitted or after calling `server.close()`.
|
||||||
|
* @since v0.1.90
|
||||||
|
*/
|
||||||
|
address(): AddressInfo | string | null;
|
||||||
|
/**
|
||||||
|
* Asynchronously get the number of concurrent connections on the server. Works
|
||||||
|
* when sockets were sent to forks.
|
||||||
|
*
|
||||||
|
* Callback should take two arguments `err` and `count`.
|
||||||
|
* @since v0.9.7
|
||||||
|
*/
|
||||||
|
getConnections(cb: (error: Error | null, count: number) => void): void;
|
||||||
|
/**
|
||||||
|
* Opposite of `unref()`, calling `ref()` on a previously `unref`ed server will _not_ let the program exit if it's the only server left (the default behavior).
|
||||||
|
* If the server is `ref`ed calling `ref()` again will have no effect.
|
||||||
|
* @since v0.9.1
|
||||||
|
*/
|
||||||
|
ref(): this;
|
||||||
|
/**
|
||||||
|
* Calling `unref()` on a server will allow the program to exit if this is the only
|
||||||
|
* active server in the event system. If the server is already `unref`ed calling`unref()` again will have no effect.
|
||||||
|
* @since v0.9.1
|
||||||
|
*/
|
||||||
|
unref(): this;
|
||||||
|
/**
|
||||||
|
* Set this property to reject connections when the server's connection count gets
|
||||||
|
* high.
|
||||||
|
*
|
||||||
|
* It is not recommended to use this option once a socket has been sent to a child
|
||||||
|
* with `child_process.fork()`.
|
||||||
|
* @since v0.2.0
|
||||||
|
*/
|
||||||
|
maxConnections: number;
|
||||||
|
connections: number;
|
||||||
|
/**
|
||||||
|
* Indicates whether or not the server is listening for connections.
|
||||||
|
* @since v5.7.0
|
||||||
|
*/
|
||||||
|
listening: boolean;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. close
|
||||||
|
* 2. connection
|
||||||
|
* 3. error
|
||||||
|
* 4. listening
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'connection', listener: (socket: Socket) => void): this;
|
||||||
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
addListener(event: 'listening', listener: () => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'connection', socket: Socket): boolean;
|
||||||
|
emit(event: 'error', err: Error): boolean;
|
||||||
|
emit(event: 'listening'): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'connection', listener: (socket: Socket) => void): this;
|
||||||
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
on(event: 'listening', listener: () => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'connection', listener: (socket: Socket) => void): this;
|
||||||
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
once(event: 'listening', listener: () => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'connection', listener: (socket: Socket) => void): this;
|
||||||
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependListener(event: 'listening', listener: () => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'connection', listener: (socket: Socket) => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'listening', listener: () => void): this;
|
||||||
|
}
|
||||||
|
type IPVersion = 'ipv4' | 'ipv6';
|
||||||
|
/**
|
||||||
|
* The `BlockList` object can be used with some network APIs to specify rules for
|
||||||
|
* disabling inbound or outbound access to specific IP addresses, IP ranges, or
|
||||||
|
* IP subnets.
|
||||||
|
* @since v15.0.0, v14.18.0
|
||||||
|
*/
|
||||||
|
class BlockList {
|
||||||
|
/**
|
||||||
|
* Adds a rule to block the given IP address.
|
||||||
|
* @since v15.0.0, v14.18.0
|
||||||
|
* @param address An IPv4 or IPv6 address.
|
||||||
|
* @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.
|
||||||
|
*/
|
||||||
|
addAddress(address: string, type?: IPVersion): void;
|
||||||
|
addAddress(address: SocketAddress): void;
|
||||||
|
/**
|
||||||
|
* Adds a rule to block a range of IP addresses from `start` (inclusive) to`end` (inclusive).
|
||||||
|
* @since v15.0.0, v14.18.0
|
||||||
|
* @param start The starting IPv4 or IPv6 address in the range.
|
||||||
|
* @param end The ending IPv4 or IPv6 address in the range.
|
||||||
|
* @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.
|
||||||
|
*/
|
||||||
|
addRange(start: string, end: string, type?: IPVersion): void;
|
||||||
|
addRange(start: SocketAddress, end: SocketAddress): void;
|
||||||
|
/**
|
||||||
|
* Adds a rule to block a range of IP addresses specified as a subnet mask.
|
||||||
|
* @since v15.0.0, v14.18.0
|
||||||
|
* @param net The network IPv4 or IPv6 address.
|
||||||
|
* @param prefix The number of CIDR prefix bits. For IPv4, this must be a value between `0` and `32`. For IPv6, this must be between `0` and `128`.
|
||||||
|
* @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.
|
||||||
|
*/
|
||||||
|
addSubnet(net: SocketAddress, prefix: number): void;
|
||||||
|
addSubnet(net: string, prefix: number, type?: IPVersion): void;
|
||||||
|
/**
|
||||||
|
* Returns `true` if the given IP address matches any of the rules added to the`BlockList`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const blockList = new net.BlockList();
|
||||||
|
* blockList.addAddress('123.123.123.123');
|
||||||
|
* blockList.addRange('10.0.0.1', '10.0.0.10');
|
||||||
|
* blockList.addSubnet('8592:757c:efae:4e45::', 64, 'ipv6');
|
||||||
|
*
|
||||||
|
* console.log(blockList.check('123.123.123.123')); // Prints: true
|
||||||
|
* console.log(blockList.check('10.0.0.3')); // Prints: true
|
||||||
|
* console.log(blockList.check('222.111.111.222')); // Prints: false
|
||||||
|
*
|
||||||
|
* // IPv6 notation for IPv4 addresses works:
|
||||||
|
* console.log(blockList.check('::ffff:7b7b:7b7b', 'ipv6')); // Prints: true
|
||||||
|
* console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true
|
||||||
|
* ```
|
||||||
|
* @since v15.0.0, v14.18.0
|
||||||
|
* @param address The IP address to check
|
||||||
|
* @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.
|
||||||
|
*/
|
||||||
|
check(address: SocketAddress): boolean;
|
||||||
|
check(address: string, type?: IPVersion): boolean;
|
||||||
|
}
|
||||||
|
interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
|
||||||
|
timeout?: number | undefined;
|
||||||
|
}
|
||||||
|
interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts {
|
||||||
|
timeout?: number | undefined;
|
||||||
|
}
|
||||||
|
type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts;
|
||||||
|
/**
|
||||||
|
* Creates a new TCP or `IPC` server.
|
||||||
|
*
|
||||||
|
* If `allowHalfOpen` is set to `true`, when the other end of the socket
|
||||||
|
* signals the end of transmission, the server will only send back the end of
|
||||||
|
* transmission when `socket.end()` is explicitly called. For example, in the
|
||||||
|
* context of TCP, when a FIN packed is received, a FIN packed is sent
|
||||||
|
* back only when `socket.end()` is explicitly called. Until then the
|
||||||
|
* connection is half-closed (non-readable but still writable). See `'end'` event and [RFC 1122](https://tools.ietf.org/html/rfc1122) (section 4.2.2.13) for more information.
|
||||||
|
*
|
||||||
|
* If `pauseOnConnect` is set to `true`, then the socket associated with each
|
||||||
|
* incoming connection will be paused, and no data will be read from its handle.
|
||||||
|
* This allows connections to be passed between processes without any data being
|
||||||
|
* read by the original process. To begin reading data from a paused socket, call `socket.resume()`.
|
||||||
|
*
|
||||||
|
* The server can be a TCP server or an `IPC` server, depending on what it `listen()` to.
|
||||||
|
*
|
||||||
|
* Here is an example of a TCP echo server which listens for connections
|
||||||
|
* on port 8124:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const net = require('net');
|
||||||
|
* const server = net.createServer((c) => {
|
||||||
|
* // 'connection' listener.
|
||||||
|
* console.log('client connected');
|
||||||
|
* c.on('end', () => {
|
||||||
|
* console.log('client disconnected');
|
||||||
|
* });
|
||||||
|
* c.write('hello\r\n');
|
||||||
|
* c.pipe(c);
|
||||||
|
* });
|
||||||
|
* server.on('error', (err) => {
|
||||||
|
* throw err;
|
||||||
|
* });
|
||||||
|
* server.listen(8124, () => {
|
||||||
|
* console.log('server bound');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Test this by using `telnet`:
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* $ telnet localhost 8124
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* To listen on the socket `/tmp/echo.sock`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* server.listen('/tmp/echo.sock', () => {
|
||||||
|
* console.log('server bound');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Use `nc` to connect to a Unix domain socket server:
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* $ nc -U /tmp/echo.sock
|
||||||
|
* ```
|
||||||
|
* @since v0.5.0
|
||||||
|
* @param connectionListener Automatically set as a listener for the {@link 'connection'} event.
|
||||||
|
*/
|
||||||
|
function createServer(connectionListener?: (socket: Socket) => void): Server;
|
||||||
|
function createServer(options?: ServerOpts, connectionListener?: (socket: Socket) => void): Server;
|
||||||
|
/**
|
||||||
|
* Aliases to {@link createConnection}.
|
||||||
|
*
|
||||||
|
* Possible signatures:
|
||||||
|
*
|
||||||
|
* * {@link connect}
|
||||||
|
* * {@link connect} for `IPC` connections.
|
||||||
|
* * {@link connect} for TCP connections.
|
||||||
|
*/
|
||||||
|
function connect(options: NetConnectOpts, connectionListener?: () => void): Socket;
|
||||||
|
function connect(port: number, host?: string, connectionListener?: () => void): Socket;
|
||||||
|
function connect(path: string, connectionListener?: () => void): Socket;
|
||||||
|
/**
|
||||||
|
* A factory function, which creates a new {@link Socket},
|
||||||
|
* immediately initiates connection with `socket.connect()`,
|
||||||
|
* then returns the `net.Socket` that starts the connection.
|
||||||
|
*
|
||||||
|
* When the connection is established, a `'connect'` event will be emitted
|
||||||
|
* on the returned socket. The last parameter `connectListener`, if supplied,
|
||||||
|
* will be added as a listener for the `'connect'` event **once**.
|
||||||
|
*
|
||||||
|
* Possible signatures:
|
||||||
|
*
|
||||||
|
* * {@link createConnection}
|
||||||
|
* * {@link createConnection} for `IPC` connections.
|
||||||
|
* * {@link createConnection} for TCP connections.
|
||||||
|
*
|
||||||
|
* The {@link connect} function is an alias to this function.
|
||||||
|
*/
|
||||||
|
function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket;
|
||||||
|
function createConnection(port: number, host?: string, connectionListener?: () => void): Socket;
|
||||||
|
function createConnection(path: string, connectionListener?: () => void): Socket;
|
||||||
|
/**
|
||||||
|
* Returns `6` if `input` is an IPv6 address. Returns `4` if `input` is an IPv4
|
||||||
|
* address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no leading zeroes. Otherwise, returns`0`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* net.isIP('::1'); // returns 6
|
||||||
|
* net.isIP('127.0.0.1'); // returns 4
|
||||||
|
* net.isIP('127.000.000.001'); // returns 0
|
||||||
|
* net.isIP('127.0.0.1/24'); // returns 0
|
||||||
|
* net.isIP('fhqwhgads'); // returns 0
|
||||||
|
* ```
|
||||||
|
* @since v0.3.0
|
||||||
|
*/
|
||||||
|
function isIP(input: string): number;
|
||||||
|
/**
|
||||||
|
* Returns `true` if `input` is an IPv4 address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no
|
||||||
|
* leading zeroes. Otherwise, returns `false`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* net.isIPv4('127.0.0.1'); // returns true
|
||||||
|
* net.isIPv4('127.000.000.001'); // returns false
|
||||||
|
* net.isIPv4('127.0.0.1/24'); // returns false
|
||||||
|
* net.isIPv4('fhqwhgads'); // returns false
|
||||||
|
* ```
|
||||||
|
* @since v0.3.0
|
||||||
|
*/
|
||||||
|
function isIPv4(input: string): boolean;
|
||||||
|
/**
|
||||||
|
* Returns `true` if `input` is an IPv6 address. Otherwise, returns `false`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* net.isIPv6('::1'); // returns true
|
||||||
|
* net.isIPv6('fhqwhgads'); // returns false
|
||||||
|
* ```
|
||||||
|
* @since v0.3.0
|
||||||
|
*/
|
||||||
|
function isIPv6(input: string): boolean;
|
||||||
|
interface SocketAddressInitOptions {
|
||||||
|
/**
|
||||||
|
* The network address as either an IPv4 or IPv6 string.
|
||||||
|
* @default 127.0.0.1
|
||||||
|
*/
|
||||||
|
address?: string | undefined;
|
||||||
|
/**
|
||||||
|
* @default `'ipv4'`
|
||||||
|
*/
|
||||||
|
family?: IPVersion | undefined;
|
||||||
|
/**
|
||||||
|
* An IPv6 flow-label used only if `family` is `'ipv6'`.
|
||||||
|
* @default 0
|
||||||
|
*/
|
||||||
|
flowlabel?: number | undefined;
|
||||||
|
/**
|
||||||
|
* An IP port.
|
||||||
|
* @default 0
|
||||||
|
*/
|
||||||
|
port?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @since v15.14.0, v14.18.0
|
||||||
|
*/
|
||||||
|
class SocketAddress {
|
||||||
|
constructor(options: SocketAddressInitOptions);
|
||||||
|
/**
|
||||||
|
* Either \`'ipv4'\` or \`'ipv6'\`.
|
||||||
|
* @since v15.14.0, v14.18.0
|
||||||
|
*/
|
||||||
|
readonly address: string;
|
||||||
|
/**
|
||||||
|
* Either \`'ipv4'\` or \`'ipv6'\`.
|
||||||
|
* @since v15.14.0, v14.18.0
|
||||||
|
*/
|
||||||
|
readonly family: IPVersion;
|
||||||
|
/**
|
||||||
|
* @since v15.14.0, v14.18.0
|
||||||
|
*/
|
||||||
|
readonly port: number;
|
||||||
|
/**
|
||||||
|
* @since v15.14.0, v14.18.0
|
||||||
|
*/
|
||||||
|
readonly flowlabel: number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:net' {
|
||||||
|
export * from 'net';
|
||||||
|
}
|
466
node_modules/@types/node/ts4.8/os.d.ts
generated
vendored
Normal file
466
node_modules/@types/node/ts4.8/os.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,466 @@
|
||||||
|
/**
|
||||||
|
* The `os` module provides operating system-related utility methods and
|
||||||
|
* properties. It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const os = require('os');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/os.js)
|
||||||
|
*/
|
||||||
|
declare module 'os' {
|
||||||
|
interface CpuInfo {
|
||||||
|
model: string;
|
||||||
|
speed: number;
|
||||||
|
times: {
|
||||||
|
user: number;
|
||||||
|
nice: number;
|
||||||
|
sys: number;
|
||||||
|
idle: number;
|
||||||
|
irq: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
interface NetworkInterfaceBase {
|
||||||
|
address: string;
|
||||||
|
netmask: string;
|
||||||
|
mac: string;
|
||||||
|
internal: boolean;
|
||||||
|
cidr: string | null;
|
||||||
|
}
|
||||||
|
interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
|
||||||
|
family: 'IPv4';
|
||||||
|
scopeid?: undefined;
|
||||||
|
}
|
||||||
|
interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
|
||||||
|
family: 'IPv6';
|
||||||
|
scopeid: number;
|
||||||
|
}
|
||||||
|
interface UserInfo<T> {
|
||||||
|
username: T;
|
||||||
|
uid: number;
|
||||||
|
gid: number;
|
||||||
|
shell: T;
|
||||||
|
homedir: T;
|
||||||
|
}
|
||||||
|
type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;
|
||||||
|
/**
|
||||||
|
* Returns the host name of the operating system as a string.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function hostname(): string;
|
||||||
|
/**
|
||||||
|
* Returns an array containing the 1, 5, and 15 minute load averages.
|
||||||
|
*
|
||||||
|
* The load average is a measure of system activity calculated by the operating
|
||||||
|
* system and expressed as a fractional number.
|
||||||
|
*
|
||||||
|
* The load average is a Unix-specific concept. On Windows, the return value is
|
||||||
|
* always `[0, 0, 0]`.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function loadavg(): number[];
|
||||||
|
/**
|
||||||
|
* Returns the system uptime in number of seconds.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function uptime(): number;
|
||||||
|
/**
|
||||||
|
* Returns the amount of free system memory in bytes as an integer.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function freemem(): number;
|
||||||
|
/**
|
||||||
|
* Returns the total amount of system memory in bytes as an integer.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function totalmem(): number;
|
||||||
|
/**
|
||||||
|
* Returns an array of objects containing information about each logical CPU core.
|
||||||
|
*
|
||||||
|
* The properties included on each object include:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* [
|
||||||
|
* {
|
||||||
|
* model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
||||||
|
* speed: 2926,
|
||||||
|
* times: {
|
||||||
|
* user: 252020,
|
||||||
|
* nice: 0,
|
||||||
|
* sys: 30340,
|
||||||
|
* idle: 1070356870,
|
||||||
|
* irq: 0
|
||||||
|
* }
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
||||||
|
* speed: 2926,
|
||||||
|
* times: {
|
||||||
|
* user: 306960,
|
||||||
|
* nice: 0,
|
||||||
|
* sys: 26980,
|
||||||
|
* idle: 1071569080,
|
||||||
|
* irq: 0
|
||||||
|
* }
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
||||||
|
* speed: 2926,
|
||||||
|
* times: {
|
||||||
|
* user: 248450,
|
||||||
|
* nice: 0,
|
||||||
|
* sys: 21750,
|
||||||
|
* idle: 1070919370,
|
||||||
|
* irq: 0
|
||||||
|
* }
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
||||||
|
* speed: 2926,
|
||||||
|
* times: {
|
||||||
|
* user: 256880,
|
||||||
|
* nice: 0,
|
||||||
|
* sys: 19430,
|
||||||
|
* idle: 1070905480,
|
||||||
|
* irq: 20
|
||||||
|
* }
|
||||||
|
* },
|
||||||
|
* ]
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `nice` values are POSIX-only. On Windows, the `nice` values of all processors
|
||||||
|
* are always 0.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function cpus(): CpuInfo[];
|
||||||
|
/**
|
||||||
|
* Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it
|
||||||
|
* returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.
|
||||||
|
*
|
||||||
|
* See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information
|
||||||
|
* about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function type(): string;
|
||||||
|
/**
|
||||||
|
* Returns the operating system as a string.
|
||||||
|
*
|
||||||
|
* On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See
|
||||||
|
* [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
|
||||||
|
* @since v0.3.3
|
||||||
|
*/
|
||||||
|
function release(): string;
|
||||||
|
/**
|
||||||
|
* Returns an object containing network interfaces that have been assigned a
|
||||||
|
* network address.
|
||||||
|
*
|
||||||
|
* Each key on the returned object identifies a network interface. The associated
|
||||||
|
* value is an array of objects that each describe an assigned network address.
|
||||||
|
*
|
||||||
|
* The properties available on the assigned network address object include:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* lo: [
|
||||||
|
* {
|
||||||
|
* address: '127.0.0.1',
|
||||||
|
* netmask: '255.0.0.0',
|
||||||
|
* family: 'IPv4',
|
||||||
|
* mac: '00:00:00:00:00:00',
|
||||||
|
* internal: true,
|
||||||
|
* cidr: '127.0.0.1/8'
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* address: '::1',
|
||||||
|
* netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
|
||||||
|
* family: 'IPv6',
|
||||||
|
* mac: '00:00:00:00:00:00',
|
||||||
|
* scopeid: 0,
|
||||||
|
* internal: true,
|
||||||
|
* cidr: '::1/128'
|
||||||
|
* }
|
||||||
|
* ],
|
||||||
|
* eth0: [
|
||||||
|
* {
|
||||||
|
* address: '192.168.1.108',
|
||||||
|
* netmask: '255.255.255.0',
|
||||||
|
* family: 'IPv4',
|
||||||
|
* mac: '01:02:03:0a:0b:0c',
|
||||||
|
* internal: false,
|
||||||
|
* cidr: '192.168.1.108/24'
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* address: 'fe80::a00:27ff:fe4e:66a1',
|
||||||
|
* netmask: 'ffff:ffff:ffff:ffff::',
|
||||||
|
* family: 'IPv6',
|
||||||
|
* mac: '01:02:03:0a:0b:0c',
|
||||||
|
* scopeid: 1,
|
||||||
|
* internal: false,
|
||||||
|
* cidr: 'fe80::a00:27ff:fe4e:66a1/64'
|
||||||
|
* }
|
||||||
|
* ]
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>;
|
||||||
|
/**
|
||||||
|
* Returns the string path of the current user's home directory.
|
||||||
|
*
|
||||||
|
* On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it
|
||||||
|
* uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory.
|
||||||
|
*
|
||||||
|
* On Windows, it uses the `USERPROFILE` environment variable if defined.
|
||||||
|
* Otherwise it uses the path to the profile directory of the current user.
|
||||||
|
* @since v2.3.0
|
||||||
|
*/
|
||||||
|
function homedir(): string;
|
||||||
|
/**
|
||||||
|
* Returns information about the currently effective user. On POSIX platforms,
|
||||||
|
* this is typically a subset of the password file. The returned object includes
|
||||||
|
* the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and`gid` fields are `-1`, and `shell` is `null`.
|
||||||
|
*
|
||||||
|
* The value of `homedir` returned by `os.userInfo()` is provided by the operating
|
||||||
|
* system. This differs from the result of `os.homedir()`, which queries
|
||||||
|
* environment variables for the home directory before falling back to the
|
||||||
|
* operating system response.
|
||||||
|
*
|
||||||
|
* Throws a `SystemError` if a user has no `username` or `homedir`.
|
||||||
|
* @since v6.0.0
|
||||||
|
*/
|
||||||
|
function userInfo(options: { encoding: 'buffer' }): UserInfo<Buffer>;
|
||||||
|
function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;
|
||||||
|
type SignalConstants = {
|
||||||
|
[key in NodeJS.Signals]: number;
|
||||||
|
};
|
||||||
|
namespace constants {
|
||||||
|
const UV_UDP_REUSEADDR: number;
|
||||||
|
namespace signals {}
|
||||||
|
const signals: SignalConstants;
|
||||||
|
namespace errno {
|
||||||
|
const E2BIG: number;
|
||||||
|
const EACCES: number;
|
||||||
|
const EADDRINUSE: number;
|
||||||
|
const EADDRNOTAVAIL: number;
|
||||||
|
const EAFNOSUPPORT: number;
|
||||||
|
const EAGAIN: number;
|
||||||
|
const EALREADY: number;
|
||||||
|
const EBADF: number;
|
||||||
|
const EBADMSG: number;
|
||||||
|
const EBUSY: number;
|
||||||
|
const ECANCELED: number;
|
||||||
|
const ECHILD: number;
|
||||||
|
const ECONNABORTED: number;
|
||||||
|
const ECONNREFUSED: number;
|
||||||
|
const ECONNRESET: number;
|
||||||
|
const EDEADLK: number;
|
||||||
|
const EDESTADDRREQ: number;
|
||||||
|
const EDOM: number;
|
||||||
|
const EDQUOT: number;
|
||||||
|
const EEXIST: number;
|
||||||
|
const EFAULT: number;
|
||||||
|
const EFBIG: number;
|
||||||
|
const EHOSTUNREACH: number;
|
||||||
|
const EIDRM: number;
|
||||||
|
const EILSEQ: number;
|
||||||
|
const EINPROGRESS: number;
|
||||||
|
const EINTR: number;
|
||||||
|
const EINVAL: number;
|
||||||
|
const EIO: number;
|
||||||
|
const EISCONN: number;
|
||||||
|
const EISDIR: number;
|
||||||
|
const ELOOP: number;
|
||||||
|
const EMFILE: number;
|
||||||
|
const EMLINK: number;
|
||||||
|
const EMSGSIZE: number;
|
||||||
|
const EMULTIHOP: number;
|
||||||
|
const ENAMETOOLONG: number;
|
||||||
|
const ENETDOWN: number;
|
||||||
|
const ENETRESET: number;
|
||||||
|
const ENETUNREACH: number;
|
||||||
|
const ENFILE: number;
|
||||||
|
const ENOBUFS: number;
|
||||||
|
const ENODATA: number;
|
||||||
|
const ENODEV: number;
|
||||||
|
const ENOENT: number;
|
||||||
|
const ENOEXEC: number;
|
||||||
|
const ENOLCK: number;
|
||||||
|
const ENOLINK: number;
|
||||||
|
const ENOMEM: number;
|
||||||
|
const ENOMSG: number;
|
||||||
|
const ENOPROTOOPT: number;
|
||||||
|
const ENOSPC: number;
|
||||||
|
const ENOSR: number;
|
||||||
|
const ENOSTR: number;
|
||||||
|
const ENOSYS: number;
|
||||||
|
const ENOTCONN: number;
|
||||||
|
const ENOTDIR: number;
|
||||||
|
const ENOTEMPTY: number;
|
||||||
|
const ENOTSOCK: number;
|
||||||
|
const ENOTSUP: number;
|
||||||
|
const ENOTTY: number;
|
||||||
|
const ENXIO: number;
|
||||||
|
const EOPNOTSUPP: number;
|
||||||
|
const EOVERFLOW: number;
|
||||||
|
const EPERM: number;
|
||||||
|
const EPIPE: number;
|
||||||
|
const EPROTO: number;
|
||||||
|
const EPROTONOSUPPORT: number;
|
||||||
|
const EPROTOTYPE: number;
|
||||||
|
const ERANGE: number;
|
||||||
|
const EROFS: number;
|
||||||
|
const ESPIPE: number;
|
||||||
|
const ESRCH: number;
|
||||||
|
const ESTALE: number;
|
||||||
|
const ETIME: number;
|
||||||
|
const ETIMEDOUT: number;
|
||||||
|
const ETXTBSY: number;
|
||||||
|
const EWOULDBLOCK: number;
|
||||||
|
const EXDEV: number;
|
||||||
|
const WSAEINTR: number;
|
||||||
|
const WSAEBADF: number;
|
||||||
|
const WSAEACCES: number;
|
||||||
|
const WSAEFAULT: number;
|
||||||
|
const WSAEINVAL: number;
|
||||||
|
const WSAEMFILE: number;
|
||||||
|
const WSAEWOULDBLOCK: number;
|
||||||
|
const WSAEINPROGRESS: number;
|
||||||
|
const WSAEALREADY: number;
|
||||||
|
const WSAENOTSOCK: number;
|
||||||
|
const WSAEDESTADDRREQ: number;
|
||||||
|
const WSAEMSGSIZE: number;
|
||||||
|
const WSAEPROTOTYPE: number;
|
||||||
|
const WSAENOPROTOOPT: number;
|
||||||
|
const WSAEPROTONOSUPPORT: number;
|
||||||
|
const WSAESOCKTNOSUPPORT: number;
|
||||||
|
const WSAEOPNOTSUPP: number;
|
||||||
|
const WSAEPFNOSUPPORT: number;
|
||||||
|
const WSAEAFNOSUPPORT: number;
|
||||||
|
const WSAEADDRINUSE: number;
|
||||||
|
const WSAEADDRNOTAVAIL: number;
|
||||||
|
const WSAENETDOWN: number;
|
||||||
|
const WSAENETUNREACH: number;
|
||||||
|
const WSAENETRESET: number;
|
||||||
|
const WSAECONNABORTED: number;
|
||||||
|
const WSAECONNRESET: number;
|
||||||
|
const WSAENOBUFS: number;
|
||||||
|
const WSAEISCONN: number;
|
||||||
|
const WSAENOTCONN: number;
|
||||||
|
const WSAESHUTDOWN: number;
|
||||||
|
const WSAETOOMANYREFS: number;
|
||||||
|
const WSAETIMEDOUT: number;
|
||||||
|
const WSAECONNREFUSED: number;
|
||||||
|
const WSAELOOP: number;
|
||||||
|
const WSAENAMETOOLONG: number;
|
||||||
|
const WSAEHOSTDOWN: number;
|
||||||
|
const WSAEHOSTUNREACH: number;
|
||||||
|
const WSAENOTEMPTY: number;
|
||||||
|
const WSAEPROCLIM: number;
|
||||||
|
const WSAEUSERS: number;
|
||||||
|
const WSAEDQUOT: number;
|
||||||
|
const WSAESTALE: number;
|
||||||
|
const WSAEREMOTE: number;
|
||||||
|
const WSASYSNOTREADY: number;
|
||||||
|
const WSAVERNOTSUPPORTED: number;
|
||||||
|
const WSANOTINITIALISED: number;
|
||||||
|
const WSAEDISCON: number;
|
||||||
|
const WSAENOMORE: number;
|
||||||
|
const WSAECANCELLED: number;
|
||||||
|
const WSAEINVALIDPROCTABLE: number;
|
||||||
|
const WSAEINVALIDPROVIDER: number;
|
||||||
|
const WSAEPROVIDERFAILEDINIT: number;
|
||||||
|
const WSASYSCALLFAILURE: number;
|
||||||
|
const WSASERVICE_NOT_FOUND: number;
|
||||||
|
const WSATYPE_NOT_FOUND: number;
|
||||||
|
const WSA_E_NO_MORE: number;
|
||||||
|
const WSA_E_CANCELLED: number;
|
||||||
|
const WSAEREFUSED: number;
|
||||||
|
}
|
||||||
|
namespace priority {
|
||||||
|
const PRIORITY_LOW: number;
|
||||||
|
const PRIORITY_BELOW_NORMAL: number;
|
||||||
|
const PRIORITY_NORMAL: number;
|
||||||
|
const PRIORITY_ABOVE_NORMAL: number;
|
||||||
|
const PRIORITY_HIGH: number;
|
||||||
|
const PRIORITY_HIGHEST: number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const devNull: string;
|
||||||
|
const EOL: string;
|
||||||
|
/**
|
||||||
|
* Returns the operating system CPU architecture for which the Node.js binary was
|
||||||
|
* compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.
|
||||||
|
*
|
||||||
|
* The return value is equivalent to `process.arch`.
|
||||||
|
* @since v0.5.0
|
||||||
|
*/
|
||||||
|
function arch(): string;
|
||||||
|
/**
|
||||||
|
* Returns a string identifying the kernel version.
|
||||||
|
*
|
||||||
|
* On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not
|
||||||
|
* available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
|
||||||
|
* @since v13.11.0, v12.17.0
|
||||||
|
*/
|
||||||
|
function version(): string;
|
||||||
|
/**
|
||||||
|
* Returns a string identifying the operating system platform for which
|
||||||
|
* the Node.js binary was compiled. The value is set at compile time.
|
||||||
|
* Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`,`'openbsd'`, `'sunos'`, and `'win32'`.
|
||||||
|
*
|
||||||
|
* The return value is equivalent to `process.platform`.
|
||||||
|
*
|
||||||
|
* The value `'android'` may also be returned if Node.js is built on the Android
|
||||||
|
* operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).
|
||||||
|
* @since v0.5.0
|
||||||
|
*/
|
||||||
|
function platform(): NodeJS.Platform;
|
||||||
|
/**
|
||||||
|
* Returns the machine type as a string, such as arm, aarch64, mips, mips64, ppc64, ppc64le, s390, s390x, i386, i686, x86_64.
|
||||||
|
*
|
||||||
|
* On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname).
|
||||||
|
* On Windows, `RtlGetVersion()` is used, and if it is not available, `GetVersionExW()` will be used.
|
||||||
|
* See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
|
||||||
|
* @since v18.9.0
|
||||||
|
*/
|
||||||
|
function machine(): string;
|
||||||
|
/**
|
||||||
|
* Returns the operating system's default directory for temporary files as a
|
||||||
|
* string.
|
||||||
|
* @since v0.9.9
|
||||||
|
*/
|
||||||
|
function tmpdir(): string;
|
||||||
|
/**
|
||||||
|
* Returns a string identifying the endianness of the CPU for which the Node.js
|
||||||
|
* binary was compiled.
|
||||||
|
*
|
||||||
|
* Possible values are `'BE'` for big endian and `'LE'` for little endian.
|
||||||
|
* @since v0.9.4
|
||||||
|
*/
|
||||||
|
function endianness(): 'BE' | 'LE';
|
||||||
|
/**
|
||||||
|
* Returns the scheduling priority for the process specified by `pid`. If `pid` is
|
||||||
|
* not provided or is `0`, the priority of the current process is returned.
|
||||||
|
* @since v10.10.0
|
||||||
|
* @param [pid=0] The process ID to retrieve scheduling priority for.
|
||||||
|
*/
|
||||||
|
function getPriority(pid?: number): number;
|
||||||
|
/**
|
||||||
|
* Attempts to set the scheduling priority for the process specified by `pid`. If`pid` is not provided or is `0`, the process ID of the current process is used.
|
||||||
|
*
|
||||||
|
* The `priority` input must be an integer between `-20` (high priority) and `19`(low priority). Due to differences between Unix priority levels and Windows
|
||||||
|
* priority classes, `priority` is mapped to one of six priority constants in`os.constants.priority`. When retrieving a process priority level, this range
|
||||||
|
* mapping may cause the return value to be slightly different on Windows. To avoid
|
||||||
|
* confusion, set `priority` to one of the priority constants.
|
||||||
|
*
|
||||||
|
* On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user
|
||||||
|
* privileges. Otherwise the set priority will be silently reduced to`PRIORITY_HIGH`.
|
||||||
|
* @since v10.10.0
|
||||||
|
* @param [pid=0] The process ID to set scheduling priority for.
|
||||||
|
* @param priority The scheduling priority to assign to the process.
|
||||||
|
*/
|
||||||
|
function setPriority(priority: number): void;
|
||||||
|
function setPriority(pid: number, priority: number): void;
|
||||||
|
}
|
||||||
|
declare module 'node:os' {
|
||||||
|
export * from 'os';
|
||||||
|
}
|
191
node_modules/@types/node/ts4.8/path.d.ts
generated
vendored
Normal file
191
node_modules/@types/node/ts4.8/path.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
declare module 'path/posix' {
|
||||||
|
import path = require('path');
|
||||||
|
export = path;
|
||||||
|
}
|
||||||
|
declare module 'path/win32' {
|
||||||
|
import path = require('path');
|
||||||
|
export = path;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `path` module provides utilities for working with file and directory paths.
|
||||||
|
* It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const path = require('path');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/path.js)
|
||||||
|
*/
|
||||||
|
declare module 'path' {
|
||||||
|
namespace path {
|
||||||
|
/**
|
||||||
|
* A parsed path object generated by path.parse() or consumed by path.format().
|
||||||
|
*/
|
||||||
|
interface ParsedPath {
|
||||||
|
/**
|
||||||
|
* The root of the path such as '/' or 'c:\'
|
||||||
|
*/
|
||||||
|
root: string;
|
||||||
|
/**
|
||||||
|
* The full directory path such as '/home/user/dir' or 'c:\path\dir'
|
||||||
|
*/
|
||||||
|
dir: string;
|
||||||
|
/**
|
||||||
|
* The file name including extension (if any) such as 'index.html'
|
||||||
|
*/
|
||||||
|
base: string;
|
||||||
|
/**
|
||||||
|
* The file extension (if any) such as '.html'
|
||||||
|
*/
|
||||||
|
ext: string;
|
||||||
|
/**
|
||||||
|
* The file name without extension (if any) such as 'index'
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
interface FormatInputPathObject {
|
||||||
|
/**
|
||||||
|
* The root of the path such as '/' or 'c:\'
|
||||||
|
*/
|
||||||
|
root?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The full directory path such as '/home/user/dir' or 'c:\path\dir'
|
||||||
|
*/
|
||||||
|
dir?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The file name including extension (if any) such as 'index.html'
|
||||||
|
*/
|
||||||
|
base?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The file extension (if any) such as '.html'
|
||||||
|
*/
|
||||||
|
ext?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The file name without extension (if any) such as 'index'
|
||||||
|
*/
|
||||||
|
name?: string | undefined;
|
||||||
|
}
|
||||||
|
interface PlatformPath {
|
||||||
|
/**
|
||||||
|
* Normalize a string path, reducing '..' and '.' parts.
|
||||||
|
* When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.
|
||||||
|
*
|
||||||
|
* @param path string path to normalize.
|
||||||
|
* @throws {TypeError} if `path` is not a string.
|
||||||
|
*/
|
||||||
|
normalize(path: string): string;
|
||||||
|
/**
|
||||||
|
* Join all arguments together and normalize the resulting path.
|
||||||
|
*
|
||||||
|
* @param paths paths to join.
|
||||||
|
* @throws {TypeError} if any of the path segments is not a string.
|
||||||
|
*/
|
||||||
|
join(...paths: string[]): string;
|
||||||
|
/**
|
||||||
|
* The right-most parameter is considered {to}. Other parameters are considered an array of {from}.
|
||||||
|
*
|
||||||
|
* Starting from leftmost {from} parameter, resolves {to} to an absolute path.
|
||||||
|
*
|
||||||
|
* If {to} isn't already absolute, {from} arguments are prepended in right to left order,
|
||||||
|
* until an absolute path is found. If after using all {from} paths still no absolute path is found,
|
||||||
|
* the current working directory is used as well. The resulting path is normalized,
|
||||||
|
* and trailing slashes are removed unless the path gets resolved to the root directory.
|
||||||
|
*
|
||||||
|
* @param paths A sequence of paths or path segments.
|
||||||
|
* @throws {TypeError} if any of the arguments is not a string.
|
||||||
|
*/
|
||||||
|
resolve(...paths: string[]): string;
|
||||||
|
/**
|
||||||
|
* Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.
|
||||||
|
*
|
||||||
|
* If the given {path} is a zero-length string, `false` will be returned.
|
||||||
|
*
|
||||||
|
* @param path path to test.
|
||||||
|
* @throws {TypeError} if `path` is not a string.
|
||||||
|
*/
|
||||||
|
isAbsolute(path: string): boolean;
|
||||||
|
/**
|
||||||
|
* Solve the relative path from {from} to {to} based on the current working directory.
|
||||||
|
* At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve.
|
||||||
|
*
|
||||||
|
* @throws {TypeError} if either `from` or `to` is not a string.
|
||||||
|
*/
|
||||||
|
relative(from: string, to: string): string;
|
||||||
|
/**
|
||||||
|
* Return the directory name of a path. Similar to the Unix dirname command.
|
||||||
|
*
|
||||||
|
* @param path the path to evaluate.
|
||||||
|
* @throws {TypeError} if `path` is not a string.
|
||||||
|
*/
|
||||||
|
dirname(path: string): string;
|
||||||
|
/**
|
||||||
|
* Return the last portion of a path. Similar to the Unix basename command.
|
||||||
|
* Often used to extract the file name from a fully qualified path.
|
||||||
|
*
|
||||||
|
* @param path the path to evaluate.
|
||||||
|
* @param ext optionally, an extension to remove from the result.
|
||||||
|
* @throws {TypeError} if `path` is not a string or if `ext` is given and is not a string.
|
||||||
|
*/
|
||||||
|
basename(path: string, ext?: string): string;
|
||||||
|
/**
|
||||||
|
* Return the extension of the path, from the last '.' to end of string in the last portion of the path.
|
||||||
|
* If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string.
|
||||||
|
*
|
||||||
|
* @param path the path to evaluate.
|
||||||
|
* @throws {TypeError} if `path` is not a string.
|
||||||
|
*/
|
||||||
|
extname(path: string): string;
|
||||||
|
/**
|
||||||
|
* The platform-specific file separator. '\\' or '/'.
|
||||||
|
*/
|
||||||
|
readonly sep: '\\' | '/';
|
||||||
|
/**
|
||||||
|
* The platform-specific file delimiter. ';' or ':'.
|
||||||
|
*/
|
||||||
|
readonly delimiter: ';' | ':';
|
||||||
|
/**
|
||||||
|
* Returns an object from a path string - the opposite of format().
|
||||||
|
*
|
||||||
|
* @param path path to evaluate.
|
||||||
|
* @throws {TypeError} if `path` is not a string.
|
||||||
|
*/
|
||||||
|
parse(path: string): ParsedPath;
|
||||||
|
/**
|
||||||
|
* Returns a path string from an object - the opposite of parse().
|
||||||
|
*
|
||||||
|
* @param pathObject path to evaluate.
|
||||||
|
*/
|
||||||
|
format(pathObject: FormatInputPathObject): string;
|
||||||
|
/**
|
||||||
|
* On Windows systems only, returns an equivalent namespace-prefixed path for the given path.
|
||||||
|
* If path is not a string, path will be returned without modifications.
|
||||||
|
* This method is meaningful only on Windows system.
|
||||||
|
* On POSIX systems, the method is non-operational and always returns path without modifications.
|
||||||
|
*/
|
||||||
|
toNamespacedPath(path: string): string;
|
||||||
|
/**
|
||||||
|
* Posix specific pathing.
|
||||||
|
* Same as parent object on posix.
|
||||||
|
*/
|
||||||
|
readonly posix: PlatformPath;
|
||||||
|
/**
|
||||||
|
* Windows specific pathing.
|
||||||
|
* Same as parent object on windows
|
||||||
|
*/
|
||||||
|
readonly win32: PlatformPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const path: path.PlatformPath;
|
||||||
|
export = path;
|
||||||
|
}
|
||||||
|
declare module 'node:path' {
|
||||||
|
import path = require('path');
|
||||||
|
export = path;
|
||||||
|
}
|
||||||
|
declare module 'node:path/posix' {
|
||||||
|
import path = require('path/posix');
|
||||||
|
export = path;
|
||||||
|
}
|
||||||
|
declare module 'node:path/win32' {
|
||||||
|
import path = require('path/win32');
|
||||||
|
export = path;
|
||||||
|
}
|
610
node_modules/@types/node/ts4.8/perf_hooks.d.ts
generated
vendored
Normal file
610
node_modules/@types/node/ts4.8/perf_hooks.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,610 @@
|
||||||
|
/**
|
||||||
|
* This module provides an implementation of a subset of the W3C [Web Performance APIs](https://w3c.github.io/perf-timing-primer/) as well as additional APIs for
|
||||||
|
* Node.js-specific performance measurements.
|
||||||
|
*
|
||||||
|
* Node.js supports the following [Web Performance APIs](https://w3c.github.io/perf-timing-primer/):
|
||||||
|
*
|
||||||
|
* * [High Resolution Time](https://www.w3.org/TR/hr-time-2)
|
||||||
|
* * [Performance Timeline](https://w3c.github.io/performance-timeline/)
|
||||||
|
* * [User Timing](https://www.w3.org/TR/user-timing/)
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { PerformanceObserver, performance } = require('perf_hooks');
|
||||||
|
*
|
||||||
|
* const obs = new PerformanceObserver((items) => {
|
||||||
|
* console.log(items.getEntries()[0].duration);
|
||||||
|
* performance.clearMarks();
|
||||||
|
* });
|
||||||
|
* obs.observe({ type: 'measure' });
|
||||||
|
* performance.measure('Start to Now');
|
||||||
|
*
|
||||||
|
* performance.mark('A');
|
||||||
|
* doSomeLongRunningProcess(() => {
|
||||||
|
* performance.measure('A to Now', 'A');
|
||||||
|
*
|
||||||
|
* performance.mark('B');
|
||||||
|
* performance.measure('A to B', 'A', 'B');
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/perf_hooks.js)
|
||||||
|
*/
|
||||||
|
declare module 'perf_hooks' {
|
||||||
|
import { AsyncResource } from 'node:async_hooks';
|
||||||
|
type EntryType = 'node' | 'mark' | 'measure' | 'gc' | 'function' | 'http2' | 'http';
|
||||||
|
interface NodeGCPerformanceDetail {
|
||||||
|
/**
|
||||||
|
* When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies
|
||||||
|
* the type of garbage collection operation that occurred.
|
||||||
|
* See perf_hooks.constants for valid values.
|
||||||
|
*/
|
||||||
|
readonly kind?: number | undefined;
|
||||||
|
/**
|
||||||
|
* When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`
|
||||||
|
* property contains additional information about garbage collection operation.
|
||||||
|
* See perf_hooks.constants for valid values.
|
||||||
|
*/
|
||||||
|
readonly flags?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
class PerformanceEntry {
|
||||||
|
protected constructor();
|
||||||
|
/**
|
||||||
|
* The total number of milliseconds elapsed for this entry. This value will not
|
||||||
|
* be meaningful for all Performance Entry types.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly duration: number;
|
||||||
|
/**
|
||||||
|
* The name of the performance entry.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly name: string;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp marking the starting time of the
|
||||||
|
* Performance Entry.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly startTime: number;
|
||||||
|
/**
|
||||||
|
* The type of the performance entry. It may be one of:
|
||||||
|
*
|
||||||
|
* * `'node'` (Node.js only)
|
||||||
|
* * `'mark'` (available on the Web)
|
||||||
|
* * `'measure'` (available on the Web)
|
||||||
|
* * `'gc'` (Node.js only)
|
||||||
|
* * `'function'` (Node.js only)
|
||||||
|
* * `'http2'` (Node.js only)
|
||||||
|
* * `'http'` (Node.js only)
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly entryType: EntryType;
|
||||||
|
/**
|
||||||
|
* Additional detail specific to the `entryType`.
|
||||||
|
* @since v16.0.0
|
||||||
|
*/
|
||||||
|
readonly detail?: NodeGCPerformanceDetail | unknown | undefined; // TODO: Narrow this based on entry type.
|
||||||
|
toJSON(): any;
|
||||||
|
}
|
||||||
|
class PerformanceMark extends PerformanceEntry {
|
||||||
|
readonly duration: 0;
|
||||||
|
readonly entryType: 'mark';
|
||||||
|
}
|
||||||
|
class PerformanceMeasure extends PerformanceEntry {
|
||||||
|
readonly entryType: 'measure';
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* _This property is an extension by Node.js. It is not available in Web browsers._
|
||||||
|
*
|
||||||
|
* Provides timing details for Node.js itself. The constructor of this class
|
||||||
|
* is not exposed to users.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
class PerformanceNodeTiming extends PerformanceEntry {
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp at which the Node.js process
|
||||||
|
* completed bootstrapping. If bootstrapping has not yet finished, the property
|
||||||
|
* has the value of -1.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly bootstrapComplete: number;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp at which the Node.js environment was
|
||||||
|
* initialized.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly environment: number;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp of the amount of time the event loop
|
||||||
|
* has been idle within the event loop's event provider (e.g. `epoll_wait`). This
|
||||||
|
* does not take CPU usage into consideration. If the event loop has not yet
|
||||||
|
* started (e.g., in the first tick of the main script), the property has the
|
||||||
|
* value of 0.
|
||||||
|
* @since v14.10.0, v12.19.0
|
||||||
|
*/
|
||||||
|
readonly idleTime: number;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp at which the Node.js event loop
|
||||||
|
* exited. If the event loop has not yet exited, the property has the value of -1\.
|
||||||
|
* It can only have a value of not -1 in a handler of the `'exit'` event.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly loopExit: number;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp at which the Node.js event loop
|
||||||
|
* started. If the event loop has not yet started (e.g., in the first tick of the
|
||||||
|
* main script), the property has the value of -1.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly loopStart: number;
|
||||||
|
/**
|
||||||
|
* The high resolution millisecond timestamp at which the V8 platform was
|
||||||
|
* initialized.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
readonly v8Start: number;
|
||||||
|
}
|
||||||
|
interface EventLoopUtilization {
|
||||||
|
idle: number;
|
||||||
|
active: number;
|
||||||
|
utilization: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param util1 The result of a previous call to eventLoopUtilization()
|
||||||
|
* @param util2 The result of a previous call to eventLoopUtilization() prior to util1
|
||||||
|
*/
|
||||||
|
type EventLoopUtilityFunction = (util1?: EventLoopUtilization, util2?: EventLoopUtilization) => EventLoopUtilization;
|
||||||
|
interface MarkOptions {
|
||||||
|
/**
|
||||||
|
* Additional optional detail to include with the mark.
|
||||||
|
*/
|
||||||
|
detail?: unknown | undefined;
|
||||||
|
/**
|
||||||
|
* An optional timestamp to be used as the mark time.
|
||||||
|
* @default `performance.now()`.
|
||||||
|
*/
|
||||||
|
startTime?: number | undefined;
|
||||||
|
}
|
||||||
|
interface MeasureOptions {
|
||||||
|
/**
|
||||||
|
* Additional optional detail to include with the mark.
|
||||||
|
*/
|
||||||
|
detail?: unknown | undefined;
|
||||||
|
/**
|
||||||
|
* Duration between start and end times.
|
||||||
|
*/
|
||||||
|
duration?: number | undefined;
|
||||||
|
/**
|
||||||
|
* Timestamp to be used as the end time, or a string identifying a previously recorded mark.
|
||||||
|
*/
|
||||||
|
end?: number | string | undefined;
|
||||||
|
/**
|
||||||
|
* Timestamp to be used as the start time, or a string identifying a previously recorded mark.
|
||||||
|
*/
|
||||||
|
start?: number | string | undefined;
|
||||||
|
}
|
||||||
|
interface TimerifyOptions {
|
||||||
|
/**
|
||||||
|
* A histogram object created using
|
||||||
|
* `perf_hooks.createHistogram()` that will record runtime durations in
|
||||||
|
* nanoseconds.
|
||||||
|
*/
|
||||||
|
histogram?: RecordableHistogram | undefined;
|
||||||
|
}
|
||||||
|
interface Performance {
|
||||||
|
/**
|
||||||
|
* If name is not provided, removes all PerformanceMark objects from the Performance Timeline.
|
||||||
|
* If name is provided, removes only the named mark.
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
clearMarks(name?: string): void;
|
||||||
|
/**
|
||||||
|
* If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline.
|
||||||
|
* If name is provided, removes only the named measure.
|
||||||
|
* @param name
|
||||||
|
* @since v16.7.0
|
||||||
|
*/
|
||||||
|
clearMeasures(name?: string): void;
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`.
|
||||||
|
* If you are only interested in performance entries of certain types or that have certain names, see
|
||||||
|
* `performance.getEntriesByType()` and `performance.getEntriesByName()`.
|
||||||
|
* @since v16.7.0
|
||||||
|
*/
|
||||||
|
getEntries(): PerformanceEntry[];
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
|
||||||
|
* whose `performanceEntry.name` is equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to `type`.
|
||||||
|
* @param name
|
||||||
|
* @param type
|
||||||
|
* @since v16.7.0
|
||||||
|
*/
|
||||||
|
getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
|
||||||
|
* whose `performanceEntry.entryType` is equal to `type`.
|
||||||
|
* @param type
|
||||||
|
* @since v16.7.0
|
||||||
|
*/
|
||||||
|
getEntriesByType(type: EntryType): PerformanceEntry[];
|
||||||
|
/**
|
||||||
|
* Creates a new PerformanceMark entry in the Performance Timeline.
|
||||||
|
* A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark',
|
||||||
|
* and whose performanceEntry.duration is always 0.
|
||||||
|
* Performance marks are used to mark specific significant moments in the Performance Timeline.
|
||||||
|
* @param name
|
||||||
|
* @return The PerformanceMark entry that was created
|
||||||
|
*/
|
||||||
|
mark(name?: string, options?: MarkOptions): PerformanceMark;
|
||||||
|
/**
|
||||||
|
* Creates a new PerformanceMeasure entry in the Performance Timeline.
|
||||||
|
* A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure',
|
||||||
|
* and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.
|
||||||
|
*
|
||||||
|
* The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify
|
||||||
|
* any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist,
|
||||||
|
* then startMark is set to timeOrigin by default.
|
||||||
|
*
|
||||||
|
* The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp
|
||||||
|
* properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.
|
||||||
|
* @param name
|
||||||
|
* @param startMark
|
||||||
|
* @param endMark
|
||||||
|
* @return The PerformanceMeasure entry that was created
|
||||||
|
*/
|
||||||
|
measure(name: string, startMark?: string, endMark?: string): PerformanceMeasure;
|
||||||
|
measure(name: string, options: MeasureOptions): PerformanceMeasure;
|
||||||
|
/**
|
||||||
|
* An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones.
|
||||||
|
*/
|
||||||
|
readonly nodeTiming: PerformanceNodeTiming;
|
||||||
|
/**
|
||||||
|
* @return the current high resolution millisecond timestamp
|
||||||
|
*/
|
||||||
|
now(): number;
|
||||||
|
/**
|
||||||
|
* The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured.
|
||||||
|
*/
|
||||||
|
readonly timeOrigin: number;
|
||||||
|
/**
|
||||||
|
* Wraps a function within a new function that measures the running time of the wrapped function.
|
||||||
|
* A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed.
|
||||||
|
* @param fn
|
||||||
|
*/
|
||||||
|
timerify<T extends (...params: any[]) => any>(fn: T, options?: TimerifyOptions): T;
|
||||||
|
/**
|
||||||
|
* eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time.
|
||||||
|
* It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait).
|
||||||
|
* No other CPU idle time is taken into consideration.
|
||||||
|
*/
|
||||||
|
eventLoopUtilization: EventLoopUtilityFunction;
|
||||||
|
}
|
||||||
|
interface PerformanceObserverEntryList {
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order
|
||||||
|
* with respect to `performanceEntry.startTime`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* performance,
|
||||||
|
* PerformanceObserver
|
||||||
|
* } = require('perf_hooks');
|
||||||
|
*
|
||||||
|
* const obs = new PerformanceObserver((perfObserverList, observer) => {
|
||||||
|
* console.log(perfObserverList.getEntries());
|
||||||
|
*
|
||||||
|
* * [
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'test',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 81.465639,
|
||||||
|
* * duration: 0
|
||||||
|
* * },
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'meow',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 81.860064,
|
||||||
|
* * duration: 0
|
||||||
|
* * }
|
||||||
|
* * ]
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* performance.clearMarks();
|
||||||
|
* performance.clearMeasures();
|
||||||
|
* observer.disconnect();
|
||||||
|
* });
|
||||||
|
* obs.observe({ type: 'mark' });
|
||||||
|
*
|
||||||
|
* performance.mark('test');
|
||||||
|
* performance.mark('meow');
|
||||||
|
* ```
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
getEntries(): PerformanceEntry[];
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order
|
||||||
|
* with respect to `performanceEntry.startTime` whose `performanceEntry.name` is
|
||||||
|
* equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to`type`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* performance,
|
||||||
|
* PerformanceObserver
|
||||||
|
* } = require('perf_hooks');
|
||||||
|
*
|
||||||
|
* const obs = new PerformanceObserver((perfObserverList, observer) => {
|
||||||
|
* console.log(perfObserverList.getEntriesByName('meow'));
|
||||||
|
*
|
||||||
|
* * [
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'meow',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 98.545991,
|
||||||
|
* * duration: 0
|
||||||
|
* * }
|
||||||
|
* * ]
|
||||||
|
*
|
||||||
|
* console.log(perfObserverList.getEntriesByName('nope')); // []
|
||||||
|
*
|
||||||
|
* console.log(perfObserverList.getEntriesByName('test', 'mark'));
|
||||||
|
*
|
||||||
|
* * [
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'test',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 63.518931,
|
||||||
|
* * duration: 0
|
||||||
|
* * }
|
||||||
|
* * ]
|
||||||
|
*
|
||||||
|
* console.log(perfObserverList.getEntriesByName('test', 'measure')); // []
|
||||||
|
*
|
||||||
|
* performance.clearMarks();
|
||||||
|
* performance.clearMeasures();
|
||||||
|
* observer.disconnect();
|
||||||
|
* });
|
||||||
|
* obs.observe({ entryTypes: ['mark', 'measure'] });
|
||||||
|
*
|
||||||
|
* performance.mark('test');
|
||||||
|
* performance.mark('meow');
|
||||||
|
* ```
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
|
||||||
|
/**
|
||||||
|
* Returns a list of `PerformanceEntry` objects in chronological order
|
||||||
|
* with respect to `performanceEntry.startTime` whose `performanceEntry.entryType`is equal to `type`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* performance,
|
||||||
|
* PerformanceObserver
|
||||||
|
* } = require('perf_hooks');
|
||||||
|
*
|
||||||
|
* const obs = new PerformanceObserver((perfObserverList, observer) => {
|
||||||
|
* console.log(perfObserverList.getEntriesByType('mark'));
|
||||||
|
*
|
||||||
|
* * [
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'test',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 55.897834,
|
||||||
|
* * duration: 0
|
||||||
|
* * },
|
||||||
|
* * PerformanceEntry {
|
||||||
|
* * name: 'meow',
|
||||||
|
* * entryType: 'mark',
|
||||||
|
* * startTime: 56.350146,
|
||||||
|
* * duration: 0
|
||||||
|
* * }
|
||||||
|
* * ]
|
||||||
|
*
|
||||||
|
* performance.clearMarks();
|
||||||
|
* performance.clearMeasures();
|
||||||
|
* observer.disconnect();
|
||||||
|
* });
|
||||||
|
* obs.observe({ type: 'mark' });
|
||||||
|
*
|
||||||
|
* performance.mark('test');
|
||||||
|
* performance.mark('meow');
|
||||||
|
* ```
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
getEntriesByType(type: EntryType): PerformanceEntry[];
|
||||||
|
}
|
||||||
|
type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void;
|
||||||
|
class PerformanceObserver extends AsyncResource {
|
||||||
|
constructor(callback: PerformanceObserverCallback);
|
||||||
|
/**
|
||||||
|
* Disconnects the `PerformanceObserver` instance from all notifications.
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
disconnect(): void;
|
||||||
|
/**
|
||||||
|
* Subscribes the `PerformanceObserver` instance to notifications of new `PerformanceEntry` instances identified either by `options.entryTypes`or `options.type`:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* performance,
|
||||||
|
* PerformanceObserver
|
||||||
|
* } = require('perf_hooks');
|
||||||
|
*
|
||||||
|
* const obs = new PerformanceObserver((list, observer) => {
|
||||||
|
* // Called once asynchronously. `list` contains three items.
|
||||||
|
* });
|
||||||
|
* obs.observe({ type: 'mark' });
|
||||||
|
*
|
||||||
|
* for (let n = 0; n < 3; n++)
|
||||||
|
* performance.mark(`test${n}`);
|
||||||
|
* ```
|
||||||
|
* @since v8.5.0
|
||||||
|
*/
|
||||||
|
observe(
|
||||||
|
options:
|
||||||
|
| {
|
||||||
|
entryTypes: ReadonlyArray<EntryType>;
|
||||||
|
buffered?: boolean | undefined;
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
type: EntryType;
|
||||||
|
buffered?: boolean | undefined;
|
||||||
|
}
|
||||||
|
): void;
|
||||||
|
}
|
||||||
|
namespace constants {
|
||||||
|
const NODE_PERFORMANCE_GC_MAJOR: number;
|
||||||
|
const NODE_PERFORMANCE_GC_MINOR: number;
|
||||||
|
const NODE_PERFORMANCE_GC_INCREMENTAL: number;
|
||||||
|
const NODE_PERFORMANCE_GC_WEAKCB: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_NO: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_FORCED: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number;
|
||||||
|
const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number;
|
||||||
|
}
|
||||||
|
const performance: Performance;
|
||||||
|
interface EventLoopMonitorOptions {
|
||||||
|
/**
|
||||||
|
* The sampling rate in milliseconds.
|
||||||
|
* Must be greater than zero.
|
||||||
|
* @default 10
|
||||||
|
*/
|
||||||
|
resolution?: number | undefined;
|
||||||
|
}
|
||||||
|
interface Histogram {
|
||||||
|
/**
|
||||||
|
* Returns a `Map` object detailing the accumulated percentile distribution.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly percentiles: Map<number, number>;
|
||||||
|
/**
|
||||||
|
* The number of times the event loop delay exceeded the maximum 1 hour event
|
||||||
|
* loop delay threshold.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly exceeds: number;
|
||||||
|
/**
|
||||||
|
* The minimum recorded event loop delay.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly min: number;
|
||||||
|
/**
|
||||||
|
* The maximum recorded event loop delay.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly max: number;
|
||||||
|
/**
|
||||||
|
* The mean of the recorded event loop delays.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly mean: number;
|
||||||
|
/**
|
||||||
|
* The standard deviation of the recorded event loop delays.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
readonly stddev: number;
|
||||||
|
/**
|
||||||
|
* Resets the collected histogram data.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
reset(): void;
|
||||||
|
/**
|
||||||
|
* Returns the value at the given percentile.
|
||||||
|
* @since v11.10.0
|
||||||
|
* @param percentile A percentile value in the range (0, 100].
|
||||||
|
*/
|
||||||
|
percentile(percentile: number): number;
|
||||||
|
}
|
||||||
|
interface IntervalHistogram extends Histogram {
|
||||||
|
/**
|
||||||
|
* Enables the update interval timer. Returns `true` if the timer was
|
||||||
|
* started, `false` if it was already started.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
enable(): boolean;
|
||||||
|
/**
|
||||||
|
* Disables the update interval timer. Returns `true` if the timer was
|
||||||
|
* stopped, `false` if it was already stopped.
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
disable(): boolean;
|
||||||
|
}
|
||||||
|
interface RecordableHistogram extends Histogram {
|
||||||
|
/**
|
||||||
|
* @since v15.9.0, v14.18.0
|
||||||
|
* @param val The amount to record in the histogram.
|
||||||
|
*/
|
||||||
|
record(val: number | bigint): void;
|
||||||
|
/**
|
||||||
|
* Calculates the amount of time (in nanoseconds) that has passed since the
|
||||||
|
* previous call to `recordDelta()` and records that amount in the histogram.
|
||||||
|
*
|
||||||
|
* ## Examples
|
||||||
|
* @since v15.9.0, v14.18.0
|
||||||
|
*/
|
||||||
|
recordDelta(): void;
|
||||||
|
/**
|
||||||
|
* Adds the values from other to this histogram.
|
||||||
|
* @since v17.4.0, v16.14.0
|
||||||
|
* @param other Recordable Histogram to combine with
|
||||||
|
*/
|
||||||
|
add(other: RecordableHistogram): void;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* _This property is an extension by Node.js. It is not available in Web browsers._
|
||||||
|
*
|
||||||
|
* Creates an `IntervalHistogram` object that samples and reports the event loop
|
||||||
|
* delay over time. The delays will be reported in nanoseconds.
|
||||||
|
*
|
||||||
|
* Using a timer to detect approximate event loop delay works because the
|
||||||
|
* execution of timers is tied specifically to the lifecycle of the libuv
|
||||||
|
* event loop. That is, a delay in the loop will cause a delay in the execution
|
||||||
|
* of the timer, and those delays are specifically what this API is intended to
|
||||||
|
* detect.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { monitorEventLoopDelay } = require('perf_hooks');
|
||||||
|
* const h = monitorEventLoopDelay({ resolution: 20 });
|
||||||
|
* h.enable();
|
||||||
|
* // Do something.
|
||||||
|
* h.disable();
|
||||||
|
* console.log(h.min);
|
||||||
|
* console.log(h.max);
|
||||||
|
* console.log(h.mean);
|
||||||
|
* console.log(h.stddev);
|
||||||
|
* console.log(h.percentiles);
|
||||||
|
* console.log(h.percentile(50));
|
||||||
|
* console.log(h.percentile(99));
|
||||||
|
* ```
|
||||||
|
* @since v11.10.0
|
||||||
|
*/
|
||||||
|
function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;
|
||||||
|
interface CreateHistogramOptions {
|
||||||
|
/**
|
||||||
|
* The minimum recordable value. Must be an integer value greater than 0.
|
||||||
|
* @default 1
|
||||||
|
*/
|
||||||
|
min?: number | bigint | undefined;
|
||||||
|
/**
|
||||||
|
* The maximum recordable value. Must be an integer value greater than min.
|
||||||
|
* @default Number.MAX_SAFE_INTEGER
|
||||||
|
*/
|
||||||
|
max?: number | bigint | undefined;
|
||||||
|
/**
|
||||||
|
* The number of accuracy digits. Must be a number between 1 and 5.
|
||||||
|
* @default 3
|
||||||
|
*/
|
||||||
|
figures?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Returns a `RecordableHistogram`.
|
||||||
|
* @since v15.9.0, v14.18.0
|
||||||
|
*/
|
||||||
|
function createHistogram(options?: CreateHistogramOptions): RecordableHistogram;
|
||||||
|
}
|
||||||
|
declare module 'node:perf_hooks' {
|
||||||
|
export * from 'perf_hooks';
|
||||||
|
}
|
1482
node_modules/@types/node/ts4.8/process.d.ts
generated
vendored
Normal file
1482
node_modules/@types/node/ts4.8/process.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
117
node_modules/@types/node/ts4.8/punycode.d.ts
generated
vendored
Normal file
117
node_modules/@types/node/ts4.8/punycode.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
/**
|
||||||
|
* **The version of the punycode module bundled in Node.js is being deprecated.**In a future major version of Node.js this module will be removed. Users
|
||||||
|
* currently depending on the `punycode` module should switch to using the
|
||||||
|
* userland-provided [Punycode.js](https://github.com/bestiejs/punycode.js) module instead. For punycode-based URL
|
||||||
|
* encoding, see `url.domainToASCII` or, more generally, the `WHATWG URL API`.
|
||||||
|
*
|
||||||
|
* The `punycode` module is a bundled version of the [Punycode.js](https://github.com/bestiejs/punycode.js) module. It
|
||||||
|
* can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const punycode = require('punycode');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* [Punycode](https://tools.ietf.org/html/rfc3492) is a character encoding scheme defined by RFC 3492 that is
|
||||||
|
* primarily intended for use in Internationalized Domain Names. Because host
|
||||||
|
* names in URLs are limited to ASCII characters only, Domain Names that contain
|
||||||
|
* non-ASCII characters must be converted into ASCII using the Punycode scheme.
|
||||||
|
* For instance, the Japanese character that translates into the English word,`'example'` is `'例'`. The Internationalized Domain Name, `'例.com'` (equivalent
|
||||||
|
* to `'example.com'`) is represented by Punycode as the ASCII string`'xn--fsq.com'`.
|
||||||
|
*
|
||||||
|
* The `punycode` module provides a simple implementation of the Punycode standard.
|
||||||
|
*
|
||||||
|
* The `punycode` module is a third-party dependency used by Node.js and
|
||||||
|
* made available to developers as a convenience. Fixes or other modifications to
|
||||||
|
* the module must be directed to the [Punycode.js](https://github.com/bestiejs/punycode.js) project.
|
||||||
|
* @deprecated Since v7.0.0 - Deprecated
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/punycode.js)
|
||||||
|
*/
|
||||||
|
declare module 'punycode' {
|
||||||
|
/**
|
||||||
|
* The `punycode.decode()` method converts a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only
|
||||||
|
* characters to the equivalent string of Unicode codepoints.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* punycode.decode('maana-pta'); // 'mañana'
|
||||||
|
* punycode.decode('--dqo34k'); // '☃-⌘'
|
||||||
|
* ```
|
||||||
|
* @since v0.5.1
|
||||||
|
*/
|
||||||
|
function decode(string: string): string;
|
||||||
|
/**
|
||||||
|
* The `punycode.encode()` method converts a string of Unicode codepoints to a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only characters.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* punycode.encode('mañana'); // 'maana-pta'
|
||||||
|
* punycode.encode('☃-⌘'); // '--dqo34k'
|
||||||
|
* ```
|
||||||
|
* @since v0.5.1
|
||||||
|
*/
|
||||||
|
function encode(string: string): string;
|
||||||
|
/**
|
||||||
|
* The `punycode.toUnicode()` method converts a string representing a domain name
|
||||||
|
* containing [Punycode](https://tools.ietf.org/html/rfc3492) encoded characters into Unicode. Only the [Punycode](https://tools.ietf.org/html/rfc3492) encoded parts of the domain name are be
|
||||||
|
* converted.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // decode domain names
|
||||||
|
* punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com'
|
||||||
|
* punycode.toUnicode('xn----dqo34k.com'); // '☃-⌘.com'
|
||||||
|
* punycode.toUnicode('example.com'); // 'example.com'
|
||||||
|
* ```
|
||||||
|
* @since v0.6.1
|
||||||
|
*/
|
||||||
|
function toUnicode(domain: string): string;
|
||||||
|
/**
|
||||||
|
* The `punycode.toASCII()` method converts a Unicode string representing an
|
||||||
|
* Internationalized Domain Name to [Punycode](https://tools.ietf.org/html/rfc3492). Only the non-ASCII parts of the
|
||||||
|
* domain name will be converted. Calling `punycode.toASCII()` on a string that
|
||||||
|
* already only contains ASCII characters will have no effect.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // encode domain names
|
||||||
|
* punycode.toASCII('mañana.com'); // 'xn--maana-pta.com'
|
||||||
|
* punycode.toASCII('☃-⌘.com'); // 'xn----dqo34k.com'
|
||||||
|
* punycode.toASCII('example.com'); // 'example.com'
|
||||||
|
* ```
|
||||||
|
* @since v0.6.1
|
||||||
|
*/
|
||||||
|
function toASCII(domain: string): string;
|
||||||
|
/**
|
||||||
|
* @deprecated since v7.0.0
|
||||||
|
* The version of the punycode module bundled in Node.js is being deprecated.
|
||||||
|
* In a future major version of Node.js this module will be removed.
|
||||||
|
* Users currently depending on the punycode module should switch to using
|
||||||
|
* the userland-provided Punycode.js module instead.
|
||||||
|
*/
|
||||||
|
const ucs2: ucs2;
|
||||||
|
interface ucs2 {
|
||||||
|
/**
|
||||||
|
* @deprecated since v7.0.0
|
||||||
|
* The version of the punycode module bundled in Node.js is being deprecated.
|
||||||
|
* In a future major version of Node.js this module will be removed.
|
||||||
|
* Users currently depending on the punycode module should switch to using
|
||||||
|
* the userland-provided Punycode.js module instead.
|
||||||
|
*/
|
||||||
|
decode(string: string): number[];
|
||||||
|
/**
|
||||||
|
* @deprecated since v7.0.0
|
||||||
|
* The version of the punycode module bundled in Node.js is being deprecated.
|
||||||
|
* In a future major version of Node.js this module will be removed.
|
||||||
|
* Users currently depending on the punycode module should switch to using
|
||||||
|
* the userland-provided Punycode.js module instead.
|
||||||
|
*/
|
||||||
|
encode(codePoints: ReadonlyArray<number>): string;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @deprecated since v7.0.0
|
||||||
|
* The version of the punycode module bundled in Node.js is being deprecated.
|
||||||
|
* In a future major version of Node.js this module will be removed.
|
||||||
|
* Users currently depending on the punycode module should switch to using
|
||||||
|
* the userland-provided Punycode.js module instead.
|
||||||
|
*/
|
||||||
|
const version: string;
|
||||||
|
}
|
||||||
|
declare module 'node:punycode' {
|
||||||
|
export * from 'punycode';
|
||||||
|
}
|
131
node_modules/@types/node/ts4.8/querystring.d.ts
generated
vendored
Normal file
131
node_modules/@types/node/ts4.8/querystring.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
/**
|
||||||
|
* The `querystring` module provides utilities for parsing and formatting URL
|
||||||
|
* query strings. It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const querystring = require('querystring');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The `querystring` API is considered Legacy. While it is still maintained,
|
||||||
|
* new code should use the `URLSearchParams` API instead.
|
||||||
|
* @deprecated Legacy
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/querystring.js)
|
||||||
|
*/
|
||||||
|
declare module 'querystring' {
|
||||||
|
interface StringifyOptions {
|
||||||
|
encodeURIComponent?: ((str: string) => string) | undefined;
|
||||||
|
}
|
||||||
|
interface ParseOptions {
|
||||||
|
maxKeys?: number | undefined;
|
||||||
|
decodeURIComponent?: ((str: string) => string) | undefined;
|
||||||
|
}
|
||||||
|
interface ParsedUrlQuery extends NodeJS.Dict<string | string[]> {}
|
||||||
|
interface ParsedUrlQueryInput extends NodeJS.Dict<string | number | boolean | ReadonlyArray<string> | ReadonlyArray<number> | ReadonlyArray<boolean> | null> {}
|
||||||
|
/**
|
||||||
|
* The `querystring.stringify()` method produces a URL query string from a
|
||||||
|
* given `obj` by iterating through the object's "own properties".
|
||||||
|
*
|
||||||
|
* It serializes the following types of values passed in `obj`:[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |
|
||||||
|
* [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) |
|
||||||
|
* [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) |
|
||||||
|
* [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) |
|
||||||
|
* [string\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |
|
||||||
|
* [number\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) |
|
||||||
|
* [bigint\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) |
|
||||||
|
* [boolean\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) The numeric values must be finite. Any other input values will be coerced to
|
||||||
|
* empty strings.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
|
||||||
|
* // Returns 'foo=bar&baz=qux&baz=quux&corge='
|
||||||
|
*
|
||||||
|
* querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':');
|
||||||
|
* // Returns 'foo:bar;baz:qux'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* By default, characters requiring percent-encoding within the query string will
|
||||||
|
* be encoded as UTF-8\. If an alternative encoding is required, then an alternative`encodeURIComponent` option will need to be specified:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // Assuming gbkEncodeURIComponent function already exists,
|
||||||
|
*
|
||||||
|
* querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
|
||||||
|
* { encodeURIComponent: gbkEncodeURIComponent });
|
||||||
|
* ```
|
||||||
|
* @since v0.1.25
|
||||||
|
* @param obj The object to serialize into a URL query string
|
||||||
|
* @param [sep='&'] The substring used to delimit key and value pairs in the query string.
|
||||||
|
* @param [eq='='] . The substring used to delimit keys and values in the query string.
|
||||||
|
*/
|
||||||
|
function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string;
|
||||||
|
/**
|
||||||
|
* The `querystring.parse()` method parses a URL query string (`str`) into a
|
||||||
|
* collection of key and value pairs.
|
||||||
|
*
|
||||||
|
* For example, the query string `'foo=bar&abc=xyz&abc=123'` is parsed into:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* foo: 'bar',
|
||||||
|
* abc: ['xyz', '123']
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The object returned by the `querystring.parse()` method _does not_prototypically inherit from the JavaScript `Object`. This means that typical`Object` methods such as `obj.toString()`,
|
||||||
|
* `obj.hasOwnProperty()`, and others
|
||||||
|
* are not defined and _will not work_.
|
||||||
|
*
|
||||||
|
* By default, percent-encoded characters within the query string will be assumed
|
||||||
|
* to use UTF-8 encoding. If an alternative character encoding is used, then an
|
||||||
|
* alternative `decodeURIComponent` option will need to be specified:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // Assuming gbkDecodeURIComponent function already exists...
|
||||||
|
*
|
||||||
|
* querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
|
||||||
|
* { decodeURIComponent: gbkDecodeURIComponent });
|
||||||
|
* ```
|
||||||
|
* @since v0.1.25
|
||||||
|
* @param str The URL query string to parse
|
||||||
|
* @param [sep='&'] The substring used to delimit key and value pairs in the query string.
|
||||||
|
* @param [eq='='] . The substring used to delimit keys and values in the query string.
|
||||||
|
*/
|
||||||
|
function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery;
|
||||||
|
/**
|
||||||
|
* The querystring.encode() function is an alias for querystring.stringify().
|
||||||
|
*/
|
||||||
|
const encode: typeof stringify;
|
||||||
|
/**
|
||||||
|
* The querystring.decode() function is an alias for querystring.parse().
|
||||||
|
*/
|
||||||
|
const decode: typeof parse;
|
||||||
|
/**
|
||||||
|
* The `querystring.escape()` method performs URL percent-encoding on the given`str` in a manner that is optimized for the specific requirements of URL
|
||||||
|
* query strings.
|
||||||
|
*
|
||||||
|
* The `querystring.escape()` method is used by `querystring.stringify()` and is
|
||||||
|
* generally not expected to be used directly. It is exported primarily to allow
|
||||||
|
* application code to provide a replacement percent-encoding implementation if
|
||||||
|
* necessary by assigning `querystring.escape` to an alternative function.
|
||||||
|
* @since v0.1.25
|
||||||
|
*/
|
||||||
|
function escape(str: string): string;
|
||||||
|
/**
|
||||||
|
* The `querystring.unescape()` method performs decoding of URL percent-encoded
|
||||||
|
* characters on the given `str`.
|
||||||
|
*
|
||||||
|
* The `querystring.unescape()` method is used by `querystring.parse()` and is
|
||||||
|
* generally not expected to be used directly. It is exported primarily to allow
|
||||||
|
* application code to provide a replacement decoding implementation if
|
||||||
|
* necessary by assigning `querystring.unescape` to an alternative function.
|
||||||
|
*
|
||||||
|
* By default, the `querystring.unescape()` method will attempt to use the
|
||||||
|
* JavaScript built-in `decodeURIComponent()` method to decode. If that fails,
|
||||||
|
* a safer equivalent that does not throw on malformed URLs will be used.
|
||||||
|
* @since v0.1.25
|
||||||
|
*/
|
||||||
|
function unescape(str: string): string;
|
||||||
|
}
|
||||||
|
declare module 'node:querystring' {
|
||||||
|
export * from 'querystring';
|
||||||
|
}
|
653
node_modules/@types/node/ts4.8/readline.d.ts
generated
vendored
Normal file
653
node_modules/@types/node/ts4.8/readline.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,653 @@
|
||||||
|
/**
|
||||||
|
* The `readline` module provides an interface for reading data from a `Readable` stream (such as `process.stdin`) one line at a time.
|
||||||
|
*
|
||||||
|
* To use the promise-based APIs:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import * as readline from 'node:readline/promises';
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* To use the callback and sync APIs:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import * as readline from 'node:readline';
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The following simple example illustrates the basic use of the `readline` module.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import * as readline from 'node:readline/promises';
|
||||||
|
* import { stdin as input, stdout as output } from 'node:process';
|
||||||
|
*
|
||||||
|
* const rl = readline.createInterface({ input, output });
|
||||||
|
*
|
||||||
|
* const answer = await rl.question('What do you think of Node.js? ');
|
||||||
|
*
|
||||||
|
* console.log(`Thank you for your valuable feedback: ${answer}`);
|
||||||
|
*
|
||||||
|
* rl.close();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Once this code is invoked, the Node.js application will not terminate until the`readline.Interface` is closed because the interface waits for data to be
|
||||||
|
* received on the `input` stream.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline.js)
|
||||||
|
*/
|
||||||
|
declare module 'readline' {
|
||||||
|
import { Abortable, EventEmitter } from 'node:events';
|
||||||
|
import * as promises from 'node:readline/promises';
|
||||||
|
|
||||||
|
export { promises };
|
||||||
|
export interface Key {
|
||||||
|
sequence?: string | undefined;
|
||||||
|
name?: string | undefined;
|
||||||
|
ctrl?: boolean | undefined;
|
||||||
|
meta?: boolean | undefined;
|
||||||
|
shift?: boolean | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Instances of the `readline.Interface` class are constructed using the`readline.createInterface()` method. Every instance is associated with a
|
||||||
|
* single `input` `Readable` stream and a single `output` `Writable` stream.
|
||||||
|
* The `output` stream is used to print prompts for user input that arrives on,
|
||||||
|
* and is read from, the `input` stream.
|
||||||
|
* @since v0.1.104
|
||||||
|
*/
|
||||||
|
export class Interface extends EventEmitter {
|
||||||
|
readonly terminal: boolean;
|
||||||
|
/**
|
||||||
|
* The current input data being processed by node.
|
||||||
|
*
|
||||||
|
* This can be used when collecting input from a TTY stream to retrieve the
|
||||||
|
* current value that has been processed thus far, prior to the `line` event
|
||||||
|
* being emitted. Once the `line` event has been emitted, this property will
|
||||||
|
* be an empty string.
|
||||||
|
*
|
||||||
|
* Be aware that modifying the value during the instance runtime may have
|
||||||
|
* unintended consequences if `rl.cursor` is not also controlled.
|
||||||
|
*
|
||||||
|
* **If not using a TTY stream for input, use the `'line'` event.**
|
||||||
|
*
|
||||||
|
* One possible use case would be as follows:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const values = ['lorem ipsum', 'dolor sit amet'];
|
||||||
|
* const rl = readline.createInterface(process.stdin);
|
||||||
|
* const showResults = debounce(() => {
|
||||||
|
* console.log(
|
||||||
|
* '\n',
|
||||||
|
* values.filter((val) => val.startsWith(rl.line)).join(' ')
|
||||||
|
* );
|
||||||
|
* }, 300);
|
||||||
|
* process.stdin.on('keypress', (c, k) => {
|
||||||
|
* showResults();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
readonly line: string;
|
||||||
|
/**
|
||||||
|
* The cursor position relative to `rl.line`.
|
||||||
|
*
|
||||||
|
* This will track where the current cursor lands in the input string, when
|
||||||
|
* reading input from a TTY stream. The position of cursor determines the
|
||||||
|
* portion of the input string that will be modified as input is processed,
|
||||||
|
* as well as the column where the terminal caret will be rendered.
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
readonly cursor: number;
|
||||||
|
/**
|
||||||
|
* NOTE: According to the documentation:
|
||||||
|
*
|
||||||
|
* > Instances of the `readline.Interface` class are constructed using the
|
||||||
|
* > `readline.createInterface()` method.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface
|
||||||
|
*/
|
||||||
|
protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean);
|
||||||
|
/**
|
||||||
|
* NOTE: According to the documentation:
|
||||||
|
*
|
||||||
|
* > Instances of the `readline.Interface` class are constructed using the
|
||||||
|
* > `readline.createInterface()` method.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface
|
||||||
|
*/
|
||||||
|
protected constructor(options: ReadLineOptions);
|
||||||
|
/**
|
||||||
|
* The `rl.getPrompt()` method returns the current prompt used by `rl.prompt()`.
|
||||||
|
* @since v15.3.0
|
||||||
|
* @return the current prompt string
|
||||||
|
*/
|
||||||
|
getPrompt(): string;
|
||||||
|
/**
|
||||||
|
* The `rl.setPrompt()` method sets the prompt that will be written to `output`whenever `rl.prompt()` is called.
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
setPrompt(prompt: string): void;
|
||||||
|
/**
|
||||||
|
* The `rl.prompt()` method writes the `readline.Interface` instances configured`prompt` to a new line in `output` in order to provide a user with a new
|
||||||
|
* location at which to provide input.
|
||||||
|
*
|
||||||
|
* When called, `rl.prompt()` will resume the `input` stream if it has been
|
||||||
|
* paused.
|
||||||
|
*
|
||||||
|
* If the `readline.Interface` was created with `output` set to `null` or`undefined` the prompt is not written.
|
||||||
|
* @since v0.1.98
|
||||||
|
* @param preserveCursor If `true`, prevents the cursor placement from being reset to `0`.
|
||||||
|
*/
|
||||||
|
prompt(preserveCursor?: boolean): void;
|
||||||
|
/**
|
||||||
|
* The `rl.question()` method displays the `query` by writing it to the `output`,
|
||||||
|
* waits for user input to be provided on `input`, then invokes the `callback`function passing the provided input as the first argument.
|
||||||
|
*
|
||||||
|
* When called, `rl.question()` will resume the `input` stream if it has been
|
||||||
|
* paused.
|
||||||
|
*
|
||||||
|
* If the `readline.Interface` was created with `output` set to `null` or`undefined` the `query` is not written.
|
||||||
|
*
|
||||||
|
* The `callback` function passed to `rl.question()` does not follow the typical
|
||||||
|
* pattern of accepting an `Error` object or `null` as the first argument.
|
||||||
|
* The `callback` is called with the provided answer as the only argument.
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* rl.question('What is your favorite food? ', (answer) => {
|
||||||
|
* console.log(`Oh, so your favorite food is ${answer}`);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Using an `AbortController` to cancel a question.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const ac = new AbortController();
|
||||||
|
* const signal = ac.signal;
|
||||||
|
*
|
||||||
|
* rl.question('What is your favorite food? ', { signal }, (answer) => {
|
||||||
|
* console.log(`Oh, so your favorite food is ${answer}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* signal.addEventListener('abort', () => {
|
||||||
|
* console.log('The food question timed out');
|
||||||
|
* }, { once: true });
|
||||||
|
*
|
||||||
|
* setTimeout(() => ac.abort(), 10000);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If this method is invoked as it's util.promisify()ed version, it returns a
|
||||||
|
* Promise that fulfills with the answer. If the question is canceled using
|
||||||
|
* an `AbortController` it will reject with an `AbortError`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const util = require('util');
|
||||||
|
* const question = util.promisify(rl.question).bind(rl);
|
||||||
|
*
|
||||||
|
* async function questionExample() {
|
||||||
|
* try {
|
||||||
|
* const answer = await question('What is you favorite food? ');
|
||||||
|
* console.log(`Oh, so your favorite food is ${answer}`);
|
||||||
|
* } catch (err) {
|
||||||
|
* console.error('Question rejected', err);
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* questionExample();
|
||||||
|
* ```
|
||||||
|
* @since v0.3.3
|
||||||
|
* @param query A statement or query to write to `output`, prepended to the prompt.
|
||||||
|
* @param callback A callback function that is invoked with the user's input in response to the `query`.
|
||||||
|
*/
|
||||||
|
question(query: string, callback: (answer: string) => void): void;
|
||||||
|
question(query: string, options: Abortable, callback: (answer: string) => void): void;
|
||||||
|
/**
|
||||||
|
* The `rl.pause()` method pauses the `input` stream, allowing it to be resumed
|
||||||
|
* later if necessary.
|
||||||
|
*
|
||||||
|
* Calling `rl.pause()` does not immediately pause other events (including`'line'`) from being emitted by the `readline.Interface` instance.
|
||||||
|
* @since v0.3.4
|
||||||
|
*/
|
||||||
|
pause(): this;
|
||||||
|
/**
|
||||||
|
* The `rl.resume()` method resumes the `input` stream if it has been paused.
|
||||||
|
* @since v0.3.4
|
||||||
|
*/
|
||||||
|
resume(): this;
|
||||||
|
/**
|
||||||
|
* The `rl.close()` method closes the `readline.Interface` instance and
|
||||||
|
* relinquishes control over the `input` and `output` streams. When called,
|
||||||
|
* the `'close'` event will be emitted.
|
||||||
|
*
|
||||||
|
* Calling `rl.close()` does not immediately stop other events (including `'line'`)
|
||||||
|
* from being emitted by the `readline.Interface` instance.
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
close(): void;
|
||||||
|
/**
|
||||||
|
* The `rl.write()` method will write either `data` or a key sequence identified
|
||||||
|
* by `key` to the `output`. The `key` argument is supported only if `output` is
|
||||||
|
* a `TTY` text terminal. See `TTY keybindings` for a list of key
|
||||||
|
* combinations.
|
||||||
|
*
|
||||||
|
* If `key` is specified, `data` is ignored.
|
||||||
|
*
|
||||||
|
* When called, `rl.write()` will resume the `input` stream if it has been
|
||||||
|
* paused.
|
||||||
|
*
|
||||||
|
* If the `readline.Interface` was created with `output` set to `null` or`undefined` the `data` and `key` are not written.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* rl.write('Delete this!');
|
||||||
|
* // Simulate Ctrl+U to delete the line written previously
|
||||||
|
* rl.write(null, { ctrl: true, name: 'u' });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The `rl.write()` method will write the data to the `readline` `Interface`'s`input`_as if it were provided by the user_.
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
write(data: string | Buffer, key?: Key): void;
|
||||||
|
write(data: undefined | null | string | Buffer, key: Key): void;
|
||||||
|
/**
|
||||||
|
* Returns the real position of the cursor in relation to the input
|
||||||
|
* prompt + string. Long input (wrapping) strings, as well as multiple
|
||||||
|
* line prompts are included in the calculations.
|
||||||
|
* @since v13.5.0, v12.16.0
|
||||||
|
*/
|
||||||
|
getCursorPos(): CursorPos;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. close
|
||||||
|
* 2. line
|
||||||
|
* 3. pause
|
||||||
|
* 4. resume
|
||||||
|
* 5. SIGCONT
|
||||||
|
* 6. SIGINT
|
||||||
|
* 7. SIGTSTP
|
||||||
|
* 8. history
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
addListener(event: 'pause', listener: () => void): this;
|
||||||
|
addListener(event: 'resume', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
addListener(event: 'history', listener: (history: string[]) => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'line', input: string): boolean;
|
||||||
|
emit(event: 'pause'): boolean;
|
||||||
|
emit(event: 'resume'): boolean;
|
||||||
|
emit(event: 'SIGCONT'): boolean;
|
||||||
|
emit(event: 'SIGINT'): boolean;
|
||||||
|
emit(event: 'SIGTSTP'): boolean;
|
||||||
|
emit(event: 'history', history: string[]): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'line', listener: (input: string) => void): this;
|
||||||
|
on(event: 'pause', listener: () => void): this;
|
||||||
|
on(event: 'resume', listener: () => void): this;
|
||||||
|
on(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
on(event: 'SIGINT', listener: () => void): this;
|
||||||
|
on(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
on(event: 'history', listener: (history: string[]) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'line', listener: (input: string) => void): this;
|
||||||
|
once(event: 'pause', listener: () => void): this;
|
||||||
|
once(event: 'resume', listener: () => void): this;
|
||||||
|
once(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
once(event: 'SIGINT', listener: () => void): this;
|
||||||
|
once(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
once(event: 'history', listener: (history: string[]) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
prependListener(event: 'pause', listener: () => void): this;
|
||||||
|
prependListener(event: 'resume', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
prependListener(event: 'history', listener: (history: string[]) => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
prependOnceListener(event: 'pause', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'resume', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'history', listener: (history: string[]) => void): this;
|
||||||
|
[Symbol.asyncIterator](): AsyncIterableIterator<string>;
|
||||||
|
}
|
||||||
|
export type ReadLine = Interface; // type forwarded for backwards compatibility
|
||||||
|
export type Completer = (line: string) => CompleterResult;
|
||||||
|
export type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => void;
|
||||||
|
export type CompleterResult = [string[], string];
|
||||||
|
export interface ReadLineOptions {
|
||||||
|
input: NodeJS.ReadableStream;
|
||||||
|
output?: NodeJS.WritableStream | undefined;
|
||||||
|
completer?: Completer | AsyncCompleter | undefined;
|
||||||
|
terminal?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* Initial list of history lines. This option makes sense
|
||||||
|
* only if `terminal` is set to `true` by the user or by an internal `output`
|
||||||
|
* check, otherwise the history caching mechanism is not initialized at all.
|
||||||
|
* @default []
|
||||||
|
*/
|
||||||
|
history?: string[] | undefined;
|
||||||
|
historySize?: number | undefined;
|
||||||
|
prompt?: string | undefined;
|
||||||
|
crlfDelay?: number | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, when a new input line added
|
||||||
|
* to the history list duplicates an older one, this removes the older line
|
||||||
|
* from the list.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
removeHistoryDuplicates?: boolean | undefined;
|
||||||
|
escapeCodeTimeout?: number | undefined;
|
||||||
|
tabSize?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `readline.createInterface()` method creates a new `readline.Interface`instance.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const readline = require('readline');
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: process.stdin,
|
||||||
|
* output: process.stdout
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Once the `readline.Interface` instance is created, the most common case is to
|
||||||
|
* listen for the `'line'` event:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* console.log(`Received: ${line}`);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `terminal` is `true` for this instance then the `output` stream will get
|
||||||
|
* the best compatibility if it defines an `output.columns` property and emits
|
||||||
|
* a `'resize'` event on the `output` if or when the columns ever change
|
||||||
|
* (`process.stdout` does this automatically when it is a TTY).
|
||||||
|
*
|
||||||
|
* When creating a `readline.Interface` using `stdin` as input, the program
|
||||||
|
* will not terminate until it receives `EOF` (Ctrl+D on
|
||||||
|
* Linux/macOS, Ctrl+Z followed by Return on
|
||||||
|
* Windows).
|
||||||
|
* If you want your application to exit without waiting for user input, you can `unref()` the standard input stream:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* process.stdin.unref();
|
||||||
|
* ```
|
||||||
|
* @since v0.1.98
|
||||||
|
*/
|
||||||
|
export function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface;
|
||||||
|
export function createInterface(options: ReadLineOptions): Interface;
|
||||||
|
/**
|
||||||
|
* The `readline.emitKeypressEvents()` method causes the given `Readable` stream to begin emitting `'keypress'` events corresponding to received input.
|
||||||
|
*
|
||||||
|
* Optionally, `interface` specifies a `readline.Interface` instance for which
|
||||||
|
* autocompletion is disabled when copy-pasted input is detected.
|
||||||
|
*
|
||||||
|
* If the `stream` is a `TTY`, then it must be in raw mode.
|
||||||
|
*
|
||||||
|
* This is automatically called by any readline instance on its `input` if the`input` is a terminal. Closing the `readline` instance does not stop
|
||||||
|
* the `input` from emitting `'keypress'` events.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* readline.emitKeypressEvents(process.stdin);
|
||||||
|
* if (process.stdin.isTTY)
|
||||||
|
* process.stdin.setRawMode(true);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ## Example: Tiny CLI
|
||||||
|
*
|
||||||
|
* The following example illustrates the use of `readline.Interface` class to
|
||||||
|
* implement a small command-line interface:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const readline = require('readline');
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: process.stdin,
|
||||||
|
* output: process.stdout,
|
||||||
|
* prompt: 'OHAI> '
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.prompt();
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* switch (line.trim()) {
|
||||||
|
* case 'hello':
|
||||||
|
* console.log('world!');
|
||||||
|
* break;
|
||||||
|
* default:
|
||||||
|
* console.log(`Say what? I might have heard '${line.trim()}'`);
|
||||||
|
* break;
|
||||||
|
* }
|
||||||
|
* rl.prompt();
|
||||||
|
* }).on('close', () => {
|
||||||
|
* console.log('Have a great day!');
|
||||||
|
* process.exit(0);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ## Example: Read file stream line-by-Line
|
||||||
|
*
|
||||||
|
* A common use case for `readline` is to consume an input file one line at a
|
||||||
|
* time. The easiest way to do so is leveraging the `fs.ReadStream` API as
|
||||||
|
* well as a `for await...of` loop:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const readline = require('readline');
|
||||||
|
*
|
||||||
|
* async function processLineByLine() {
|
||||||
|
* const fileStream = fs.createReadStream('input.txt');
|
||||||
|
*
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: fileStream,
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
* // Note: we use the crlfDelay option to recognize all instances of CR LF
|
||||||
|
* // ('\r\n') in input.txt as a single line break.
|
||||||
|
*
|
||||||
|
* for await (const line of rl) {
|
||||||
|
* // Each line in input.txt will be successively available here as `line`.
|
||||||
|
* console.log(`Line from file: ${line}`);
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* processLineByLine();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Alternatively, one could use the `'line'` event:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const readline = require('readline');
|
||||||
|
*
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: fs.createReadStream('sample.txt'),
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* console.log(`Line from file: ${line}`);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Currently, `for await...of` loop can be a bit slower. If `async` / `await`flow and speed are both essential, a mixed approach can be applied:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { once } = require('events');
|
||||||
|
* const { createReadStream } = require('fs');
|
||||||
|
* const { createInterface } = require('readline');
|
||||||
|
*
|
||||||
|
* (async function processLineByLine() {
|
||||||
|
* try {
|
||||||
|
* const rl = createInterface({
|
||||||
|
* input: createReadStream('big-file.txt'),
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* // Process the line.
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* await once(rl, 'close');
|
||||||
|
*
|
||||||
|
* console.log('File processed.');
|
||||||
|
* } catch (err) {
|
||||||
|
* console.error(err);
|
||||||
|
* }
|
||||||
|
* })();
|
||||||
|
* ```
|
||||||
|
* @since v0.7.7
|
||||||
|
*/
|
||||||
|
export function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void;
|
||||||
|
export type Direction = -1 | 0 | 1;
|
||||||
|
export interface CursorPos {
|
||||||
|
rows: number;
|
||||||
|
cols: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `readline.clearLine()` method clears current line of given `TTY` stream
|
||||||
|
* in a specified direction identified by `dir`.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
export function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* The `readline.clearScreenDown()` method clears the given `TTY` stream from
|
||||||
|
* the current position of the cursor down.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
export function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* The `readline.cursorTo()` method moves cursor to the specified position in a
|
||||||
|
* given `TTY` `stream`.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
export function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* The `readline.moveCursor()` method moves the cursor _relative_ to its current
|
||||||
|
* position in a given `TTY` `stream`.
|
||||||
|
*
|
||||||
|
* ## Example: Tiny CLI
|
||||||
|
*
|
||||||
|
* The following example illustrates the use of `readline.Interface` class to
|
||||||
|
* implement a small command-line interface:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const readline = require('readline');
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: process.stdin,
|
||||||
|
* output: process.stdout,
|
||||||
|
* prompt: 'OHAI> '
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.prompt();
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* switch (line.trim()) {
|
||||||
|
* case 'hello':
|
||||||
|
* console.log('world!');
|
||||||
|
* break;
|
||||||
|
* default:
|
||||||
|
* console.log(`Say what? I might have heard '${line.trim()}'`);
|
||||||
|
* break;
|
||||||
|
* }
|
||||||
|
* rl.prompt();
|
||||||
|
* }).on('close', () => {
|
||||||
|
* console.log('Have a great day!');
|
||||||
|
* process.exit(0);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ## Example: Read file stream line-by-Line
|
||||||
|
*
|
||||||
|
* A common use case for `readline` is to consume an input file one line at a
|
||||||
|
* time. The easiest way to do so is leveraging the `fs.ReadStream` API as
|
||||||
|
* well as a `for await...of` loop:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const readline = require('readline');
|
||||||
|
*
|
||||||
|
* async function processLineByLine() {
|
||||||
|
* const fileStream = fs.createReadStream('input.txt');
|
||||||
|
*
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: fileStream,
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
* // Note: we use the crlfDelay option to recognize all instances of CR LF
|
||||||
|
* // ('\r\n') in input.txt as a single line break.
|
||||||
|
*
|
||||||
|
* for await (const line of rl) {
|
||||||
|
* // Each line in input.txt will be successively available here as `line`.
|
||||||
|
* console.log(`Line from file: ${line}`);
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* processLineByLine();
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Alternatively, one could use the `'line'` event:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const fs = require('fs');
|
||||||
|
* const readline = require('readline');
|
||||||
|
*
|
||||||
|
* const rl = readline.createInterface({
|
||||||
|
* input: fs.createReadStream('sample.txt'),
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* console.log(`Line from file: ${line}`);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Currently, `for await...of` loop can be a bit slower. If `async` / `await`flow and speed are both essential, a mixed approach can be applied:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { once } = require('events');
|
||||||
|
* const { createReadStream } = require('fs');
|
||||||
|
* const { createInterface } = require('readline');
|
||||||
|
*
|
||||||
|
* (async function processLineByLine() {
|
||||||
|
* try {
|
||||||
|
* const rl = createInterface({
|
||||||
|
* input: createReadStream('big-file.txt'),
|
||||||
|
* crlfDelay: Infinity
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* // Process the line.
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* await once(rl, 'close');
|
||||||
|
*
|
||||||
|
* console.log('File processed.');
|
||||||
|
* } catch (err) {
|
||||||
|
* console.error(err);
|
||||||
|
* }
|
||||||
|
* })();
|
||||||
|
* ```
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
export function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean;
|
||||||
|
}
|
||||||
|
declare module 'node:readline' {
|
||||||
|
export * from 'readline';
|
||||||
|
}
|
143
node_modules/@types/node/ts4.8/readline/promises.d.ts
generated
vendored
Normal file
143
node_modules/@types/node/ts4.8/readline/promises.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
/**
|
||||||
|
* The `readline/promise` module provides an API for reading lines of input from a Readable stream one line at a time.
|
||||||
|
*
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline/promises.js)
|
||||||
|
* @since v17.0.0
|
||||||
|
*/
|
||||||
|
declare module 'readline/promises' {
|
||||||
|
import { Interface as _Interface, ReadLineOptions, Completer, AsyncCompleter, Direction } from 'node:readline';
|
||||||
|
import { Abortable } from 'node:events';
|
||||||
|
|
||||||
|
class Interface extends _Interface {
|
||||||
|
/**
|
||||||
|
* The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input,
|
||||||
|
* then invokes the callback function passing the provided input as the first argument.
|
||||||
|
*
|
||||||
|
* When called, rl.question() will resume the input stream if it has been paused.
|
||||||
|
*
|
||||||
|
* If the readlinePromises.Interface was created with output set to null or undefined the query is not written.
|
||||||
|
*
|
||||||
|
* If the question is called after rl.close(), it returns a rejected promise.
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const answer = await rl.question('What is your favorite food? ');
|
||||||
|
* console.log(`Oh, so your favorite food is ${answer}`);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Using an AbortSignal to cancel a question.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const signal = AbortSignal.timeout(10_000);
|
||||||
|
*
|
||||||
|
* signal.addEventListener('abort', () => {
|
||||||
|
* console.log('The food question timed out');
|
||||||
|
* }, { once: true });
|
||||||
|
*
|
||||||
|
* const answer = await rl.question('What is your favorite food? ', { signal });
|
||||||
|
* console.log(`Oh, so your favorite food is ${answer}`);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @since v17.0.0
|
||||||
|
* @param query A statement or query to write to output, prepended to the prompt.
|
||||||
|
*/
|
||||||
|
question(query: string): Promise<string>;
|
||||||
|
question(query: string, options: Abortable): Promise<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
class Readline {
|
||||||
|
/**
|
||||||
|
* @param stream A TTY stream.
|
||||||
|
*/
|
||||||
|
constructor(stream: NodeJS.WritableStream, options?: { autoCommit?: boolean });
|
||||||
|
/**
|
||||||
|
* The `rl.clearLine()` method adds to the internal list of pending action an action that clears current line of the associated `stream` in a specified direction identified by `dir`.
|
||||||
|
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
|
||||||
|
*/
|
||||||
|
clearLine(dir: Direction): this;
|
||||||
|
/**
|
||||||
|
* The `rl.clearScreenDown()` method adds to the internal list of pending action an action that clears the associated `stream` from the current position of the cursor down.
|
||||||
|
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
|
||||||
|
*/
|
||||||
|
clearScreenDown(): this;
|
||||||
|
/**
|
||||||
|
* The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions.
|
||||||
|
*/
|
||||||
|
commit(): Promise<void>;
|
||||||
|
/**
|
||||||
|
* The `rl.cursorTo()` method adds to the internal list of pending action an action that moves cursor to the specified position in the associated `stream`.
|
||||||
|
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
|
||||||
|
*/
|
||||||
|
cursorTo(x: number, y?: number): this;
|
||||||
|
/**
|
||||||
|
* The `rl.moveCursor()` method adds to the internal list of pending action an action that moves the cursor relative to its current position in the associated `stream`.
|
||||||
|
* Call `rl.commit()` to see the effect of this method, unless autoCommit: true was passed to the constructor.
|
||||||
|
*/
|
||||||
|
moveCursor(dx: number, dy: number): this;
|
||||||
|
/**
|
||||||
|
* The `rl.rollback()` method clears the internal list of pending actions without sending it to the associated `stream`.
|
||||||
|
*/
|
||||||
|
rollback(): this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const readlinePromises = require('node:readline/promises');
|
||||||
|
* const rl = readlinePromises.createInterface({
|
||||||
|
* input: process.stdin,
|
||||||
|
* output: process.stdout
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Once the `readlinePromises.Interface` instance is created, the most common case is to listen for the `'line'` event:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* rl.on('line', (line) => {
|
||||||
|
* console.log(`Received: ${line}`);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `terminal` is `true` for this instance then the `output` stream will get the best compatibility if it defines an `output.columns` property,
|
||||||
|
* and emits a `'resize'` event on the `output`, if or when the columns ever change (`process.stdout` does this automatically when it is a TTY).
|
||||||
|
*
|
||||||
|
* ## Use of the `completer` function
|
||||||
|
*
|
||||||
|
* The `completer` function takes the current line entered by the user as an argument, and returns an `Array` with 2 entries:
|
||||||
|
*
|
||||||
|
* - An Array with matching entries for the completion.
|
||||||
|
* - The substring that was used for the matching.
|
||||||
|
*
|
||||||
|
* For instance: `[[substr1, substr2, ...], originalsubstring]`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* function completer(line) {
|
||||||
|
* const completions = '.help .error .exit .quit .q'.split(' ');
|
||||||
|
* const hits = completions.filter((c) => c.startsWith(line));
|
||||||
|
* // Show all completions if none found
|
||||||
|
* return [hits.length ? hits : completions, line];
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The `completer` function can also returns a `Promise`, or be asynchronous:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* async function completer(linePartial) {
|
||||||
|
* await someAsyncWork();
|
||||||
|
* return [['123'], linePartial];
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
function createInterface(
|
||||||
|
input: NodeJS.ReadableStream,
|
||||||
|
output?: NodeJS.WritableStream,
|
||||||
|
completer?: Completer | AsyncCompleter,
|
||||||
|
terminal?: boolean,
|
||||||
|
): Interface;
|
||||||
|
function createInterface(options: ReadLineOptions): Interface;
|
||||||
|
}
|
||||||
|
declare module 'node:readline/promises' {
|
||||||
|
export * from 'readline/promises';
|
||||||
|
}
|
424
node_modules/@types/node/ts4.8/repl.d.ts
generated
vendored
Normal file
424
node_modules/@types/node/ts4.8/repl.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,424 @@
|
||||||
|
/**
|
||||||
|
* The `repl` module provides a Read-Eval-Print-Loop (REPL) implementation that
|
||||||
|
* is available both as a standalone program or includible in other applications.
|
||||||
|
* It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const repl = require('repl');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/repl.js)
|
||||||
|
*/
|
||||||
|
declare module 'repl' {
|
||||||
|
import { Interface, Completer, AsyncCompleter } from 'node:readline';
|
||||||
|
import { Context } from 'node:vm';
|
||||||
|
import { InspectOptions } from 'node:util';
|
||||||
|
interface ReplOptions {
|
||||||
|
/**
|
||||||
|
* The input prompt to display.
|
||||||
|
* @default "> "
|
||||||
|
*/
|
||||||
|
prompt?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The `Readable` stream from which REPL input will be read.
|
||||||
|
* @default process.stdin
|
||||||
|
*/
|
||||||
|
input?: NodeJS.ReadableStream | undefined;
|
||||||
|
/**
|
||||||
|
* The `Writable` stream to which REPL output will be written.
|
||||||
|
* @default process.stdout
|
||||||
|
*/
|
||||||
|
output?: NodeJS.WritableStream | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, specifies that the output should be treated as a TTY terminal, and have
|
||||||
|
* ANSI/VT100 escape codes written to it.
|
||||||
|
* Default: checking the value of the `isTTY` property on the output stream upon
|
||||||
|
* instantiation.
|
||||||
|
*/
|
||||||
|
terminal?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* The function to be used when evaluating each given line of input.
|
||||||
|
* Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can
|
||||||
|
* error with `repl.Recoverable` to indicate the input was incomplete and prompt for
|
||||||
|
* additional lines.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions
|
||||||
|
*/
|
||||||
|
eval?: REPLEval | undefined;
|
||||||
|
/**
|
||||||
|
* Defines if the repl prints output previews or not.
|
||||||
|
* @default `true` Always `false` in case `terminal` is falsy.
|
||||||
|
*/
|
||||||
|
preview?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, specifies that the default `writer` function should include ANSI color
|
||||||
|
* styling to REPL output. If a custom `writer` function is provided then this has no
|
||||||
|
* effect.
|
||||||
|
* Default: the REPL instance's `terminal` value.
|
||||||
|
*/
|
||||||
|
useColors?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, specifies that the default evaluation function will use the JavaScript
|
||||||
|
* `global` as the context as opposed to creating a new separate context for the REPL
|
||||||
|
* instance. The node CLI REPL sets this value to `true`.
|
||||||
|
* Default: `false`.
|
||||||
|
*/
|
||||||
|
useGlobal?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, specifies that the default writer will not output the return value of a
|
||||||
|
* command if it evaluates to `undefined`.
|
||||||
|
* Default: `false`.
|
||||||
|
*/
|
||||||
|
ignoreUndefined?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* The function to invoke to format the output of each command before writing to `output`.
|
||||||
|
* Default: a wrapper for `util.inspect`.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output
|
||||||
|
*/
|
||||||
|
writer?: REPLWriter | undefined;
|
||||||
|
/**
|
||||||
|
* An optional function used for custom Tab auto completion.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function
|
||||||
|
*/
|
||||||
|
completer?: Completer | AsyncCompleter | undefined;
|
||||||
|
/**
|
||||||
|
* A flag that specifies whether the default evaluator executes all JavaScript commands in
|
||||||
|
* strict mode or default (sloppy) mode.
|
||||||
|
* Accepted values are:
|
||||||
|
* - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.
|
||||||
|
* - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to
|
||||||
|
* prefacing every repl statement with `'use strict'`.
|
||||||
|
*/
|
||||||
|
replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT | undefined;
|
||||||
|
/**
|
||||||
|
* Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is
|
||||||
|
* pressed. This cannot be used together with a custom `eval` function.
|
||||||
|
* Default: `false`.
|
||||||
|
*/
|
||||||
|
breakEvalOnSigint?: boolean | undefined;
|
||||||
|
}
|
||||||
|
type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void;
|
||||||
|
type REPLWriter = (this: REPLServer, obj: any) => string;
|
||||||
|
/**
|
||||||
|
* This is the default "writer" value, if none is passed in the REPL options,
|
||||||
|
* and it can be overridden by custom print functions.
|
||||||
|
*/
|
||||||
|
const writer: REPLWriter & {
|
||||||
|
options: InspectOptions;
|
||||||
|
};
|
||||||
|
type REPLCommandAction = (this: REPLServer, text: string) => void;
|
||||||
|
interface REPLCommand {
|
||||||
|
/**
|
||||||
|
* Help text to be displayed when `.help` is entered.
|
||||||
|
*/
|
||||||
|
help?: string | undefined;
|
||||||
|
/**
|
||||||
|
* The function to execute, optionally accepting a single string argument.
|
||||||
|
*/
|
||||||
|
action: REPLCommandAction;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Instances of `repl.REPLServer` are created using the {@link start} method
|
||||||
|
* or directly using the JavaScript `new` keyword.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const repl = require('repl');
|
||||||
|
*
|
||||||
|
* const options = { useColors: true };
|
||||||
|
*
|
||||||
|
* const firstInstance = repl.start(options);
|
||||||
|
* const secondInstance = new repl.REPLServer(options);
|
||||||
|
* ```
|
||||||
|
* @since v0.1.91
|
||||||
|
*/
|
||||||
|
class REPLServer extends Interface {
|
||||||
|
/**
|
||||||
|
* The `vm.Context` provided to the `eval` function to be used for JavaScript
|
||||||
|
* evaluation.
|
||||||
|
*/
|
||||||
|
readonly context: Context;
|
||||||
|
/**
|
||||||
|
* @deprecated since v14.3.0 - Use `input` instead.
|
||||||
|
*/
|
||||||
|
readonly inputStream: NodeJS.ReadableStream;
|
||||||
|
/**
|
||||||
|
* @deprecated since v14.3.0 - Use `output` instead.
|
||||||
|
*/
|
||||||
|
readonly outputStream: NodeJS.WritableStream;
|
||||||
|
/**
|
||||||
|
* The `Readable` stream from which REPL input will be read.
|
||||||
|
*/
|
||||||
|
readonly input: NodeJS.ReadableStream;
|
||||||
|
/**
|
||||||
|
* The `Writable` stream to which REPL output will be written.
|
||||||
|
*/
|
||||||
|
readonly output: NodeJS.WritableStream;
|
||||||
|
/**
|
||||||
|
* The commands registered via `replServer.defineCommand()`.
|
||||||
|
*/
|
||||||
|
readonly commands: NodeJS.ReadOnlyDict<REPLCommand>;
|
||||||
|
/**
|
||||||
|
* A value indicating whether the REPL is currently in "editor mode".
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys
|
||||||
|
*/
|
||||||
|
readonly editorMode: boolean;
|
||||||
|
/**
|
||||||
|
* A value indicating whether the `_` variable has been assigned.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||||
|
*/
|
||||||
|
readonly underscoreAssigned: boolean;
|
||||||
|
/**
|
||||||
|
* The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL).
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||||
|
*/
|
||||||
|
readonly last: any;
|
||||||
|
/**
|
||||||
|
* A value indicating whether the `_error` variable has been assigned.
|
||||||
|
*
|
||||||
|
* @since v9.8.0
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||||
|
*/
|
||||||
|
readonly underscoreErrAssigned: boolean;
|
||||||
|
/**
|
||||||
|
* The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL).
|
||||||
|
*
|
||||||
|
* @since v9.8.0
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||||
|
*/
|
||||||
|
readonly lastError: any;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is the function to be used when evaluating each
|
||||||
|
* given line of input. If not specified in the REPL options, this is an async wrapper
|
||||||
|
* for the JavaScript `eval()` function.
|
||||||
|
*/
|
||||||
|
readonly eval: REPLEval;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is a value indicating whether the default
|
||||||
|
* `writer` function should include ANSI color styling to REPL output.
|
||||||
|
*/
|
||||||
|
readonly useColors: boolean;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is a value indicating whether the default `eval`
|
||||||
|
* function will use the JavaScript `global` as the context as opposed to creating a new
|
||||||
|
* separate context for the REPL instance.
|
||||||
|
*/
|
||||||
|
readonly useGlobal: boolean;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is a value indicating whether the default `writer`
|
||||||
|
* function should output the result of a command if it evaluates to `undefined`.
|
||||||
|
*/
|
||||||
|
readonly ignoreUndefined: boolean;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is the function to invoke to format the output of
|
||||||
|
* each command before writing to `outputStream`. If not specified in the REPL options,
|
||||||
|
* this will be a wrapper for `util.inspect`.
|
||||||
|
*/
|
||||||
|
readonly writer: REPLWriter;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is the function to use for custom Tab auto-completion.
|
||||||
|
*/
|
||||||
|
readonly completer: Completer | AsyncCompleter;
|
||||||
|
/**
|
||||||
|
* Specified in the REPL options, this is a flag that specifies whether the default `eval`
|
||||||
|
* function should execute all JavaScript commands in strict mode or default (sloppy) mode.
|
||||||
|
* Possible values are:
|
||||||
|
* - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.
|
||||||
|
* - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to
|
||||||
|
* prefacing every repl statement with `'use strict'`.
|
||||||
|
*/
|
||||||
|
readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT;
|
||||||
|
/**
|
||||||
|
* NOTE: According to the documentation:
|
||||||
|
*
|
||||||
|
* > Instances of `repl.REPLServer` are created using the `repl.start()` method and
|
||||||
|
* > _should not_ be created directly using the JavaScript `new` keyword.
|
||||||
|
*
|
||||||
|
* `REPLServer` cannot be subclassed due to implementation specifics in NodeJS.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver
|
||||||
|
*/
|
||||||
|
private constructor();
|
||||||
|
/**
|
||||||
|
* The `replServer.defineCommand()` method is used to add new `.`\-prefixed commands
|
||||||
|
* to the REPL instance. Such commands are invoked by typing a `.` followed by the`keyword`. The `cmd` is either a `Function` or an `Object` with the following
|
||||||
|
* properties:
|
||||||
|
*
|
||||||
|
* The following example shows two new commands added to the REPL instance:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const repl = require('repl');
|
||||||
|
*
|
||||||
|
* const replServer = repl.start({ prompt: '> ' });
|
||||||
|
* replServer.defineCommand('sayhello', {
|
||||||
|
* help: 'Say hello',
|
||||||
|
* action(name) {
|
||||||
|
* this.clearBufferedCommand();
|
||||||
|
* console.log(`Hello, ${name}!`);
|
||||||
|
* this.displayPrompt();
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
* replServer.defineCommand('saybye', function saybye() {
|
||||||
|
* console.log('Goodbye!');
|
||||||
|
* this.close();
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The new commands can then be used from within the REPL instance:
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* > .sayhello Node.js User
|
||||||
|
* Hello, Node.js User!
|
||||||
|
* > .saybye
|
||||||
|
* Goodbye!
|
||||||
|
* ```
|
||||||
|
* @since v0.3.0
|
||||||
|
* @param keyword The command keyword (_without_ a leading `.` character).
|
||||||
|
* @param cmd The function to invoke when the command is processed.
|
||||||
|
*/
|
||||||
|
defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void;
|
||||||
|
/**
|
||||||
|
* The `replServer.displayPrompt()` method readies the REPL instance for input
|
||||||
|
* from the user, printing the configured `prompt` to a new line in the `output`and resuming the `input` to accept new input.
|
||||||
|
*
|
||||||
|
* When multi-line input is being entered, an ellipsis is printed rather than the
|
||||||
|
* 'prompt'.
|
||||||
|
*
|
||||||
|
* When `preserveCursor` is `true`, the cursor placement will not be reset to `0`.
|
||||||
|
*
|
||||||
|
* The `replServer.displayPrompt` method is primarily intended to be called from
|
||||||
|
* within the action function for commands registered using the`replServer.defineCommand()` method.
|
||||||
|
* @since v0.1.91
|
||||||
|
*/
|
||||||
|
displayPrompt(preserveCursor?: boolean): void;
|
||||||
|
/**
|
||||||
|
* The `replServer.clearBufferedCommand()` method clears any command that has been
|
||||||
|
* buffered but not yet executed. This method is primarily intended to be
|
||||||
|
* called from within the action function for commands registered using the`replServer.defineCommand()` method.
|
||||||
|
* @since v9.0.0
|
||||||
|
*/
|
||||||
|
clearBufferedCommand(): void;
|
||||||
|
/**
|
||||||
|
* Initializes a history log file for the REPL instance. When executing the
|
||||||
|
* Node.js binary and using the command-line REPL, a history file is initialized
|
||||||
|
* by default. However, this is not the case when creating a REPL
|
||||||
|
* programmatically. Use this method to initialize a history log file when working
|
||||||
|
* with REPL instances programmatically.
|
||||||
|
* @since v11.10.0
|
||||||
|
* @param historyPath the path to the history file
|
||||||
|
* @param callback called when history writes are ready or upon error
|
||||||
|
*/
|
||||||
|
setupHistory(path: string, callback: (err: Error | null, repl: this) => void): void;
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. close - inherited from `readline.Interface`
|
||||||
|
* 2. line - inherited from `readline.Interface`
|
||||||
|
* 3. pause - inherited from `readline.Interface`
|
||||||
|
* 4. resume - inherited from `readline.Interface`
|
||||||
|
* 5. SIGCONT - inherited from `readline.Interface`
|
||||||
|
* 6. SIGINT - inherited from `readline.Interface`
|
||||||
|
* 7. SIGTSTP - inherited from `readline.Interface`
|
||||||
|
* 8. exit
|
||||||
|
* 9. reset
|
||||||
|
*/
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
addListener(event: 'pause', listener: () => void): this;
|
||||||
|
addListener(event: 'resume', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
addListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
addListener(event: 'exit', listener: () => void): this;
|
||||||
|
addListener(event: 'reset', listener: (context: Context) => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'line', input: string): boolean;
|
||||||
|
emit(event: 'pause'): boolean;
|
||||||
|
emit(event: 'resume'): boolean;
|
||||||
|
emit(event: 'SIGCONT'): boolean;
|
||||||
|
emit(event: 'SIGINT'): boolean;
|
||||||
|
emit(event: 'SIGTSTP'): boolean;
|
||||||
|
emit(event: 'exit'): boolean;
|
||||||
|
emit(event: 'reset', context: Context): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'line', listener: (input: string) => void): this;
|
||||||
|
on(event: 'pause', listener: () => void): this;
|
||||||
|
on(event: 'resume', listener: () => void): this;
|
||||||
|
on(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
on(event: 'SIGINT', listener: () => void): this;
|
||||||
|
on(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
on(event: 'exit', listener: () => void): this;
|
||||||
|
on(event: 'reset', listener: (context: Context) => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'line', listener: (input: string) => void): this;
|
||||||
|
once(event: 'pause', listener: () => void): this;
|
||||||
|
once(event: 'resume', listener: () => void): this;
|
||||||
|
once(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
once(event: 'SIGINT', listener: () => void): this;
|
||||||
|
once(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
once(event: 'exit', listener: () => void): this;
|
||||||
|
once(event: 'reset', listener: (context: Context) => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
prependListener(event: 'pause', listener: () => void): this;
|
||||||
|
prependListener(event: 'resume', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
prependListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
prependListener(event: 'exit', listener: () => void): this;
|
||||||
|
prependListener(event: 'reset', listener: (context: Context) => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'line', listener: (input: string) => void): this;
|
||||||
|
prependOnceListener(event: 'pause', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'resume', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGCONT', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGINT', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'SIGTSTP', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'exit', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'reset', listener: (context: Context) => void): this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* A flag passed in the REPL options. Evaluates expressions in sloppy mode.
|
||||||
|
*/
|
||||||
|
const REPL_MODE_SLOPPY: unique symbol;
|
||||||
|
/**
|
||||||
|
* A flag passed in the REPL options. Evaluates expressions in strict mode.
|
||||||
|
* This is equivalent to prefacing every repl statement with `'use strict'`.
|
||||||
|
*/
|
||||||
|
const REPL_MODE_STRICT: unique symbol;
|
||||||
|
/**
|
||||||
|
* The `repl.start()` method creates and starts a {@link REPLServer} instance.
|
||||||
|
*
|
||||||
|
* If `options` is a string, then it specifies the input prompt:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const repl = require('repl');
|
||||||
|
*
|
||||||
|
* // a Unix style prompt
|
||||||
|
* repl.start('$ ');
|
||||||
|
* ```
|
||||||
|
* @since v0.1.91
|
||||||
|
*/
|
||||||
|
function start(options?: string | ReplOptions): REPLServer;
|
||||||
|
/**
|
||||||
|
* Indicates a recoverable error that a `REPLServer` can use to support multi-line input.
|
||||||
|
*
|
||||||
|
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors
|
||||||
|
*/
|
||||||
|
class Recoverable extends SyntaxError {
|
||||||
|
err: Error;
|
||||||
|
constructor(err: Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:repl' {
|
||||||
|
export * from 'repl';
|
||||||
|
}
|
1339
node_modules/@types/node/ts4.8/stream.d.ts
generated
vendored
Normal file
1339
node_modules/@types/node/ts4.8/stream.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
24
node_modules/@types/node/ts4.8/stream/consumers.d.ts
generated
vendored
Normal file
24
node_modules/@types/node/ts4.8/stream/consumers.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
// Duplicates of interface in lib.dom.ts.
|
||||||
|
// Duplicated here rather than referencing lib.dom.ts because doing so causes lib.dom.ts to be loaded for "test-all"
|
||||||
|
// Which in turn causes tests to pass that shouldn't pass.
|
||||||
|
//
|
||||||
|
// This interface is not, and should not be, exported.
|
||||||
|
interface Blob {
|
||||||
|
readonly size: number;
|
||||||
|
readonly type: string;
|
||||||
|
arrayBuffer(): Promise<ArrayBuffer>;
|
||||||
|
slice(start?: number, end?: number, contentType?: string): Blob;
|
||||||
|
stream(): NodeJS.ReadableStream;
|
||||||
|
text(): Promise<string>;
|
||||||
|
}
|
||||||
|
declare module 'stream/consumers' {
|
||||||
|
import { Readable } from 'node:stream';
|
||||||
|
function buffer(stream: NodeJS.ReadableStream | Readable | AsyncIterator<any>): Promise<Buffer>;
|
||||||
|
function text(stream: NodeJS.ReadableStream | Readable | AsyncIterator<any>): Promise<string>;
|
||||||
|
function arrayBuffer(stream: NodeJS.ReadableStream | Readable | AsyncIterator<any>): Promise<ArrayBuffer>;
|
||||||
|
function blob(stream: NodeJS.ReadableStream | Readable | AsyncIterator<any>): Promise<Blob>;
|
||||||
|
function json(stream: NodeJS.ReadableStream | Readable | AsyncIterator<any>): Promise<unknown>;
|
||||||
|
}
|
||||||
|
declare module 'node:stream/consumers' {
|
||||||
|
export * from 'stream/consumers';
|
||||||
|
}
|
42
node_modules/@types/node/ts4.8/stream/promises.d.ts
generated
vendored
Normal file
42
node_modules/@types/node/ts4.8/stream/promises.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
declare module 'stream/promises' {
|
||||||
|
import { FinishedOptions, PipelineSource, PipelineTransform, PipelineDestination, PipelinePromise, PipelineOptions } from 'node:stream';
|
||||||
|
function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options?: FinishedOptions): Promise<void>;
|
||||||
|
function pipeline<A extends PipelineSource<any>, B extends PipelineDestination<A, any>>(source: A, destination: B, options?: PipelineOptions): PipelinePromise<B>;
|
||||||
|
function pipeline<A extends PipelineSource<any>, T1 extends PipelineTransform<A, any>, B extends PipelineDestination<T1, any>>(
|
||||||
|
source: A,
|
||||||
|
transform1: T1,
|
||||||
|
destination: B,
|
||||||
|
options?: PipelineOptions
|
||||||
|
): PipelinePromise<B>;
|
||||||
|
function pipeline<A extends PipelineSource<any>, T1 extends PipelineTransform<A, any>, T2 extends PipelineTransform<T1, any>, B extends PipelineDestination<T2, any>>(
|
||||||
|
source: A,
|
||||||
|
transform1: T1,
|
||||||
|
transform2: T2,
|
||||||
|
destination: B,
|
||||||
|
options?: PipelineOptions
|
||||||
|
): PipelinePromise<B>;
|
||||||
|
function pipeline<
|
||||||
|
A extends PipelineSource<any>,
|
||||||
|
T1 extends PipelineTransform<A, any>,
|
||||||
|
T2 extends PipelineTransform<T1, any>,
|
||||||
|
T3 extends PipelineTransform<T2, any>,
|
||||||
|
B extends PipelineDestination<T3, any>
|
||||||
|
>(source: A, transform1: T1, transform2: T2, transform3: T3, destination: B, options?: PipelineOptions): PipelinePromise<B>;
|
||||||
|
function pipeline<
|
||||||
|
A extends PipelineSource<any>,
|
||||||
|
T1 extends PipelineTransform<A, any>,
|
||||||
|
T2 extends PipelineTransform<T1, any>,
|
||||||
|
T3 extends PipelineTransform<T2, any>,
|
||||||
|
T4 extends PipelineTransform<T3, any>,
|
||||||
|
B extends PipelineDestination<T4, any>
|
||||||
|
>(source: A, transform1: T1, transform2: T2, transform3: T3, transform4: T4, destination: B, options?: PipelineOptions): PipelinePromise<B>;
|
||||||
|
function pipeline(streams: ReadonlyArray<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>, options?: PipelineOptions): Promise<void>;
|
||||||
|
function pipeline(
|
||||||
|
stream1: NodeJS.ReadableStream,
|
||||||
|
stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,
|
||||||
|
...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream | PipelineOptions>
|
||||||
|
): Promise<void>;
|
||||||
|
}
|
||||||
|
declare module 'node:stream/promises' {
|
||||||
|
export * from 'stream/promises';
|
||||||
|
}
|
330
node_modules/@types/node/ts4.8/stream/web.d.ts
generated
vendored
Normal file
330
node_modules/@types/node/ts4.8/stream/web.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
declare module 'stream/web' {
|
||||||
|
// stub module, pending copy&paste from .d.ts or manual impl
|
||||||
|
// copy from lib.dom.d.ts
|
||||||
|
interface ReadableWritablePair<R = any, W = any> {
|
||||||
|
readable: ReadableStream<R>;
|
||||||
|
/**
|
||||||
|
* Provides a convenient, chainable way of piping this readable stream
|
||||||
|
* through a transform stream (or any other { writable, readable }
|
||||||
|
* pair). It simply pipes the stream into the writable side of the
|
||||||
|
* supplied pair, and returns the readable side for further use.
|
||||||
|
*
|
||||||
|
* Piping a stream will lock it for the duration of the pipe, preventing
|
||||||
|
* any other consumer from acquiring a reader.
|
||||||
|
*/
|
||||||
|
writable: WritableStream<W>;
|
||||||
|
}
|
||||||
|
interface StreamPipeOptions {
|
||||||
|
preventAbort?: boolean;
|
||||||
|
preventCancel?: boolean;
|
||||||
|
/**
|
||||||
|
* Pipes this readable stream to a given writable stream destination.
|
||||||
|
* The way in which the piping process behaves under various error
|
||||||
|
* conditions can be customized with a number of passed options. It
|
||||||
|
* returns a promise that fulfills when the piping process completes
|
||||||
|
* successfully, or rejects if any errors were encountered.
|
||||||
|
*
|
||||||
|
* Piping a stream will lock it for the duration of the pipe, preventing
|
||||||
|
* any other consumer from acquiring a reader.
|
||||||
|
*
|
||||||
|
* Errors and closures of the source and destination streams propagate
|
||||||
|
* as follows:
|
||||||
|
*
|
||||||
|
* An error in this source readable stream will abort destination,
|
||||||
|
* unless preventAbort is truthy. The returned promise will be rejected
|
||||||
|
* with the source's error, or with any error that occurs during
|
||||||
|
* aborting the destination.
|
||||||
|
*
|
||||||
|
* An error in destination will cancel this source readable stream,
|
||||||
|
* unless preventCancel is truthy. The returned promise will be rejected
|
||||||
|
* with the destination's error, or with any error that occurs during
|
||||||
|
* canceling the source.
|
||||||
|
*
|
||||||
|
* When this source readable stream closes, destination will be closed,
|
||||||
|
* unless preventClose is truthy. The returned promise will be fulfilled
|
||||||
|
* once this process completes, unless an error is encountered while
|
||||||
|
* closing the destination, in which case it will be rejected with that
|
||||||
|
* error.
|
||||||
|
*
|
||||||
|
* If destination starts out closed or closing, this source readable
|
||||||
|
* stream will be canceled, unless preventCancel is true. The returned
|
||||||
|
* promise will be rejected with an error indicating piping to a closed
|
||||||
|
* stream failed, or with any error that occurs during canceling the
|
||||||
|
* source.
|
||||||
|
*
|
||||||
|
* The signal option can be set to an AbortSignal to allow aborting an
|
||||||
|
* ongoing pipe operation via the corresponding AbortController. In this
|
||||||
|
* case, this source readable stream will be canceled, and destination
|
||||||
|
* aborted, unless the respective options preventCancel or preventAbort
|
||||||
|
* are set.
|
||||||
|
*/
|
||||||
|
preventClose?: boolean;
|
||||||
|
signal?: AbortSignal;
|
||||||
|
}
|
||||||
|
interface ReadableStreamGenericReader {
|
||||||
|
readonly closed: Promise<undefined>;
|
||||||
|
cancel(reason?: any): Promise<void>;
|
||||||
|
}
|
||||||
|
interface ReadableStreamDefaultReadValueResult<T> {
|
||||||
|
done: false;
|
||||||
|
value: T;
|
||||||
|
}
|
||||||
|
interface ReadableStreamDefaultReadDoneResult {
|
||||||
|
done: true;
|
||||||
|
value?: undefined;
|
||||||
|
}
|
||||||
|
type ReadableStreamController<T> = ReadableStreamDefaultController<T>;
|
||||||
|
type ReadableStreamDefaultReadResult<T> = ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult;
|
||||||
|
interface ReadableByteStreamControllerCallback {
|
||||||
|
(controller: ReadableByteStreamController): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSinkAbortCallback {
|
||||||
|
(reason?: any): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSinkCloseCallback {
|
||||||
|
(): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSinkStartCallback {
|
||||||
|
(controller: WritableStreamDefaultController): any;
|
||||||
|
}
|
||||||
|
interface UnderlyingSinkWriteCallback<W> {
|
||||||
|
(chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSourceCancelCallback {
|
||||||
|
(reason?: any): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSourcePullCallback<R> {
|
||||||
|
(controller: ReadableStreamController<R>): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingSourceStartCallback<R> {
|
||||||
|
(controller: ReadableStreamController<R>): any;
|
||||||
|
}
|
||||||
|
interface TransformerFlushCallback<O> {
|
||||||
|
(controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface TransformerStartCallback<O> {
|
||||||
|
(controller: TransformStreamDefaultController<O>): any;
|
||||||
|
}
|
||||||
|
interface TransformerTransformCallback<I, O> {
|
||||||
|
(chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
interface UnderlyingByteSource {
|
||||||
|
autoAllocateChunkSize?: number;
|
||||||
|
cancel?: ReadableStreamErrorCallback;
|
||||||
|
pull?: ReadableByteStreamControllerCallback;
|
||||||
|
start?: ReadableByteStreamControllerCallback;
|
||||||
|
type: 'bytes';
|
||||||
|
}
|
||||||
|
interface UnderlyingSource<R = any> {
|
||||||
|
cancel?: UnderlyingSourceCancelCallback;
|
||||||
|
pull?: UnderlyingSourcePullCallback<R>;
|
||||||
|
start?: UnderlyingSourceStartCallback<R>;
|
||||||
|
type?: undefined;
|
||||||
|
}
|
||||||
|
interface UnderlyingSink<W = any> {
|
||||||
|
abort?: UnderlyingSinkAbortCallback;
|
||||||
|
close?: UnderlyingSinkCloseCallback;
|
||||||
|
start?: UnderlyingSinkStartCallback;
|
||||||
|
type?: undefined;
|
||||||
|
write?: UnderlyingSinkWriteCallback<W>;
|
||||||
|
}
|
||||||
|
interface ReadableStreamErrorCallback {
|
||||||
|
(reason: any): void | PromiseLike<void>;
|
||||||
|
}
|
||||||
|
/** This Streams API interface represents a readable stream of byte data. */
|
||||||
|
interface ReadableStream<R = any> {
|
||||||
|
readonly locked: boolean;
|
||||||
|
cancel(reason?: any): Promise<void>;
|
||||||
|
getReader(): ReadableStreamDefaultReader<R>;
|
||||||
|
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
|
||||||
|
pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
|
||||||
|
tee(): [ReadableStream<R>, ReadableStream<R>];
|
||||||
|
values(options?: { preventCancel?: boolean }): AsyncIterableIterator<R>;
|
||||||
|
[Symbol.asyncIterator](): AsyncIterableIterator<R>;
|
||||||
|
}
|
||||||
|
const ReadableStream: {
|
||||||
|
prototype: ReadableStream;
|
||||||
|
new (underlyingSource: UnderlyingByteSource, strategy?: QueuingStrategy<Uint8Array>): ReadableStream<Uint8Array>;
|
||||||
|
new <R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
|
||||||
|
};
|
||||||
|
interface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {
|
||||||
|
read(): Promise<ReadableStreamDefaultReadResult<R>>;
|
||||||
|
releaseLock(): void;
|
||||||
|
}
|
||||||
|
const ReadableStreamDefaultReader: {
|
||||||
|
prototype: ReadableStreamDefaultReader;
|
||||||
|
new <R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;
|
||||||
|
};
|
||||||
|
const ReadableStreamBYOBReader: any;
|
||||||
|
const ReadableStreamBYOBRequest: any;
|
||||||
|
interface ReadableByteStreamController {
|
||||||
|
readonly byobRequest: undefined;
|
||||||
|
readonly desiredSize: number | null;
|
||||||
|
close(): void;
|
||||||
|
enqueue(chunk: ArrayBufferView): void;
|
||||||
|
error(error?: any): void;
|
||||||
|
}
|
||||||
|
const ReadableByteStreamController: {
|
||||||
|
prototype: ReadableByteStreamController;
|
||||||
|
new (): ReadableByteStreamController;
|
||||||
|
};
|
||||||
|
interface ReadableStreamDefaultController<R = any> {
|
||||||
|
readonly desiredSize: number | null;
|
||||||
|
close(): void;
|
||||||
|
enqueue(chunk?: R): void;
|
||||||
|
error(e?: any): void;
|
||||||
|
}
|
||||||
|
const ReadableStreamDefaultController: {
|
||||||
|
prototype: ReadableStreamDefaultController;
|
||||||
|
new (): ReadableStreamDefaultController;
|
||||||
|
};
|
||||||
|
interface Transformer<I = any, O = any> {
|
||||||
|
flush?: TransformerFlushCallback<O>;
|
||||||
|
readableType?: undefined;
|
||||||
|
start?: TransformerStartCallback<O>;
|
||||||
|
transform?: TransformerTransformCallback<I, O>;
|
||||||
|
writableType?: undefined;
|
||||||
|
}
|
||||||
|
interface TransformStream<I = any, O = any> {
|
||||||
|
readonly readable: ReadableStream<O>;
|
||||||
|
readonly writable: WritableStream<I>;
|
||||||
|
}
|
||||||
|
const TransformStream: {
|
||||||
|
prototype: TransformStream;
|
||||||
|
new <I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;
|
||||||
|
};
|
||||||
|
interface TransformStreamDefaultController<O = any> {
|
||||||
|
readonly desiredSize: number | null;
|
||||||
|
enqueue(chunk?: O): void;
|
||||||
|
error(reason?: any): void;
|
||||||
|
terminate(): void;
|
||||||
|
}
|
||||||
|
const TransformStreamDefaultController: {
|
||||||
|
prototype: TransformStreamDefaultController;
|
||||||
|
new (): TransformStreamDefaultController;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* This Streams API interface provides a standard abstraction for writing
|
||||||
|
* streaming data to a destination, known as a sink. This object comes with
|
||||||
|
* built-in back pressure and queuing.
|
||||||
|
*/
|
||||||
|
interface WritableStream<W = any> {
|
||||||
|
readonly locked: boolean;
|
||||||
|
abort(reason?: any): Promise<void>;
|
||||||
|
close(): Promise<void>;
|
||||||
|
getWriter(): WritableStreamDefaultWriter<W>;
|
||||||
|
}
|
||||||
|
const WritableStream: {
|
||||||
|
prototype: WritableStream;
|
||||||
|
new <W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* This Streams API interface is the object returned by
|
||||||
|
* WritableStream.getWriter() and once created locks the < writer to the
|
||||||
|
* WritableStream ensuring that no other streams can write to the underlying
|
||||||
|
* sink.
|
||||||
|
*/
|
||||||
|
interface WritableStreamDefaultWriter<W = any> {
|
||||||
|
readonly closed: Promise<undefined>;
|
||||||
|
readonly desiredSize: number | null;
|
||||||
|
readonly ready: Promise<undefined>;
|
||||||
|
abort(reason?: any): Promise<void>;
|
||||||
|
close(): Promise<void>;
|
||||||
|
releaseLock(): void;
|
||||||
|
write(chunk?: W): Promise<void>;
|
||||||
|
}
|
||||||
|
const WritableStreamDefaultWriter: {
|
||||||
|
prototype: WritableStreamDefaultWriter;
|
||||||
|
new <W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* This Streams API interface represents a controller allowing control of a
|
||||||
|
* WritableStream's state. When constructing a WritableStream, the
|
||||||
|
* underlying sink is given a corresponding WritableStreamDefaultController
|
||||||
|
* instance to manipulate.
|
||||||
|
*/
|
||||||
|
interface WritableStreamDefaultController {
|
||||||
|
error(e?: any): void;
|
||||||
|
}
|
||||||
|
const WritableStreamDefaultController: {
|
||||||
|
prototype: WritableStreamDefaultController;
|
||||||
|
new (): WritableStreamDefaultController;
|
||||||
|
};
|
||||||
|
interface QueuingStrategy<T = any> {
|
||||||
|
highWaterMark?: number;
|
||||||
|
size?: QueuingStrategySize<T>;
|
||||||
|
}
|
||||||
|
interface QueuingStrategySize<T = any> {
|
||||||
|
(chunk?: T): number;
|
||||||
|
}
|
||||||
|
interface QueuingStrategyInit {
|
||||||
|
/**
|
||||||
|
* Creates a new ByteLengthQueuingStrategy with the provided high water
|
||||||
|
* mark.
|
||||||
|
*
|
||||||
|
* Note that the provided high water mark will not be validated ahead of
|
||||||
|
* time. Instead, if it is negative, NaN, or not a number, the resulting
|
||||||
|
* ByteLengthQueuingStrategy will cause the corresponding stream
|
||||||
|
* constructor to throw.
|
||||||
|
*/
|
||||||
|
highWaterMark: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* This Streams API interface provides a built-in byte length queuing
|
||||||
|
* strategy that can be used when constructing streams.
|
||||||
|
*/
|
||||||
|
interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {
|
||||||
|
readonly highWaterMark: number;
|
||||||
|
readonly size: QueuingStrategySize<ArrayBufferView>;
|
||||||
|
}
|
||||||
|
const ByteLengthQueuingStrategy: {
|
||||||
|
prototype: ByteLengthQueuingStrategy;
|
||||||
|
new (init: QueuingStrategyInit): ByteLengthQueuingStrategy;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* This Streams API interface provides a built-in byte length queuing
|
||||||
|
* strategy that can be used when constructing streams.
|
||||||
|
*/
|
||||||
|
interface CountQueuingStrategy extends QueuingStrategy {
|
||||||
|
readonly highWaterMark: number;
|
||||||
|
readonly size: QueuingStrategySize;
|
||||||
|
}
|
||||||
|
const CountQueuingStrategy: {
|
||||||
|
prototype: CountQueuingStrategy;
|
||||||
|
new (init: QueuingStrategyInit): CountQueuingStrategy;
|
||||||
|
};
|
||||||
|
interface TextEncoderStream {
|
||||||
|
/** Returns "utf-8". */
|
||||||
|
readonly encoding: 'utf-8';
|
||||||
|
readonly readable: ReadableStream<Uint8Array>;
|
||||||
|
readonly writable: WritableStream<string>;
|
||||||
|
readonly [Symbol.toStringTag]: string;
|
||||||
|
}
|
||||||
|
const TextEncoderStream: {
|
||||||
|
prototype: TextEncoderStream;
|
||||||
|
new (): TextEncoderStream;
|
||||||
|
};
|
||||||
|
interface TextDecoderOptions {
|
||||||
|
fatal?: boolean;
|
||||||
|
ignoreBOM?: boolean;
|
||||||
|
}
|
||||||
|
type BufferSource = ArrayBufferView | ArrayBuffer;
|
||||||
|
interface TextDecoderStream {
|
||||||
|
/** Returns encoding's name, lower cased. */
|
||||||
|
readonly encoding: string;
|
||||||
|
/** Returns `true` if error mode is "fatal", and `false` otherwise. */
|
||||||
|
readonly fatal: boolean;
|
||||||
|
/** Returns `true` if ignore BOM flag is set, and `false` otherwise. */
|
||||||
|
readonly ignoreBOM: boolean;
|
||||||
|
readonly readable: ReadableStream<string>;
|
||||||
|
readonly writable: WritableStream<BufferSource>;
|
||||||
|
readonly [Symbol.toStringTag]: string;
|
||||||
|
}
|
||||||
|
const TextDecoderStream: {
|
||||||
|
prototype: TextDecoderStream;
|
||||||
|
new (label?: string, options?: TextDecoderOptions): TextDecoderStream;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
declare module 'node:stream/web' {
|
||||||
|
export * from 'stream/web';
|
||||||
|
}
|
67
node_modules/@types/node/ts4.8/string_decoder.d.ts
generated
vendored
Normal file
67
node_modules/@types/node/ts4.8/string_decoder.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/**
|
||||||
|
* The `string_decoder` module provides an API for decoding `Buffer` objects into
|
||||||
|
* strings in a manner that preserves encoded multi-byte UTF-8 and UTF-16
|
||||||
|
* characters. It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { StringDecoder } = require('string_decoder');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The following example shows the basic use of the `StringDecoder` class.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { StringDecoder } = require('string_decoder');
|
||||||
|
* const decoder = new StringDecoder('utf8');
|
||||||
|
*
|
||||||
|
* const cent = Buffer.from([0xC2, 0xA2]);
|
||||||
|
* console.log(decoder.write(cent));
|
||||||
|
*
|
||||||
|
* const euro = Buffer.from([0xE2, 0x82, 0xAC]);
|
||||||
|
* console.log(decoder.write(euro));
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* When a `Buffer` instance is written to the `StringDecoder` instance, an
|
||||||
|
* internal buffer is used to ensure that the decoded string does not contain
|
||||||
|
* any incomplete multibyte characters. These are held in the buffer until the
|
||||||
|
* next call to `stringDecoder.write()` or until `stringDecoder.end()` is called.
|
||||||
|
*
|
||||||
|
* In the following example, the three UTF-8 encoded bytes of the European Euro
|
||||||
|
* symbol (`€`) are written over three separate operations:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { StringDecoder } = require('string_decoder');
|
||||||
|
* const decoder = new StringDecoder('utf8');
|
||||||
|
*
|
||||||
|
* decoder.write(Buffer.from([0xE2]));
|
||||||
|
* decoder.write(Buffer.from([0x82]));
|
||||||
|
* console.log(decoder.end(Buffer.from([0xAC])));
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/string_decoder.js)
|
||||||
|
*/
|
||||||
|
declare module 'string_decoder' {
|
||||||
|
class StringDecoder {
|
||||||
|
constructor(encoding?: BufferEncoding);
|
||||||
|
/**
|
||||||
|
* Returns a decoded string, ensuring that any incomplete multibyte characters at
|
||||||
|
* the end of the `Buffer`, or `TypedArray`, or `DataView` are omitted from the
|
||||||
|
* returned string and stored in an internal buffer for the next call to`stringDecoder.write()` or `stringDecoder.end()`.
|
||||||
|
* @since v0.1.99
|
||||||
|
* @param buffer A `Buffer`, or `TypedArray`, or `DataView` containing the bytes to decode.
|
||||||
|
*/
|
||||||
|
write(buffer: Buffer): string;
|
||||||
|
/**
|
||||||
|
* Returns any remaining input stored in the internal buffer as a string. Bytes
|
||||||
|
* representing incomplete UTF-8 and UTF-16 characters will be replaced with
|
||||||
|
* substitution characters appropriate for the character encoding.
|
||||||
|
*
|
||||||
|
* If the `buffer` argument is provided, one final call to `stringDecoder.write()`is performed before returning the remaining input.
|
||||||
|
* After `end()` is called, the `stringDecoder` object can be reused for new input.
|
||||||
|
* @since v0.9.3
|
||||||
|
* @param buffer A `Buffer`, or `TypedArray`, or `DataView` containing the bytes to decode.
|
||||||
|
*/
|
||||||
|
end(buffer?: Buffer): string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:string_decoder' {
|
||||||
|
export * from 'string_decoder';
|
||||||
|
}
|
190
node_modules/@types/node/ts4.8/test.d.ts
generated
vendored
Normal file
190
node_modules/@types/node/ts4.8/test.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
/**
|
||||||
|
* The `node:test` module provides a standalone testing module.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/test.js)
|
||||||
|
*/
|
||||||
|
declare module 'node:test' {
|
||||||
|
/**
|
||||||
|
* The `test()` function is the value imported from the test module. Each invocation of this
|
||||||
|
* function results in the creation of a test point in the TAP output.
|
||||||
|
*
|
||||||
|
* The {@link TestContext} object passed to the fn argument can be used to perform actions
|
||||||
|
* related to the current test. Examples include skipping the test, adding additional TAP
|
||||||
|
* diagnostic information, or creating subtests.
|
||||||
|
*
|
||||||
|
* `test()` returns a {@link Promise} that resolves once the test completes. The return value
|
||||||
|
* can usually be discarded for top level tests. However, the return value from subtests should
|
||||||
|
* be used to prevent the parent test from finishing first and cancelling the subtest as shown
|
||||||
|
* in the following example.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* test('top level test', async (t) => {
|
||||||
|
* // The setTimeout() in the following subtest would cause it to outlive its
|
||||||
|
* // parent test if 'await' is removed on the next line. Once the parent test
|
||||||
|
* // completes, it will cancel any outstanding subtests.
|
||||||
|
* await t.test('longer running subtest', async (t) => {
|
||||||
|
* return new Promise((resolve, reject) => {
|
||||||
|
* setTimeout(resolve, 1000);
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v18.0.0
|
||||||
|
* @param name The name of the test, which is displayed when reporting test results.
|
||||||
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
* @param options Configuration options for the test
|
||||||
|
* @param fn The function under test. The first argument to this function is a
|
||||||
|
* {@link TestContext} object. If the test uses callbacks, the callback function is
|
||||||
|
* passed as the second argument. Default: A no-op function.
|
||||||
|
* @returns A {@link Promise} resolved with `undefined` once the test completes.
|
||||||
|
*/
|
||||||
|
function test(name?: string, fn?: TestFn): Promise<void>;
|
||||||
|
function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
||||||
|
function test(options?: TestOptions, fn?: TestFn): Promise<void>;
|
||||||
|
function test(fn?: TestFn): Promise<void>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @since v18.6.0
|
||||||
|
* @param name The name of the suite, which is displayed when reporting suite results.
|
||||||
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
* @param options Configuration options for the suite
|
||||||
|
* @param fn The function under suite. Default: A no-op function.
|
||||||
|
*/
|
||||||
|
function describe(name?: string, options?: TestOptions, fn?: SuiteFn): void;
|
||||||
|
function describe(name?: string, fn?: SuiteFn): void;
|
||||||
|
function describe(options?: TestOptions, fn?: SuiteFn): void;
|
||||||
|
function describe(fn?: SuiteFn): void;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @since v18.6.0
|
||||||
|
* @param name The name of the test, which is displayed when reporting test results.
|
||||||
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
* @param options Configuration options for the test
|
||||||
|
* @param fn The function under test. If the test uses callbacks, the callback function is
|
||||||
|
* passed as the second argument. Default: A no-op function.
|
||||||
|
*/
|
||||||
|
function it(name?: string, options?: TestOptions, fn?: ItFn): void;
|
||||||
|
function it(name?: string, fn?: ItFn): void;
|
||||||
|
function it(options?: TestOptions, fn?: ItFn): void;
|
||||||
|
function it(fn?: ItFn): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of a function under test. The first argument to this function is a
|
||||||
|
* {@link TestContext} object. If the test uses callbacks, the callback function is passed as
|
||||||
|
* the second argument.
|
||||||
|
*/
|
||||||
|
type TestFn = (t: TestContext, done: (result?: any) => void) => any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of a function under Suite.
|
||||||
|
* If the test uses callbacks, the callback function is passed as an argument
|
||||||
|
*/
|
||||||
|
type SuiteFn = (done: (result?: any) => void) => void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of a function under test.
|
||||||
|
* If the test uses callbacks, the callback function is passed as an argument
|
||||||
|
*/
|
||||||
|
type ItFn = (done: (result?: any) => void) => any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An instance of `TestContext` is passed to each test function in order to interact with the
|
||||||
|
* test runner. However, the `TestContext` constructor is not exposed as part of the API.
|
||||||
|
* @since v18.0.0
|
||||||
|
*/
|
||||||
|
interface TestContext {
|
||||||
|
/**
|
||||||
|
* This function is used to write TAP diagnostics to the output. Any diagnostic information is
|
||||||
|
* included at the end of the test's results. This function does not return a value.
|
||||||
|
* @param message Message to be displayed as a TAP diagnostic.
|
||||||
|
* @since v18.0.0
|
||||||
|
*/
|
||||||
|
diagnostic(message: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If `shouldRunOnlyTests` is truthy, the test context will only run tests that have the `only`
|
||||||
|
* option set. Otherwise, all tests are run. If Node.js was not started with the `--test-only`
|
||||||
|
* command-line option, this function is a no-op.
|
||||||
|
* @param shouldRunOnlyTests Whether or not to run `only` tests.
|
||||||
|
* @since v18.0.0
|
||||||
|
*/
|
||||||
|
runOnly(shouldRunOnlyTests: boolean): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function causes the test's output to indicate the test as skipped. If `message` is
|
||||||
|
* provided, it is included in the TAP output. Calling `skip()` does not terminate execution of
|
||||||
|
* the test function. This function does not return a value.
|
||||||
|
* @param message Optional skip message to be displayed in TAP output.
|
||||||
|
* @since v18.0.0
|
||||||
|
*/
|
||||||
|
skip(message?: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function adds a `TODO` directive to the test's output. If `message` is provided, it is
|
||||||
|
* included in the TAP output. Calling `todo()` does not terminate execution of the test
|
||||||
|
* function. This function does not return a value.
|
||||||
|
* @param message Optional `TODO` message to be displayed in TAP output.
|
||||||
|
* @since v18.0.0
|
||||||
|
*/
|
||||||
|
todo(message?: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used to create subtests under the current test. This function behaves in
|
||||||
|
* the same fashion as the top level {@link test} function.
|
||||||
|
* @since v18.0.0
|
||||||
|
* @param name The name of the test, which is displayed when reporting test results.
|
||||||
|
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
||||||
|
* @param options Configuration options for the test
|
||||||
|
* @param fn The function under test. This first argument to this function is a
|
||||||
|
* {@link TestContext} object. If the test uses callbacks, the callback function is
|
||||||
|
* passed as the second argument. Default: A no-op function.
|
||||||
|
* @returns A {@link Promise} resolved with `undefined` once the test completes.
|
||||||
|
*/
|
||||||
|
test: typeof test;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TestOptions {
|
||||||
|
/**
|
||||||
|
* The number of tests that can be run at the same time. If unspecified, subtests inherit this
|
||||||
|
* value from their parent.
|
||||||
|
* @default 1
|
||||||
|
*/
|
||||||
|
concurrency?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If truthy, and the test context is configured to run `only` tests, then this test will be
|
||||||
|
* run. Otherwise, the test is skipped.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
only?: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows aborting an in-progress test.
|
||||||
|
* @since 8.7.0
|
||||||
|
*/
|
||||||
|
signal?: AbortSignal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If truthy, the test is skipped. If a string is provided, that string is displayed in the
|
||||||
|
* test results as the reason for skipping the test.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
skip?: boolean | string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A number of milliseconds the test will fail after. If unspecified, subtests inherit this
|
||||||
|
* value from their parent.
|
||||||
|
* @default Infinity
|
||||||
|
* @since 8.7.0
|
||||||
|
*/
|
||||||
|
timeout?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If truthy, the test marked as `TODO`. If a string is provided, that string is displayed in
|
||||||
|
* the test results as the reason why the test is `TODO`.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
todo?: boolean | string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export { test as default, test, describe, it };
|
||||||
|
}
|
94
node_modules/@types/node/ts4.8/timers.d.ts
generated
vendored
Normal file
94
node_modules/@types/node/ts4.8/timers.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
/**
|
||||||
|
* The `timer` module exposes a global API for scheduling functions to
|
||||||
|
* be called at some future period of time. Because the timer functions are
|
||||||
|
* globals, there is no need to call `require('timers')` to use the API.
|
||||||
|
*
|
||||||
|
* The timer functions within Node.js implement a similar API as the timers API
|
||||||
|
* provided by Web Browsers but use a different internal implementation that is
|
||||||
|
* built around the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout).
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/timers.js)
|
||||||
|
*/
|
||||||
|
declare module 'timers' {
|
||||||
|
import { Abortable } from 'node:events';
|
||||||
|
import { setTimeout as setTimeoutPromise, setImmediate as setImmediatePromise, setInterval as setIntervalPromise } from 'node:timers/promises';
|
||||||
|
interface TimerOptions extends Abortable {
|
||||||
|
/**
|
||||||
|
* Set to `false` to indicate that the scheduled `Timeout`
|
||||||
|
* should not require the Node.js event loop to remain active.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
ref?: boolean | undefined;
|
||||||
|
}
|
||||||
|
let setTimeout: typeof global.setTimeout;
|
||||||
|
let clearTimeout: typeof global.clearTimeout;
|
||||||
|
let setInterval: typeof global.setInterval;
|
||||||
|
let clearInterval: typeof global.clearInterval;
|
||||||
|
let setImmediate: typeof global.setImmediate;
|
||||||
|
let clearImmediate: typeof global.clearImmediate;
|
||||||
|
global {
|
||||||
|
namespace NodeJS {
|
||||||
|
// compatibility with older typings
|
||||||
|
interface Timer extends RefCounted {
|
||||||
|
hasRef(): boolean;
|
||||||
|
refresh(): this;
|
||||||
|
[Symbol.toPrimitive](): number;
|
||||||
|
}
|
||||||
|
interface Immediate extends RefCounted {
|
||||||
|
/**
|
||||||
|
* If true, the `Immediate` object will keep the Node.js event loop active.
|
||||||
|
* @since v11.0.0
|
||||||
|
*/
|
||||||
|
hasRef(): boolean;
|
||||||
|
_onImmediate: Function; // to distinguish it from the Timeout class
|
||||||
|
}
|
||||||
|
interface Timeout extends Timer {
|
||||||
|
/**
|
||||||
|
* If true, the `Timeout` object will keep the Node.js event loop active.
|
||||||
|
* @since v11.0.0
|
||||||
|
*/
|
||||||
|
hasRef(): boolean;
|
||||||
|
/**
|
||||||
|
* Sets the timer's start time to the current time, and reschedules the timer to
|
||||||
|
* call its callback at the previously specified duration adjusted to the current
|
||||||
|
* time. This is useful for refreshing a timer without allocating a new
|
||||||
|
* JavaScript object.
|
||||||
|
*
|
||||||
|
* Using this on a timer that has already called its callback will reactivate the
|
||||||
|
* timer.
|
||||||
|
* @since v10.2.0
|
||||||
|
* @return a reference to `timeout`
|
||||||
|
*/
|
||||||
|
refresh(): this;
|
||||||
|
[Symbol.toPrimitive](): number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setTimeout<TArgs extends any[]>(callback: (...args: TArgs) => void, ms?: number, ...args: TArgs): NodeJS.Timeout;
|
||||||
|
// util.promisify no rest args compability
|
||||||
|
// tslint:disable-next-line void-return
|
||||||
|
function setTimeout(callback: (args: void) => void, ms?: number): NodeJS.Timeout;
|
||||||
|
namespace setTimeout {
|
||||||
|
const __promisify__: typeof setTimeoutPromise;
|
||||||
|
}
|
||||||
|
function clearTimeout(timeoutId: NodeJS.Timeout | string | number | undefined): void;
|
||||||
|
function setInterval<TArgs extends any[]>(callback: (...args: TArgs) => void, ms?: number, ...args: TArgs): NodeJS.Timer;
|
||||||
|
// util.promisify no rest args compability
|
||||||
|
// tslint:disable-next-line void-return
|
||||||
|
function setInterval(callback: (args: void) => void, ms?: number): NodeJS.Timer;
|
||||||
|
namespace setInterval {
|
||||||
|
const __promisify__: typeof setIntervalPromise;
|
||||||
|
}
|
||||||
|
function clearInterval(intervalId: NodeJS.Timeout | string | number | undefined): void;
|
||||||
|
function setImmediate<TArgs extends any[]>(callback: (...args: TArgs) => void, ...args: TArgs): NodeJS.Immediate;
|
||||||
|
// util.promisify no rest args compability
|
||||||
|
// tslint:disable-next-line void-return
|
||||||
|
function setImmediate(callback: (args: void) => void): NodeJS.Immediate;
|
||||||
|
namespace setImmediate {
|
||||||
|
const __promisify__: typeof setImmediatePromise;
|
||||||
|
}
|
||||||
|
function clearImmediate(immediateId: NodeJS.Immediate | undefined): void;
|
||||||
|
function queueMicrotask(callback: () => void): void;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:timers' {
|
||||||
|
export * from 'timers';
|
||||||
|
}
|
68
node_modules/@types/node/ts4.8/timers/promises.d.ts
generated
vendored
Normal file
68
node_modules/@types/node/ts4.8/timers/promises.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/**
|
||||||
|
* The `timers/promises` API provides an alternative set of timer functions
|
||||||
|
* that return `Promise` objects. The API is accessible via`require('timers/promises')`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import {
|
||||||
|
* setTimeout,
|
||||||
|
* setImmediate,
|
||||||
|
* setInterval,
|
||||||
|
* } from 'timers/promises';
|
||||||
|
* ```
|
||||||
|
* @since v15.0.0
|
||||||
|
*/
|
||||||
|
declare module 'timers/promises' {
|
||||||
|
import { TimerOptions } from 'node:timers';
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* import {
|
||||||
|
* setTimeout,
|
||||||
|
* } from 'timers/promises';
|
||||||
|
*
|
||||||
|
* const res = await setTimeout(100, 'result');
|
||||||
|
*
|
||||||
|
* console.log(res); // Prints 'result'
|
||||||
|
* ```
|
||||||
|
* @since v15.0.0
|
||||||
|
* @param [delay=1] The number of milliseconds to wait before fulfilling the promise.
|
||||||
|
* @param value A value with which the promise is fulfilled.
|
||||||
|
*/
|
||||||
|
function setTimeout<T = void>(delay?: number, value?: T, options?: TimerOptions): Promise<T>;
|
||||||
|
/**
|
||||||
|
* ```js
|
||||||
|
* import {
|
||||||
|
* setImmediate,
|
||||||
|
* } from 'timers/promises';
|
||||||
|
*
|
||||||
|
* const res = await setImmediate('result');
|
||||||
|
*
|
||||||
|
* console.log(res); // Prints 'result'
|
||||||
|
* ```
|
||||||
|
* @since v15.0.0
|
||||||
|
* @param value A value with which the promise is fulfilled.
|
||||||
|
*/
|
||||||
|
function setImmediate<T = void>(value?: T, options?: TimerOptions): Promise<T>;
|
||||||
|
/**
|
||||||
|
* Returns an async iterator that generates values in an interval of `delay` ms.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import {
|
||||||
|
* setInterval,
|
||||||
|
* } from 'timers/promises';
|
||||||
|
*
|
||||||
|
* const interval = 100;
|
||||||
|
* for await (const startTime of setInterval(interval, Date.now())) {
|
||||||
|
* const now = Date.now();
|
||||||
|
* console.log(now);
|
||||||
|
* if ((now - startTime) > 1000)
|
||||||
|
* break;
|
||||||
|
* }
|
||||||
|
* console.log(Date.now());
|
||||||
|
* ```
|
||||||
|
* @since v15.9.0
|
||||||
|
*/
|
||||||
|
function setInterval<T = void>(delay?: number, value?: T, options?: TimerOptions): AsyncIterable<T>;
|
||||||
|
}
|
||||||
|
declare module 'node:timers/promises' {
|
||||||
|
export * from 'timers/promises';
|
||||||
|
}
|
1028
node_modules/@types/node/ts4.8/tls.d.ts
generated
vendored
Normal file
1028
node_modules/@types/node/ts4.8/tls.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
171
node_modules/@types/node/ts4.8/trace_events.d.ts
generated
vendored
Normal file
171
node_modules/@types/node/ts4.8/trace_events.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
/**
|
||||||
|
* The `trace_events` module provides a mechanism to centralize tracing information
|
||||||
|
* generated by V8, Node.js core, and userspace code.
|
||||||
|
*
|
||||||
|
* Tracing can be enabled with the `--trace-event-categories` command-line flag
|
||||||
|
* or by using the `trace_events` module. The `--trace-event-categories` flag
|
||||||
|
* accepts a list of comma-separated category names.
|
||||||
|
*
|
||||||
|
* The available categories are:
|
||||||
|
*
|
||||||
|
* * `node`: An empty placeholder.
|
||||||
|
* * `node.async_hooks`: Enables capture of detailed `async_hooks` trace data.
|
||||||
|
* The `async_hooks` events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.
|
||||||
|
* * `node.bootstrap`: Enables capture of Node.js bootstrap milestones.
|
||||||
|
* * `node.console`: Enables capture of `console.time()` and `console.count()`output.
|
||||||
|
* * `node.dns.native`: Enables capture of trace data for DNS queries.
|
||||||
|
* * `node.environment`: Enables capture of Node.js Environment milestones.
|
||||||
|
* * `node.fs.sync`: Enables capture of trace data for file system sync methods.
|
||||||
|
* * `node.perf`: Enables capture of `Performance API` measurements.
|
||||||
|
* * `node.perf.usertiming`: Enables capture of only Performance API User Timing
|
||||||
|
* measures and marks.
|
||||||
|
* * `node.perf.timerify`: Enables capture of only Performance API timerify
|
||||||
|
* measurements.
|
||||||
|
* * `node.promises.rejections`: Enables capture of trace data tracking the number
|
||||||
|
* of unhandled Promise rejections and handled-after-rejections.
|
||||||
|
* * `node.vm.script`: Enables capture of trace data for the `vm` module's`runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.
|
||||||
|
* * `v8`: The `V8` events are GC, compiling, and execution related.
|
||||||
|
*
|
||||||
|
* By default the `node`, `node.async_hooks`, and `v8` categories are enabled.
|
||||||
|
*
|
||||||
|
* ```bash
|
||||||
|
* node --trace-event-categories v8,node,node.async_hooks server.js
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Prior versions of Node.js required the use of the `--trace-events-enabled`flag to enable trace events. This requirement has been removed. However, the`--trace-events-enabled` flag _may_ still be
|
||||||
|
* used and will enable the`node`, `node.async_hooks`, and `v8` trace event categories by default.
|
||||||
|
*
|
||||||
|
* ```bash
|
||||||
|
* node --trace-events-enabled
|
||||||
|
*
|
||||||
|
* # is equivalent to
|
||||||
|
*
|
||||||
|
* node --trace-event-categories v8,node,node.async_hooks
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Alternatively, trace events may be enabled using the `trace_events` module:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const trace_events = require('trace_events');
|
||||||
|
* const tracing = trace_events.createTracing({ categories: ['node.perf'] });
|
||||||
|
* tracing.enable(); // Enable trace event capture for the 'node.perf' category
|
||||||
|
*
|
||||||
|
* // do work
|
||||||
|
*
|
||||||
|
* tracing.disable(); // Disable trace event capture for the 'node.perf' category
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Running Node.js with tracing enabled will produce log files that can be opened
|
||||||
|
* in the [`chrome://tracing`](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool) tab of Chrome.
|
||||||
|
*
|
||||||
|
* The logging file is by default called `node_trace.${rotation}.log`, where`${rotation}` is an incrementing log-rotation id. The filepath pattern can
|
||||||
|
* be specified with `--trace-event-file-pattern` that accepts a template
|
||||||
|
* string that supports `${rotation}` and `${pid}`:
|
||||||
|
*
|
||||||
|
* ```bash
|
||||||
|
* node --trace-event-categories v8 --trace-event-file-pattern '${pid}-${rotation}.log' server.js
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
|
||||||
|
* in your code, such as:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* process.on('SIGINT', function onSigint() {
|
||||||
|
* console.info('Received SIGINT.');
|
||||||
|
* process.exit(130); // Or applicable exit code depending on OS and signal
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The tracing system uses the same time source
|
||||||
|
* as the one used by `process.hrtime()`.
|
||||||
|
* However the trace-event timestamps are expressed in microseconds,
|
||||||
|
* unlike `process.hrtime()` which returns nanoseconds.
|
||||||
|
*
|
||||||
|
* The features from this module are not available in `Worker` threads.
|
||||||
|
* @experimental
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/trace_events.js)
|
||||||
|
*/
|
||||||
|
declare module 'trace_events' {
|
||||||
|
/**
|
||||||
|
* The `Tracing` object is used to enable or disable tracing for sets of
|
||||||
|
* categories. Instances are created using the
|
||||||
|
* `trace_events.createTracing()` method.
|
||||||
|
*
|
||||||
|
* When created, the `Tracing` object is disabled. Calling the
|
||||||
|
* `tracing.enable()` method adds the categories to the set of enabled trace
|
||||||
|
* event categories. Calling `tracing.disable()` will remove the categories
|
||||||
|
* from the set of enabled trace event categories.
|
||||||
|
*/
|
||||||
|
interface Tracing {
|
||||||
|
/**
|
||||||
|
* A comma-separated list of the trace event categories covered by this
|
||||||
|
* `Tracing` object.
|
||||||
|
*/
|
||||||
|
readonly categories: string;
|
||||||
|
/**
|
||||||
|
* Disables this `Tracing` object.
|
||||||
|
*
|
||||||
|
* Only trace event categories _not_ covered by other enabled `Tracing`
|
||||||
|
* objects and _not_ specified by the `--trace-event-categories` flag
|
||||||
|
* will be disabled.
|
||||||
|
*/
|
||||||
|
disable(): void;
|
||||||
|
/**
|
||||||
|
* Enables this `Tracing` object for the set of categories covered by
|
||||||
|
* the `Tracing` object.
|
||||||
|
*/
|
||||||
|
enable(): void;
|
||||||
|
/**
|
||||||
|
* `true` only if the `Tracing` object has been enabled.
|
||||||
|
*/
|
||||||
|
readonly enabled: boolean;
|
||||||
|
}
|
||||||
|
interface CreateTracingOptions {
|
||||||
|
/**
|
||||||
|
* An array of trace category names. Values included in the array are
|
||||||
|
* coerced to a string when possible. An error will be thrown if the
|
||||||
|
* value cannot be coerced.
|
||||||
|
*/
|
||||||
|
categories: string[];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Creates and returns a `Tracing` object for the given set of `categories`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const trace_events = require('trace_events');
|
||||||
|
* const categories = ['node.perf', 'node.async_hooks'];
|
||||||
|
* const tracing = trace_events.createTracing({ categories });
|
||||||
|
* tracing.enable();
|
||||||
|
* // do stuff
|
||||||
|
* tracing.disable();
|
||||||
|
* ```
|
||||||
|
* @since v10.0.0
|
||||||
|
* @return .
|
||||||
|
*/
|
||||||
|
function createTracing(options: CreateTracingOptions): Tracing;
|
||||||
|
/**
|
||||||
|
* Returns a comma-separated list of all currently-enabled trace event
|
||||||
|
* categories. The current set of enabled trace event categories is determined
|
||||||
|
* by the _union_ of all currently-enabled `Tracing` objects and any categories
|
||||||
|
* enabled using the `--trace-event-categories` flag.
|
||||||
|
*
|
||||||
|
* Given the file `test.js` below, the command`node --trace-event-categories node.perf test.js` will print`'node.async_hooks,node.perf'` to the console.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const trace_events = require('trace_events');
|
||||||
|
* const t1 = trace_events.createTracing({ categories: ['node.async_hooks'] });
|
||||||
|
* const t2 = trace_events.createTracing({ categories: ['node.perf'] });
|
||||||
|
* const t3 = trace_events.createTracing({ categories: ['v8'] });
|
||||||
|
*
|
||||||
|
* t1.enable();
|
||||||
|
* t2.enable();
|
||||||
|
*
|
||||||
|
* console.log(trace_events.getEnabledCategories());
|
||||||
|
* ```
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
function getEnabledCategories(): string | undefined;
|
||||||
|
}
|
||||||
|
declare module 'node:trace_events' {
|
||||||
|
export * from 'trace_events';
|
||||||
|
}
|
206
node_modules/@types/node/ts4.8/tty.d.ts
generated
vendored
Normal file
206
node_modules/@types/node/ts4.8/tty.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,206 @@
|
||||||
|
/**
|
||||||
|
* The `tty` module provides the `tty.ReadStream` and `tty.WriteStream` classes.
|
||||||
|
* In most cases, it will not be necessary or possible to use this module directly.
|
||||||
|
* However, it can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const tty = require('tty');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* When Node.js detects that it is being run with a text terminal ("TTY")
|
||||||
|
* attached, `process.stdin` will, by default, be initialized as an instance of`tty.ReadStream` and both `process.stdout` and `process.stderr` will, by
|
||||||
|
* default, be instances of `tty.WriteStream`. The preferred method of determining
|
||||||
|
* whether Node.js is being run within a TTY context is to check that the value of
|
||||||
|
* the `process.stdout.isTTY` property is `true`:
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* $ node -p -e "Boolean(process.stdout.isTTY)"
|
||||||
|
* true
|
||||||
|
* $ node -p -e "Boolean(process.stdout.isTTY)" | cat
|
||||||
|
* false
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* In most cases, there should be little to no reason for an application to
|
||||||
|
* manually create instances of the `tty.ReadStream` and `tty.WriteStream`classes.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tty.js)
|
||||||
|
*/
|
||||||
|
declare module 'tty' {
|
||||||
|
import * as net from 'node:net';
|
||||||
|
/**
|
||||||
|
* The `tty.isatty()` method returns `true` if the given `fd` is associated with
|
||||||
|
* a TTY and `false` if it is not, including whenever `fd` is not a non-negative
|
||||||
|
* integer.
|
||||||
|
* @since v0.5.8
|
||||||
|
* @param fd A numeric file descriptor
|
||||||
|
*/
|
||||||
|
function isatty(fd: number): boolean;
|
||||||
|
/**
|
||||||
|
* Represents the readable side of a TTY. In normal circumstances `process.stdin` will be the only `tty.ReadStream` instance in a Node.js
|
||||||
|
* process and there should be no reason to create additional instances.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
class ReadStream extends net.Socket {
|
||||||
|
constructor(fd: number, options?: net.SocketConstructorOpts);
|
||||||
|
/**
|
||||||
|
* A `boolean` that is `true` if the TTY is currently configured to operate as a
|
||||||
|
* raw device. Defaults to `false`.
|
||||||
|
* @since v0.7.7
|
||||||
|
*/
|
||||||
|
isRaw: boolean;
|
||||||
|
/**
|
||||||
|
* Allows configuration of `tty.ReadStream` so that it operates as a raw device.
|
||||||
|
*
|
||||||
|
* When in raw mode, input is always available character-by-character, not
|
||||||
|
* including modifiers. Additionally, all special processing of characters by the
|
||||||
|
* terminal is disabled, including echoing input
|
||||||
|
* characters. Ctrl+C will no longer cause a `SIGINT` when
|
||||||
|
* in this mode.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw`
|
||||||
|
* property will be set to the resulting mode.
|
||||||
|
* @return The read stream instance.
|
||||||
|
*/
|
||||||
|
setRawMode(mode: boolean): this;
|
||||||
|
/**
|
||||||
|
* A `boolean` that is always `true` for `tty.ReadStream` instances.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
isTTY: boolean;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* -1 - to the left from cursor
|
||||||
|
* 0 - the entire line
|
||||||
|
* 1 - to the right from cursor
|
||||||
|
*/
|
||||||
|
type Direction = -1 | 0 | 1;
|
||||||
|
/**
|
||||||
|
* Represents the writable side of a TTY. In normal circumstances,`process.stdout` and `process.stderr` will be the only`tty.WriteStream` instances created for a Node.js process and there
|
||||||
|
* should be no reason to create additional instances.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
class WriteStream extends net.Socket {
|
||||||
|
constructor(fd: number);
|
||||||
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
addListener(event: 'resize', listener: () => void): this;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
emit(event: 'resize'): boolean;
|
||||||
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
on(event: 'resize', listener: () => void): this;
|
||||||
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'resize', listener: () => void): this;
|
||||||
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'resize', listener: () => void): this;
|
||||||
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'resize', listener: () => void): this;
|
||||||
|
/**
|
||||||
|
* `writeStream.clearLine()` clears the current line of this `WriteStream` in a
|
||||||
|
* direction identified by `dir`.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
clearLine(dir: Direction, callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* `writeStream.clearScreenDown()` clears this `WriteStream` from the current
|
||||||
|
* cursor down.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
clearScreenDown(callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* `writeStream.cursorTo()` moves this `WriteStream`'s cursor to the specified
|
||||||
|
* position.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
cursorTo(x: number, y?: number, callback?: () => void): boolean;
|
||||||
|
cursorTo(x: number, callback: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* `writeStream.moveCursor()` moves this `WriteStream`'s cursor _relative_ to its
|
||||||
|
* current position.
|
||||||
|
* @since v0.7.7
|
||||||
|
* @param callback Invoked once the operation completes.
|
||||||
|
* @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
|
||||||
|
*/
|
||||||
|
moveCursor(dx: number, dy: number, callback?: () => void): boolean;
|
||||||
|
/**
|
||||||
|
* Returns:
|
||||||
|
*
|
||||||
|
* * `1` for 2,
|
||||||
|
* * `4` for 16,
|
||||||
|
* * `8` for 256,
|
||||||
|
* * `24` for 16,777,216 colors supported.
|
||||||
|
*
|
||||||
|
* Use this to determine what colors the terminal supports. Due to the nature of
|
||||||
|
* colors in terminals it is possible to either have false positives or false
|
||||||
|
* negatives. It depends on process information and the environment variables that
|
||||||
|
* may lie about what terminal is used.
|
||||||
|
* It is possible to pass in an `env` object to simulate the usage of a specific
|
||||||
|
* terminal. This can be useful to check how specific environment settings behave.
|
||||||
|
*
|
||||||
|
* To enforce a specific color support, use one of the below environment settings.
|
||||||
|
*
|
||||||
|
* * 2 colors: `FORCE_COLOR = 0` (Disables colors)
|
||||||
|
* * 16 colors: `FORCE_COLOR = 1`
|
||||||
|
* * 256 colors: `FORCE_COLOR = 2`
|
||||||
|
* * 16,777,216 colors: `FORCE_COLOR = 3`
|
||||||
|
*
|
||||||
|
* Disabling color support is also possible by using the `NO_COLOR` and`NODE_DISABLE_COLORS` environment variables.
|
||||||
|
* @since v9.9.0
|
||||||
|
* @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal.
|
||||||
|
*/
|
||||||
|
getColorDepth(env?: object): number;
|
||||||
|
/**
|
||||||
|
* Returns `true` if the `writeStream` supports at least as many colors as provided
|
||||||
|
* in `count`. Minimum support is 2 (black and white).
|
||||||
|
*
|
||||||
|
* This has the same false positives and negatives as described in `writeStream.getColorDepth()`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* process.stdout.hasColors();
|
||||||
|
* // Returns true or false depending on if `stdout` supports at least 16 colors.
|
||||||
|
* process.stdout.hasColors(256);
|
||||||
|
* // Returns true or false depending on if `stdout` supports at least 256 colors.
|
||||||
|
* process.stdout.hasColors({ TMUX: '1' });
|
||||||
|
* // Returns true.
|
||||||
|
* process.stdout.hasColors(2 ** 24, { TMUX: '1' });
|
||||||
|
* // Returns false (the environment setting pretends to support 2 ** 8 colors).
|
||||||
|
* ```
|
||||||
|
* @since v11.13.0, v10.16.0
|
||||||
|
* @param [count=16] The number of colors that are requested (minimum 2).
|
||||||
|
* @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal.
|
||||||
|
*/
|
||||||
|
hasColors(count?: number): boolean;
|
||||||
|
hasColors(env?: object): boolean;
|
||||||
|
hasColors(count: number, env?: object): boolean;
|
||||||
|
/**
|
||||||
|
* `writeStream.getWindowSize()` returns the size of the TTY
|
||||||
|
* corresponding to this `WriteStream`. The array is of the type`[numColumns, numRows]` where `numColumns` and `numRows` represent the number
|
||||||
|
* of columns and rows in the corresponding TTY.
|
||||||
|
* @since v0.7.7
|
||||||
|
*/
|
||||||
|
getWindowSize(): [number, number];
|
||||||
|
/**
|
||||||
|
* A `number` specifying the number of columns the TTY currently has. This property
|
||||||
|
* is updated whenever the `'resize'` event is emitted.
|
||||||
|
* @since v0.7.7
|
||||||
|
*/
|
||||||
|
columns: number;
|
||||||
|
/**
|
||||||
|
* A `number` specifying the number of rows the TTY currently has. This property
|
||||||
|
* is updated whenever the `'resize'` event is emitted.
|
||||||
|
* @since v0.7.7
|
||||||
|
*/
|
||||||
|
rows: number;
|
||||||
|
/**
|
||||||
|
* A `boolean` that is always `true`.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
isTTY: boolean;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:tty' {
|
||||||
|
export * from 'tty';
|
||||||
|
}
|
897
node_modules/@types/node/ts4.8/url.d.ts
generated
vendored
Normal file
897
node_modules/@types/node/ts4.8/url.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,897 @@
|
||||||
|
/**
|
||||||
|
* The `url` module provides utilities for URL resolution and parsing. It can be
|
||||||
|
* accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import url from 'url';
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/url.js)
|
||||||
|
*/
|
||||||
|
declare module 'url' {
|
||||||
|
import { Blob } from 'node:buffer';
|
||||||
|
import { ClientRequestArgs } from 'node:http';
|
||||||
|
import { ParsedUrlQuery, ParsedUrlQueryInput } from 'node:querystring';
|
||||||
|
// Input to `url.format`
|
||||||
|
interface UrlObject {
|
||||||
|
auth?: string | null | undefined;
|
||||||
|
hash?: string | null | undefined;
|
||||||
|
host?: string | null | undefined;
|
||||||
|
hostname?: string | null | undefined;
|
||||||
|
href?: string | null | undefined;
|
||||||
|
pathname?: string | null | undefined;
|
||||||
|
protocol?: string | null | undefined;
|
||||||
|
search?: string | null | undefined;
|
||||||
|
slashes?: boolean | null | undefined;
|
||||||
|
port?: string | number | null | undefined;
|
||||||
|
query?: string | null | ParsedUrlQueryInput | undefined;
|
||||||
|
}
|
||||||
|
// Output of `url.parse`
|
||||||
|
interface Url {
|
||||||
|
auth: string | null;
|
||||||
|
hash: string | null;
|
||||||
|
host: string | null;
|
||||||
|
hostname: string | null;
|
||||||
|
href: string;
|
||||||
|
path: string | null;
|
||||||
|
pathname: string | null;
|
||||||
|
protocol: string | null;
|
||||||
|
search: string | null;
|
||||||
|
slashes: boolean | null;
|
||||||
|
port: string | null;
|
||||||
|
query: string | null | ParsedUrlQuery;
|
||||||
|
}
|
||||||
|
interface UrlWithParsedQuery extends Url {
|
||||||
|
query: ParsedUrlQuery;
|
||||||
|
}
|
||||||
|
interface UrlWithStringQuery extends Url {
|
||||||
|
query: string | null;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `url.parse()` method takes a URL string, parses it, and returns a URL
|
||||||
|
* object.
|
||||||
|
*
|
||||||
|
* A `TypeError` is thrown if `urlString` is not a string.
|
||||||
|
*
|
||||||
|
* A `URIError` is thrown if the `auth` property is present but cannot be decoded.
|
||||||
|
*
|
||||||
|
* Use of the legacy `url.parse()` method is discouraged. Users should
|
||||||
|
* use the WHATWG `URL` API. Because the `url.parse()` method uses a
|
||||||
|
* lenient, non-standard algorithm for parsing URL strings, security
|
||||||
|
* issues can be introduced. Specifically, issues with [host name spoofing](https://hackerone.com/reports/678487) and
|
||||||
|
* incorrect handling of usernames and passwords have been identified.
|
||||||
|
*
|
||||||
|
* Deprecation of this API has been shelved for now primarily due to the the
|
||||||
|
* inability of the [WHATWG API to parse relative URLs](https://github.com/nodejs/node/issues/12682#issuecomment-1154492373).
|
||||||
|
* [Discussions are ongoing](https://github.com/whatwg/url/issues/531) for the best way to resolve this.
|
||||||
|
*
|
||||||
|
* @since v0.1.25
|
||||||
|
* @param urlString The URL string to parse.
|
||||||
|
* @param [parseQueryString=false] If `true`, the `query` property will always be set to an object returned by the {@link querystring} module's `parse()` method. If `false`, the `query` property
|
||||||
|
* on the returned URL object will be an unparsed, undecoded string.
|
||||||
|
* @param [slashesDenoteHost=false] If `true`, the first token after the literal string `//` and preceding the next `/` will be interpreted as the `host`. For instance, given `//foo/bar`, the
|
||||||
|
* result would be `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`.
|
||||||
|
*/
|
||||||
|
function parse(urlString: string): UrlWithStringQuery;
|
||||||
|
function parse(urlString: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery;
|
||||||
|
function parse(urlString: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;
|
||||||
|
function parse(urlString: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;
|
||||||
|
/**
|
||||||
|
* The `url.format()` method returns a formatted URL string derived from`urlObject`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const url = require('url');
|
||||||
|
* url.format({
|
||||||
|
* protocol: 'https',
|
||||||
|
* hostname: 'example.com',
|
||||||
|
* pathname: '/some/path',
|
||||||
|
* query: {
|
||||||
|
* page: 1,
|
||||||
|
* format: 'json'
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // => 'https://example.com/some/path?page=1&format=json'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`.
|
||||||
|
*
|
||||||
|
* The formatting process operates as follows:
|
||||||
|
*
|
||||||
|
* * A new empty string `result` is created.
|
||||||
|
* * If `urlObject.protocol` is a string, it is appended as-is to `result`.
|
||||||
|
* * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * For all string values of `urlObject.protocol` that _do not end_ with an ASCII
|
||||||
|
* colon (`:`) character, the literal string `:` will be appended to `result`.
|
||||||
|
* * If either of the following conditions is true, then the literal string `//`will be appended to `result`:
|
||||||
|
* * `urlObject.slashes` property is true;
|
||||||
|
* * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or`file`;
|
||||||
|
* * If the value of the `urlObject.auth` property is truthy, and either`urlObject.host` or `urlObject.hostname` are not `undefined`, the value of`urlObject.auth` will be coerced into a string
|
||||||
|
* and appended to `result`followed by the literal string `@`.
|
||||||
|
* * If the `urlObject.host` property is `undefined` then:
|
||||||
|
* * If the `urlObject.hostname` is a string, it is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string,
|
||||||
|
* an `Error` is thrown.
|
||||||
|
* * If the `urlObject.port` property value is truthy, and `urlObject.hostname`is not `undefined`:
|
||||||
|
* * The literal string `:` is appended to `result`, and
|
||||||
|
* * The value of `urlObject.port` is coerced to a string and appended to`result`.
|
||||||
|
* * Otherwise, if the `urlObject.host` property value is truthy, the value of`urlObject.host` is coerced to a string and appended to `result`.
|
||||||
|
* * If the `urlObject.pathname` property is a string that is not an empty string:
|
||||||
|
* * If the `urlObject.pathname`_does not start_ with an ASCII forward slash
|
||||||
|
* (`/`), then the literal string `'/'` is appended to `result`.
|
||||||
|
* * The value of `urlObject.pathname` is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result`followed by the output of calling the
|
||||||
|
* `querystring` module's `stringify()`method passing the value of `urlObject.query`.
|
||||||
|
* * Otherwise, if `urlObject.search` is a string:
|
||||||
|
* * If the value of `urlObject.search`_does not start_ with the ASCII question
|
||||||
|
* mark (`?`) character, the literal string `?` is appended to `result`.
|
||||||
|
* * The value of `urlObject.search` is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * If the `urlObject.hash` property is a string:
|
||||||
|
* * If the value of `urlObject.hash`_does not start_ with the ASCII hash (`#`)
|
||||||
|
* character, the literal string `#` is appended to `result`.
|
||||||
|
* * The value of `urlObject.hash` is appended to `result`.
|
||||||
|
* * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a
|
||||||
|
* string, an `Error` is thrown.
|
||||||
|
* * `result` is returned.
|
||||||
|
* @since v0.1.25
|
||||||
|
* @deprecated Legacy: Use the WHATWG URL API instead.
|
||||||
|
* @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`.
|
||||||
|
*/
|
||||||
|
function format(urlObject: URL, options?: URLFormatOptions): string;
|
||||||
|
/**
|
||||||
|
* The `url.format()` method returns a formatted URL string derived from`urlObject`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const url = require('url');
|
||||||
|
* url.format({
|
||||||
|
* protocol: 'https',
|
||||||
|
* hostname: 'example.com',
|
||||||
|
* pathname: '/some/path',
|
||||||
|
* query: {
|
||||||
|
* page: 1,
|
||||||
|
* format: 'json'
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // => 'https://example.com/some/path?page=1&format=json'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`.
|
||||||
|
*
|
||||||
|
* The formatting process operates as follows:
|
||||||
|
*
|
||||||
|
* * A new empty string `result` is created.
|
||||||
|
* * If `urlObject.protocol` is a string, it is appended as-is to `result`.
|
||||||
|
* * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * For all string values of `urlObject.protocol` that _do not end_ with an ASCII
|
||||||
|
* colon (`:`) character, the literal string `:` will be appended to `result`.
|
||||||
|
* * If either of the following conditions is true, then the literal string `//`will be appended to `result`:
|
||||||
|
* * `urlObject.slashes` property is true;
|
||||||
|
* * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or`file`;
|
||||||
|
* * If the value of the `urlObject.auth` property is truthy, and either`urlObject.host` or `urlObject.hostname` are not `undefined`, the value of`urlObject.auth` will be coerced into a string
|
||||||
|
* and appended to `result`followed by the literal string `@`.
|
||||||
|
* * If the `urlObject.host` property is `undefined` then:
|
||||||
|
* * If the `urlObject.hostname` is a string, it is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string,
|
||||||
|
* an `Error` is thrown.
|
||||||
|
* * If the `urlObject.port` property value is truthy, and `urlObject.hostname`is not `undefined`:
|
||||||
|
* * The literal string `:` is appended to `result`, and
|
||||||
|
* * The value of `urlObject.port` is coerced to a string and appended to`result`.
|
||||||
|
* * Otherwise, if the `urlObject.host` property value is truthy, the value of`urlObject.host` is coerced to a string and appended to `result`.
|
||||||
|
* * If the `urlObject.pathname` property is a string that is not an empty string:
|
||||||
|
* * If the `urlObject.pathname`_does not start_ with an ASCII forward slash
|
||||||
|
* (`/`), then the literal string `'/'` is appended to `result`.
|
||||||
|
* * The value of `urlObject.pathname` is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result`followed by the output of calling the
|
||||||
|
* `querystring` module's `stringify()`method passing the value of `urlObject.query`.
|
||||||
|
* * Otherwise, if `urlObject.search` is a string:
|
||||||
|
* * If the value of `urlObject.search`_does not start_ with the ASCII question
|
||||||
|
* mark (`?`) character, the literal string `?` is appended to `result`.
|
||||||
|
* * The value of `urlObject.search` is appended to `result`.
|
||||||
|
* * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown.
|
||||||
|
* * If the `urlObject.hash` property is a string:
|
||||||
|
* * If the value of `urlObject.hash`_does not start_ with the ASCII hash (`#`)
|
||||||
|
* character, the literal string `#` is appended to `result`.
|
||||||
|
* * The value of `urlObject.hash` is appended to `result`.
|
||||||
|
* * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a
|
||||||
|
* string, an `Error` is thrown.
|
||||||
|
* * `result` is returned.
|
||||||
|
* @since v0.1.25
|
||||||
|
* @deprecated Legacy: Use the WHATWG URL API instead.
|
||||||
|
* @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`.
|
||||||
|
*/
|
||||||
|
function format(urlObject: UrlObject | string): string;
|
||||||
|
/**
|
||||||
|
* The `url.resolve()` method resolves a target URL relative to a base URL in a
|
||||||
|
* manner similar to that of a web browser resolving an anchor tag.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const url = require('url');
|
||||||
|
* url.resolve('/one/two/three', 'four'); // '/one/two/four'
|
||||||
|
* url.resolve('http://example.com/', '/one'); // 'http://example.com/one'
|
||||||
|
* url.resolve('http://example.com/one', '/two'); // 'http://example.com/two'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* To achieve the same result using the WHATWG URL API:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* function resolve(from, to) {
|
||||||
|
* const resolvedUrl = new URL(to, new URL(from, 'resolve://'));
|
||||||
|
* if (resolvedUrl.protocol === 'resolve:') {
|
||||||
|
* // `from` is a relative URL.
|
||||||
|
* const { pathname, search, hash } = resolvedUrl;
|
||||||
|
* return pathname + search + hash;
|
||||||
|
* }
|
||||||
|
* return resolvedUrl.toString();
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* resolve('/one/two/three', 'four'); // '/one/two/four'
|
||||||
|
* resolve('http://example.com/', '/one'); // 'http://example.com/one'
|
||||||
|
* resolve('http://example.com/one', '/two'); // 'http://example.com/two'
|
||||||
|
* ```
|
||||||
|
* @since v0.1.25
|
||||||
|
* @deprecated Legacy: Use the WHATWG URL API instead.
|
||||||
|
* @param from The base URL to use if `to` is a relative URL.
|
||||||
|
* @param to The target URL to resolve.
|
||||||
|
*/
|
||||||
|
function resolve(from: string, to: string): string;
|
||||||
|
/**
|
||||||
|
* Returns the [Punycode](https://tools.ietf.org/html/rfc5891#section-4.4) ASCII serialization of the `domain`. If `domain` is an
|
||||||
|
* invalid domain, the empty string is returned.
|
||||||
|
*
|
||||||
|
* It performs the inverse operation to {@link domainToUnicode}.
|
||||||
|
*
|
||||||
|
* This feature is only available if the `node` executable was compiled with `ICU` enabled. If not, the domain names are passed through unchanged.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import url from 'url';
|
||||||
|
*
|
||||||
|
* console.log(url.domainToASCII('español.com'));
|
||||||
|
* // Prints xn--espaol-zwa.com
|
||||||
|
* console.log(url.domainToASCII('中文.com'));
|
||||||
|
* // Prints xn--fiq228c.com
|
||||||
|
* console.log(url.domainToASCII('xn--iñvalid.com'));
|
||||||
|
* // Prints an empty string
|
||||||
|
* ```
|
||||||
|
* @since v7.4.0, v6.13.0
|
||||||
|
*/
|
||||||
|
function domainToASCII(domain: string): string;
|
||||||
|
/**
|
||||||
|
* Returns the Unicode serialization of the `domain`. If `domain` is an invalid
|
||||||
|
* domain, the empty string is returned.
|
||||||
|
*
|
||||||
|
* It performs the inverse operation to {@link domainToASCII}.
|
||||||
|
*
|
||||||
|
* This feature is only available if the `node` executable was compiled with `ICU` enabled. If not, the domain names are passed through unchanged.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import url from 'url';
|
||||||
|
*
|
||||||
|
* console.log(url.domainToUnicode('xn--espaol-zwa.com'));
|
||||||
|
* // Prints español.com
|
||||||
|
* console.log(url.domainToUnicode('xn--fiq228c.com'));
|
||||||
|
* // Prints 中文.com
|
||||||
|
* console.log(url.domainToUnicode('xn--iñvalid.com'));
|
||||||
|
* // Prints an empty string
|
||||||
|
* ```
|
||||||
|
* @since v7.4.0, v6.13.0
|
||||||
|
*/
|
||||||
|
function domainToUnicode(domain: string): string;
|
||||||
|
/**
|
||||||
|
* This function ensures the correct decodings of percent-encoded characters as
|
||||||
|
* well as ensuring a cross-platform valid absolute path string.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { fileURLToPath } from 'url';
|
||||||
|
*
|
||||||
|
* const __filename = fileURLToPath(import.meta.url);
|
||||||
|
*
|
||||||
|
* new URL('file:///C:/path/').pathname; // Incorrect: /C:/path/
|
||||||
|
* fileURLToPath('file:///C:/path/'); // Correct: C:\path\ (Windows)
|
||||||
|
*
|
||||||
|
* new URL('file://nas/foo.txt').pathname; // Incorrect: /foo.txt
|
||||||
|
* fileURLToPath('file://nas/foo.txt'); // Correct: \\nas\foo.txt (Windows)
|
||||||
|
*
|
||||||
|
* new URL('file:///你好.txt').pathname; // Incorrect: /%E4%BD%A0%E5%A5%BD.txt
|
||||||
|
* fileURLToPath('file:///你好.txt'); // Correct: /你好.txt (POSIX)
|
||||||
|
*
|
||||||
|
* new URL('file:///hello world').pathname; // Incorrect: /hello%20world
|
||||||
|
* fileURLToPath('file:///hello world'); // Correct: /hello world (POSIX)
|
||||||
|
* ```
|
||||||
|
* @since v10.12.0
|
||||||
|
* @param url The file URL string or URL object to convert to a path.
|
||||||
|
* @return The fully-resolved platform-specific Node.js file path.
|
||||||
|
*/
|
||||||
|
function fileURLToPath(url: string | URL): string;
|
||||||
|
/**
|
||||||
|
* This function ensures that `path` is resolved absolutely, and that the URL
|
||||||
|
* control characters are correctly encoded when converting into a File URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { pathToFileURL } from 'url';
|
||||||
|
*
|
||||||
|
* new URL('/foo#1', 'file:'); // Incorrect: file:///foo#1
|
||||||
|
* pathToFileURL('/foo#1'); // Correct: file:///foo%231 (POSIX)
|
||||||
|
*
|
||||||
|
* new URL('/some/path%.c', 'file:'); // Incorrect: file:///some/path%.c
|
||||||
|
* pathToFileURL('/some/path%.c'); // Correct: file:///some/path%25.c (POSIX)
|
||||||
|
* ```
|
||||||
|
* @since v10.12.0
|
||||||
|
* @param path The path to convert to a File URL.
|
||||||
|
* @return The file URL object.
|
||||||
|
*/
|
||||||
|
function pathToFileURL(path: string): URL;
|
||||||
|
/**
|
||||||
|
* This utility function converts a URL object into an ordinary options object as
|
||||||
|
* expected by the `http.request()` and `https.request()` APIs.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { urlToHttpOptions } from 'url';
|
||||||
|
* const myURL = new URL('https://a:b@測試?abc#foo');
|
||||||
|
*
|
||||||
|
* console.log(urlToHttpOptions(myURL));
|
||||||
|
* /*
|
||||||
|
* {
|
||||||
|
* protocol: 'https:',
|
||||||
|
* hostname: 'xn--g6w251d',
|
||||||
|
* hash: '#foo',
|
||||||
|
* search: '?abc',
|
||||||
|
* pathname: '/',
|
||||||
|
* path: '/?abc',
|
||||||
|
* href: 'https://a:b@xn--g6w251d/?abc#foo',
|
||||||
|
* auth: 'a:b'
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
* @since v15.7.0, v14.18.0
|
||||||
|
* @param url The `WHATWG URL` object to convert to an options object.
|
||||||
|
* @return Options object
|
||||||
|
*/
|
||||||
|
function urlToHttpOptions(url: URL): ClientRequestArgs;
|
||||||
|
interface URLFormatOptions {
|
||||||
|
auth?: boolean | undefined;
|
||||||
|
fragment?: boolean | undefined;
|
||||||
|
search?: boolean | undefined;
|
||||||
|
unicode?: boolean | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Browser-compatible `URL` class, implemented by following the WHATWG URL
|
||||||
|
* Standard. [Examples of parsed URLs](https://url.spec.whatwg.org/#example-url-parsing) may be found in the Standard itself.
|
||||||
|
* The `URL` class is also available on the global object.
|
||||||
|
*
|
||||||
|
* In accordance with browser conventions, all properties of `URL` objects
|
||||||
|
* are implemented as getters and setters on the class prototype, rather than as
|
||||||
|
* data properties on the object itself. Thus, unlike `legacy urlObject` s,
|
||||||
|
* using the `delete` keyword on any properties of `URL` objects (e.g. `delete myURL.protocol`, `delete myURL.pathname`, etc) has no effect but will still
|
||||||
|
* return `true`.
|
||||||
|
* @since v7.0.0, v6.13.0
|
||||||
|
*/
|
||||||
|
class URL {
|
||||||
|
/**
|
||||||
|
* Creates a `'blob:nodedata:...'` URL string that represents the given `Blob` object and can be used to retrieve the `Blob` later.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* Blob,
|
||||||
|
* resolveObjectURL,
|
||||||
|
* } = require('buffer');
|
||||||
|
*
|
||||||
|
* const blob = new Blob(['hello']);
|
||||||
|
* const id = URL.createObjectURL(blob);
|
||||||
|
*
|
||||||
|
* // later...
|
||||||
|
*
|
||||||
|
* const otherBlob = resolveObjectURL(id);
|
||||||
|
* console.log(otherBlob.size);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The data stored by the registered `Blob` will be retained in memory until`URL.revokeObjectURL()` is called to remove it.
|
||||||
|
*
|
||||||
|
* `Blob` objects are registered within the current thread. If using Worker
|
||||||
|
* Threads, `Blob` objects registered within one Worker will not be available
|
||||||
|
* to other workers or the main thread.
|
||||||
|
* @since v16.7.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
static createObjectURL(blob: Blob): string;
|
||||||
|
/**
|
||||||
|
* Removes the stored `Blob` identified by the given ID. Attempting to revoke a
|
||||||
|
* ID that isn’t registered will silently fail.
|
||||||
|
* @since v16.7.0
|
||||||
|
* @experimental
|
||||||
|
* @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.
|
||||||
|
*/
|
||||||
|
static revokeObjectURL(objectUrl: string): void;
|
||||||
|
constructor(input: string, base?: string | URL);
|
||||||
|
/**
|
||||||
|
* Gets and sets the fragment portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/foo#bar');
|
||||||
|
* console.log(myURL.hash);
|
||||||
|
* // Prints #bar
|
||||||
|
*
|
||||||
|
* myURL.hash = 'baz';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/foo#baz
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid URL characters included in the value assigned to the `hash` property
|
||||||
|
* are `percent-encoded`. The selection of which characters to
|
||||||
|
* percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
|
||||||
|
*/
|
||||||
|
hash: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the host portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org:81/foo');
|
||||||
|
* console.log(myURL.host);
|
||||||
|
* // Prints example.org:81
|
||||||
|
*
|
||||||
|
* myURL.host = 'example.com:82';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.com:82/foo
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid host values assigned to the `host` property are ignored.
|
||||||
|
*/
|
||||||
|
host: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the host name portion of the URL. The key difference between`url.host` and `url.hostname` is that `url.hostname` does _not_ include the
|
||||||
|
* port.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org:81/foo');
|
||||||
|
* console.log(myURL.hostname);
|
||||||
|
* // Prints example.org
|
||||||
|
*
|
||||||
|
* // Setting the hostname does not change the port
|
||||||
|
* myURL.hostname = 'example.com:82';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.com:81/foo
|
||||||
|
*
|
||||||
|
* // Use myURL.host to change the hostname and port
|
||||||
|
* myURL.host = 'example.org:82';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org:82/foo
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid host name values assigned to the `hostname` property are ignored.
|
||||||
|
*/
|
||||||
|
hostname: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the serialized URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/foo');
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/foo
|
||||||
|
*
|
||||||
|
* myURL.href = 'https://example.com/bar';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.com/bar
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Getting the value of the `href` property is equivalent to calling {@link toString}.
|
||||||
|
*
|
||||||
|
* Setting the value of this property to a new value is equivalent to creating a
|
||||||
|
* new `URL` object using `new URL(value)`. Each of the `URL`object's properties will be modified.
|
||||||
|
*
|
||||||
|
* If the value assigned to the `href` property is not a valid URL, a `TypeError`will be thrown.
|
||||||
|
*/
|
||||||
|
href: string;
|
||||||
|
/**
|
||||||
|
* Gets the read-only serialization of the URL's origin.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/foo/bar?baz');
|
||||||
|
* console.log(myURL.origin);
|
||||||
|
* // Prints https://example.org
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const idnURL = new URL('https://測試');
|
||||||
|
* console.log(idnURL.origin);
|
||||||
|
* // Prints https://xn--g6w251d
|
||||||
|
*
|
||||||
|
* console.log(idnURL.hostname);
|
||||||
|
* // Prints xn--g6w251d
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
readonly origin: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the password portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://abc:xyz@example.com');
|
||||||
|
* console.log(myURL.password);
|
||||||
|
* // Prints xyz
|
||||||
|
*
|
||||||
|
* myURL.password = '123';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://abc:123@example.com
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid URL characters included in the value assigned to the `password` property
|
||||||
|
* are `percent-encoded`. The selection of which characters to
|
||||||
|
* percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
|
||||||
|
*/
|
||||||
|
password: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the path portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/abc/xyz?123');
|
||||||
|
* console.log(myURL.pathname);
|
||||||
|
* // Prints /abc/xyz
|
||||||
|
*
|
||||||
|
* myURL.pathname = '/abcdef';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/abcdef?123
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid URL characters included in the value assigned to the `pathname`property are `percent-encoded`. The selection of which characters
|
||||||
|
* to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
|
||||||
|
*/
|
||||||
|
pathname: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the port portion of the URL.
|
||||||
|
*
|
||||||
|
* The port value may be a number or a string containing a number in the range`0` to `65535` (inclusive). Setting the value to the default port of the`URL` objects given `protocol` will
|
||||||
|
* result in the `port` value becoming
|
||||||
|
* the empty string (`''`).
|
||||||
|
*
|
||||||
|
* The port value can be an empty string in which case the port depends on
|
||||||
|
* the protocol/scheme:
|
||||||
|
*
|
||||||
|
* <omitted>
|
||||||
|
*
|
||||||
|
* Upon assigning a value to the port, the value will first be converted to a
|
||||||
|
* string using `.toString()`.
|
||||||
|
*
|
||||||
|
* If that string is invalid but it begins with a number, the leading number is
|
||||||
|
* assigned to `port`.
|
||||||
|
* If the number lies outside the range denoted above, it is ignored.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org:8888');
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 8888
|
||||||
|
*
|
||||||
|
* // Default ports are automatically transformed to the empty string
|
||||||
|
* // (HTTPS protocol's default port is 443)
|
||||||
|
* myURL.port = '443';
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints the empty string
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/
|
||||||
|
*
|
||||||
|
* myURL.port = 1234;
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 1234
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org:1234/
|
||||||
|
*
|
||||||
|
* // Completely invalid port strings are ignored
|
||||||
|
* myURL.port = 'abcd';
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 1234
|
||||||
|
*
|
||||||
|
* // Leading numbers are treated as a port number
|
||||||
|
* myURL.port = '5678abcd';
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 5678
|
||||||
|
*
|
||||||
|
* // Non-integers are truncated
|
||||||
|
* myURL.port = 1234.5678;
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 1234
|
||||||
|
*
|
||||||
|
* // Out-of-range numbers which are not represented in scientific notation
|
||||||
|
* // will be ignored.
|
||||||
|
* myURL.port = 1e10; // 10000000000, will be range-checked as described below
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 1234
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Numbers which contain a decimal point,
|
||||||
|
* such as floating-point numbers or numbers in scientific notation,
|
||||||
|
* are not an exception to this rule.
|
||||||
|
* Leading numbers up to the decimal point will be set as the URL's port,
|
||||||
|
* assuming they are valid:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* myURL.port = 4.567e21;
|
||||||
|
* console.log(myURL.port);
|
||||||
|
* // Prints 4 (because it is the leading number in the string '4.567e21')
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
port: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the protocol portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org');
|
||||||
|
* console.log(myURL.protocol);
|
||||||
|
* // Prints https:
|
||||||
|
*
|
||||||
|
* myURL.protocol = 'ftp';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints ftp://example.org/
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Invalid URL protocol values assigned to the `protocol` property are ignored.
|
||||||
|
*/
|
||||||
|
protocol: string;
|
||||||
|
/**
|
||||||
|
* Gets and sets the serialized query portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/abc?123');
|
||||||
|
* console.log(myURL.search);
|
||||||
|
* // Prints ?123
|
||||||
|
*
|
||||||
|
* myURL.search = 'abc=xyz';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/abc?abc=xyz
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Any invalid URL characters appearing in the value assigned the `search`property will be `percent-encoded`. The selection of which
|
||||||
|
* characters to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
|
||||||
|
*/
|
||||||
|
search: string;
|
||||||
|
/**
|
||||||
|
* Gets the `URLSearchParams` object representing the query parameters of the
|
||||||
|
* URL. This property is read-only but the `URLSearchParams` object it provides
|
||||||
|
* can be used to mutate the URL instance; to replace the entirety of query
|
||||||
|
* parameters of the URL, use the {@link search} setter. See `URLSearchParams` documentation for details.
|
||||||
|
*
|
||||||
|
* Use care when using `.searchParams` to modify the `URL` because,
|
||||||
|
* per the WHATWG specification, the `URLSearchParams` object uses
|
||||||
|
* different rules to determine which characters to percent-encode. For
|
||||||
|
* instance, the `URL` object will not percent encode the ASCII tilde (`~`)
|
||||||
|
* character, while `URLSearchParams` will always encode it:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myUrl = new URL('https://example.org/abc?foo=~bar');
|
||||||
|
*
|
||||||
|
* console.log(myUrl.search); // prints ?foo=~bar
|
||||||
|
*
|
||||||
|
* // Modify the URL via searchParams...
|
||||||
|
* myUrl.searchParams.sort();
|
||||||
|
*
|
||||||
|
* console.log(myUrl.search); // prints ?foo=%7Ebar
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
readonly searchParams: URLSearchParams;
|
||||||
|
/**
|
||||||
|
* Gets and sets the username portion of the URL.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://abc:xyz@example.com');
|
||||||
|
* console.log(myURL.username);
|
||||||
|
* // Prints abc
|
||||||
|
*
|
||||||
|
* myURL.username = '123';
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://123:xyz@example.com/
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Any invalid URL characters appearing in the value assigned the `username`property will be `percent-encoded`. The selection of which
|
||||||
|
* characters to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
|
||||||
|
*/
|
||||||
|
username: string;
|
||||||
|
/**
|
||||||
|
* The `toString()` method on the `URL` object returns the serialized URL. The
|
||||||
|
* value returned is equivalent to that of {@link href} and {@link toJSON}.
|
||||||
|
*/
|
||||||
|
toString(): string;
|
||||||
|
/**
|
||||||
|
* The `toJSON()` method on the `URL` object returns the serialized URL. The
|
||||||
|
* value returned is equivalent to that of {@link href} and {@link toString}.
|
||||||
|
*
|
||||||
|
* This method is automatically called when an `URL` object is serialized
|
||||||
|
* with [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURLs = [
|
||||||
|
* new URL('https://www.example.com'),
|
||||||
|
* new URL('https://test.example.org'),
|
||||||
|
* ];
|
||||||
|
* console.log(JSON.stringify(myURLs));
|
||||||
|
* // Prints ["https://www.example.com/","https://test.example.org/"]
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
toJSON(): string;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `URLSearchParams` API provides read and write access to the query of a`URL`. The `URLSearchParams` class can also be used standalone with one of the
|
||||||
|
* four following constructors.
|
||||||
|
* The `URLSearchParams` class is also available on the global object.
|
||||||
|
*
|
||||||
|
* The WHATWG `URLSearchParams` interface and the `querystring` module have
|
||||||
|
* similar purpose, but the purpose of the `querystring` module is more
|
||||||
|
* general, as it allows the customization of delimiter characters (`&` and `=`).
|
||||||
|
* On the other hand, this API is designed purely for URL query strings.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/?abc=123');
|
||||||
|
* console.log(myURL.searchParams.get('abc'));
|
||||||
|
* // Prints 123
|
||||||
|
*
|
||||||
|
* myURL.searchParams.append('abc', 'xyz');
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/?abc=123&abc=xyz
|
||||||
|
*
|
||||||
|
* myURL.searchParams.delete('abc');
|
||||||
|
* myURL.searchParams.set('a', 'b');
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/?a=b
|
||||||
|
*
|
||||||
|
* const newSearchParams = new URLSearchParams(myURL.searchParams);
|
||||||
|
* // The above is equivalent to
|
||||||
|
* // const newSearchParams = new URLSearchParams(myURL.search);
|
||||||
|
*
|
||||||
|
* newSearchParams.append('a', 'c');
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/?a=b
|
||||||
|
* console.log(newSearchParams.toString());
|
||||||
|
* // Prints a=b&a=c
|
||||||
|
*
|
||||||
|
* // newSearchParams.toString() is implicitly called
|
||||||
|
* myURL.search = newSearchParams;
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/?a=b&a=c
|
||||||
|
* newSearchParams.delete('a');
|
||||||
|
* console.log(myURL.href);
|
||||||
|
* // Prints https://example.org/?a=b&a=c
|
||||||
|
* ```
|
||||||
|
* @since v7.5.0, v6.13.0
|
||||||
|
*/
|
||||||
|
class URLSearchParams implements Iterable<[string, string]> {
|
||||||
|
constructor(init?: URLSearchParams | string | Record<string, string | ReadonlyArray<string>> | Iterable<[string, string]> | ReadonlyArray<[string, string]>);
|
||||||
|
/**
|
||||||
|
* Append a new name-value pair to the query string.
|
||||||
|
*/
|
||||||
|
append(name: string, value: string): void;
|
||||||
|
/**
|
||||||
|
* Remove all name-value pairs whose name is `name`.
|
||||||
|
*/
|
||||||
|
delete(name: string): void;
|
||||||
|
/**
|
||||||
|
* Returns an ES6 `Iterator` over each of the name-value pairs in the query.
|
||||||
|
* Each item of the iterator is a JavaScript `Array`. The first item of the `Array`is the `name`, the second item of the `Array` is the `value`.
|
||||||
|
*
|
||||||
|
* Alias for `urlSearchParams[@@iterator]()`.
|
||||||
|
*/
|
||||||
|
entries(): IterableIterator<[string, string]>;
|
||||||
|
/**
|
||||||
|
* Iterates over each name-value pair in the query and invokes the given function.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const myURL = new URL('https://example.org/?a=b&c=d');
|
||||||
|
* myURL.searchParams.forEach((value, name, searchParams) => {
|
||||||
|
* console.log(name, value, myURL.searchParams === searchParams);
|
||||||
|
* });
|
||||||
|
* // Prints:
|
||||||
|
* // a b true
|
||||||
|
* // c d true
|
||||||
|
* ```
|
||||||
|
* @param fn Invoked for each name-value pair in the query
|
||||||
|
* @param thisArg To be used as `this` value for when `fn` is called
|
||||||
|
*/
|
||||||
|
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams: URLSearchParams) => void, thisArg?: TThis): void;
|
||||||
|
/**
|
||||||
|
* Returns the value of the first name-value pair whose name is `name`. If there
|
||||||
|
* are no such pairs, `null` is returned.
|
||||||
|
* @return or `null` if there is no name-value pair with the given `name`.
|
||||||
|
*/
|
||||||
|
get(name: string): string | null;
|
||||||
|
/**
|
||||||
|
* Returns the values of all name-value pairs whose name is `name`. If there are
|
||||||
|
* no such pairs, an empty array is returned.
|
||||||
|
*/
|
||||||
|
getAll(name: string): string[];
|
||||||
|
/**
|
||||||
|
* Returns `true` if there is at least one name-value pair whose name is `name`.
|
||||||
|
*/
|
||||||
|
has(name: string): boolean;
|
||||||
|
/**
|
||||||
|
* Returns an ES6 `Iterator` over the names of each name-value pair.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const params = new URLSearchParams('foo=bar&foo=baz');
|
||||||
|
* for (const name of params.keys()) {
|
||||||
|
* console.log(name);
|
||||||
|
* }
|
||||||
|
* // Prints:
|
||||||
|
* // foo
|
||||||
|
* // foo
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
keys(): IterableIterator<string>;
|
||||||
|
/**
|
||||||
|
* Sets the value in the `URLSearchParams` object associated with `name` to`value`. If there are any pre-existing name-value pairs whose names are `name`,
|
||||||
|
* set the first such pair's value to `value` and remove all others. If not,
|
||||||
|
* append the name-value pair to the query string.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const params = new URLSearchParams();
|
||||||
|
* params.append('foo', 'bar');
|
||||||
|
* params.append('foo', 'baz');
|
||||||
|
* params.append('abc', 'def');
|
||||||
|
* console.log(params.toString());
|
||||||
|
* // Prints foo=bar&foo=baz&abc=def
|
||||||
|
*
|
||||||
|
* params.set('foo', 'def');
|
||||||
|
* params.set('xyz', 'opq');
|
||||||
|
* console.log(params.toString());
|
||||||
|
* // Prints foo=def&abc=def&xyz=opq
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
set(name: string, value: string): void;
|
||||||
|
/**
|
||||||
|
* Sort all existing name-value pairs in-place by their names. Sorting is done
|
||||||
|
* with a [stable sorting algorithm](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability), so relative order between name-value pairs
|
||||||
|
* with the same name is preserved.
|
||||||
|
*
|
||||||
|
* This method can be used, in particular, to increase cache hits.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const params = new URLSearchParams('query[]=abc&type=search&query[]=123');
|
||||||
|
* params.sort();
|
||||||
|
* console.log(params.toString());
|
||||||
|
* // Prints query%5B%5D=abc&query%5B%5D=123&type=search
|
||||||
|
* ```
|
||||||
|
* @since v7.7.0, v6.13.0
|
||||||
|
*/
|
||||||
|
sort(): void;
|
||||||
|
/**
|
||||||
|
* Returns the search parameters serialized as a string, with characters
|
||||||
|
* percent-encoded where necessary.
|
||||||
|
*/
|
||||||
|
toString(): string;
|
||||||
|
/**
|
||||||
|
* Returns an ES6 `Iterator` over the values of each name-value pair.
|
||||||
|
*/
|
||||||
|
values(): IterableIterator<string>;
|
||||||
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
||||||
|
}
|
||||||
|
import { URL as _URL, URLSearchParams as _URLSearchParams } from 'url';
|
||||||
|
global {
|
||||||
|
interface URLSearchParams extends _URLSearchParams {}
|
||||||
|
interface URL extends _URL {}
|
||||||
|
interface Global {
|
||||||
|
URL: typeof _URL;
|
||||||
|
URLSearchParams: typeof _URLSearchParams;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* `URL` class is a global reference for `require('url').URL`
|
||||||
|
* https://nodejs.org/api/url.html#the-whatwg-url-api
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
var URL: typeof globalThis extends {
|
||||||
|
onmessage: any;
|
||||||
|
URL: infer URL;
|
||||||
|
}
|
||||||
|
? URL
|
||||||
|
: typeof _URL;
|
||||||
|
/**
|
||||||
|
* `URLSearchParams` class is a global reference for `require('url').URLSearchParams`
|
||||||
|
* https://nodejs.org/api/url.html#class-urlsearchparams
|
||||||
|
* @since v10.0.0
|
||||||
|
*/
|
||||||
|
var URLSearchParams: typeof globalThis extends {
|
||||||
|
onmessage: any;
|
||||||
|
URLSearchParams: infer URLSearchParams;
|
||||||
|
}
|
||||||
|
? URLSearchParams
|
||||||
|
: typeof _URLSearchParams;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:url' {
|
||||||
|
export * from 'url';
|
||||||
|
}
|
1792
node_modules/@types/node/ts4.8/util.d.ts
generated
vendored
Normal file
1792
node_modules/@types/node/ts4.8/util.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
396
node_modules/@types/node/ts4.8/v8.d.ts
generated
vendored
Normal file
396
node_modules/@types/node/ts4.8/v8.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,396 @@
|
||||||
|
/**
|
||||||
|
* The `v8` module exposes APIs that are specific to the version of [V8](https://developers.google.com/v8/) built into the Node.js binary. It can be accessed using:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const v8 = require('v8');
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/v8.js)
|
||||||
|
*/
|
||||||
|
declare module 'v8' {
|
||||||
|
import { Readable } from 'node:stream';
|
||||||
|
interface HeapSpaceInfo {
|
||||||
|
space_name: string;
|
||||||
|
space_size: number;
|
||||||
|
space_used_size: number;
|
||||||
|
space_available_size: number;
|
||||||
|
physical_space_size: number;
|
||||||
|
}
|
||||||
|
// ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */
|
||||||
|
type DoesZapCodeSpaceFlag = 0 | 1;
|
||||||
|
interface HeapInfo {
|
||||||
|
total_heap_size: number;
|
||||||
|
total_heap_size_executable: number;
|
||||||
|
total_physical_size: number;
|
||||||
|
total_available_size: number;
|
||||||
|
used_heap_size: number;
|
||||||
|
heap_size_limit: number;
|
||||||
|
malloced_memory: number;
|
||||||
|
peak_malloced_memory: number;
|
||||||
|
does_zap_garbage: DoesZapCodeSpaceFlag;
|
||||||
|
number_of_native_contexts: number;
|
||||||
|
number_of_detached_contexts: number;
|
||||||
|
}
|
||||||
|
interface HeapCodeStatistics {
|
||||||
|
code_and_metadata_size: number;
|
||||||
|
bytecode_and_metadata_size: number;
|
||||||
|
external_script_source_size: number;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Returns an integer representing a version tag derived from the V8 version,
|
||||||
|
* command-line flags, and detected CPU features. This is useful for determining
|
||||||
|
* whether a `vm.Script` `cachedData` buffer is compatible with this instance
|
||||||
|
* of V8.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* console.log(v8.cachedDataVersionTag()); // 3947234607
|
||||||
|
* // The value returned by v8.cachedDataVersionTag() is derived from the V8
|
||||||
|
* // version, command-line flags, and detected CPU features. Test that the value
|
||||||
|
* // does indeed update when flags are toggled.
|
||||||
|
* v8.setFlagsFromString('--allow_natives_syntax');
|
||||||
|
* console.log(v8.cachedDataVersionTag()); // 183726201
|
||||||
|
* ```
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
function cachedDataVersionTag(): number;
|
||||||
|
/**
|
||||||
|
* Returns an object with the following properties:
|
||||||
|
*
|
||||||
|
* `does_zap_garbage` is a 0/1 boolean, which signifies whether the`--zap_code_space` option is enabled or not. This makes V8 overwrite heap
|
||||||
|
* garbage with a bit pattern. The RSS footprint (resident set size) gets bigger
|
||||||
|
* because it continuously touches all heap pages and that makes them less likely
|
||||||
|
* to get swapped out by the operating system.
|
||||||
|
*
|
||||||
|
* `number_of_native_contexts` The value of native\_context is the number of the
|
||||||
|
* top-level contexts currently active. Increase of this number over time indicates
|
||||||
|
* a memory leak.
|
||||||
|
*
|
||||||
|
* `number_of_detached_contexts` The value of detached\_context is the number
|
||||||
|
* of contexts that were detached and not yet garbage collected. This number
|
||||||
|
* being non-zero indicates a potential memory leak.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* total_heap_size: 7326976,
|
||||||
|
* total_heap_size_executable: 4194304,
|
||||||
|
* total_physical_size: 7326976,
|
||||||
|
* total_available_size: 1152656,
|
||||||
|
* used_heap_size: 3476208,
|
||||||
|
* heap_size_limit: 1535115264,
|
||||||
|
* malloced_memory: 16384,
|
||||||
|
* peak_malloced_memory: 1127496,
|
||||||
|
* does_zap_garbage: 0,
|
||||||
|
* number_of_native_contexts: 1,
|
||||||
|
* number_of_detached_contexts: 0
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v1.0.0
|
||||||
|
*/
|
||||||
|
function getHeapStatistics(): HeapInfo;
|
||||||
|
/**
|
||||||
|
* Returns statistics about the V8 heap spaces, i.e. the segments which make up
|
||||||
|
* the V8 heap. Neither the ordering of heap spaces, nor the availability of a
|
||||||
|
* heap space can be guaranteed as the statistics are provided via the
|
||||||
|
* V8[`GetHeapSpaceStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4) function and may change from one V8 version to the
|
||||||
|
* next.
|
||||||
|
*
|
||||||
|
* The value returned is an array of objects containing the following properties:
|
||||||
|
*
|
||||||
|
* ```json
|
||||||
|
* [
|
||||||
|
* {
|
||||||
|
* "space_name": "new_space",
|
||||||
|
* "space_size": 2063872,
|
||||||
|
* "space_used_size": 951112,
|
||||||
|
* "space_available_size": 80824,
|
||||||
|
* "physical_space_size": 2063872
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* "space_name": "old_space",
|
||||||
|
* "space_size": 3090560,
|
||||||
|
* "space_used_size": 2493792,
|
||||||
|
* "space_available_size": 0,
|
||||||
|
* "physical_space_size": 3090560
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* "space_name": "code_space",
|
||||||
|
* "space_size": 1260160,
|
||||||
|
* "space_used_size": 644256,
|
||||||
|
* "space_available_size": 960,
|
||||||
|
* "physical_space_size": 1260160
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* "space_name": "map_space",
|
||||||
|
* "space_size": 1094160,
|
||||||
|
* "space_used_size": 201608,
|
||||||
|
* "space_available_size": 0,
|
||||||
|
* "physical_space_size": 1094160
|
||||||
|
* },
|
||||||
|
* {
|
||||||
|
* "space_name": "large_object_space",
|
||||||
|
* "space_size": 0,
|
||||||
|
* "space_used_size": 0,
|
||||||
|
* "space_available_size": 1490980608,
|
||||||
|
* "physical_space_size": 0
|
||||||
|
* }
|
||||||
|
* ]
|
||||||
|
* ```
|
||||||
|
* @since v6.0.0
|
||||||
|
*/
|
||||||
|
function getHeapSpaceStatistics(): HeapSpaceInfo[];
|
||||||
|
/**
|
||||||
|
* The `v8.setFlagsFromString()` method can be used to programmatically set
|
||||||
|
* V8 command-line flags. This method should be used with care. Changing settings
|
||||||
|
* after the VM has started may result in unpredictable behavior, including
|
||||||
|
* crashes and data loss; or it may simply do nothing.
|
||||||
|
*
|
||||||
|
* The V8 options available for a version of Node.js may be determined by running`node --v8-options`.
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // Print GC events to stdout for one minute.
|
||||||
|
* const v8 = require('v8');
|
||||||
|
* v8.setFlagsFromString('--trace_gc');
|
||||||
|
* setTimeout(() => { v8.setFlagsFromString('--notrace_gc'); }, 60e3);
|
||||||
|
* ```
|
||||||
|
* @since v1.0.0
|
||||||
|
*/
|
||||||
|
function setFlagsFromString(flags: string): void;
|
||||||
|
/**
|
||||||
|
* Generates a snapshot of the current V8 heap and returns a Readable
|
||||||
|
* Stream that may be used to read the JSON serialized representation.
|
||||||
|
* This JSON stream format is intended to be used with tools such as
|
||||||
|
* Chrome DevTools. The JSON schema is undocumented and specific to the
|
||||||
|
* V8 engine. Therefore, the schema may change from one version of V8 to the next.
|
||||||
|
*
|
||||||
|
* Creating a heap snapshot requires memory about twice the size of the heap at
|
||||||
|
* the time the snapshot is created. This results in the risk of OOM killers
|
||||||
|
* terminating the process.
|
||||||
|
*
|
||||||
|
* Generating a snapshot is a synchronous operation which blocks the event loop
|
||||||
|
* for a duration depending on the heap size.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* // Print heap snapshot to the console
|
||||||
|
* const v8 = require('v8');
|
||||||
|
* const stream = v8.getHeapSnapshot();
|
||||||
|
* stream.pipe(process.stdout);
|
||||||
|
* ```
|
||||||
|
* @since v11.13.0
|
||||||
|
* @return A Readable Stream containing the V8 heap snapshot
|
||||||
|
*/
|
||||||
|
function getHeapSnapshot(): Readable;
|
||||||
|
/**
|
||||||
|
* Generates a snapshot of the current V8 heap and writes it to a JSON
|
||||||
|
* file. This file is intended to be used with tools such as Chrome
|
||||||
|
* DevTools. The JSON schema is undocumented and specific to the V8
|
||||||
|
* engine, and may change from one version of V8 to the next.
|
||||||
|
*
|
||||||
|
* A heap snapshot is specific to a single V8 isolate. When using `worker threads`, a heap snapshot generated from the main thread will
|
||||||
|
* not contain any information about the workers, and vice versa.
|
||||||
|
*
|
||||||
|
* Creating a heap snapshot requires memory about twice the size of the heap at
|
||||||
|
* the time the snapshot is created. This results in the risk of OOM killers
|
||||||
|
* terminating the process.
|
||||||
|
*
|
||||||
|
* Generating a snapshot is a synchronous operation which blocks the event loop
|
||||||
|
* for a duration depending on the heap size.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { writeHeapSnapshot } = require('v8');
|
||||||
|
* const {
|
||||||
|
* Worker,
|
||||||
|
* isMainThread,
|
||||||
|
* parentPort
|
||||||
|
* } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* if (isMainThread) {
|
||||||
|
* const worker = new Worker(__filename);
|
||||||
|
*
|
||||||
|
* worker.once('message', (filename) => {
|
||||||
|
* console.log(`worker heapdump: ${filename}`);
|
||||||
|
* // Now get a heapdump for the main thread.
|
||||||
|
* console.log(`main thread heapdump: ${writeHeapSnapshot()}`);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Tell the worker to create a heapdump.
|
||||||
|
* worker.postMessage('heapdump');
|
||||||
|
* } else {
|
||||||
|
* parentPort.once('message', (message) => {
|
||||||
|
* if (message === 'heapdump') {
|
||||||
|
* // Generate a heapdump for the worker
|
||||||
|
* // and return the filename to the parent.
|
||||||
|
* parentPort.postMessage(writeHeapSnapshot());
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v11.13.0
|
||||||
|
* @param filename The file path where the V8 heap snapshot is to be saved. If not specified, a file name with the pattern `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be
|
||||||
|
* generated, where `{pid}` will be the PID of the Node.js process, `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from the main Node.js thread or the id of a
|
||||||
|
* worker thread.
|
||||||
|
* @return The filename where the snapshot was saved.
|
||||||
|
*/
|
||||||
|
function writeHeapSnapshot(filename?: string): string;
|
||||||
|
/**
|
||||||
|
* Returns an object with the following properties:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* {
|
||||||
|
* code_and_metadata_size: 212208,
|
||||||
|
* bytecode_and_metadata_size: 161368,
|
||||||
|
* external_script_source_size: 1410794
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v12.8.0
|
||||||
|
*/
|
||||||
|
function getHeapCodeStatistics(): HeapCodeStatistics;
|
||||||
|
/**
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
class Serializer {
|
||||||
|
/**
|
||||||
|
* Writes out a header, which includes the serialization format version.
|
||||||
|
*/
|
||||||
|
writeHeader(): void;
|
||||||
|
/**
|
||||||
|
* Serializes a JavaScript value and adds the serialized representation to the
|
||||||
|
* internal buffer.
|
||||||
|
*
|
||||||
|
* This throws an error if `value` cannot be serialized.
|
||||||
|
*/
|
||||||
|
writeValue(val: any): boolean;
|
||||||
|
/**
|
||||||
|
* Returns the stored internal buffer. This serializer should not be used once
|
||||||
|
* the buffer is released. Calling this method results in undefined behavior
|
||||||
|
* if a previous write has failed.
|
||||||
|
*/
|
||||||
|
releaseBuffer(): Buffer;
|
||||||
|
/**
|
||||||
|
* Marks an `ArrayBuffer` as having its contents transferred out of band.
|
||||||
|
* Pass the corresponding `ArrayBuffer` in the deserializing context to `deserializer.transferArrayBuffer()`.
|
||||||
|
* @param id A 32-bit unsigned integer.
|
||||||
|
* @param arrayBuffer An `ArrayBuffer` instance.
|
||||||
|
*/
|
||||||
|
transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;
|
||||||
|
/**
|
||||||
|
* Write a raw 32-bit unsigned integer.
|
||||||
|
* For use inside of a custom `serializer._writeHostObject()`.
|
||||||
|
*/
|
||||||
|
writeUint32(value: number): void;
|
||||||
|
/**
|
||||||
|
* Write a raw 64-bit unsigned integer, split into high and low 32-bit parts.
|
||||||
|
* For use inside of a custom `serializer._writeHostObject()`.
|
||||||
|
*/
|
||||||
|
writeUint64(hi: number, lo: number): void;
|
||||||
|
/**
|
||||||
|
* Write a JS `number` value.
|
||||||
|
* For use inside of a custom `serializer._writeHostObject()`.
|
||||||
|
*/
|
||||||
|
writeDouble(value: number): void;
|
||||||
|
/**
|
||||||
|
* Write raw bytes into the serializer’s internal buffer. The deserializer
|
||||||
|
* will require a way to compute the length of the buffer.
|
||||||
|
* For use inside of a custom `serializer._writeHostObject()`.
|
||||||
|
*/
|
||||||
|
writeRawBytes(buffer: NodeJS.TypedArray): void;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* A subclass of `Serializer` that serializes `TypedArray`(in particular `Buffer`) and `DataView` objects as host objects, and only
|
||||||
|
* stores the part of their underlying `ArrayBuffer`s that they are referring to.
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
class DefaultSerializer extends Serializer {}
|
||||||
|
/**
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
class Deserializer {
|
||||||
|
constructor(data: NodeJS.TypedArray);
|
||||||
|
/**
|
||||||
|
* Reads and validates a header (including the format version).
|
||||||
|
* May, for example, reject an invalid or unsupported wire format. In that case,
|
||||||
|
* an `Error` is thrown.
|
||||||
|
*/
|
||||||
|
readHeader(): boolean;
|
||||||
|
/**
|
||||||
|
* Deserializes a JavaScript value from the buffer and returns it.
|
||||||
|
*/
|
||||||
|
readValue(): any;
|
||||||
|
/**
|
||||||
|
* Marks an `ArrayBuffer` as having its contents transferred out of band.
|
||||||
|
* Pass the corresponding `ArrayBuffer` in the serializing context to `serializer.transferArrayBuffer()` (or return the `id` from `serializer._getSharedArrayBufferId()` in the case of
|
||||||
|
* `SharedArrayBuffer`s).
|
||||||
|
* @param id A 32-bit unsigned integer.
|
||||||
|
* @param arrayBuffer An `ArrayBuffer` instance.
|
||||||
|
*/
|
||||||
|
transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;
|
||||||
|
/**
|
||||||
|
* Reads the underlying wire format version. Likely mostly to be useful to
|
||||||
|
* legacy code reading old wire format versions. May not be called before`.readHeader()`.
|
||||||
|
*/
|
||||||
|
getWireFormatVersion(): number;
|
||||||
|
/**
|
||||||
|
* Read a raw 32-bit unsigned integer and return it.
|
||||||
|
* For use inside of a custom `deserializer._readHostObject()`.
|
||||||
|
*/
|
||||||
|
readUint32(): number;
|
||||||
|
/**
|
||||||
|
* Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]`with two 32-bit unsigned integer entries.
|
||||||
|
* For use inside of a custom `deserializer._readHostObject()`.
|
||||||
|
*/
|
||||||
|
readUint64(): [number, number];
|
||||||
|
/**
|
||||||
|
* Read a JS `number` value.
|
||||||
|
* For use inside of a custom `deserializer._readHostObject()`.
|
||||||
|
*/
|
||||||
|
readDouble(): number;
|
||||||
|
/**
|
||||||
|
* Read raw bytes from the deserializer’s internal buffer. The `length` parameter
|
||||||
|
* must correspond to the length of the buffer that was passed to `serializer.writeRawBytes()`.
|
||||||
|
* For use inside of a custom `deserializer._readHostObject()`.
|
||||||
|
*/
|
||||||
|
readRawBytes(length: number): Buffer;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* A subclass of `Deserializer` corresponding to the format written by `DefaultSerializer`.
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
class DefaultDeserializer extends Deserializer {}
|
||||||
|
/**
|
||||||
|
* Uses a `DefaultSerializer` to serialize `value` into a buffer.
|
||||||
|
*
|
||||||
|
* `ERR_BUFFER_TOO_LARGE` will be thrown when trying to
|
||||||
|
* serialize a huge object which requires buffer
|
||||||
|
* larger than `buffer.constants.MAX_LENGTH`.
|
||||||
|
* @since v8.0.0
|
||||||
|
*/
|
||||||
|
function serialize(value: any): Buffer;
|
||||||
|
/**
|
||||||
|
* Uses a `DefaultDeserializer` with default options to read a JS value
|
||||||
|
* from a buffer.
|
||||||
|
* @since v8.0.0
|
||||||
|
* @param buffer A buffer returned by {@link serialize}.
|
||||||
|
*/
|
||||||
|
function deserialize(buffer: NodeJS.TypedArray): any;
|
||||||
|
/**
|
||||||
|
* The `v8.takeCoverage()` method allows the user to write the coverage started by `NODE_V8_COVERAGE` to disk on demand. This method can be invoked multiple
|
||||||
|
* times during the lifetime of the process. Each time the execution counter will
|
||||||
|
* be reset and a new coverage report will be written to the directory specified
|
||||||
|
* by `NODE_V8_COVERAGE`.
|
||||||
|
*
|
||||||
|
* When the process is about to exit, one last coverage will still be written to
|
||||||
|
* disk unless {@link stopCoverage} is invoked before the process exits.
|
||||||
|
* @since v15.1.0, v14.18.0, v12.22.0
|
||||||
|
*/
|
||||||
|
function takeCoverage(): void;
|
||||||
|
/**
|
||||||
|
* The `v8.stopCoverage()` method allows the user to stop the coverage collection
|
||||||
|
* started by `NODE_V8_COVERAGE`, so that V8 can release the execution count
|
||||||
|
* records and optimize code. This can be used in conjunction with {@link takeCoverage} if the user wants to collect the coverage on demand.
|
||||||
|
* @since v15.1.0, v14.18.0, v12.22.0
|
||||||
|
*/
|
||||||
|
function stopCoverage(): void;
|
||||||
|
}
|
||||||
|
declare module 'node:v8' {
|
||||||
|
export * from 'v8';
|
||||||
|
}
|
509
node_modules/@types/node/ts4.8/vm.d.ts
generated
vendored
Normal file
509
node_modules/@types/node/ts4.8/vm.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,509 @@
|
||||||
|
/**
|
||||||
|
* The `vm` module enables compiling and running code within V8 Virtual
|
||||||
|
* Machine contexts.
|
||||||
|
*
|
||||||
|
* **The `vm` module is not a security**
|
||||||
|
* **mechanism. Do not use it to run untrusted code.**
|
||||||
|
*
|
||||||
|
* JavaScript code can be compiled and run immediately or
|
||||||
|
* compiled, saved, and run later.
|
||||||
|
*
|
||||||
|
* A common use case is to run the code in a different V8 Context. This means
|
||||||
|
* invoked code has a different global object than the invoking code.
|
||||||
|
*
|
||||||
|
* One can provide the context by `contextifying` an
|
||||||
|
* object. The invoked code treats any property in the context like a
|
||||||
|
* global variable. Any changes to global variables caused by the invoked
|
||||||
|
* code are reflected in the context object.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const x = 1;
|
||||||
|
*
|
||||||
|
* const context = { x: 2 };
|
||||||
|
* vm.createContext(context); // Contextify the object.
|
||||||
|
*
|
||||||
|
* const code = 'x += 40; var y = 17;';
|
||||||
|
* // `x` and `y` are global variables in the context.
|
||||||
|
* // Initially, x has the value 2 because that is the value of context.x.
|
||||||
|
* vm.runInContext(code, context);
|
||||||
|
*
|
||||||
|
* console.log(context.x); // 42
|
||||||
|
* console.log(context.y); // 17
|
||||||
|
*
|
||||||
|
* console.log(x); // 1; y is not defined.
|
||||||
|
* ```
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/vm.js)
|
||||||
|
*/
|
||||||
|
declare module 'vm' {
|
||||||
|
interface Context extends NodeJS.Dict<any> {}
|
||||||
|
interface BaseOptions {
|
||||||
|
/**
|
||||||
|
* Specifies the filename used in stack traces produced by this script.
|
||||||
|
* Default: `''`.
|
||||||
|
*/
|
||||||
|
filename?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Specifies the line number offset that is displayed in stack traces produced by this script.
|
||||||
|
* Default: `0`.
|
||||||
|
*/
|
||||||
|
lineOffset?: number | undefined;
|
||||||
|
/**
|
||||||
|
* Specifies the column number offset that is displayed in stack traces produced by this script.
|
||||||
|
* @default 0
|
||||||
|
*/
|
||||||
|
columnOffset?: number | undefined;
|
||||||
|
}
|
||||||
|
interface ScriptOptions extends BaseOptions {
|
||||||
|
displayErrors?: boolean | undefined;
|
||||||
|
timeout?: number | undefined;
|
||||||
|
cachedData?: Buffer | undefined;
|
||||||
|
/** @deprecated in favor of `script.createCachedData()` */
|
||||||
|
produceCachedData?: boolean | undefined;
|
||||||
|
}
|
||||||
|
interface RunningScriptOptions extends BaseOptions {
|
||||||
|
/**
|
||||||
|
* When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace.
|
||||||
|
* Default: `true`.
|
||||||
|
*/
|
||||||
|
displayErrors?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* Specifies the number of milliseconds to execute code before terminating execution.
|
||||||
|
* If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer.
|
||||||
|
*/
|
||||||
|
timeout?: number | undefined;
|
||||||
|
/**
|
||||||
|
* If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received.
|
||||||
|
* Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that.
|
||||||
|
* If execution is terminated, an `Error` will be thrown.
|
||||||
|
* Default: `false`.
|
||||||
|
*/
|
||||||
|
breakOnSigint?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If set to `afterEvaluate`, microtasks will be run immediately after the script has run.
|
||||||
|
*/
|
||||||
|
microtaskMode?: 'afterEvaluate' | undefined;
|
||||||
|
}
|
||||||
|
interface CompileFunctionOptions extends BaseOptions {
|
||||||
|
/**
|
||||||
|
* Provides an optional data with V8's code cache data for the supplied source.
|
||||||
|
*/
|
||||||
|
cachedData?: Buffer | undefined;
|
||||||
|
/**
|
||||||
|
* Specifies whether to produce new cache data.
|
||||||
|
* Default: `false`,
|
||||||
|
*/
|
||||||
|
produceCachedData?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* The sandbox/context in which the said function should be compiled in.
|
||||||
|
*/
|
||||||
|
parsingContext?: Context | undefined;
|
||||||
|
/**
|
||||||
|
* An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling
|
||||||
|
*/
|
||||||
|
contextExtensions?: Object[] | undefined;
|
||||||
|
}
|
||||||
|
interface CreateContextOptions {
|
||||||
|
/**
|
||||||
|
* Human-readable name of the newly created context.
|
||||||
|
* @default 'VM Context i' Where i is an ascending numerical index of the created context.
|
||||||
|
*/
|
||||||
|
name?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Corresponds to the newly created context for display purposes.
|
||||||
|
* The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary),
|
||||||
|
* like the value of the `url.origin` property of a URL object.
|
||||||
|
* Most notably, this string should omit the trailing slash, as that denotes a path.
|
||||||
|
* @default ''
|
||||||
|
*/
|
||||||
|
origin?: string | undefined;
|
||||||
|
codeGeneration?:
|
||||||
|
| {
|
||||||
|
/**
|
||||||
|
* If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc)
|
||||||
|
* will throw an EvalError.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
strings?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
wasm?: boolean | undefined;
|
||||||
|
}
|
||||||
|
| undefined;
|
||||||
|
/**
|
||||||
|
* If set to `afterEvaluate`, microtasks will be run immediately after the script has run.
|
||||||
|
*/
|
||||||
|
microtaskMode?: 'afterEvaluate' | undefined;
|
||||||
|
}
|
||||||
|
type MeasureMemoryMode = 'summary' | 'detailed';
|
||||||
|
interface MeasureMemoryOptions {
|
||||||
|
/**
|
||||||
|
* @default 'summary'
|
||||||
|
*/
|
||||||
|
mode?: MeasureMemoryMode | undefined;
|
||||||
|
context?: Context | undefined;
|
||||||
|
}
|
||||||
|
interface MemoryMeasurement {
|
||||||
|
total: {
|
||||||
|
jsMemoryEstimate: number;
|
||||||
|
jsMemoryRange: [number, number];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Instances of the `vm.Script` class contain precompiled scripts that can be
|
||||||
|
* executed in specific contexts.
|
||||||
|
* @since v0.3.1
|
||||||
|
*/
|
||||||
|
class Script {
|
||||||
|
constructor(code: string, options?: ScriptOptions);
|
||||||
|
/**
|
||||||
|
* Runs the compiled code contained by the `vm.Script` object within the given`contextifiedObject` and returns the result. Running code does not have access
|
||||||
|
* to local scope.
|
||||||
|
*
|
||||||
|
* The following example compiles code that increments a global variable, sets
|
||||||
|
* the value of another global variable, then execute the code multiple times.
|
||||||
|
* The globals are contained in the `context` object.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const context = {
|
||||||
|
* animal: 'cat',
|
||||||
|
* count: 2
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* const script = new vm.Script('count += 1; name = "kitty";');
|
||||||
|
*
|
||||||
|
* vm.createContext(context);
|
||||||
|
* for (let i = 0; i < 10; ++i) {
|
||||||
|
* script.runInContext(context);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* console.log(context);
|
||||||
|
* // Prints: { animal: 'cat', count: 12, name: 'kitty' }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Using the `timeout` or `breakOnSigint` options will result in new event loops
|
||||||
|
* and corresponding threads being started, which have a non-zero performance
|
||||||
|
* overhead.
|
||||||
|
* @since v0.3.1
|
||||||
|
* @param contextifiedObject A `contextified` object as returned by the `vm.createContext()` method.
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
runInContext(contextifiedObject: Context, options?: RunningScriptOptions): any;
|
||||||
|
/**
|
||||||
|
* First contextifies the given `contextObject`, runs the compiled code contained
|
||||||
|
* by the `vm.Script` object within the created context, and returns the result.
|
||||||
|
* Running code does not have access to local scope.
|
||||||
|
*
|
||||||
|
* The following example compiles code that sets a global variable, then executes
|
||||||
|
* the code multiple times in different contexts. The globals are set on and
|
||||||
|
* contained within each individual `context`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const script = new vm.Script('globalVar = "set"');
|
||||||
|
*
|
||||||
|
* const contexts = [{}, {}, {}];
|
||||||
|
* contexts.forEach((context) => {
|
||||||
|
* script.runInNewContext(context);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* console.log(contexts);
|
||||||
|
* // Prints: [{ globalVar: 'set' }, { globalVar: 'set' }, { globalVar: 'set' }]
|
||||||
|
* ```
|
||||||
|
* @since v0.3.1
|
||||||
|
* @param contextObject An object that will be `contextified`. If `undefined`, a new object will be created.
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
runInNewContext(contextObject?: Context, options?: RunningScriptOptions): any;
|
||||||
|
/**
|
||||||
|
* Runs the compiled code contained by the `vm.Script` within the context of the
|
||||||
|
* current `global` object. Running code does not have access to local scope, but _does_ have access to the current `global` object.
|
||||||
|
*
|
||||||
|
* The following example compiles code that increments a `global` variable then
|
||||||
|
* executes that code multiple times:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* global.globalVar = 0;
|
||||||
|
*
|
||||||
|
* const script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });
|
||||||
|
*
|
||||||
|
* for (let i = 0; i < 1000; ++i) {
|
||||||
|
* script.runInThisContext();
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* console.log(globalVar);
|
||||||
|
*
|
||||||
|
* // 1000
|
||||||
|
* ```
|
||||||
|
* @since v0.3.1
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
runInThisContext(options?: RunningScriptOptions): any;
|
||||||
|
/**
|
||||||
|
* Creates a code cache that can be used with the `Script` constructor's`cachedData` option. Returns a `Buffer`. This method may be called at any
|
||||||
|
* time and any number of times.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const script = new vm.Script(`
|
||||||
|
* function add(a, b) {
|
||||||
|
* return a + b;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* const x = add(1, 2);
|
||||||
|
* `);
|
||||||
|
*
|
||||||
|
* const cacheWithoutX = script.createCachedData();
|
||||||
|
*
|
||||||
|
* script.runInThisContext();
|
||||||
|
*
|
||||||
|
* const cacheWithX = script.createCachedData();
|
||||||
|
* ```
|
||||||
|
* @since v10.6.0
|
||||||
|
*/
|
||||||
|
createCachedData(): Buffer;
|
||||||
|
/** @deprecated in favor of `script.createCachedData()` */
|
||||||
|
cachedDataProduced?: boolean | undefined;
|
||||||
|
cachedDataRejected?: boolean | undefined;
|
||||||
|
cachedData?: Buffer | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* If given a `contextObject`, the `vm.createContext()` method will `prepare
|
||||||
|
* that object` so that it can be used in calls to {@link runInContext} or `script.runInContext()`. Inside such scripts,
|
||||||
|
* the `contextObject` will be the global object, retaining all of its existing
|
||||||
|
* properties but also having the built-in objects and functions any standard [global object](https://es5.github.io/#x15.1) has. Outside of scripts run by the vm module, global variables
|
||||||
|
* will remain unchanged.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* global.globalVar = 3;
|
||||||
|
*
|
||||||
|
* const context = { globalVar: 1 };
|
||||||
|
* vm.createContext(context);
|
||||||
|
*
|
||||||
|
* vm.runInContext('globalVar *= 2;', context);
|
||||||
|
*
|
||||||
|
* console.log(context);
|
||||||
|
* // Prints: { globalVar: 2 }
|
||||||
|
*
|
||||||
|
* console.log(global.globalVar);
|
||||||
|
* // Prints: 3
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* If `contextObject` is omitted (or passed explicitly as `undefined`), a new,
|
||||||
|
* empty `contextified` object will be returned.
|
||||||
|
*
|
||||||
|
* The `vm.createContext()` method is primarily useful for creating a single
|
||||||
|
* context that can be used to run multiple scripts. For instance, if emulating a
|
||||||
|
* web browser, the method can be used to create a single context representing a
|
||||||
|
* window's global object, then run all `<script>` tags together within that
|
||||||
|
* context.
|
||||||
|
*
|
||||||
|
* The provided `name` and `origin` of the context are made visible through the
|
||||||
|
* Inspector API.
|
||||||
|
* @since v0.3.1
|
||||||
|
* @return contextified object.
|
||||||
|
*/
|
||||||
|
function createContext(sandbox?: Context, options?: CreateContextOptions): Context;
|
||||||
|
/**
|
||||||
|
* Returns `true` if the given `object` object has been `contextified` using {@link createContext}.
|
||||||
|
* @since v0.11.7
|
||||||
|
*/
|
||||||
|
function isContext(sandbox: Context): boolean;
|
||||||
|
/**
|
||||||
|
* The `vm.runInContext()` method compiles `code`, runs it within the context of
|
||||||
|
* the `contextifiedObject`, then returns the result. Running code does not have
|
||||||
|
* access to the local scope. The `contextifiedObject` object _must_ have been
|
||||||
|
* previously `contextified` using the {@link createContext} method.
|
||||||
|
*
|
||||||
|
* If `options` is a string, then it specifies the filename.
|
||||||
|
*
|
||||||
|
* The following example compiles and executes different scripts using a single `contextified` object:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const contextObject = { globalVar: 1 };
|
||||||
|
* vm.createContext(contextObject);
|
||||||
|
*
|
||||||
|
* for (let i = 0; i < 10; ++i) {
|
||||||
|
* vm.runInContext('globalVar *= 2;', contextObject);
|
||||||
|
* }
|
||||||
|
* console.log(contextObject);
|
||||||
|
* // Prints: { globalVar: 1024 }
|
||||||
|
* ```
|
||||||
|
* @since v0.3.1
|
||||||
|
* @param code The JavaScript code to compile and run.
|
||||||
|
* @param contextifiedObject The `contextified` object that will be used as the `global` when the `code` is compiled and run.
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
function runInContext(code: string, contextifiedObject: Context, options?: RunningScriptOptions | string): any;
|
||||||
|
/**
|
||||||
|
* The `vm.runInNewContext()` first contextifies the given `contextObject` (or
|
||||||
|
* creates a new `contextObject` if passed as `undefined`), compiles the `code`,
|
||||||
|
* runs it within the created context, then returns the result. Running code
|
||||||
|
* does not have access to the local scope.
|
||||||
|
*
|
||||||
|
* If `options` is a string, then it specifies the filename.
|
||||||
|
*
|
||||||
|
* The following example compiles and executes code that increments a global
|
||||||
|
* variable and sets a new one. These globals are contained in the `contextObject`.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const contextObject = {
|
||||||
|
* animal: 'cat',
|
||||||
|
* count: 2
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* vm.runInNewContext('count += 1; name = "kitty"', contextObject);
|
||||||
|
* console.log(contextObject);
|
||||||
|
* // Prints: { animal: 'cat', count: 3, name: 'kitty' }
|
||||||
|
* ```
|
||||||
|
* @since v0.3.1
|
||||||
|
* @param code The JavaScript code to compile and run.
|
||||||
|
* @param contextObject An object that will be `contextified`. If `undefined`, a new object will be created.
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
function runInNewContext(code: string, contextObject?: Context, options?: RunningScriptOptions | string): any;
|
||||||
|
/**
|
||||||
|
* `vm.runInThisContext()` compiles `code`, runs it within the context of the
|
||||||
|
* current `global` and returns the result. Running code does not have access to
|
||||||
|
* local scope, but does have access to the current `global` object.
|
||||||
|
*
|
||||||
|
* If `options` is a string, then it specifies the filename.
|
||||||
|
*
|
||||||
|
* The following example illustrates using both `vm.runInThisContext()` and
|
||||||
|
* the JavaScript [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) function to run the same code:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
* let localVar = 'initial value';
|
||||||
|
*
|
||||||
|
* const vmResult = vm.runInThisContext('localVar = "vm";');
|
||||||
|
* console.log(`vmResult: '${vmResult}', localVar: '${localVar}'`);
|
||||||
|
* // Prints: vmResult: 'vm', localVar: 'initial value'
|
||||||
|
*
|
||||||
|
* const evalResult = eval('localVar = "eval";');
|
||||||
|
* console.log(`evalResult: '${evalResult}', localVar: '${localVar}'`);
|
||||||
|
* // Prints: evalResult: 'eval', localVar: 'eval'
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Because `vm.runInThisContext()` does not have access to the local scope,`localVar` is unchanged. In contrast,
|
||||||
|
* [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) _does_ have access to the
|
||||||
|
* local scope, so the value `localVar` is changed. In this way`vm.runInThisContext()` is much like an [indirect `eval()` call](https://es5.github.io/#x10.4.2), e.g.`(0,eval)('code')`.
|
||||||
|
*
|
||||||
|
* ## Example: Running an HTTP server within a VM
|
||||||
|
*
|
||||||
|
* When using either `script.runInThisContext()` or {@link runInThisContext}, the code is executed within the current V8 global
|
||||||
|
* context. The code passed to this VM context will have its own isolated scope.
|
||||||
|
*
|
||||||
|
* In order to run a simple web server using the `http` module the code passed to
|
||||||
|
* the context must either call `require('http')` on its own, or have a reference
|
||||||
|
* to the `http` module passed to it. For instance:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* 'use strict';
|
||||||
|
* const vm = require('vm');
|
||||||
|
*
|
||||||
|
* const code = `
|
||||||
|
* ((require) => {
|
||||||
|
* const http = require('http');
|
||||||
|
*
|
||||||
|
* http.createServer((request, response) => {
|
||||||
|
* response.writeHead(200, { 'Content-Type': 'text/plain' });
|
||||||
|
* response.end('Hello World\\n');
|
||||||
|
* }).listen(8124);
|
||||||
|
*
|
||||||
|
* console.log('Server running at http://127.0.0.1:8124/');
|
||||||
|
* })`;
|
||||||
|
*
|
||||||
|
* vm.runInThisContext(code)(require);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The `require()` in the above case shares the state with the context it is
|
||||||
|
* passed from. This may introduce risks when untrusted code is executed, e.g.
|
||||||
|
* altering objects in the context in unwanted ways.
|
||||||
|
* @since v0.3.1
|
||||||
|
* @param code The JavaScript code to compile and run.
|
||||||
|
* @return the result of the very last statement executed in the script.
|
||||||
|
*/
|
||||||
|
function runInThisContext(code: string, options?: RunningScriptOptions | string): any;
|
||||||
|
/**
|
||||||
|
* Compiles the given code into the provided context (if no context is
|
||||||
|
* supplied, the current context is used), and returns it wrapped inside a
|
||||||
|
* function with the given `params`.
|
||||||
|
* @since v10.10.0
|
||||||
|
* @param code The body of the function to compile.
|
||||||
|
* @param params An array of strings containing all parameters for the function.
|
||||||
|
*/
|
||||||
|
function compileFunction(code: string, params?: ReadonlyArray<string>, options?: CompileFunctionOptions): Function;
|
||||||
|
/**
|
||||||
|
* Measure the memory known to V8 and used by all contexts known to the
|
||||||
|
* current V8 isolate, or the main context.
|
||||||
|
*
|
||||||
|
* The format of the object that the returned Promise may resolve with is
|
||||||
|
* specific to the V8 engine and may change from one version of V8 to the next.
|
||||||
|
*
|
||||||
|
* The returned result is different from the statistics returned by`v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measure the
|
||||||
|
* memory reachable by each V8 specific contexts in the current instance of
|
||||||
|
* the V8 engine, while the result of `v8.getHeapSpaceStatistics()` measure
|
||||||
|
* the memory occupied by each heap space in the current V8 instance.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const vm = require('vm');
|
||||||
|
* // Measure the memory used by the main context.
|
||||||
|
* vm.measureMemory({ mode: 'summary' })
|
||||||
|
* // This is the same as vm.measureMemory()
|
||||||
|
* .then((result) => {
|
||||||
|
* // The current format is:
|
||||||
|
* // {
|
||||||
|
* // total: {
|
||||||
|
* // jsMemoryEstimate: 2418479, jsMemoryRange: [ 2418479, 2745799 ]
|
||||||
|
* // }
|
||||||
|
* // }
|
||||||
|
* console.log(result);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* const context = vm.createContext({ a: 1 });
|
||||||
|
* vm.measureMemory({ mode: 'detailed', execution: 'eager' })
|
||||||
|
* .then((result) => {
|
||||||
|
* // Reference the context here so that it won't be GC'ed
|
||||||
|
* // until the measurement is complete.
|
||||||
|
* console.log(context.a);
|
||||||
|
* // {
|
||||||
|
* // total: {
|
||||||
|
* // jsMemoryEstimate: 2574732,
|
||||||
|
* // jsMemoryRange: [ 2574732, 2904372 ]
|
||||||
|
* // },
|
||||||
|
* // current: {
|
||||||
|
* // jsMemoryEstimate: 2438996,
|
||||||
|
* // jsMemoryRange: [ 2438996, 2768636 ]
|
||||||
|
* // },
|
||||||
|
* // other: [
|
||||||
|
* // {
|
||||||
|
* // jsMemoryEstimate: 135736,
|
||||||
|
* // jsMemoryRange: [ 135736, 465376 ]
|
||||||
|
* // }
|
||||||
|
* // ]
|
||||||
|
* // }
|
||||||
|
* console.log(result);
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v13.10.0
|
||||||
|
* @experimental
|
||||||
|
*/
|
||||||
|
function measureMemory(options?: MeasureMemoryOptions): Promise<MemoryMeasurement>;
|
||||||
|
}
|
||||||
|
declare module 'node:vm' {
|
||||||
|
export * from 'vm';
|
||||||
|
}
|
158
node_modules/@types/node/ts4.8/wasi.d.ts
generated
vendored
Normal file
158
node_modules/@types/node/ts4.8/wasi.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
/**
|
||||||
|
* The WASI API provides an implementation of the [WebAssembly System Interface](https://wasi.dev/) specification. WASI gives sandboxed WebAssembly applications access to the
|
||||||
|
* underlying operating system via a collection of POSIX-like functions.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* import { readFile } from 'fs/promises';
|
||||||
|
* import { WASI } from 'wasi';
|
||||||
|
* import { argv, env } from 'process';
|
||||||
|
*
|
||||||
|
* const wasi = new WASI({
|
||||||
|
* args: argv,
|
||||||
|
* env,
|
||||||
|
* preopens: {
|
||||||
|
* '/sandbox': '/some/real/path/that/wasm/can/access'
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Some WASI binaries require:
|
||||||
|
* // const importObject = { wasi_unstable: wasi.wasiImport };
|
||||||
|
* const importObject = { wasi_snapshot_preview1: wasi.wasiImport };
|
||||||
|
*
|
||||||
|
* const wasm = await WebAssembly.compile(
|
||||||
|
* await readFile(new URL('./demo.wasm', import.meta.url))
|
||||||
|
* );
|
||||||
|
* const instance = await WebAssembly.instantiate(wasm, importObject);
|
||||||
|
*
|
||||||
|
* wasi.start(instance);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* To run the above example, create a new WebAssembly text format file named`demo.wat`:
|
||||||
|
*
|
||||||
|
* ```text
|
||||||
|
* (module
|
||||||
|
* ;; Import the required fd_write WASI function which will write the given io vectors to stdout
|
||||||
|
* ;; The function signature for fd_write is:
|
||||||
|
* ;; (File Descriptor, *iovs, iovs_len, nwritten) -> Returns number of bytes written
|
||||||
|
* (import "wasi_snapshot_preview1" "fd_write" (func $fd_write (param i32 i32 i32 i32) (result i32)))
|
||||||
|
*
|
||||||
|
* (memory 1)
|
||||||
|
* (export "memory" (memory 0))
|
||||||
|
*
|
||||||
|
* ;; Write 'hello world\n' to memory at an offset of 8 bytes
|
||||||
|
* ;; Note the trailing newline which is required for the text to appear
|
||||||
|
* (data (i32.const 8) "hello world\n")
|
||||||
|
*
|
||||||
|
* (func $main (export "_start")
|
||||||
|
* ;; Creating a new io vector within linear memory
|
||||||
|
* (i32.store (i32.const 0) (i32.const 8)) ;; iov.iov_base - This is a pointer to the start of the 'hello world\n' string
|
||||||
|
* (i32.store (i32.const 4) (i32.const 12)) ;; iov.iov_len - The length of the 'hello world\n' string
|
||||||
|
*
|
||||||
|
* (call $fd_write
|
||||||
|
* (i32.const 1) ;; file_descriptor - 1 for stdout
|
||||||
|
* (i32.const 0) ;; *iovs - The pointer to the iov array, which is stored at memory location 0
|
||||||
|
* (i32.const 1) ;; iovs_len - We're printing 1 string stored in an iov - so one.
|
||||||
|
* (i32.const 20) ;; nwritten - A place in memory to store the number of bytes written
|
||||||
|
* )
|
||||||
|
* drop ;; Discard the number of bytes written from the top of the stack
|
||||||
|
* )
|
||||||
|
* )
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Use [wabt](https://github.com/WebAssembly/wabt) to compile `.wat` to `.wasm`
|
||||||
|
*
|
||||||
|
* ```console
|
||||||
|
* $ wat2wasm demo.wat
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The `--experimental-wasi-unstable-preview1` CLI argument is needed for this
|
||||||
|
* example to run.
|
||||||
|
* @experimental
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/wasi.js)
|
||||||
|
*/
|
||||||
|
declare module 'wasi' {
|
||||||
|
interface WASIOptions {
|
||||||
|
/**
|
||||||
|
* An array of strings that the WebAssembly application will
|
||||||
|
* see as command line arguments. The first argument is the virtual path to the
|
||||||
|
* WASI command itself.
|
||||||
|
*/
|
||||||
|
args?: string[] | undefined;
|
||||||
|
/**
|
||||||
|
* An object similar to `process.env` that the WebAssembly
|
||||||
|
* application will see as its environment.
|
||||||
|
*/
|
||||||
|
env?: object | undefined;
|
||||||
|
/**
|
||||||
|
* This object represents the WebAssembly application's
|
||||||
|
* sandbox directory structure. The string keys of `preopens` are treated as
|
||||||
|
* directories within the sandbox. The corresponding values in `preopens` are
|
||||||
|
* the real paths to those directories on the host machine.
|
||||||
|
*/
|
||||||
|
preopens?: NodeJS.Dict<string> | undefined;
|
||||||
|
/**
|
||||||
|
* By default, WASI applications terminate the Node.js
|
||||||
|
* process via the `__wasi_proc_exit()` function. Setting this option to `true`
|
||||||
|
* causes `wasi.start()` to return the exit code rather than terminate the
|
||||||
|
* process.
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
returnOnExit?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* The file descriptor used as standard input in the WebAssembly application.
|
||||||
|
* @default 0
|
||||||
|
*/
|
||||||
|
stdin?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The file descriptor used as standard output in the WebAssembly application.
|
||||||
|
* @default 1
|
||||||
|
*/
|
||||||
|
stdout?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The file descriptor used as standard error in the WebAssembly application.
|
||||||
|
* @default 2
|
||||||
|
*/
|
||||||
|
stderr?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `WASI` class provides the WASI system call API and additional convenience
|
||||||
|
* methods for working with WASI-based applications. Each `WASI` instance
|
||||||
|
* represents a distinct sandbox environment. For security purposes, each `WASI`instance must have its command-line arguments, environment variables, and
|
||||||
|
* sandbox directory structure configured explicitly.
|
||||||
|
* @since v13.3.0, v12.16.0
|
||||||
|
*/
|
||||||
|
class WASI {
|
||||||
|
constructor(options?: WASIOptions);
|
||||||
|
/**
|
||||||
|
* Attempt to begin execution of `instance` as a WASI command by invoking its`_start()` export. If `instance` does not contain a `_start()` export, or if`instance` contains an `_initialize()`
|
||||||
|
* export, then an exception is thrown.
|
||||||
|
*
|
||||||
|
* `start()` requires that `instance` exports a [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory) named`memory`. If
|
||||||
|
* `instance` does not have a `memory` export an exception is thrown.
|
||||||
|
*
|
||||||
|
* If `start()` is called more than once, an exception is thrown.
|
||||||
|
* @since v13.3.0, v12.16.0
|
||||||
|
*/
|
||||||
|
start(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib.
|
||||||
|
/**
|
||||||
|
* Attempt to initialize `instance` as a WASI reactor by invoking its`_initialize()` export, if it is present. If `instance` contains a `_start()`export, then an exception is thrown.
|
||||||
|
*
|
||||||
|
* `initialize()` requires that `instance` exports a [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory) named`memory`.
|
||||||
|
* If `instance` does not have a `memory` export an exception is thrown.
|
||||||
|
*
|
||||||
|
* If `initialize()` is called more than once, an exception is thrown.
|
||||||
|
* @since v14.6.0, v12.19.0
|
||||||
|
*/
|
||||||
|
initialize(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib.
|
||||||
|
/**
|
||||||
|
* `wasiImport` is an object that implements the WASI system call API. This object
|
||||||
|
* should be passed as the `wasi_snapshot_preview1` import during the instantiation
|
||||||
|
* of a [`WebAssembly.Instance`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance).
|
||||||
|
* @since v13.3.0, v12.16.0
|
||||||
|
*/
|
||||||
|
readonly wasiImport: NodeJS.Dict<any>; // TODO: Narrow to DOM types
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'node:wasi' {
|
||||||
|
export * from 'wasi';
|
||||||
|
}
|
646
node_modules/@types/node/ts4.8/worker_threads.d.ts
generated
vendored
Normal file
646
node_modules/@types/node/ts4.8/worker_threads.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,646 @@
|
||||||
|
/**
|
||||||
|
* The `worker_threads` module enables the use of threads that execute JavaScript
|
||||||
|
* in parallel. To access it:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const worker = require('worker_threads');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Workers (threads) are useful for performing CPU-intensive JavaScript operations.
|
||||||
|
* They do not help much with I/O-intensive work. The Node.js built-in
|
||||||
|
* asynchronous I/O operations are more efficient than Workers can be.
|
||||||
|
*
|
||||||
|
* Unlike `child_process` or `cluster`, `worker_threads` can share memory. They do
|
||||||
|
* so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer`instances.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* Worker, isMainThread, parentPort, workerData
|
||||||
|
* } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* if (isMainThread) {
|
||||||
|
* module.exports = function parseJSAsync(script) {
|
||||||
|
* return new Promise((resolve, reject) => {
|
||||||
|
* const worker = new Worker(__filename, {
|
||||||
|
* workerData: script
|
||||||
|
* });
|
||||||
|
* worker.on('message', resolve);
|
||||||
|
* worker.on('error', reject);
|
||||||
|
* worker.on('exit', (code) => {
|
||||||
|
* if (code !== 0)
|
||||||
|
* reject(new Error(`Worker stopped with exit code ${code}`));
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
* };
|
||||||
|
* } else {
|
||||||
|
* const { parse } = require('some-js-parsing-library');
|
||||||
|
* const script = workerData;
|
||||||
|
* parentPort.postMessage(parse(script));
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The above example spawns a Worker thread for each `parseJSAsync()` call. In
|
||||||
|
* practice, use a pool of Workers for these kinds of tasks. Otherwise, the
|
||||||
|
* overhead of creating Workers would likely exceed their benefit.
|
||||||
|
*
|
||||||
|
* When implementing a worker pool, use the `AsyncResource` API to inform
|
||||||
|
* diagnostic tools (e.g. to provide asynchronous stack traces) about the
|
||||||
|
* correlation between tasks and their outcomes. See `"Using AsyncResource for a Worker thread pool"` in the `async_hooks` documentation for an example implementation.
|
||||||
|
*
|
||||||
|
* Worker threads inherit non-process-specific options by default. Refer to `Worker constructor options` to know how to customize worker thread options,
|
||||||
|
* specifically `argv` and `execArgv` options.
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/worker_threads.js)
|
||||||
|
*/
|
||||||
|
declare module 'worker_threads' {
|
||||||
|
import { Blob } from 'node:buffer';
|
||||||
|
import { Context } from 'node:vm';
|
||||||
|
import { EventEmitter } from 'node:events';
|
||||||
|
import { EventLoopUtilityFunction } from 'node:perf_hooks';
|
||||||
|
import { FileHandle } from 'node:fs/promises';
|
||||||
|
import { Readable, Writable } from 'node:stream';
|
||||||
|
import { URL } from 'node:url';
|
||||||
|
import { X509Certificate } from 'node:crypto';
|
||||||
|
const isMainThread: boolean;
|
||||||
|
const parentPort: null | MessagePort;
|
||||||
|
const resourceLimits: ResourceLimits;
|
||||||
|
const SHARE_ENV: unique symbol;
|
||||||
|
const threadId: number;
|
||||||
|
const workerData: any;
|
||||||
|
/**
|
||||||
|
* Instances of the `worker.MessageChannel` class represent an asynchronous,
|
||||||
|
* two-way communications channel.
|
||||||
|
* The `MessageChannel` has no methods of its own. `new MessageChannel()`yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { MessageChannel } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* const { port1, port2 } = new MessageChannel();
|
||||||
|
* port1.on('message', (message) => console.log('received', message));
|
||||||
|
* port2.postMessage({ foo: 'bar' });
|
||||||
|
* // Prints: received { foo: 'bar' } from the `port1.on('message')` listener
|
||||||
|
* ```
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
class MessageChannel {
|
||||||
|
readonly port1: MessagePort;
|
||||||
|
readonly port2: MessagePort;
|
||||||
|
}
|
||||||
|
interface WorkerPerformance {
|
||||||
|
eventLoopUtilization: EventLoopUtilityFunction;
|
||||||
|
}
|
||||||
|
type TransferListItem = ArrayBuffer | MessagePort | FileHandle | X509Certificate | Blob;
|
||||||
|
/**
|
||||||
|
* Instances of the `worker.MessagePort` class represent one end of an
|
||||||
|
* asynchronous, two-way communications channel. It can be used to transfer
|
||||||
|
* structured data, memory regions and other `MessagePort`s between different `Worker` s.
|
||||||
|
*
|
||||||
|
* This implementation matches [browser `MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort) s.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
class MessagePort extends EventEmitter {
|
||||||
|
/**
|
||||||
|
* Disables further sending of messages on either side of the connection.
|
||||||
|
* This method can be called when no further communication will happen over this`MessagePort`.
|
||||||
|
*
|
||||||
|
* The `'close' event` is emitted on both `MessagePort` instances that
|
||||||
|
* are part of the channel.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
close(): void;
|
||||||
|
/**
|
||||||
|
* Sends a JavaScript value to the receiving side of this channel.`value` is transferred in a way which is compatible with
|
||||||
|
* the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm).
|
||||||
|
*
|
||||||
|
* In particular, the significant differences to `JSON` are:
|
||||||
|
*
|
||||||
|
* * `value` may contain circular references.
|
||||||
|
* * `value` may contain instances of builtin JS types such as `RegExp`s,`BigInt`s, `Map`s, `Set`s, etc.
|
||||||
|
* * `value` may contain typed arrays, both using `ArrayBuffer`s
|
||||||
|
* and `SharedArrayBuffer`s.
|
||||||
|
* * `value` may contain [`WebAssembly.Module`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) instances.
|
||||||
|
* * `value` may not contain native (C++-backed) objects other than:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { MessageChannel } = require('worker_threads');
|
||||||
|
* const { port1, port2 } = new MessageChannel();
|
||||||
|
*
|
||||||
|
* port1.on('message', (message) => console.log(message));
|
||||||
|
*
|
||||||
|
* const circularData = {};
|
||||||
|
* circularData.foo = circularData;
|
||||||
|
* // Prints: { foo: [Circular] }
|
||||||
|
* port2.postMessage(circularData);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* `transferList` may be a list of [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), `MessagePort` and `FileHandle` objects.
|
||||||
|
* After transferring, they are not usable on the sending side of the channel
|
||||||
|
* anymore (even if they are not contained in `value`). Unlike with `child processes`, transferring handles such as network sockets is currently
|
||||||
|
* not supported.
|
||||||
|
*
|
||||||
|
* If `value` contains [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances, those are accessible
|
||||||
|
* from either thread. They cannot be listed in `transferList`.
|
||||||
|
*
|
||||||
|
* `value` may still contain `ArrayBuffer` instances that are not in`transferList`; in that case, the underlying memory is copied rather than moved.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { MessageChannel } = require('worker_threads');
|
||||||
|
* const { port1, port2 } = new MessageChannel();
|
||||||
|
*
|
||||||
|
* port1.on('message', (message) => console.log(message));
|
||||||
|
*
|
||||||
|
* const uint8Array = new Uint8Array([ 1, 2, 3, 4 ]);
|
||||||
|
* // This posts a copy of `uint8Array`:
|
||||||
|
* port2.postMessage(uint8Array);
|
||||||
|
* // This does not copy data, but renders `uint8Array` unusable:
|
||||||
|
* port2.postMessage(uint8Array, [ uint8Array.buffer ]);
|
||||||
|
*
|
||||||
|
* // The memory for the `sharedUint8Array` is accessible from both the
|
||||||
|
* // original and the copy received by `.on('message')`:
|
||||||
|
* const sharedUint8Array = new Uint8Array(new SharedArrayBuffer(4));
|
||||||
|
* port2.postMessage(sharedUint8Array);
|
||||||
|
*
|
||||||
|
* // This transfers a freshly created message port to the receiver.
|
||||||
|
* // This can be used, for example, to create communication channels between
|
||||||
|
* // multiple `Worker` threads that are children of the same parent thread.
|
||||||
|
* const otherChannel = new MessageChannel();
|
||||||
|
* port2.postMessage({ port: otherChannel.port1 }, [ otherChannel.port1 ]);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* The message object is cloned immediately, and can be modified after
|
||||||
|
* posting without having side effects.
|
||||||
|
*
|
||||||
|
* For more information on the serialization and deserialization mechanisms
|
||||||
|
* behind this API, see the `serialization API of the v8 module`.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
|
||||||
|
/**
|
||||||
|
* Opposite of `unref()`. Calling `ref()` on a previously `unref()`ed port does _not_ let the program exit if it's the only active handle left (the default
|
||||||
|
* behavior). If the port is `ref()`ed, calling `ref()` again has no effect.
|
||||||
|
*
|
||||||
|
* If listeners are attached or removed using `.on('message')`, the port
|
||||||
|
* is `ref()`ed and `unref()`ed automatically depending on whether
|
||||||
|
* listeners for the event exist.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
ref(): void;
|
||||||
|
/**
|
||||||
|
* Calling `unref()` on a port allows the thread to exit if this is the only
|
||||||
|
* active handle in the event system. If the port is already `unref()`ed calling`unref()` again has no effect.
|
||||||
|
*
|
||||||
|
* If listeners are attached or removed using `.on('message')`, the port is`ref()`ed and `unref()`ed automatically depending on whether
|
||||||
|
* listeners for the event exist.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
unref(): void;
|
||||||
|
/**
|
||||||
|
* Starts receiving messages on this `MessagePort`. When using this port
|
||||||
|
* as an event emitter, this is called automatically once `'message'`listeners are attached.
|
||||||
|
*
|
||||||
|
* This method exists for parity with the Web `MessagePort` API. In Node.js,
|
||||||
|
* it is only useful for ignoring messages when no event listener is present.
|
||||||
|
* Node.js also diverges in its handling of `.onmessage`. Setting it
|
||||||
|
* automatically calls `.start()`, but unsetting it lets messages queue up
|
||||||
|
* until a new handler is set or the port is discarded.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
start(): void;
|
||||||
|
addListener(event: 'close', listener: () => void): this;
|
||||||
|
addListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
addListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
emit(event: 'close'): boolean;
|
||||||
|
emit(event: 'message', value: any): boolean;
|
||||||
|
emit(event: 'messageerror', error: Error): boolean;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
on(event: 'message', listener: (value: any) => void): this;
|
||||||
|
on(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'close', listener: () => void): this;
|
||||||
|
once(event: 'message', listener: (value: any) => void): this;
|
||||||
|
once(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
|
prependListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
prependListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
|
prependOnceListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
removeListener(event: 'close', listener: () => void): this;
|
||||||
|
removeListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
removeListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
off(event: 'close', listener: () => void): this;
|
||||||
|
off(event: 'message', listener: (value: any) => void): this;
|
||||||
|
off(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
}
|
||||||
|
interface WorkerOptions {
|
||||||
|
/**
|
||||||
|
* List of arguments which would be stringified and appended to
|
||||||
|
* `process.argv` in the worker. This is mostly similar to the `workerData`
|
||||||
|
* but the values will be available on the global `process.argv` as if they
|
||||||
|
* were passed as CLI options to the script.
|
||||||
|
*/
|
||||||
|
argv?: any[] | undefined;
|
||||||
|
env?: NodeJS.Dict<string> | typeof SHARE_ENV | undefined;
|
||||||
|
eval?: boolean | undefined;
|
||||||
|
workerData?: any;
|
||||||
|
stdin?: boolean | undefined;
|
||||||
|
stdout?: boolean | undefined;
|
||||||
|
stderr?: boolean | undefined;
|
||||||
|
execArgv?: string[] | undefined;
|
||||||
|
resourceLimits?: ResourceLimits | undefined;
|
||||||
|
/**
|
||||||
|
* Additional data to send in the first worker message.
|
||||||
|
*/
|
||||||
|
transferList?: TransferListItem[] | undefined;
|
||||||
|
/**
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
trackUnmanagedFds?: boolean | undefined;
|
||||||
|
}
|
||||||
|
interface ResourceLimits {
|
||||||
|
/**
|
||||||
|
* The maximum size of a heap space for recently created objects.
|
||||||
|
*/
|
||||||
|
maxYoungGenerationSizeMb?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The maximum size of the main heap in MB.
|
||||||
|
*/
|
||||||
|
maxOldGenerationSizeMb?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The size of a pre-allocated memory range used for generated code.
|
||||||
|
*/
|
||||||
|
codeRangeSizeMb?: number | undefined;
|
||||||
|
/**
|
||||||
|
* The default maximum stack size for the thread. Small values may lead to unusable Worker instances.
|
||||||
|
* @default 4
|
||||||
|
*/
|
||||||
|
stackSizeMb?: number | undefined;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* The `Worker` class represents an independent JavaScript execution thread.
|
||||||
|
* Most Node.js APIs are available inside of it.
|
||||||
|
*
|
||||||
|
* Notable differences inside a Worker environment are:
|
||||||
|
*
|
||||||
|
* * The `process.stdin`, `process.stdout` and `process.stderr` may be redirected by the parent thread.
|
||||||
|
* * The `require('worker_threads').isMainThread` property is set to `false`.
|
||||||
|
* * The `require('worker_threads').parentPort` message port is available.
|
||||||
|
* * `process.exit()` does not stop the whole program, just the single thread,
|
||||||
|
* and `process.abort()` is not available.
|
||||||
|
* * `process.chdir()` and `process` methods that set group or user ids
|
||||||
|
* are not available.
|
||||||
|
* * `process.env` is a copy of the parent thread's environment variables,
|
||||||
|
* unless otherwise specified. Changes to one copy are not visible in other
|
||||||
|
* threads, and are not visible to native add-ons (unless `worker.SHARE_ENV` is passed as the `env` option to the `Worker` constructor).
|
||||||
|
* * `process.title` cannot be modified.
|
||||||
|
* * Signals are not delivered through `process.on('...')`.
|
||||||
|
* * Execution may stop at any point as a result of `worker.terminate()` being invoked.
|
||||||
|
* * IPC channels from parent processes are not accessible.
|
||||||
|
* * The `trace_events` module is not supported.
|
||||||
|
* * Native add-ons can only be loaded from multiple threads if they fulfill `certain conditions`.
|
||||||
|
*
|
||||||
|
* Creating `Worker` instances inside of other `Worker`s is possible.
|
||||||
|
*
|
||||||
|
* Like [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) and the `cluster module`, two-way communication can be
|
||||||
|
* achieved through inter-thread message passing. Internally, a `Worker` has a
|
||||||
|
* built-in pair of `MessagePort` s that are already associated with each other
|
||||||
|
* when the `Worker` is created. While the `MessagePort` object on the parent side
|
||||||
|
* is not directly exposed, its functionalities are exposed through `worker.postMessage()` and the `worker.on('message')` event
|
||||||
|
* on the `Worker` object for the parent thread.
|
||||||
|
*
|
||||||
|
* To create custom messaging channels (which is encouraged over using the default
|
||||||
|
* global channel because it facilitates separation of concerns), users can create
|
||||||
|
* a `MessageChannel` object on either thread and pass one of the`MessagePort`s on that `MessageChannel` to the other thread through a
|
||||||
|
* pre-existing channel, such as the global one.
|
||||||
|
*
|
||||||
|
* See `port.postMessage()` for more information on how messages are passed,
|
||||||
|
* and what kind of JavaScript values can be successfully transported through
|
||||||
|
* the thread barrier.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const assert = require('assert');
|
||||||
|
* const {
|
||||||
|
* Worker, MessageChannel, MessagePort, isMainThread, parentPort
|
||||||
|
* } = require('worker_threads');
|
||||||
|
* if (isMainThread) {
|
||||||
|
* const worker = new Worker(__filename);
|
||||||
|
* const subChannel = new MessageChannel();
|
||||||
|
* worker.postMessage({ hereIsYourPort: subChannel.port1 }, [subChannel.port1]);
|
||||||
|
* subChannel.port2.on('message', (value) => {
|
||||||
|
* console.log('received:', value);
|
||||||
|
* });
|
||||||
|
* } else {
|
||||||
|
* parentPort.once('message', (value) => {
|
||||||
|
* assert(value.hereIsYourPort instanceof MessagePort);
|
||||||
|
* value.hereIsYourPort.postMessage('the worker is sending this');
|
||||||
|
* value.hereIsYourPort.close();
|
||||||
|
* });
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
class Worker extends EventEmitter {
|
||||||
|
/**
|
||||||
|
* If `stdin: true` was passed to the `Worker` constructor, this is a
|
||||||
|
* writable stream. The data written to this stream will be made available in
|
||||||
|
* the worker thread as `process.stdin`.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
readonly stdin: Writable | null;
|
||||||
|
/**
|
||||||
|
* This is a readable stream which contains data written to `process.stdout` inside the worker thread. If `stdout: true` was not passed to the `Worker` constructor, then data is piped to the
|
||||||
|
* parent thread's `process.stdout` stream.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
readonly stdout: Readable;
|
||||||
|
/**
|
||||||
|
* This is a readable stream which contains data written to `process.stderr` inside the worker thread. If `stderr: true` was not passed to the `Worker` constructor, then data is piped to the
|
||||||
|
* parent thread's `process.stderr` stream.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
readonly stderr: Readable;
|
||||||
|
/**
|
||||||
|
* An integer identifier for the referenced thread. Inside the worker thread,
|
||||||
|
* it is available as `require('worker_threads').threadId`.
|
||||||
|
* This value is unique for each `Worker` instance inside a single process.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
readonly threadId: number;
|
||||||
|
/**
|
||||||
|
* Provides the set of JS engine resource constraints for this Worker thread.
|
||||||
|
* If the `resourceLimits` option was passed to the `Worker` constructor,
|
||||||
|
* this matches its values.
|
||||||
|
*
|
||||||
|
* If the worker has stopped, the return value is an empty object.
|
||||||
|
* @since v13.2.0, v12.16.0
|
||||||
|
*/
|
||||||
|
readonly resourceLimits?: ResourceLimits | undefined;
|
||||||
|
/**
|
||||||
|
* An object that can be used to query performance information from a worker
|
||||||
|
* instance. Similar to `perf_hooks.performance`.
|
||||||
|
* @since v15.1.0, v14.17.0, v12.22.0
|
||||||
|
*/
|
||||||
|
readonly performance: WorkerPerformance;
|
||||||
|
/**
|
||||||
|
* @param filename The path to the Worker’s main script or module.
|
||||||
|
* Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../,
|
||||||
|
* or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path.
|
||||||
|
*/
|
||||||
|
constructor(filename: string | URL, options?: WorkerOptions);
|
||||||
|
/**
|
||||||
|
* Send a message to the worker that is received via `require('worker_threads').parentPort.on('message')`.
|
||||||
|
* See `port.postMessage()` for more details.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
|
||||||
|
/**
|
||||||
|
* Opposite of `unref()`, calling `ref()` on a previously `unref()`ed worker does _not_ let the program exit if it's the only active handle left (the default
|
||||||
|
* behavior). If the worker is `ref()`ed, calling `ref()` again has
|
||||||
|
* no effect.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
ref(): void;
|
||||||
|
/**
|
||||||
|
* Calling `unref()` on a worker allows the thread to exit if this is the only
|
||||||
|
* active handle in the event system. If the worker is already `unref()`ed calling`unref()` again has no effect.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
unref(): void;
|
||||||
|
/**
|
||||||
|
* Stop all JavaScript execution in the worker thread as soon as possible.
|
||||||
|
* Returns a Promise for the exit code that is fulfilled when the `'exit' event` is emitted.
|
||||||
|
* @since v10.5.0
|
||||||
|
*/
|
||||||
|
terminate(): Promise<number>;
|
||||||
|
/**
|
||||||
|
* Returns a readable stream for a V8 snapshot of the current state of the Worker.
|
||||||
|
* See `v8.getHeapSnapshot()` for more details.
|
||||||
|
*
|
||||||
|
* If the Worker thread is no longer running, which may occur before the `'exit' event` is emitted, the returned `Promise` is rejected
|
||||||
|
* immediately with an `ERR_WORKER_NOT_RUNNING` error.
|
||||||
|
* @since v13.9.0, v12.17.0
|
||||||
|
* @return A promise for a Readable Stream containing a V8 heap snapshot
|
||||||
|
*/
|
||||||
|
getHeapSnapshot(): Promise<Readable>;
|
||||||
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
addListener(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
addListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
addListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
addListener(event: 'online', listener: () => void): this;
|
||||||
|
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
emit(event: 'error', err: Error): boolean;
|
||||||
|
emit(event: 'exit', exitCode: number): boolean;
|
||||||
|
emit(event: 'message', value: any): boolean;
|
||||||
|
emit(event: 'messageerror', error: Error): boolean;
|
||||||
|
emit(event: 'online'): boolean;
|
||||||
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
on(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
on(event: 'message', listener: (value: any) => void): this;
|
||||||
|
on(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
on(event: 'online', listener: () => void): this;
|
||||||
|
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
once(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
once(event: 'message', listener: (value: any) => void): this;
|
||||||
|
once(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
once(event: 'online', listener: () => void): this;
|
||||||
|
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependListener(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
prependListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
prependListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
prependListener(event: 'online', listener: () => void): this;
|
||||||
|
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
prependOnceListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
prependOnceListener(event: 'online', listener: () => void): this;
|
||||||
|
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
removeListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
removeListener(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
removeListener(event: 'message', listener: (value: any) => void): this;
|
||||||
|
removeListener(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
removeListener(event: 'online', listener: () => void): this;
|
||||||
|
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
off(event: 'error', listener: (err: Error) => void): this;
|
||||||
|
off(event: 'exit', listener: (exitCode: number) => void): this;
|
||||||
|
off(event: 'message', listener: (value: any) => void): this;
|
||||||
|
off(event: 'messageerror', listener: (error: Error) => void): this;
|
||||||
|
off(event: 'online', listener: () => void): this;
|
||||||
|
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||||
|
}
|
||||||
|
interface BroadcastChannel extends NodeJS.RefCounted {}
|
||||||
|
/**
|
||||||
|
* Instances of `BroadcastChannel` allow asynchronous one-to-many communication
|
||||||
|
* with all other `BroadcastChannel` instances bound to the same channel name.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* 'use strict';
|
||||||
|
*
|
||||||
|
* const {
|
||||||
|
* isMainThread,
|
||||||
|
* BroadcastChannel,
|
||||||
|
* Worker
|
||||||
|
* } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* const bc = new BroadcastChannel('hello');
|
||||||
|
*
|
||||||
|
* if (isMainThread) {
|
||||||
|
* let c = 0;
|
||||||
|
* bc.onmessage = (event) => {
|
||||||
|
* console.log(event.data);
|
||||||
|
* if (++c === 10) bc.close();
|
||||||
|
* };
|
||||||
|
* for (let n = 0; n < 10; n++)
|
||||||
|
* new Worker(__filename);
|
||||||
|
* } else {
|
||||||
|
* bc.postMessage('hello from every worker');
|
||||||
|
* bc.close();
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v15.4.0
|
||||||
|
*/
|
||||||
|
class BroadcastChannel {
|
||||||
|
readonly name: string;
|
||||||
|
/**
|
||||||
|
* Invoked with a single \`MessageEvent\` argument when a message is received.
|
||||||
|
* @since v15.4.0
|
||||||
|
*/
|
||||||
|
onmessage: (message: unknown) => void;
|
||||||
|
/**
|
||||||
|
* Invoked with a received message cannot be deserialized.
|
||||||
|
* @since v15.4.0
|
||||||
|
*/
|
||||||
|
onmessageerror: (message: unknown) => void;
|
||||||
|
constructor(name: string);
|
||||||
|
/**
|
||||||
|
* Closes the `BroadcastChannel` connection.
|
||||||
|
* @since v15.4.0
|
||||||
|
*/
|
||||||
|
close(): void;
|
||||||
|
/**
|
||||||
|
* @since v15.4.0
|
||||||
|
* @param message Any cloneable JavaScript value.
|
||||||
|
*/
|
||||||
|
postMessage(message: unknown): void;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Mark an object as not transferable. If `object` occurs in the transfer list of
|
||||||
|
* a `port.postMessage()` call, it is ignored.
|
||||||
|
*
|
||||||
|
* In particular, this makes sense for objects that can be cloned, rather than
|
||||||
|
* transferred, and which are used by other objects on the sending side.
|
||||||
|
* For example, Node.js marks the `ArrayBuffer`s it uses for its `Buffer pool` with this.
|
||||||
|
*
|
||||||
|
* This operation cannot be undone.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { MessageChannel, markAsUntransferable } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* const pooledBuffer = new ArrayBuffer(8);
|
||||||
|
* const typedArray1 = new Uint8Array(pooledBuffer);
|
||||||
|
* const typedArray2 = new Float64Array(pooledBuffer);
|
||||||
|
*
|
||||||
|
* markAsUntransferable(pooledBuffer);
|
||||||
|
*
|
||||||
|
* const { port1 } = new MessageChannel();
|
||||||
|
* port1.postMessage(typedArray1, [ typedArray1.buffer ]);
|
||||||
|
*
|
||||||
|
* // The following line prints the contents of typedArray1 -- it still owns
|
||||||
|
* // its memory and has been cloned, not transferred. Without
|
||||||
|
* // `markAsUntransferable()`, this would print an empty Uint8Array.
|
||||||
|
* // typedArray2 is intact as well.
|
||||||
|
* console.log(typedArray1);
|
||||||
|
* console.log(typedArray2);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* There is no equivalent to this API in browsers.
|
||||||
|
* @since v14.5.0, v12.19.0
|
||||||
|
*/
|
||||||
|
function markAsUntransferable(object: object): void;
|
||||||
|
/**
|
||||||
|
* Transfer a `MessagePort` to a different `vm` Context. The original `port`object is rendered unusable, and the returned `MessagePort` instance
|
||||||
|
* takes its place.
|
||||||
|
*
|
||||||
|
* The returned `MessagePort` is an object in the target context and
|
||||||
|
* inherits from its global `Object` class. Objects passed to the [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) listener are also created in the
|
||||||
|
* target context
|
||||||
|
* and inherit from its global `Object` class.
|
||||||
|
*
|
||||||
|
* However, the created `MessagePort` no longer inherits from [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget), and only
|
||||||
|
* [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) can be used to receive
|
||||||
|
* events using it.
|
||||||
|
* @since v11.13.0
|
||||||
|
* @param port The message port to transfer.
|
||||||
|
* @param contextifiedSandbox A `contextified` object as returned by the `vm.createContext()` method.
|
||||||
|
*/
|
||||||
|
function moveMessagePortToContext(port: MessagePort, contextifiedSandbox: Context): MessagePort;
|
||||||
|
/**
|
||||||
|
* Receive a single message from a given `MessagePort`. If no message is available,`undefined` is returned, otherwise an object with a single `message` property
|
||||||
|
* that contains the message payload, corresponding to the oldest message in the`MessagePort`’s queue.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { MessageChannel, receiveMessageOnPort } = require('worker_threads');
|
||||||
|
* const { port1, port2 } = new MessageChannel();
|
||||||
|
* port1.postMessage({ hello: 'world' });
|
||||||
|
*
|
||||||
|
* console.log(receiveMessageOnPort(port2));
|
||||||
|
* // Prints: { message: { hello: 'world' } }
|
||||||
|
* console.log(receiveMessageOnPort(port2));
|
||||||
|
* // Prints: undefined
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* When this function is used, no `'message'` event is emitted and the`onmessage` listener is not invoked.
|
||||||
|
* @since v12.3.0
|
||||||
|
*/
|
||||||
|
function receiveMessageOnPort(port: MessagePort):
|
||||||
|
| {
|
||||||
|
message: any;
|
||||||
|
}
|
||||||
|
| undefined;
|
||||||
|
type Serializable = string | object | number | boolean | bigint;
|
||||||
|
/**
|
||||||
|
* Within a worker thread, `worker.getEnvironmentData()` returns a clone
|
||||||
|
* of data passed to the spawning thread's `worker.setEnvironmentData()`.
|
||||||
|
* Every new `Worker` receives its own copy of the environment data
|
||||||
|
* automatically.
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const {
|
||||||
|
* Worker,
|
||||||
|
* isMainThread,
|
||||||
|
* setEnvironmentData,
|
||||||
|
* getEnvironmentData,
|
||||||
|
* } = require('worker_threads');
|
||||||
|
*
|
||||||
|
* if (isMainThread) {
|
||||||
|
* setEnvironmentData('Hello', 'World!');
|
||||||
|
* const worker = new Worker(__filename);
|
||||||
|
* } else {
|
||||||
|
* console.log(getEnvironmentData('Hello')); // Prints 'World!'.
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
* @since v15.12.0, v14.18.0
|
||||||
|
* @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
|
||||||
|
*/
|
||||||
|
function getEnvironmentData(key: Serializable): Serializable;
|
||||||
|
/**
|
||||||
|
* The `worker.setEnvironmentData()` API sets the content of`worker.getEnvironmentData()` in the current thread and all new `Worker`instances spawned from the current context.
|
||||||
|
* @since v15.12.0, v14.18.0
|
||||||
|
* @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
|
||||||
|
* @param value Any arbitrary, cloneable JavaScript value that will be cloned and passed automatically to all new `Worker` instances. If `value` is passed as `undefined`, any previously set value
|
||||||
|
* for the `key` will be deleted.
|
||||||
|
*/
|
||||||
|
function setEnvironmentData(key: Serializable, value: Serializable): void;
|
||||||
|
}
|
||||||
|
declare module 'node:worker_threads' {
|
||||||
|
export * from 'worker_threads';
|
||||||
|
}
|
517
node_modules/@types/node/ts4.8/zlib.d.ts
generated
vendored
Normal file
517
node_modules/@types/node/ts4.8/zlib.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,517 @@
|
||||||
|
/**
|
||||||
|
* The `zlib` module provides compression functionality implemented using Gzip,
|
||||||
|
* Deflate/Inflate, and Brotli.
|
||||||
|
*
|
||||||
|
* To access it:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const zlib = require('zlib');
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* Compression and decompression are built around the Node.js `Streams API`.
|
||||||
|
*
|
||||||
|
* Compressing or decompressing a stream (such as a file) can be accomplished by
|
||||||
|
* piping the source stream through a `zlib` `Transform` stream into a destination
|
||||||
|
* stream:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { createGzip } = require('zlib');
|
||||||
|
* const { pipeline } = require('stream');
|
||||||
|
* const {
|
||||||
|
* createReadStream,
|
||||||
|
* createWriteStream
|
||||||
|
* } = require('fs');
|
||||||
|
*
|
||||||
|
* const gzip = createGzip();
|
||||||
|
* const source = createReadStream('input.txt');
|
||||||
|
* const destination = createWriteStream('input.txt.gz');
|
||||||
|
*
|
||||||
|
* pipeline(source, gzip, destination, (err) => {
|
||||||
|
* if (err) {
|
||||||
|
* console.error('An error occurred:', err);
|
||||||
|
* process.exitCode = 1;
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Or, Promisified
|
||||||
|
*
|
||||||
|
* const { promisify } = require('util');
|
||||||
|
* const pipe = promisify(pipeline);
|
||||||
|
*
|
||||||
|
* async function do_gzip(input, output) {
|
||||||
|
* const gzip = createGzip();
|
||||||
|
* const source = createReadStream(input);
|
||||||
|
* const destination = createWriteStream(output);
|
||||||
|
* await pipe(source, gzip, destination);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* do_gzip('input.txt', 'input.txt.gz')
|
||||||
|
* .catch((err) => {
|
||||||
|
* console.error('An error occurred:', err);
|
||||||
|
* process.exitCode = 1;
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* It is also possible to compress or decompress data in a single step:
|
||||||
|
*
|
||||||
|
* ```js
|
||||||
|
* const { deflate, unzip } = require('zlib');
|
||||||
|
*
|
||||||
|
* const input = '.................................';
|
||||||
|
* deflate(input, (err, buffer) => {
|
||||||
|
* if (err) {
|
||||||
|
* console.error('An error occurred:', err);
|
||||||
|
* process.exitCode = 1;
|
||||||
|
* }
|
||||||
|
* console.log(buffer.toString('base64'));
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
|
||||||
|
* unzip(buffer, (err, buffer) => {
|
||||||
|
* if (err) {
|
||||||
|
* console.error('An error occurred:', err);
|
||||||
|
* process.exitCode = 1;
|
||||||
|
* }
|
||||||
|
* console.log(buffer.toString());
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Or, Promisified
|
||||||
|
*
|
||||||
|
* const { promisify } = require('util');
|
||||||
|
* const do_unzip = promisify(unzip);
|
||||||
|
*
|
||||||
|
* do_unzip(buffer)
|
||||||
|
* .then((buf) => console.log(buf.toString()))
|
||||||
|
* .catch((err) => {
|
||||||
|
* console.error('An error occurred:', err);
|
||||||
|
* process.exitCode = 1;
|
||||||
|
* });
|
||||||
|
* ```
|
||||||
|
* @since v0.5.8
|
||||||
|
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/zlib.js)
|
||||||
|
*/
|
||||||
|
declare module 'zlib' {
|
||||||
|
import * as stream from 'node:stream';
|
||||||
|
interface ZlibOptions {
|
||||||
|
/**
|
||||||
|
* @default constants.Z_NO_FLUSH
|
||||||
|
*/
|
||||||
|
flush?: number | undefined;
|
||||||
|
/**
|
||||||
|
* @default constants.Z_FINISH
|
||||||
|
*/
|
||||||
|
finishFlush?: number | undefined;
|
||||||
|
/**
|
||||||
|
* @default 16*1024
|
||||||
|
*/
|
||||||
|
chunkSize?: number | undefined;
|
||||||
|
windowBits?: number | undefined;
|
||||||
|
level?: number | undefined; // compression only
|
||||||
|
memLevel?: number | undefined; // compression only
|
||||||
|
strategy?: number | undefined; // compression only
|
||||||
|
dictionary?: NodeJS.ArrayBufferView | ArrayBuffer | undefined; // deflate/inflate only, empty dictionary by default
|
||||||
|
info?: boolean | undefined;
|
||||||
|
maxOutputLength?: number | undefined;
|
||||||
|
}
|
||||||
|
interface BrotliOptions {
|
||||||
|
/**
|
||||||
|
* @default constants.BROTLI_OPERATION_PROCESS
|
||||||
|
*/
|
||||||
|
flush?: number | undefined;
|
||||||
|
/**
|
||||||
|
* @default constants.BROTLI_OPERATION_FINISH
|
||||||
|
*/
|
||||||
|
finishFlush?: number | undefined;
|
||||||
|
/**
|
||||||
|
* @default 16*1024
|
||||||
|
*/
|
||||||
|
chunkSize?: number | undefined;
|
||||||
|
params?:
|
||||||
|
| {
|
||||||
|
/**
|
||||||
|
* Each key is a `constants.BROTLI_*` constant.
|
||||||
|
*/
|
||||||
|
[key: number]: boolean | number;
|
||||||
|
}
|
||||||
|
| undefined;
|
||||||
|
maxOutputLength?: number | undefined;
|
||||||
|
}
|
||||||
|
interface Zlib {
|
||||||
|
/** @deprecated Use bytesWritten instead. */
|
||||||
|
readonly bytesRead: number;
|
||||||
|
readonly bytesWritten: number;
|
||||||
|
shell?: boolean | string | undefined;
|
||||||
|
close(callback?: () => void): void;
|
||||||
|
flush(kind?: number, callback?: () => void): void;
|
||||||
|
flush(callback?: () => void): void;
|
||||||
|
}
|
||||||
|
interface ZlibParams {
|
||||||
|
params(level: number, strategy: number, callback: () => void): void;
|
||||||
|
}
|
||||||
|
interface ZlibReset {
|
||||||
|
reset(): void;
|
||||||
|
}
|
||||||
|
interface BrotliCompress extends stream.Transform, Zlib {}
|
||||||
|
interface BrotliDecompress extends stream.Transform, Zlib {}
|
||||||
|
interface Gzip extends stream.Transform, Zlib {}
|
||||||
|
interface Gunzip extends stream.Transform, Zlib {}
|
||||||
|
interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams {}
|
||||||
|
interface Inflate extends stream.Transform, Zlib, ZlibReset {}
|
||||||
|
interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams {}
|
||||||
|
interface InflateRaw extends stream.Transform, Zlib, ZlibReset {}
|
||||||
|
interface Unzip extends stream.Transform, Zlib {}
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `BrotliCompress` object.
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function createBrotliCompress(options?: BrotliOptions): BrotliCompress;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `BrotliDecompress` object.
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `Gzip` object.
|
||||||
|
* See `example`.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createGzip(options?: ZlibOptions): Gzip;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `Gunzip` object.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createGunzip(options?: ZlibOptions): Gunzip;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `Deflate` object.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createDeflate(options?: ZlibOptions): Deflate;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `Inflate` object.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createInflate(options?: ZlibOptions): Inflate;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `DeflateRaw` object.
|
||||||
|
*
|
||||||
|
* An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when `windowBits`is set to 8 for raw deflate streams. zlib would automatically set `windowBits`to 9 if was initially set to 8\. Newer
|
||||||
|
* versions of zlib will throw an exception,
|
||||||
|
* so Node.js restored the original behavior of upgrading a value of 8 to 9,
|
||||||
|
* since passing `windowBits = 9` to zlib actually results in a compressed stream
|
||||||
|
* that effectively uses an 8-bit window only.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createDeflateRaw(options?: ZlibOptions): DeflateRaw;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `InflateRaw` object.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createInflateRaw(options?: ZlibOptions): InflateRaw;
|
||||||
|
/**
|
||||||
|
* Creates and returns a new `Unzip` object.
|
||||||
|
* @since v0.5.8
|
||||||
|
*/
|
||||||
|
function createUnzip(options?: ZlibOptions): Unzip;
|
||||||
|
type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView;
|
||||||
|
type CompressCallback = (error: Error | null, result: Buffer) => void;
|
||||||
|
/**
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;
|
||||||
|
function brotliCompress(buf: InputType, callback: CompressCallback): void;
|
||||||
|
namespace brotliCompress {
|
||||||
|
function __promisify__(buffer: InputType, options?: BrotliOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Compress a chunk of data with `BrotliCompress`.
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;
|
||||||
|
function brotliDecompress(buf: InputType, callback: CompressCallback): void;
|
||||||
|
namespace brotliDecompress {
|
||||||
|
function __promisify__(buffer: InputType, options?: BrotliOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Decompress a chunk of data with `BrotliDecompress`.
|
||||||
|
* @since v11.7.0, v10.16.0
|
||||||
|
*/
|
||||||
|
function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function deflate(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace deflate {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Compress a chunk of data with `Deflate`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function deflateSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function deflateRaw(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace deflateRaw {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Compress a chunk of data with `DeflateRaw`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function gzip(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace gzip {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Compress a chunk of data with `Gzip`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function gzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function gunzip(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace gunzip {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Decompress a chunk of data with `Gunzip`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function inflate(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace inflate {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Decompress a chunk of data with `Inflate`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function inflateSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function inflateRaw(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace inflateRaw {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Decompress a chunk of data with `InflateRaw`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
/**
|
||||||
|
* @since v0.6.0
|
||||||
|
*/
|
||||||
|
function unzip(buf: InputType, callback: CompressCallback): void;
|
||||||
|
function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||||
|
namespace unzip {
|
||||||
|
function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Decompress a chunk of data with `Unzip`.
|
||||||
|
* @since v0.11.12
|
||||||
|
*/
|
||||||
|
function unzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||||
|
namespace constants {
|
||||||
|
const BROTLI_DECODE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number;
|
||||||
|
const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number;
|
||||||
|
const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number;
|
||||||
|
const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number;
|
||||||
|
const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number;
|
||||||
|
const BROTLI_DECODER_ERROR_UNREACHABLE: number;
|
||||||
|
const BROTLI_DECODER_NEEDS_MORE_INPUT: number;
|
||||||
|
const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number;
|
||||||
|
const BROTLI_DECODER_NO_ERROR: number;
|
||||||
|
const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number;
|
||||||
|
const BROTLI_DECODER_PARAM_LARGE_WINDOW: number;
|
||||||
|
const BROTLI_DECODER_RESULT_ERROR: number;
|
||||||
|
const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number;
|
||||||
|
const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number;
|
||||||
|
const BROTLI_DECODER_RESULT_SUCCESS: number;
|
||||||
|
const BROTLI_DECODER_SUCCESS: number;
|
||||||
|
const BROTLI_DEFAULT_MODE: number;
|
||||||
|
const BROTLI_DEFAULT_QUALITY: number;
|
||||||
|
const BROTLI_DEFAULT_WINDOW: number;
|
||||||
|
const BROTLI_ENCODE: number;
|
||||||
|
const BROTLI_LARGE_MAX_WINDOW_BITS: number;
|
||||||
|
const BROTLI_MAX_INPUT_BLOCK_BITS: number;
|
||||||
|
const BROTLI_MAX_QUALITY: number;
|
||||||
|
const BROTLI_MAX_WINDOW_BITS: number;
|
||||||
|
const BROTLI_MIN_INPUT_BLOCK_BITS: number;
|
||||||
|
const BROTLI_MIN_QUALITY: number;
|
||||||
|
const BROTLI_MIN_WINDOW_BITS: number;
|
||||||
|
const BROTLI_MODE_FONT: number;
|
||||||
|
const BROTLI_MODE_GENERIC: number;
|
||||||
|
const BROTLI_MODE_TEXT: number;
|
||||||
|
const BROTLI_OPERATION_EMIT_METADATA: number;
|
||||||
|
const BROTLI_OPERATION_FINISH: number;
|
||||||
|
const BROTLI_OPERATION_FLUSH: number;
|
||||||
|
const BROTLI_OPERATION_PROCESS: number;
|
||||||
|
const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number;
|
||||||
|
const BROTLI_PARAM_LARGE_WINDOW: number;
|
||||||
|
const BROTLI_PARAM_LGBLOCK: number;
|
||||||
|
const BROTLI_PARAM_LGWIN: number;
|
||||||
|
const BROTLI_PARAM_MODE: number;
|
||||||
|
const BROTLI_PARAM_NDIRECT: number;
|
||||||
|
const BROTLI_PARAM_NPOSTFIX: number;
|
||||||
|
const BROTLI_PARAM_QUALITY: number;
|
||||||
|
const BROTLI_PARAM_SIZE_HINT: number;
|
||||||
|
const DEFLATE: number;
|
||||||
|
const DEFLATERAW: number;
|
||||||
|
const GUNZIP: number;
|
||||||
|
const GZIP: number;
|
||||||
|
const INFLATE: number;
|
||||||
|
const INFLATERAW: number;
|
||||||
|
const UNZIP: number;
|
||||||
|
// Allowed flush values.
|
||||||
|
const Z_NO_FLUSH: number;
|
||||||
|
const Z_PARTIAL_FLUSH: number;
|
||||||
|
const Z_SYNC_FLUSH: number;
|
||||||
|
const Z_FULL_FLUSH: number;
|
||||||
|
const Z_FINISH: number;
|
||||||
|
const Z_BLOCK: number;
|
||||||
|
const Z_TREES: number;
|
||||||
|
// Return codes for the compression/decompression functions.
|
||||||
|
// Negative values are errors, positive values are used for special but normal events.
|
||||||
|
const Z_OK: number;
|
||||||
|
const Z_STREAM_END: number;
|
||||||
|
const Z_NEED_DICT: number;
|
||||||
|
const Z_ERRNO: number;
|
||||||
|
const Z_STREAM_ERROR: number;
|
||||||
|
const Z_DATA_ERROR: number;
|
||||||
|
const Z_MEM_ERROR: number;
|
||||||
|
const Z_BUF_ERROR: number;
|
||||||
|
const Z_VERSION_ERROR: number;
|
||||||
|
// Compression levels.
|
||||||
|
const Z_NO_COMPRESSION: number;
|
||||||
|
const Z_BEST_SPEED: number;
|
||||||
|
const Z_BEST_COMPRESSION: number;
|
||||||
|
const Z_DEFAULT_COMPRESSION: number;
|
||||||
|
// Compression strategy.
|
||||||
|
const Z_FILTERED: number;
|
||||||
|
const Z_HUFFMAN_ONLY: number;
|
||||||
|
const Z_RLE: number;
|
||||||
|
const Z_FIXED: number;
|
||||||
|
const Z_DEFAULT_STRATEGY: number;
|
||||||
|
const Z_DEFAULT_WINDOWBITS: number;
|
||||||
|
const Z_MIN_WINDOWBITS: number;
|
||||||
|
const Z_MAX_WINDOWBITS: number;
|
||||||
|
const Z_MIN_CHUNK: number;
|
||||||
|
const Z_MAX_CHUNK: number;
|
||||||
|
const Z_DEFAULT_CHUNK: number;
|
||||||
|
const Z_MIN_MEMLEVEL: number;
|
||||||
|
const Z_MAX_MEMLEVEL: number;
|
||||||
|
const Z_DEFAULT_MEMLEVEL: number;
|
||||||
|
const Z_MIN_LEVEL: number;
|
||||||
|
const Z_MAX_LEVEL: number;
|
||||||
|
const Z_DEFAULT_LEVEL: number;
|
||||||
|
const ZLIB_VERNUM: number;
|
||||||
|
}
|
||||||
|
// Allowed flush values.
|
||||||
|
/** @deprecated Use `constants.Z_NO_FLUSH` */
|
||||||
|
const Z_NO_FLUSH: number;
|
||||||
|
/** @deprecated Use `constants.Z_PARTIAL_FLUSH` */
|
||||||
|
const Z_PARTIAL_FLUSH: number;
|
||||||
|
/** @deprecated Use `constants.Z_SYNC_FLUSH` */
|
||||||
|
const Z_SYNC_FLUSH: number;
|
||||||
|
/** @deprecated Use `constants.Z_FULL_FLUSH` */
|
||||||
|
const Z_FULL_FLUSH: number;
|
||||||
|
/** @deprecated Use `constants.Z_FINISH` */
|
||||||
|
const Z_FINISH: number;
|
||||||
|
/** @deprecated Use `constants.Z_BLOCK` */
|
||||||
|
const Z_BLOCK: number;
|
||||||
|
/** @deprecated Use `constants.Z_TREES` */
|
||||||
|
const Z_TREES: number;
|
||||||
|
// Return codes for the compression/decompression functions.
|
||||||
|
// Negative values are errors, positive values are used for special but normal events.
|
||||||
|
/** @deprecated Use `constants.Z_OK` */
|
||||||
|
const Z_OK: number;
|
||||||
|
/** @deprecated Use `constants.Z_STREAM_END` */
|
||||||
|
const Z_STREAM_END: number;
|
||||||
|
/** @deprecated Use `constants.Z_NEED_DICT` */
|
||||||
|
const Z_NEED_DICT: number;
|
||||||
|
/** @deprecated Use `constants.Z_ERRNO` */
|
||||||
|
const Z_ERRNO: number;
|
||||||
|
/** @deprecated Use `constants.Z_STREAM_ERROR` */
|
||||||
|
const Z_STREAM_ERROR: number;
|
||||||
|
/** @deprecated Use `constants.Z_DATA_ERROR` */
|
||||||
|
const Z_DATA_ERROR: number;
|
||||||
|
/** @deprecated Use `constants.Z_MEM_ERROR` */
|
||||||
|
const Z_MEM_ERROR: number;
|
||||||
|
/** @deprecated Use `constants.Z_BUF_ERROR` */
|
||||||
|
const Z_BUF_ERROR: number;
|
||||||
|
/** @deprecated Use `constants.Z_VERSION_ERROR` */
|
||||||
|
const Z_VERSION_ERROR: number;
|
||||||
|
// Compression levels.
|
||||||
|
/** @deprecated Use `constants.Z_NO_COMPRESSION` */
|
||||||
|
const Z_NO_COMPRESSION: number;
|
||||||
|
/** @deprecated Use `constants.Z_BEST_SPEED` */
|
||||||
|
const Z_BEST_SPEED: number;
|
||||||
|
/** @deprecated Use `constants.Z_BEST_COMPRESSION` */
|
||||||
|
const Z_BEST_COMPRESSION: number;
|
||||||
|
/** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */
|
||||||
|
const Z_DEFAULT_COMPRESSION: number;
|
||||||
|
// Compression strategy.
|
||||||
|
/** @deprecated Use `constants.Z_FILTERED` */
|
||||||
|
const Z_FILTERED: number;
|
||||||
|
/** @deprecated Use `constants.Z_HUFFMAN_ONLY` */
|
||||||
|
const Z_HUFFMAN_ONLY: number;
|
||||||
|
/** @deprecated Use `constants.Z_RLE` */
|
||||||
|
const Z_RLE: number;
|
||||||
|
/** @deprecated Use `constants.Z_FIXED` */
|
||||||
|
const Z_FIXED: number;
|
||||||
|
/** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */
|
||||||
|
const Z_DEFAULT_STRATEGY: number;
|
||||||
|
/** @deprecated */
|
||||||
|
const Z_BINARY: number;
|
||||||
|
/** @deprecated */
|
||||||
|
const Z_TEXT: number;
|
||||||
|
/** @deprecated */
|
||||||
|
const Z_ASCII: number;
|
||||||
|
/** @deprecated */
|
||||||
|
const Z_UNKNOWN: number;
|
||||||
|
/** @deprecated */
|
||||||
|
const Z_DEFLATED: number;
|
||||||
|
}
|
||||||
|
declare module 'node:zlib' {
|
||||||
|
export * from 'zlib';
|
||||||
|
}
|
2
node_modules/caniuse-lite/data/agents.js
generated
vendored
2
node_modules/caniuse-lite/data/agents.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/caniuse-lite/data/browserVersions.js
generated
vendored
2
node_modules/caniuse-lite/data/browserVersions.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={"0":"29","1":"30","2":"31","3":"32","4":"33","5":"34","6":"35","7":"36","8":"37","9":"38",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"105",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"104",b:"64",c:"91",d:"92",e:"93",f:"94",g:"95",h:"96",i:"97",j:"98",k:"99",l:"100",m:"101",n:"102",o:"103",p:"5",q:"19",r:"20",s:"21",t:"22",u:"23",v:"24",w:"25",x:"26",y:"27",z:"28",AB:"39",BB:"40",CB:"41",DB:"42",EB:"43",FB:"44",GB:"45",HB:"46",IB:"47",JB:"48",KB:"49",LB:"50",MB:"51",NB:"52",OB:"53",PB:"54",QB:"55",RB:"56",SB:"57",TB:"58",UB:"60",VB:"62",WB:"63",XB:"65",YB:"66",ZB:"67",aB:"68",bB:"69",cB:"70",dB:"71",eB:"72",fB:"73",gB:"74",hB:"75",iB:"76",jB:"77",kB:"78",lB:"11.1",mB:"12.1",nB:"16.0",oB:"3",pB:"59",qB:"61",rB:"82",sB:"106",tB:"3.2",uB:"10.1",vB:"15.2-15.3",wB:"15.4",xB:"15.5",yB:"15.6",zB:"16.1","0B":"11.5","1B":"4.2-4.3","2B":"5.5","3B":"2","4B":"3.5","5B":"3.6","6B":"107","7B":"108","8B":"3.1","9B":"5.1",AC:"6.1",BC:"7.1",CC:"9.1",DC:"13.1",EC:"14.1",FC:"15.1",GC:"TP",HC:"9.5-9.6",IC:"10.0-10.1",JC:"10.5",KC:"10.6",LC:"11.6",MC:"4.0-4.1",NC:"5.0-5.1",OC:"6.0-6.1",PC:"7.0-7.1",QC:"8.1-8.4",RC:"9.0-9.2",SC:"9.3",TC:"10.0-10.2",UC:"10.3",VC:"11.0-11.2",WC:"11.3-11.4",XC:"12.0-12.1",YC:"12.2-12.5",ZC:"13.0-13.1",aC:"13.2",bC:"13.3",cC:"13.4-13.7",dC:"14.0-14.4",eC:"14.5-14.8",fC:"15.0-15.1",gC:"all",hC:"2.1",iC:"2.2",jC:"2.3",kC:"4.1",lC:"4.4",mC:"4.4.3-4.4.4",nC:"12.12",oC:"5.0-5.4",pC:"6.2-6.4",qC:"7.2-7.4",rC:"8.2",sC:"9.2",tC:"11.1-11.2",uC:"12.0",vC:"13.0",wC:"14.0",xC:"15.0",yC:"17.0",zC:"18.0","0C":"10.4","1C":"7.12","2C":"2.5"};
|
module.exports={"0":"29","1":"30","2":"31","3":"32","4":"33","5":"34","6":"35","7":"36","8":"37","9":"38",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"105",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"104",c:"64",d:"92",e:"93",f:"94",g:"95",h:"96",i:"97",j:"98",k:"99",l:"100",m:"101",n:"102",o:"103",p:"5",q:"19",r:"20",s:"21",t:"22",u:"23",v:"24",w:"25",x:"26",y:"27",z:"28",AB:"39",BB:"40",CB:"41",DB:"42",EB:"43",FB:"44",GB:"45",HB:"46",IB:"47",JB:"48",KB:"49",LB:"50",MB:"51",NB:"52",OB:"53",PB:"54",QB:"55",RB:"56",SB:"57",TB:"58",UB:"60",VB:"62",WB:"63",XB:"65",YB:"66",ZB:"67",aB:"68",bB:"69",cB:"70",dB:"71",eB:"72",fB:"73",gB:"74",hB:"75",iB:"76",jB:"77",kB:"78",lB:"11.1",mB:"12.1",nB:"16.0",oB:"3",pB:"59",qB:"61",rB:"82",sB:"106",tB:"107",uB:"3.2",vB:"10.1",wB:"13.1",xB:"15.2-15.3",yB:"15.4",zB:"15.5","0B":"15.6","1B":"16.1","2B":"11.5","3B":"4.2-4.3","4B":"5.5","5B":"2","6B":"3.5","7B":"3.6","8B":"108","9B":"109",AC:"3.1",BC:"5.1",CC:"6.1",DC:"7.1",EC:"9.1",FC:"14.1",GC:"15.1",HC:"TP",IC:"9.5-9.6",JC:"10.0-10.1",KC:"10.5",LC:"10.6",MC:"11.6",NC:"4.0-4.1",OC:"5.0-5.1",PC:"6.0-6.1",QC:"7.0-7.1",RC:"8.1-8.4",SC:"9.0-9.2",TC:"9.3",UC:"10.0-10.2",VC:"10.3",WC:"11.0-11.2",XC:"11.3-11.4",YC:"12.0-12.1",ZC:"12.2-12.5",aC:"13.0-13.1",bC:"13.2",cC:"13.3",dC:"13.4-13.7",eC:"14.0-14.4",fC:"14.5-14.8",gC:"15.0-15.1",hC:"all",iC:"2.1",jC:"2.2",kC:"2.3",lC:"4.1",mC:"4.4",nC:"4.4.3-4.4.4",oC:"13.4",pC:"5.0-5.4",qC:"6.2-6.4",rC:"7.2-7.4",sC:"8.2",tC:"9.2",uC:"11.1-11.2",vC:"12.0",wC:"13.0",xC:"14.0",yC:"15.0",zC:"17.0","0C":"18.0","1C":"13.18","2C":"2.5"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/aac.js
generated
vendored
2
node_modules/caniuse-lite/data/features/aac.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"F A B","2":"J D E 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"2":"3B oB I p J D E F A B C K L G M N O q r s 4B 5B","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"I p J D E F","16":"A B"},E:{"1":"I p J D E F A B C K L G 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"8B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"F B C HC IC JC KC lB 0B LC mB"},G:{"1":"E MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","16":"tB"},H:{"2":"gC"},I:{"1":"oB I H kC 1B lC mC","2":"hC iC jC"},J:{"1":"A","2":"D"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"132":"a"},N:{"1":"A","2":"B"},O:{"1":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"132":"2C"}},B:6,C:"AAC audio file format"};
|
module.exports={A:{A:{"1":"F A B","2":"J D E 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"2":"5B oB I p J D E F A B C K L G M N O q r s 6B 7B","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"I p J D E F","16":"A B"},E:{"1":"I p J D E F A B C K L G BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"AC uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"F B C IC JC KC LC lB 2B MC mB"},G:{"1":"E NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","16":"uB"},H:{"2":"hC"},I:{"1":"oB I H lC 3B mC nC","2":"iC jC kC"},J:{"1":"A","2":"D"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"132":"b"},N:{"1":"A","2":"B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"132":"2C"}},B:6,C:"AAC audio file format"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/abortcontroller.js
generated
vendored
2
node_modules/caniuse-lite/data/features/abortcontroller.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G"},C:{"1":"SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB 4B 5B"},D:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB"},E:{"1":"K L G mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D E F A B 8B tB 9B AC BC CC uB","130":"C lB"},F:{"1":"OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB HC IC JC KC lB 0B LC mB"},G:{"1":"WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"E tB MC 1B NC OC PC QC RC SC TC UC VC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"1":"sC uB tC uC vC wC xC nB yC zC","2":"I oC pC qC rC"},Q:{"1":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:1,C:"AbortController & AbortSignal"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G"},C:{"1":"SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB 6B 7B"},D:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB"},E:{"1":"K L G mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E F A B AC uB BC CC DC EC vB","130":"C lB"},F:{"1":"OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB IC JC KC LC lB 2B MC mB"},G:{"1":"XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"E uB NC 3B OC PC QC RC SC TC UC VC WC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"tC vB uC vC wC xC yC nB zC 0C","2":"I pC qC rC sC"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:1,C:"AbortController & AbortSignal"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/ac3-ec3.js
generated
vendored
2
node_modules/caniuse-lite/data/features/ac3-ec3.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB 4B 5B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC","132":"RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"2":"oB I H hC iC jC kC 1B lC mC"},J:{"2":"D","132":"A"},K:{"2":"A B C b lB 0B","132":"mB"},L:{"2":"H"},M:{"2":"a"},N:{"2":"A B"},O:{"132":"nC"},P:{"2":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 6B 7B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a IC JC KC LC lB 2B MC mB"},G:{"2":"E uB NC 3B OC PC QC RC","132":"SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"2":"oB I H iC jC kC lC 3B mC nC"},J:{"2":"D","132":"A"},K:{"2":"A B C c lB 2B","132":"mB"},L:{"2":"H"},M:{"2":"b"},N:{"2":"A B"},O:{"2":"oC"},P:{"2":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"2":"wB"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/accelerometer.js
generated
vendored
2
node_modules/caniuse-lite/data/features/accelerometer.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB 4B 5B"},D:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","194":"TB pB UB qB VB WB b XB YB"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"2":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"2":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:4,C:"Accelerometer"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 6B 7B"},D:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","194":"TB pB UB qB VB WB c XB YB"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB IC JC KC LC lB 2B MC mB"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"2":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"2":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:4,C:"Accelerometer"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/addeventlistener.js
generated
vendored
2
node_modules/caniuse-lite/data/features/addeventlistener.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"F A B","130":"J D E 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","257":"3B oB I p J 4B 5B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"1":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z HC IC JC KC lB 0B LC mB"},G:{"1":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"1":"gC"},I:{"1":"oB I H hC iC jC kC 1B lC mC"},J:{"1":"D A"},K:{"1":"A B C b lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"1":"A B"},O:{"1":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"EventTarget.addEventListener()"};
|
module.exports={A:{A:{"1":"F A B","130":"J D E 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","257":"5B oB I p J 6B 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"1":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a IC JC KC LC lB 2B MC mB"},G:{"1":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"1":"hC"},I:{"1":"oB I H iC jC kC lC 3B mC nC"},J:{"1":"D A"},K:{"1":"A B C c lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"1":"A B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"EventTarget.addEventListener()"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/alternate-stylesheet.js
generated
vendored
2
node_modules/caniuse-lite/data/features/alternate-stylesheet.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"E F A B","2":"J D 2B"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB 4B 5B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"F B C HC IC JC KC lB 0B LC mB","16":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"16":"gC"},I:{"2":"oB I H hC iC jC kC 1B lC mC"},J:{"16":"D A"},K:{"2":"b","16":"A B C lB 0B mB"},L:{"16":"H"},M:{"16":"a"},N:{"16":"A B"},O:{"16":"nC"},P:{"16":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"16":"1C"},S:{"1":"2C"}},B:1,C:"Alternate stylesheet"};
|
module.exports={A:{A:{"1":"E F A B","2":"J D 4B"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 6B 7B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"F B C IC JC KC LC lB 2B MC mB","16":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"16":"hC"},I:{"2":"oB I H iC jC kC lC 3B mC nC"},J:{"16":"D A"},K:{"2":"c","16":"A B C lB 2B mB"},L:{"16":"H"},M:{"16":"b"},N:{"16":"A B"},O:{"16":"oC"},P:{"16":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"2":"wB"},R:{"16":"1C"},S:{"1":"2C"}},B:1,C:"Alternate stylesheet"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/ambient-light.js
generated
vendored
2
node_modules/caniuse-lite/data/features/ambient-light.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"2":"C K","132":"L G M N O","322":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"2":"3B oB I p J D E F A B C K L G M N O q r s 4B 5B","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB","194":"UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","322":"TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB HC IC JC KC lB 0B LC mB","322":"fB gB hB iB jB kB P Q R rB S T U V W X Y Z"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"2":"oB I H hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"2":"A B C b lB 0B mB"},L:{"2":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"2":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"132":"2C"}},B:4,C:"Ambient Light Sensor"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"2":"C K","132":"L G M N O","322":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"2":"5B oB I p J D E F A B C K L G M N O q r s 6B 7B","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB","194":"UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","322":"TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB IC JC KC LC lB 2B MC mB","322":"fB gB hB iB jB kB P Q R rB S T U V W X Y Z a"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"2":"oB I H iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"2":"A B C c lB 2B mB"},L:{"2":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"2":"oC"},P:{"2":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"2":"wB"},R:{"2":"1C"},S:{"132":"2C"}},B:4,C:"Ambient Light Sensor"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/apng.js
generated
vendored
2
node_modules/caniuse-lite/data/features/apng.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB 4B 5B","2":"3B"},D:{"1":"pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"E F A B C K L G CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D 8B tB 9B AC BC"},F:{"1":"B C HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z HC IC JC KC lB 0B LC mB","2":"0 1 2 3 4 5 6 7 8 9 F G M N O q r s t u v w x y z AB BB CB DB EB FB GB"},G:{"1":"E QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"tB MC 1B NC OC PC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"A B C b lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"1":"qC rC sC uB tC uC vC wC xC nB yC zC","2":"I oC pC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"1":"2C"}},B:7,C:"Animated PNG (APNG)"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 6B 7B","2":"5B"},D:{"1":"pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"E F A B C K L G EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D AC uB BC CC DC"},F:{"1":"B C HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a IC JC KC LC lB 2B MC mB","2":"0 1 2 3 4 5 6 7 8 9 F G M N O q r s t u v w x y z AB BB CB DB EB FB GB"},G:{"1":"E RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"uB NC 3B OC PC QC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"A B C c lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I pC qC"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:7,C:"Animated PNG (APNG)"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/array-find-index.js
generated
vendored
2
node_modules/caniuse-lite/data/features/array-find-index.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB I p J D E F A B C K L G M N O q r s t u v 4B 5B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C K L G BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D 8B tB 9B AC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 F B C G M N O q r s t u v w x y z HC IC JC KC lB 0B LC mB"},G:{"1":"E QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"tB MC 1B NC OC PC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D","16":"A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.findIndex"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB I p J D E F A B C K L G M N O q r s t u v 6B 7B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C K L G DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D AC uB BC CC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 F B C G M N O q r s t u v w x y z IC JC KC LC lB 2B MC mB"},G:{"1":"E RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"uB NC 3B OC PC QC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D","16":"A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.findIndex"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/array-find.js
generated
vendored
2
node_modules/caniuse-lite/data/features/array-find.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB I p J D E F A B C K L G M N O q r s t u v 4B 5B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C K L G BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D 8B tB 9B AC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 F B C G M N O q r s t u v w x y z HC IC JC KC lB 0B LC mB"},G:{"1":"E QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"tB MC 1B NC OC PC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D","16":"A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.find"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB I p J D E F A B C K L G M N O q r s t u v 6B 7B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C K L G DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D AC uB BC CC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 F B C G M N O q r s t u v w x y z IC JC KC LC lB 2B MC mB"},G:{"1":"E RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"uB NC 3B OC PC QC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D","16":"A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.find"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/array-flat.js
generated
vendored
2
node_modules/caniuse-lite/data/features/array-flat.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G M N O"},C:{"1":"VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB 4B 5B"},D:{"1":"bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB"},E:{"1":"C K L G mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D E F A B 8B tB 9B AC BC CC uB lB"},F:{"1":"RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC JC KC lB 0B LC mB"},G:{"1":"XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"1":"uB tC uC vC wC xC nB yC zC","2":"I oC pC qC rC sC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"flat & flatMap array methods"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G M N O"},C:{"1":"VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB 6B 7B"},D:{"1":"bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB"},E:{"1":"C K L G mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E F A B AC uB BC CC DC EC vB lB"},F:{"1":"RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC KC LC lB 2B MC mB"},G:{"1":"YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"vB uC vC wC xC yC nB zC 0C","2":"I pC qC rC sC tC"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:6,C:"flat & flatMap array methods"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/array-includes.js
generated
vendored
2
node_modules/caniuse-lite/data/features/array-includes.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB 4B 5B"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB"},E:{"1":"F A B C K L G CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D E 8B tB 9B AC BC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 F B C G M N O q r s t u v w x y z HC IC JC KC lB 0B LC mB"},G:{"1":"RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"E tB MC 1B NC OC PC QC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.includes"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB 6B 7B"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB"},E:{"1":"F A B C K L G EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E AC uB BC CC DC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 F B C G M N O q r s t u v w x y z IC JC KC LC lB 2B MC mB"},G:{"1":"SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"E uB NC 3B OC PC QC RC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Array.prototype.includes"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/arrow-functions.js
generated
vendored
2
node_modules/caniuse-lite/data/features/arrow-functions.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB I p J D E F A B C K L G M N O q r s 4B 5B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"A B C K L G uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D E F 8B tB 9B AC BC CC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 F B C G M N O q r s t u v w x y z HC IC JC KC lB 0B LC mB"},G:{"1":"TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"E tB MC 1B NC OC PC QC RC SC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Arrow functions"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB I p J D E F A B C K L G M N O q r s 6B 7B"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"A B C K L G vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E F AC uB BC CC DC EC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 F B C G M N O q r s t u v w x y z IC JC KC LC lB 2B MC mB"},G:{"1":"UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"E uB NC 3B OC PC QC RC SC TC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:6,C:"Arrow functions"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/asmjs.js
generated
vendored
2
node_modules/caniuse-lite/data/features/asmjs.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"K L G M N O","132":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB I p J D E F A B C K L G M N O q r s 4B 5B"},D:{"2":"I p J D E F A B C K L G M N O q r s t u v w x y","132":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"2":"F B C HC IC JC KC lB 0B LC mB","132":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"2":"oB I hC iC jC kC 1B lC mC","132":"H"},J:{"2":"D A"},K:{"2":"A B C lB 0B mB","132":"b"},L:{"132":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"2":"I","132":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"132":"0C"},R:{"132":"1C"},S:{"1":"2C"}},B:6,C:"asm.js"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"K L G M N O","132":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB I p J D E F A B C K L G M N O q r s 6B 7B"},D:{"2":"I p J D E F A B C K L G M N O q r s t u v w x y","132":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"2":"F B C IC JC KC LC lB 2B MC mB","132":"0 1 2 3 4 5 6 7 8 9 G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"2":"oB I iC jC kC lC 3B mC nC","132":"H"},J:{"2":"D A"},K:{"2":"A B C lB 2B mB","132":"c"},L:{"132":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"132":"oC"},P:{"2":"I","132":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"132":"wB"},R:{"132":"1C"},S:{"1":"2C"}},B:6,C:"asm.js"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/async-clipboard.js
generated
vendored
2
node_modules/caniuse-lite/data/features/async-clipboard.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB 4B 5B","132":"WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB"},D:{"1":"VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","66":"TB pB UB qB"},E:{"1":"L G DC EC FC vB wB xB yB nB zB GC","2":"I p J D E F A B C K 8B tB 9B AC BC CC uB lB mB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC","260":"dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"2":"oB I hC iC jC kC 1B lC mC","260":"H"},J:{"2":"D A"},K:{"2":"A B C lB 0B mB","260":"b"},L:{"1":"H"},M:{"132":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"2":"I oC pC qC rC","260":"sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:5,C:"Asynchronous Clipboard API"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB 6B 7B","132":"WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB"},D:{"1":"VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","66":"TB pB UB qB"},E:{"1":"L G wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E F A B C K AC uB BC CC DC EC vB lB mB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB IC JC KC LC lB 2B MC mB"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC","260":"eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"2":"oB I iC jC kC lC 3B mC nC","260":"H"},J:{"2":"D A"},K:{"2":"A B C lB 2B mB","260":"c"},L:{"1":"H"},M:{"132":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"2":"I pC qC rC sC","260":"tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:5,C:"Asynchronous Clipboard API"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/async-functions.js
generated
vendored
2
node_modules/caniuse-lite/data/features/async-functions.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K","194":"L"},C:{"1":"NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB 4B 5B"},D:{"1":"QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"B C K L G lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J D E F A 8B tB 9B AC BC CC","514":"uB"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB HC IC JC KC lB 0B LC mB"},G:{"1":"VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"E tB MC 1B NC OC PC QC RC SC TC","514":"UC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I oC"},Q:{"1":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"Async functions"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K","194":"L"},C:{"1":"NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB 6B 7B"},D:{"1":"QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"B C K L G lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J D E F A AC uB BC CC DC EC","514":"vB"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB IC JC KC LC lB 2B MC mB"},G:{"1":"WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"E uB NC 3B OC PC QC RC SC TC UC","514":"VC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I pC"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:6,C:"Async functions"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/atob-btoa.js
generated
vendored
2
node_modules/caniuse-lite/data/features/atob-btoa.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"A B","2":"J D E F 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB 4B 5B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"1":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z KC lB 0B LC mB","2":"F HC IC","16":"JC"},G:{"1":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"1":"gC"},I:{"1":"oB I H hC iC jC kC 1B lC mC"},J:{"1":"D A"},K:{"1":"B C b lB 0B mB","16":"A"},L:{"1":"H"},M:{"1":"a"},N:{"1":"A B"},O:{"1":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"Base64 encoding and decoding"};
|
module.exports={A:{A:{"1":"A B","2":"J D E F 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 6B 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"1":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a LC lB 2B MC mB","2":"F IC JC","16":"KC"},G:{"1":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"1":"hC"},I:{"1":"oB I H iC jC kC lC 3B mC nC"},J:{"1":"D A"},K:{"1":"B C c lB 2B mB","16":"A"},L:{"1":"H"},M:{"1":"b"},N:{"1":"A B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"Base64 encoding and decoding"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/audio-api.js
generated
vendored
2
node_modules/caniuse-lite/data/features/audio-api.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB I p J D E F A B C K L G M N O q r s t u v 4B 5B"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"I p J D E F A B C K","33":"0 1 2 3 4 L G M N O q r s t u v w x y z"},E:{"1":"G EC FC vB wB xB yB nB zB GC","2":"I p 8B tB 9B","33":"J D E F A B C K L AC BC CC uB lB mB DC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"F B C HC IC JC KC lB 0B LC mB","33":"G M N O q r s"},G:{"1":"eC fC vB wB xB yB nB zB","2":"tB MC 1B NC","33":"E OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:2,C:"Web Audio API"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB I p J D E F A B C K L G M N O q r s t u v 6B 7B"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"I p J D E F A B C K","33":"0 1 2 3 4 L G M N O q r s t u v w x y z"},E:{"1":"G FC GC xB yB zB 0B nB 1B HC","2":"I p AC uB BC","33":"J D E F A B C K L CC DC EC vB lB mB wB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"F B C IC JC KC LC lB 2B MC mB","33":"G M N O q r s"},G:{"1":"fC gC xB yB zB 0B nB 1B","2":"uB NC 3B OC","33":"E PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:2,C:"Web Audio API"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/audio.js
generated
vendored
2
node_modules/caniuse-lite/data/features/audio.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"F A B","2":"J D E 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB","132":"I p J D E F A B C K L G M N O q 4B 5B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"1":"I p J D E F A B C K L G 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"8B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z JC KC lB 0B LC mB","2":"F","4":"HC IC"},G:{"1":"E MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"tB"},H:{"2":"gC"},I:{"1":"oB I H jC kC 1B lC mC","2":"hC iC"},J:{"1":"D A"},K:{"1":"B C b lB 0B mB","2":"A"},L:{"1":"H"},M:{"1":"a"},N:{"1":"A B"},O:{"1":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"Audio element"};
|
module.exports={A:{A:{"1":"F A B","2":"J D E 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB","132":"I p J D E F A B C K L G M N O q 6B 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"1":"I p J D E F A B C K L G BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"AC uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a KC LC lB 2B MC mB","2":"F","4":"IC JC"},G:{"1":"E NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"uB"},H:{"2":"hC"},I:{"1":"oB I H kC lC 3B mC nC","2":"iC jC"},J:{"1":"D A"},K:{"1":"B C c lB 2B mB","2":"A"},L:{"1":"H"},M:{"1":"b"},N:{"1":"A B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"1":"2C"}},B:1,C:"Audio element"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/audiotracks.js
generated
vendored
2
node_modules/caniuse-lite/data/features/audiotracks.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"A B","2":"J D E F 2B"},B:{"1":"C K L G M N O","322":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"2":"0 1 2 3 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z 4B 5B","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB","322":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B"},E:{"1":"D E F A B C K L G AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I p J 8B tB 9B"},F:{"2":"0 1 2 F B C G M N O q r s t u v w x y z HC IC JC KC lB 0B LC mB","322":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z"},G:{"1":"E PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB","2":"tB MC 1B NC OC"},H:{"2":"gC"},I:{"2":"oB I H hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"2":"A B C b lB 0B mB"},L:{"322":"H"},M:{"2":"a"},N:{"1":"A B"},O:{"2":"nC"},P:{"2":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"194":"2C"}},B:1,C:"Audio Tracks"};
|
module.exports={A:{A:{"1":"A B","2":"J D E F 4B"},B:{"1":"C K L G M N O","322":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"2":"0 1 2 3 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z 6B 7B","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB","322":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B"},E:{"1":"D E F A B C K L G CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I p J AC uB BC"},F:{"2":"0 1 2 F B C G M N O q r s t u v w x y z IC JC KC LC lB 2B MC mB","322":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a"},G:{"1":"E QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B","2":"uB NC 3B OC PC"},H:{"2":"hC"},I:{"2":"oB I H iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"2":"A B C c lB 2B mB"},L:{"322":"H"},M:{"2":"b"},N:{"1":"A B"},O:{"322":"oC"},P:{"2":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"322":"wB"},R:{"322":"1C"},S:{"194":"2C"}},B:1,C:"Audio Tracks"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/autofocus.js
generated
vendored
2
node_modules/caniuse-lite/data/features/autofocus.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"1":"A B","2":"J D E F 2B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"3B oB 4B 5B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"I"},E:{"1":"p J D E F A B C K L G 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC","2":"I 8B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z HC IC JC KC lB 0B LC mB","2":"F"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"1":"oB I H kC 1B lC mC","2":"hC iC jC"},J:{"1":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"1":"A B"},O:{"2":"nC"},P:{"1":"I oC pC qC rC sC uB tC uC vC wC xC nB yC zC"},Q:{"1":"0C"},R:{"1":"1C"},S:{"2":"2C"}},B:1,C:"Autofocus attribute"};
|
module.exports={A:{A:{"1":"A B","2":"J D E F 4B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"5B oB 6B 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"I"},E:{"1":"p J D E F A B C K L G BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC","2":"I AC uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a IC JC KC LC lB 2B MC mB","2":"F"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"1":"oB I H lC 3B mC nC","2":"iC jC kC"},J:{"1":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"1":"A B"},O:{"1":"oC"},P:{"1":"I pC qC rC sC tC vB uC vC wC xC yC nB zC 0C"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:1,C:"Autofocus attribute"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/auxclick.js
generated
vendored
2
node_modules/caniuse-lite/data/features/auxclick.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"1":"P Q R S T U V W X Y Z c d e f g h i j k l m n o a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB 4B 5B","129":"OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB"},D:{"1":"QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"1":"nC"},P:{"1":"oC pC qC rC sC uB tC uC vC wC xC nB yC zC","2":"I"},Q:{"1":"0C"},R:{"1":"1C"},S:{"2":"2C"}},B:5,C:"Auxclick"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"1":"P Q R S T U V W X Y Z a d e f g h i j k l m n o b H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB 6B 7B","129":"OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB"},D:{"1":"QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB IC JC KC LC lB 2B MC mB"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"pC qC rC sC tC vB uC vC wC xC yC nB zC 0C","2":"I"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:5,C:"Auxclick"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/av1.js
generated
vendored
2
node_modules/caniuse-lite/data/features/av1.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"2":"C K L G M N","194":"O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z c d e f g h i j k l m n o a H sB","2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB 4B 5B","66":"QB RB SB TB pB UB qB VB WB b","260":"XB","516":"YB"},D:{"1":"cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB","66":"ZB aB bB"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB nB zB GC"},F:{"1":"SB TB UB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB nB zB"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1090":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"1":"uC vC wC xC nB yC zC","2":"I oC pC qC rC sC uB tC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"AV1 video format"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"2":"C K L G M N","194":"O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a d e f g h i j k l m n o b H sB tB","2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB 6B 7B","66":"QB RB SB TB pB UB qB VB WB c","260":"XB","516":"YB"},D:{"1":"cB dB eB fB gB hB iB jB kB P Q R S T U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB","66":"ZB aB bB"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB 1B HC"},F:{"1":"SB TB UB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC KC LC lB 2B MC mB"},G:{"2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B nB 1B"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1090":"b"},N:{"2":"A B"},O:{"1":"oC"},P:{"1":"vC wC xC yC nB zC 0C","2":"I pC qC rC sC tC vB uC"},Q:{"1":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:6,C:"AV1 video format"};
|
||||||
|
|
2
node_modules/caniuse-lite/data/features/avif.js
generated
vendored
2
node_modules/caniuse-lite/data/features/avif.js
generated
vendored
|
@ -1 +1 @@
|
||||||
module.exports={A:{A:{"2":"J D E F A B 2B"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z c d e f g h i j k l m n o a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 3B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB 4B 5B","194":"jB kB P Q R rB S T U V W X Y Z c d","257":"e f g h i j k l m n o a H sB"},D:{"1":"U V W X Y Z c d e f g h i j k l m n o a H sB 6B 7B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB b XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T"},E:{"2":"I p J D E F A B C K L G 8B tB 9B AC BC CC uB lB mB DC EC FC vB wB xB yB","516":"nB zB GC"},F:{"1":"dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB b XB YB ZB aB bB cB HC IC JC KC lB 0B LC mB"},G:{"2":"E tB MC 1B NC OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC vB wB xB yB","1281":"nB zB"},H:{"2":"gC"},I:{"1":"H","2":"oB I hC iC jC kC 1B lC mC"},J:{"2":"D A"},K:{"1":"b","2":"A B C lB 0B mB"},L:{"1":"H"},M:{"1":"a"},N:{"2":"A B"},O:{"2":"nC"},P:{"1":"wC xC nB yC zC","2":"I oC pC qC rC sC uB tC uC vC"},Q:{"2":"0C"},R:{"2":"1C"},S:{"2":"2C"}},B:6,C:"AVIF image format"};
|
module.exports={A:{A:{"2":"J D E F A B 4B"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a d e f g h i j k l m n o b H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 5B oB I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB 6B 7B","194":"jB kB P Q R rB S T U V W X Y Z a d","257":"e f g h i j k l m n o b H sB tB"},D:{"1":"U V W X Y Z a d e f g h i j k l m n o b H sB tB 8B 9B","2":"0 1 2 3 4 5 6 7 8 9 I p J D E F A B C K L G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB pB UB qB VB WB c XB YB ZB aB bB cB dB eB fB gB hB iB jB kB P Q R S T"},E:{"2":"I p J D E F A B C K L G AC uB BC CC DC EC vB lB mB wB FC GC xB yB zB 0B nB","516":"1B HC"},F:{"1":"dB eB fB gB hB iB jB kB P Q R rB S T U V W X Y Z a","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB c XB YB ZB aB bB cB IC JC KC LC lB 2B MC mB"},G:{"1":"1B","2":"E uB NC 3B OC PC QC RC SC TC UC VC WC XC YC ZC aC bC cC dC eC fC gC xB yB zB 0B","257":"nB"},H:{"2":"hC"},I:{"1":"H","2":"oB I iC jC kC lC 3B mC nC"},J:{"2":"D A"},K:{"1":"c","2":"A B C lB 2B mB"},L:{"1":"H"},M:{"1":"b"},N:{"2":"A B"},O:{"2":"oC"},P:{"1":"xC yC nB zC 0C","2":"I pC qC rC sC tC vB uC vC wC"},Q:{"2":"wB"},R:{"1":"1C"},S:{"2":"2C"}},B:6,C:"AVIF image format"};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue