@slicemachine/manager 0.24.15-beta.7 → 0.24.15-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -1
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -1
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -1
- package/dist/_node_modules/cross-spawn/index.cjs +1 -1
- package/dist/_node_modules/cross-spawn/index.js +1 -1
- package/dist/_node_modules/cross-spawn/lib/enoent.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/enoent.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/parse.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/parse.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/escape.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/escape.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -1
- package/dist/_node_modules/execa/_node_modules/onetime/index.cjs.map +1 -1
- package/dist/_node_modules/execa/_node_modules/onetime/index.js.map +1 -1
- package/dist/_node_modules/execa/index.cjs.map +1 -1
- package/dist/_node_modules/execa/index.js.map +1 -1
- package/dist/_node_modules/execa/lib/command.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/command.js.map +1 -1
- package/dist/_node_modules/execa/lib/error.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/error.js.map +1 -1
- package/dist/_node_modules/execa/lib/kill.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/kill.js.map +1 -1
- package/dist/_node_modules/execa/lib/promise.cjs +2 -2
- package/dist/_node_modules/execa/lib/promise.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/promise.js +2 -2
- package/dist/_node_modules/execa/lib/promise.js.map +1 -1
- package/dist/_node_modules/execa/lib/stdio.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/stdio.js.map +1 -1
- package/dist/_node_modules/execa/lib/stream.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/stream.js.map +1 -1
- package/dist/_node_modules/execa/lib/verbose.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/verbose.js.map +1 -1
- package/dist/_node_modules/fetch-blob/file.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/file.js.map +1 -1
- package/dist/_node_modules/fetch-blob/index.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/index.js.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.js.map +1 -1
- package/dist/_node_modules/file-type/core.cjs.map +1 -1
- package/dist/_node_modules/file-type/core.js.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -1
- package/dist/_node_modules/get-port/index.cjs.map +1 -1
- package/dist/_node_modules/get-port/index.js.map +1 -1
- package/dist/_node_modules/get-stream/index.cjs.map +1 -1
- package/dist/_node_modules/get-stream/index.js.map +1 -1
- package/dist/_node_modules/human-signals/build/src/realtime.cjs.map +1 -1
- package/dist/_node_modules/human-signals/build/src/realtime.js.map +1 -1
- package/dist/_node_modules/isexe/index.cjs.map +1 -1
- package/dist/_node_modules/isexe/index.js.map +1 -1
- package/dist/_node_modules/mimic-fn/index.cjs.map +1 -1
- package/dist/_node_modules/mimic-fn/index.js.map +1 -1
- package/dist/_node_modules/node-domexception/index.cjs.map +1 -1
- package/dist/_node_modules/node-domexception/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -1
- package/dist/_node_modules/p-limit/index.cjs.map +1 -1
- package/dist/_node_modules/p-limit/index.js.map +1 -1
- package/dist/_node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
- package/dist/_node_modules/r19/dist/handleRPCRequest.js.map +1 -1
- package/dist/_node_modules/shebang-command/index.cjs.map +1 -1
- package/dist/_node_modules/shebang-command/index.js.map +1 -1
- package/dist/_node_modules/signal-exit/index.cjs.map +1 -1
- package/dist/_node_modules/signal-exit/index.js.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -1
- package/dist/_node_modules/which/which.cjs.map +1 -1
- package/dist/_node_modules/which/which.js.map +1 -1
- package/dist/_node_modules/zod/lib/index.cjs.map +1 -1
- package/dist/_node_modules/zod/lib/index.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs +1 -4
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
- package/dist/_virtual/_commonjsHelpers.js +1 -4
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/index2.cjs +3 -4
- package/dist/_virtual/index2.cjs.map +1 -1
- package/dist/_virtual/index2.js +2 -4
- package/dist/_virtual/index2.js.map +1 -1
- package/dist/_virtual/index3.cjs +4 -3
- package/dist/_virtual/index3.cjs.map +1 -1
- package/dist/_virtual/index3.js +4 -2
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/auth/PrismicAuthManager.cjs.map +1 -1
- package/dist/auth/PrismicAuthManager.js.map +1 -1
- package/dist/auth/createPrismicAuthManagerMiddleware.cjs.map +1 -1
- package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -1
- package/dist/constants/API_ENDPOINTS.cjs.map +1 -1
- package/dist/constants/API_ENDPOINTS.js.map +1 -1
- package/dist/constants/API_TOKENS.cjs.map +1 -1
- package/dist/constants/API_TOKENS.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/getEnvironmentInfo.cjs.map +1 -1
- package/dist/getEnvironmentInfo.js.map +1 -1
- package/dist/lib/DecodeError.cjs.map +1 -1
- package/dist/lib/DecodeError.js.map +1 -1
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs.map +1 -1
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.js.map +1 -1
- package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs.map +1 -1
- package/dist/lib/fetchGitHubReleaseBodyForRelease.js.map +1 -1
- package/dist/lib/fetchNPMPackageVersions.cjs.map +1 -1
- package/dist/lib/fetchNPMPackageVersions.js.map +1 -1
- package/dist/lib/installDependencies.cjs.map +1 -1
- package/dist/lib/installDependencies.js.map +1 -1
- package/dist/lib/locateFileUpward.cjs.map +1 -1
- package/dist/lib/locateFileUpward.js.map +1 -1
- package/dist/lib/prismicrc.cjs.map +1 -1
- package/dist/lib/prismicrc.js.map +1 -1
- package/dist/managers/SliceMachineManager.cjs.map +1 -1
- package/dist/managers/SliceMachineManager.js.map +1 -1
- package/dist/managers/customTypes/CustomTypesManager.cjs.map +1 -1
- package/dist/managers/customTypes/CustomTypesManager.js.map +1 -1
- package/dist/managers/git/GitManager.cjs.map +1 -1
- package/dist/managers/git/GitManager.js.map +1 -1
- package/dist/managers/git/buildGitRepoSpecifier.cjs.map +1 -1
- package/dist/managers/git/buildGitRepoSpecifier.js.map +1 -1
- package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -1
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -1
- package/dist/managers/project/ProjectManager.cjs.map +1 -1
- package/dist/managers/project/ProjectManager.js.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs.map +1 -1
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js.map +1 -1
- package/dist/managers/slices/SlicesManager.cjs.map +1 -1
- package/dist/managers/slices/SlicesManager.js.map +1 -1
- package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -1
- package/dist/managers/telemetry/TelemetryManager.js.map +1 -1
- package/dist/managers/versions/VersionsManager.cjs.map +1 -1
- package/dist/managers/versions/VersionsManager.js.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"referrer.js","sources":["../../../../../../../node_modules/node-fetch/src/utils/referrer.js"],"sourcesContent":["import {isIP} from 'node:net';\n\n/**\n * @external URL\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/URL|URL}\n */\n\n/**\n * @module utils/referrer\n * @private\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#strip-url|Referrer Policy §8.4. Strip url for use as a referrer}\n * @param {string} URL\n * @param {boolean} [originOnly=false]\n */\nexport function stripURLForUseAsAReferrer(url, originOnly = false) {\n\t// 1. If url is null, return no referrer.\n\tif (url == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\treturn 'no-referrer';\n\t}\n\n\turl = new URL(url);\n\n\t// 2. If url's scheme is a local scheme, then return no referrer.\n\tif (/^(about|blob|data):$/.test(url.protocol)) {\n\t\treturn 'no-referrer';\n\t}\n\n\t// 3. Set url's username to the empty string.\n\turl.username = '';\n\n\t// 4. Set url's password to null.\n\t// Note: `null` appears to be a mistake as this actually results in the password being `\"null\"`.\n\turl.password = '';\n\n\t// 5. Set url's fragment to null.\n\t// Note: `null` appears to be a mistake as this actually results in the fragment being `\"#null\"`.\n\turl.hash = '';\n\n\t// 6. If the origin-only flag is true, then:\n\tif (originOnly) {\n\t\t// 6.1. Set url's path to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the path being `\"/null\"`.\n\t\turl.pathname = '';\n\n\t\t// 6.2. Set url's query to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the query being `\"?null\"`.\n\t\turl.search = '';\n\t}\n\n\t// 7. Return url.\n\treturn url;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy|enum ReferrerPolicy}\n */\nexport const ReferrerPolicy = new Set([\n\t'',\n\t'no-referrer',\n\t'no-referrer-when-downgrade',\n\t'same-origin',\n\t'origin',\n\t'strict-origin',\n\t'origin-when-cross-origin',\n\t'strict-origin-when-cross-origin',\n\t'unsafe-url'\n]);\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy|default referrer policy}\n */\nexport const DEFAULT_REFERRER_POLICY = 'strict-origin-when-cross-origin';\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#referrer-policies|Referrer Policy §3. Referrer Policies}\n * @param {string} referrerPolicy\n * @returns {string} referrerPolicy\n */\nexport function validateReferrerPolicy(referrerPolicy) {\n\tif (!ReferrerPolicy.has(referrerPolicy)) {\n\t\tthrow new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);\n\t}\n\n\treturn referrerPolicy;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy|Referrer Policy §3.2. Is origin potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isOriginPotentiallyTrustworthy(url) {\n\t// 1. If origin is an opaque origin, return \"Not Trustworthy\".\n\t// Not applicable\n\n\t// 2. Assert: origin is a tuple origin.\n\t// Not for implementations\n\n\t// 3. If origin's scheme is either \"https\" or \"wss\", return \"Potentially Trustworthy\".\n\tif (/^(http|ws)s:$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 4. If origin's host component matches one of the CIDR notations 127.0.0.0/8 or ::1/128 [RFC4632], return \"Potentially Trustworthy\".\n\tconst hostIp = url.host.replace(/(^\\[)|(]$)/g, '');\n\tconst hostIPVersion = isIP(hostIp);\n\n\tif (hostIPVersion === 4 && /^127\\./.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\tif (hostIPVersion === 6 && /^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\t// 5. If origin's host component is \"localhost\" or falls within \".localhost\", and the user agent conforms to the name resolution rules in [let-localhost-be-localhost], return \"Potentially Trustworthy\".\n\t// We are returning FALSE here because we cannot ensure conformance to\n\t// let-localhost-be-loalhost (https://tools.ietf.org/html/draft-west-let-localhost-be-localhost)\n\tif (url.host === 'localhost' || url.host.endsWith('.localhost')) {\n\t\treturn false;\n\t}\n\n\t// 6. If origin's scheme component is file, return \"Potentially Trustworthy\".\n\tif (url.protocol === 'file:') {\n\t\treturn true;\n\t}\n\n\t// 7. If origin's scheme component is one which the user agent considers to be authenticated, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 8. If origin has been configured as a trustworthy origin, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 9. Return \"Not Trustworthy\".\n\treturn false;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy|Referrer Policy §3.3. Is url potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isUrlPotentiallyTrustworthy(url) {\n\t// 1. If url is \"about:blank\" or \"about:srcdoc\", return \"Potentially Trustworthy\".\n\tif (/^about:(blank|srcdoc)$/.test(url)) {\n\t\treturn true;\n\t}\n\n\t// 2. If url's scheme is \"data\", return \"Potentially Trustworthy\".\n\tif (url.protocol === 'data:') {\n\t\treturn true;\n\t}\n\n\t// Note: The origin of blob: and filesystem: URLs is the origin of the context in which they were\n\t// created. Therefore, blobs created in a trustworthy origin will themselves be potentially\n\t// trustworthy.\n\tif (/^(blob|filesystem):$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 3. Return the result of executing §3.2 Is origin potentially trustworthy? on url's origin.\n\treturn isOriginPotentiallyTrustworthy(url);\n}\n\n/**\n * Modifies the referrerURL to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerURLCallback\n * @param {external:URL} referrerURL\n * @returns {external:URL} modified referrerURL\n */\n\n/**\n * Modifies the referrerOrigin to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerOriginCallback\n * @param {external:URL} referrerOrigin\n * @returns {external:URL} modified referrerOrigin\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}\n * @param {Request} request\n * @param {object} o\n * @param {module:utils/referrer~referrerURLCallback} o.referrerURLCallback\n * @param {module:utils/referrer~referrerOriginCallback} o.referrerOriginCallback\n * @returns {external:URL} Request's referrer\n */\nexport function determineRequestsReferrer(request, {referrerURLCallback, referrerOriginCallback} = {}) {\n\t// There are 2 notes in the specification about invalid pre-conditions. We return null, here, for\n\t// these cases:\n\t// > Note: If request's referrer is \"no-referrer\", Fetch will not call into this algorithm.\n\t// > Note: If request's referrer policy is the empty string, Fetch will not call into this\n\t// > algorithm.\n\tif (request.referrer === 'no-referrer' || request.referrerPolicy === '') {\n\t\treturn null;\n\t}\n\n\t// 1. Let policy be request's associated referrer policy.\n\tconst policy = request.referrerPolicy;\n\n\t// 2. Let environment be request's client.\n\t// not applicable to node.js\n\n\t// 3. Switch on request's referrer:\n\tif (request.referrer === 'about:client') {\n\t\treturn 'no-referrer';\n\t}\n\n\t// \"a URL\": Let referrerSource be request's referrer.\n\tconst referrerSource = request.referrer;\n\n\t// 4. Let request's referrerURL be the result of stripping referrerSource for use as a referrer.\n\tlet referrerURL = stripURLForUseAsAReferrer(referrerSource);\n\n\t// 5. Let referrerOrigin be the result of stripping referrerSource for use as a referrer, with the\n\t// origin-only flag set to true.\n\tlet referrerOrigin = stripURLForUseAsAReferrer(referrerSource, true);\n\n\t// 6. If the result of serializing referrerURL is a string whose length is greater than 4096, set\n\t// referrerURL to referrerOrigin.\n\tif (referrerURL.toString().length > 4096) {\n\t\treferrerURL = referrerOrigin;\n\t}\n\n\t// 7. The user agent MAY alter referrerURL or referrerOrigin at this point to enforce arbitrary\n\t// policy considerations in the interests of minimizing data leakage. For example, the user\n\t// agent could strip the URL down to an origin, modify its host, replace it with an empty\n\t// string, etc.\n\tif (referrerURLCallback) {\n\t\treferrerURL = referrerURLCallback(referrerURL);\n\t}\n\n\tif (referrerOriginCallback) {\n\t\treferrerOrigin = referrerOriginCallback(referrerOrigin);\n\t}\n\n\t// 8.Execute the statements corresponding to the value of policy:\n\tconst currentURL = new URL(request.url);\n\n\tswitch (policy) {\n\t\tcase 'no-referrer':\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin':\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'unsafe-url':\n\t\t\treturn referrerURL;\n\n\t\tcase 'strict-origin':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerOrigin.\n\t\t\treturn referrerOrigin.toString();\n\n\t\tcase 'strict-origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 3. Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'same-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. Return no referrer.\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'no-referrer-when-downgrade':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerURL.\n\t\t\treturn referrerURL;\n\n\t\tdefault:\n\t\t\tthrow new TypeError(`Invalid referrerPolicy: ${policy}`);\n\t}\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header|Referrer Policy §8.1. Parse a referrer policy from a Referrer-Policy header}\n * @param {Headers} headers Response headers\n * @returns {string} policy\n */\nexport function parseReferrerPolicyFromHeader(headers) {\n\t// 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy`\n\t// and response’s header list.\n\tconst policyTokens = (headers.get('referrer-policy') || '').split(/[,\\s]+/);\n\n\t// 2. Let policy be the empty string.\n\tlet policy = '';\n\n\t// 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty\n\t// string, then set policy to token.\n\t// Note: This algorithm loops over multiple policy values to allow deployment of new policy\n\t// values with fallbacks for older user agents, as described in § 11.1 Unknown Policy Values.\n\tfor (const token of policyTokens) {\n\t\tif (token && ReferrerPolicy.has(token)) {\n\t\t\tpolicy = token;\n\t\t}\n\t}\n\n\t// 4. Return policy.\n\treturn policy;\n}\n"],"names":[],"mappings":";AAiBO,SAAS,0BAA0B,KAAK,aAAa,OAAO;AAElE,MAAI,OAAO,MAAM;AAChB,WAAO;AAAA,EACP;AAED,QAAM,IAAI,IAAI,GAAG;AAGjB,MAAI,uBAAuB,KAAK,IAAI,QAAQ,GAAG;AAC9C,WAAO;AAAA,EACP;AAGD,MAAI,WAAW;AAIf,MAAI,WAAW;AAIf,MAAI,OAAO;AAGX,MAAI,YAAY;AAGf,QAAI,WAAW;AAIf,QAAI,SAAS;AAAA,EACb;AAGD,SAAO;AACR;AAKY,MAAC,iBAAiB,oBAAI,IAAI;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAKW,MAAC,0BAA0B;AAOhC,SAAS,uBAAuB,gBAAgB;AACtD,MAAI,CAAC,eAAe,IAAI,cAAc,GAAG;AACxC,UAAM,IAAI,UAAU,2BAA2B,gBAAgB;AAAA,EAC/D;AAED,SAAO;AACR;AAOO,SAAS,+BAA+B,KAAK;AAQnD,MAAI,gBAAgB,KAAK,IAAI,QAAQ,GAAG;AACvC,WAAO;AAAA,EACP;AAGD,QAAM,SAAS,IAAI,KAAK,QAAQ,eAAe,EAAE;AACjD,QAAM,gBAAgB,KAAK,MAAM;AAEjC,MAAI,kBAAkB,KAAK,SAAS,KAAK,MAAM,GAAG;AACjD,WAAO;AAAA,EACP;AAED,MAAI,kBAAkB,KAAK,mCAAmC,KAAK,MAAM,GAAG;AAC3E,WAAO;AAAA,EACP;AAKD,MAAI,IAAI,SAAS,eAAe,IAAI,KAAK,SAAS,YAAY,GAAG;AAChE,WAAO;AAAA,EACP;AAGD,MAAI,IAAI,aAAa,SAAS;AAC7B,WAAO;AAAA,EACP;AASD,SAAO;AACR;AAOO,SAAS,4BAA4B,KAAK;AAEhD,MAAI,yBAAyB,KAAK,GAAG,GAAG;AACvC,WAAO;AAAA,EACP;AAGD,MAAI,IAAI,aAAa,SAAS;AAC7B,WAAO;AAAA,EACP;AAKD,MAAI,uBAAuB,KAAK,IAAI,QAAQ,GAAG;AAC9C,WAAO;AAAA,EACP;AAGD,SAAO,+BAA+B,GAAG;AAC1C;AA0BO,SAAS,0BAA0B,SAAS,EAAC,qBAAqB,uBAAsB,IAAI,CAAA,GAAI;AAMtG,MAAI,QAAQ,aAAa,iBAAiB,QAAQ,mBAAmB,IAAI;AACxE,WAAO;AAAA,EACP;AAGD,QAAM,SAAS,QAAQ;AAMvB,MAAI,QAAQ,aAAa,gBAAgB;AACxC,WAAO;AAAA,EACP;AAGD,QAAM,iBAAiB,QAAQ;AAG/B,MAAI,cAAc,0BAA0B,cAAc;AAI1D,MAAI,iBAAiB,0BAA0B,gBAAgB,IAAI;AAInE,MAAI,YAAY,WAAW,SAAS,MAAM;AACzC,kBAAc;AAAA,EACd;AAMD,MAAI,qBAAqB;AACxB,kBAAc,oBAAoB,WAAW;AAAA,EAC7C;AAED,MAAI,wBAAwB;AAC3B,qBAAiB,uBAAuB,cAAc;AAAA,EACtD;AAGD,QAAM,aAAa,IAAI,IAAI,QAAQ,GAAG;AAEtC,UAAQ,QAAM;AAAA,IACb,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AAGJ,UAAI,4BAA4B,WAAW,KAAK,CAAC,4BAA4B,UAAU,GAAG;AACzF,eAAO;AAAA,MACP;AAGD,aAAO,eAAe;IAEvB,KAAK;AAGJ,UAAI,YAAY,WAAW,WAAW,QAAQ;AAC7C,eAAO;AAAA,MACP;AAID,UAAI,4BAA4B,WAAW,KAAK,CAAC,4BAA4B,UAAU,GAAG;AACzF,eAAO;AAAA,MACP;AAGD,aAAO;AAAA,IAER,KAAK;AAGJ,UAAI,YAAY,WAAW,WAAW,QAAQ;AAC7C,eAAO;AAAA,MACP;AAGD,aAAO;AAAA,IAER,KAAK;AAGJ,UAAI,YAAY,WAAW,WAAW,QAAQ;AAC7C,eAAO;AAAA,MACP;AAGD,aAAO;AAAA,IAER,KAAK;AAGJ,UAAI,4BAA4B,WAAW,KAAK,CAAC,4BAA4B,UAAU,GAAG;AACzF,eAAO;AAAA,MACP;AAGD,aAAO;AAAA,IAER;AACC,YAAM,IAAI,UAAU,2BAA2B,QAAQ;AAAA,EACxD;AACF;AAOO,SAAS,8BAA8B,SAAS;AAGtD,QAAM,gBAAgB,QAAQ,IAAI,iBAAiB,KAAK,IAAI,MAAM,QAAQ;AAG1E,MAAI,SAAS;AAMb,aAAW,SAAS,cAAc;AACjC,QAAI,SAAS,eAAe,IAAI,KAAK,GAAG;AACvC,eAAS;AAAA,IACT;AAAA,EACD;AAGD,SAAO;AACR;","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"referrer.js","sources":["../../../../../../../node_modules/node-fetch/src/utils/referrer.js"],"sourcesContent":["import {isIP} from 'node:net';\n\n/**\n * @external URL\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/URL|URL}\n */\n\n/**\n * @module utils/referrer\n * @private\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#strip-url|Referrer Policy §8.4. Strip url for use as a referrer}\n * @param {string} URL\n * @param {boolean} [originOnly=false]\n */\nexport function stripURLForUseAsAReferrer(url, originOnly = false) {\n\t// 1. If url is null, return no referrer.\n\tif (url == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\treturn 'no-referrer';\n\t}\n\n\turl = new URL(url);\n\n\t// 2. If url's scheme is a local scheme, then return no referrer.\n\tif (/^(about|blob|data):$/.test(url.protocol)) {\n\t\treturn 'no-referrer';\n\t}\n\n\t// 3. Set url's username to the empty string.\n\turl.username = '';\n\n\t// 4. Set url's password to null.\n\t// Note: `null` appears to be a mistake as this actually results in the password being `\"null\"`.\n\turl.password = '';\n\n\t// 5. Set url's fragment to null.\n\t// Note: `null` appears to be a mistake as this actually results in the fragment being `\"#null\"`.\n\turl.hash = '';\n\n\t// 6. If the origin-only flag is true, then:\n\tif (originOnly) {\n\t\t// 6.1. Set url's path to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the path being `\"/null\"`.\n\t\turl.pathname = '';\n\n\t\t// 6.2. Set url's query to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the query being `\"?null\"`.\n\t\turl.search = '';\n\t}\n\n\t// 7. Return url.\n\treturn url;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy|enum ReferrerPolicy}\n */\nexport const ReferrerPolicy = new Set([\n\t'',\n\t'no-referrer',\n\t'no-referrer-when-downgrade',\n\t'same-origin',\n\t'origin',\n\t'strict-origin',\n\t'origin-when-cross-origin',\n\t'strict-origin-when-cross-origin',\n\t'unsafe-url'\n]);\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy|default referrer policy}\n */\nexport const DEFAULT_REFERRER_POLICY = 'strict-origin-when-cross-origin';\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#referrer-policies|Referrer Policy §3. Referrer Policies}\n * @param {string} referrerPolicy\n * @returns {string} referrerPolicy\n */\nexport function validateReferrerPolicy(referrerPolicy) {\n\tif (!ReferrerPolicy.has(referrerPolicy)) {\n\t\tthrow new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);\n\t}\n\n\treturn referrerPolicy;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy|Referrer Policy §3.2. Is origin potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isOriginPotentiallyTrustworthy(url) {\n\t// 1. If origin is an opaque origin, return \"Not Trustworthy\".\n\t// Not applicable\n\n\t// 2. Assert: origin is a tuple origin.\n\t// Not for implementations\n\n\t// 3. If origin's scheme is either \"https\" or \"wss\", return \"Potentially Trustworthy\".\n\tif (/^(http|ws)s:$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 4. If origin's host component matches one of the CIDR notations 127.0.0.0/8 or ::1/128 [RFC4632], return \"Potentially Trustworthy\".\n\tconst hostIp = url.host.replace(/(^\\[)|(]$)/g, '');\n\tconst hostIPVersion = isIP(hostIp);\n\n\tif (hostIPVersion === 4 && /^127\\./.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\tif (hostIPVersion === 6 && /^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\t// 5. If origin's host component is \"localhost\" or falls within \".localhost\", and the user agent conforms to the name resolution rules in [let-localhost-be-localhost], return \"Potentially Trustworthy\".\n\t// We are returning FALSE here because we cannot ensure conformance to\n\t// let-localhost-be-loalhost (https://tools.ietf.org/html/draft-west-let-localhost-be-localhost)\n\tif (url.host === 'localhost' || url.host.endsWith('.localhost')) {\n\t\treturn false;\n\t}\n\n\t// 6. If origin's scheme component is file, return \"Potentially Trustworthy\".\n\tif (url.protocol === 'file:') {\n\t\treturn true;\n\t}\n\n\t// 7. If origin's scheme component is one which the user agent considers to be authenticated, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 8. If origin has been configured as a trustworthy origin, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 9. Return \"Not Trustworthy\".\n\treturn false;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy|Referrer Policy §3.3. Is url potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isUrlPotentiallyTrustworthy(url) {\n\t// 1. If url is \"about:blank\" or \"about:srcdoc\", return \"Potentially Trustworthy\".\n\tif (/^about:(blank|srcdoc)$/.test(url)) {\n\t\treturn true;\n\t}\n\n\t// 2. If url's scheme is \"data\", return \"Potentially Trustworthy\".\n\tif (url.protocol === 'data:') {\n\t\treturn true;\n\t}\n\n\t// Note: The origin of blob: and filesystem: URLs is the origin of the context in which they were\n\t// created. Therefore, blobs created in a trustworthy origin will themselves be potentially\n\t// trustworthy.\n\tif (/^(blob|filesystem):$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 3. Return the result of executing §3.2 Is origin potentially trustworthy? on url's origin.\n\treturn isOriginPotentiallyTrustworthy(url);\n}\n\n/**\n * Modifies the referrerURL to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerURLCallback\n * @param {external:URL} referrerURL\n * @returns {external:URL} modified referrerURL\n */\n\n/**\n * Modifies the referrerOrigin to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerOriginCallback\n * @param {external:URL} referrerOrigin\n * @returns {external:URL} modified referrerOrigin\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}\n * @param {Request} request\n * @param {object} o\n * @param {module:utils/referrer~referrerURLCallback} o.referrerURLCallback\n * @param {module:utils/referrer~referrerOriginCallback} o.referrerOriginCallback\n * @returns {external:URL} Request's referrer\n */\nexport function determineRequestsReferrer(request, {referrerURLCallback, referrerOriginCallback} = {}) {\n\t// There are 2 notes in the specification about invalid pre-conditions. We return null, here, for\n\t// these cases:\n\t// > Note: If request's referrer is \"no-referrer\", Fetch will not call into this algorithm.\n\t// > Note: If request's referrer policy is the empty string, Fetch will not call into this\n\t// > algorithm.\n\tif (request.referrer === 'no-referrer' || request.referrerPolicy === '') {\n\t\treturn null;\n\t}\n\n\t// 1. Let policy be request's associated referrer policy.\n\tconst policy = request.referrerPolicy;\n\n\t// 2. Let environment be request's client.\n\t// not applicable to node.js\n\n\t// 3. Switch on request's referrer:\n\tif (request.referrer === 'about:client') {\n\t\treturn 'no-referrer';\n\t}\n\n\t// \"a URL\": Let referrerSource be request's referrer.\n\tconst referrerSource = request.referrer;\n\n\t// 4. Let request's referrerURL be the result of stripping referrerSource for use as a referrer.\n\tlet referrerURL = stripURLForUseAsAReferrer(referrerSource);\n\n\t// 5. Let referrerOrigin be the result of stripping referrerSource for use as a referrer, with the\n\t// origin-only flag set to true.\n\tlet referrerOrigin = stripURLForUseAsAReferrer(referrerSource, true);\n\n\t// 6. If the result of serializing referrerURL is a string whose length is greater than 4096, set\n\t// referrerURL to referrerOrigin.\n\tif (referrerURL.toString().length > 4096) {\n\t\treferrerURL = referrerOrigin;\n\t}\n\n\t// 7. The user agent MAY alter referrerURL or referrerOrigin at this point to enforce arbitrary\n\t// policy considerations in the interests of minimizing data leakage. For example, the user\n\t// agent could strip the URL down to an origin, modify its host, replace it with an empty\n\t// string, etc.\n\tif (referrerURLCallback) {\n\t\treferrerURL = referrerURLCallback(referrerURL);\n\t}\n\n\tif (referrerOriginCallback) {\n\t\treferrerOrigin = referrerOriginCallback(referrerOrigin);\n\t}\n\n\t// 8.Execute the statements corresponding to the value of policy:\n\tconst currentURL = new URL(request.url);\n\n\tswitch (policy) {\n\t\tcase 'no-referrer':\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin':\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'unsafe-url':\n\t\t\treturn referrerURL;\n\n\t\tcase 'strict-origin':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerOrigin.\n\t\t\treturn referrerOrigin.toString();\n\n\t\tcase 'strict-origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 3. Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'same-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. Return no referrer.\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t// return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'no-referrer-when-downgrade':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t// potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerURL.\n\t\t\treturn referrerURL;\n\n\t\tdefault:\n\t\t\tthrow new TypeError(`Invalid referrerPolicy: ${policy}`);\n\t}\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header|Referrer Policy §8.1. Parse a referrer policy from a Referrer-Policy header}\n * @param {Headers} headers Response headers\n * @returns {string} policy\n */\nexport function parseReferrerPolicyFromHeader(headers) {\n\t// 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy`\n\t// and response’s header list.\n\tconst policyTokens = (headers.get('referrer-policy') || '').split(/[,\\s]+/);\n\n\t// 2. Let policy be the empty string.\n\tlet policy = '';\n\n\t// 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty\n\t// string, then set policy to token.\n\t// Note: This algorithm loops over multiple policy values to allow deployment of new policy\n\t// values with fallbacks for older user agents, as described in § 11.1 Unknown Policy Values.\n\tfor (const token of policyTokens) {\n\t\tif (token && ReferrerPolicy.has(token)) {\n\t\t\tpolicy = token;\n\t\t}\n\t}\n\n\t// 4. Return policy.\n\treturn policy;\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/p-limit/index.js"],"sourcesContent":["import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n"],"names":["Queue"],"mappings":";;AAEe,SAAS,OAAO,aAAa;AAC3C,MAAI,GAAG,OAAO,UAAU,WAAW,KAAK,gBAAgB,OAAO,sBAAsB,cAAc,IAAI;AACtG,UAAM,IAAI,UAAU,qDAAqD;AAAA,EACzE;AAED,QAAM,QAAQ,IAAIA;AAClB,MAAI,cAAc;AAElB,QAAM,OAAO,MAAM;AAClB;AAEA,QAAI,MAAM,OAAO,GAAG;AACnB,YAAM,QAAO;IACb;AAAA,EACH;AAEC,QAAM,MAAM,OAAO,IAAI,SAAS,SAAS;AACxC;AAEA,UAAM,UAAU,YAAY,GAAG,GAAG,IAAI,GAAC;AAEvC,YAAQ,MAAM;AAEd,QAAI;AACH,YAAM;AAAA,IACN,
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/p-limit/index.js"],"sourcesContent":["import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n"],"names":["Queue"],"mappings":";;AAEe,SAAS,OAAO,aAAa;AAC3C,MAAI,GAAG,OAAO,UAAU,WAAW,KAAK,gBAAgB,OAAO,sBAAsB,cAAc,IAAI;AACtG,UAAM,IAAI,UAAU,qDAAqD;AAAA,EACzE;AAED,QAAM,QAAQ,IAAIA;AAClB,MAAI,cAAc;AAElB,QAAM,OAAO,MAAM;AAClB;AAEA,QAAI,MAAM,OAAO,GAAG;AACnB,YAAM,QAAO;IACb;AAAA,EACH;AAEC,QAAM,MAAM,OAAO,IAAI,SAAS,SAAS;AACxC;AAEA,UAAM,UAAU,YAAY,GAAG,GAAG,IAAI,GAAC;AAEvC,YAAQ,MAAM;AAEd,QAAI;AACH,YAAM;AAAA,IACN,QAAO;AAAA,IAAE;AAEV;EACF;AAEC,QAAM,UAAU,CAAC,IAAI,SAAS,SAAS;AACtC,UAAM,QAAQ,IAAI,KAAK,QAAW,IAAI,SAAS,IAAI,CAAC;AAEpD,KAAC,YAAY;AAKZ,YAAM,QAAQ;AAEd,UAAI,cAAc,eAAe,MAAM,OAAO,GAAG;AAChD,cAAM,QAAO;MACb;AAAA,IACJ;EACA;AAEC,QAAM,YAAY,CAAC,OAAO,SAAS,IAAI,QAAQ,aAAW;AACzD,YAAQ,IAAI,SAAS,IAAI;AAAA,EAC3B,CAAE;AAED,SAAO,iBAAiB,WAAW;AAAA,IAClC,aAAa;AAAA,MACZ,KAAK,MAAM;AAAA,IACX;AAAA,IACD,cAAc;AAAA,MACb,KAAK,MAAM,MAAM;AAAA,IACjB;AAAA,IACD,YAAY;AAAA,MACX,OAAO,MAAM;AACZ,cAAM,MAAK;AAAA,MACX;AAAA,IACD;AAAA,EACH,CAAE;AAED,SAAO;AACR;;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/p-limit/index.js"],"sourcesContent":["import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n"],"names":[],"mappings":";AAEe,SAAS,OAAO,aAAa;AAC3C,MAAI,GAAG,OAAO,UAAU,WAAW,KAAK,gBAAgB,OAAO,sBAAsB,cAAc,IAAI;AACtG,UAAM,IAAI,UAAU,qDAAqD;AAAA,EACzE;AAED,QAAM,QAAQ,IAAI;AAClB,MAAI,cAAc;AAElB,QAAM,OAAO,MAAM;AAClB;AAEA,QAAI,MAAM,OAAO,GAAG;AACnB,YAAM,QAAO;IACb;AAAA,EACH;AAEC,QAAM,MAAM,OAAO,IAAI,SAAS,SAAS;AACxC;AAEA,UAAM,UAAU,YAAY,GAAG,GAAG,IAAI,GAAC;AAEvC,YAAQ,MAAM;AAEd,QAAI;AACH,YAAM;AAAA,IACN,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/p-limit/index.js"],"sourcesContent":["import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n"],"names":[],"mappings":";AAEe,SAAS,OAAO,aAAa;AAC3C,MAAI,GAAG,OAAO,UAAU,WAAW,KAAK,gBAAgB,OAAO,sBAAsB,cAAc,IAAI;AACtG,UAAM,IAAI,UAAU,qDAAqD;AAAA,EACzE;AAED,QAAM,QAAQ,IAAI;AAClB,MAAI,cAAc;AAElB,QAAM,OAAO,MAAM;AAClB;AAEA,QAAI,MAAM,OAAO,GAAG;AACnB,YAAM,QAAO;IACb;AAAA,EACH;AAEC,QAAM,MAAM,OAAO,IAAI,SAAS,SAAS;AACxC;AAEA,UAAM,UAAU,YAAY,GAAG,GAAG,IAAI,GAAC;AAEvC,YAAQ,MAAM;AAEd,QAAI;AACH,YAAM;AAAA,IACN,QAAO;AAAA,IAAE;AAEV;EACF;AAEC,QAAM,UAAU,CAAC,IAAI,SAAS,SAAS;AACtC,UAAM,QAAQ,IAAI,KAAK,QAAW,IAAI,SAAS,IAAI,CAAC;AAEpD,KAAC,YAAY;AAKZ,YAAM,QAAQ;AAEd,UAAI,cAAc,eAAe,MAAM,OAAO,GAAG;AAChD,cAAM,QAAO;MACb;AAAA,IACJ;EACA;AAEC,QAAM,YAAY,CAAC,OAAO,SAAS,IAAI,QAAQ,aAAW;AACzD,YAAQ,IAAI,SAAS,IAAI;AAAA,EAC3B,CAAE;AAED,SAAO,iBAAiB,WAAW;AAAA,IAClC,aAAa;AAAA,MACZ,KAAK,MAAM;AAAA,IACX;AAAA,IACD,cAAc;AAAA,MACb,KAAK,MAAM,MAAM;AAAA,IACjB;AAAA,IACD,YAAY;AAAA,MACX,OAAO,MAAM;AACZ,cAAM,MAAK;AAAA,MACX;AAAA,IACD;AAAA,EACH,CAAE;AAED,SAAO;AACR;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handleRPCRequest.cjs","sources":["../../../../../../node_modules/r19/dist/handleRPCRequest.js"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport { decode, encode } from \"@msgpack/msgpack\";\nimport { isErrorLike } from \"./lib/isErrorLike.js\";\nimport { isR19ErrorLike } from \"./lib/isR19ErrorLike.js\";\nimport { replaceLeaves } from \"./lib/replaceLeaves.js\";\nimport { R19Error } from \"./R19Error.js\";\nconst findProcedure = (procedures, path) => {\n path = [...path];\n let proceduresPointer = procedures;\n while (path.length > 0) {\n const pathSegment = path.shift();\n if (pathSegment) {\n proceduresPointer = proceduresPointer[pathSegment];\n if (typeof proceduresPointer === \"function\") {\n return proceduresPointer;\n } else if (proceduresPointer === void 0) {\n return;\n }\n }\n }\n};\nconst handleRPCRequest = async (args) => {\n var _a, _b, _c;\n if (!args.body) {\n throw new Error(\"Invalid request body. Only requests from an r19 client are accepted.\");\n }\n const clientArgs = decode(Buffer.from(args.body));\n const procedure = findProcedure(args.procedures, clientArgs.procedurePath);\n const headers = {\n \"Content-Type\": \"application/msgpack\"\n };\n if (!procedure) {\n const error = new R19Error(`Invalid procedure name: ${clientArgs.procedurePath.join(\".\")}`, {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n const body = encode({\n error\n }, { ignoreUndefined: true });\n (_a = args.onError) == null ? void 0 : _a.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n let res;\n try {\n const procedureArgs = await replaceLeaves(clientArgs.procedureArgs, async (value) => {\n if (value instanceof ArrayBuffer) {\n return Buffer.from(value);\n }\n return value;\n });\n res = await procedure(...procedureArgs);\n res = await replaceLeaves(res, async (value) => {\n if (isErrorLike(value)) {\n return {\n name: value.name,\n message: value.message,\n stack: process.env.NODE_ENV === \"development\" ? value.stack : void 0\n };\n }\n if (typeof value === \"function\") {\n throw new R19Error(\"r19 does not support function return values.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n }\n return value;\n });\n } catch (error) {\n if (isErrorLike(error)) {\n const body = encode({\n error: isR19ErrorLike(error) ? error : {\n name: error.name,\n message: error.message,\n stack: process.env.NODE_ENV === \"development\" ? error.stack : void 0\n }\n }, { ignoreUndefined: true });\n (_b = args.onError) == null ? void 0 : _b.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n try {\n const body = encode({\n data: res\n }, { ignoreUndefined: true });\n return {\n body,\n headers\n };\n } catch (error) {\n if (error instanceof Error) {\n const rpcError = new R19Error(\"Unable to serialize server response. Check the server log for details.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs,\n cause: error\n });\n console.error(rpcError);\n const body = encode(rpcError);\n (_c = args.onError) == null ? void 0 : _c.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n};\nexport {\n handleRPCRequest\n};\n//# sourceMappingURL=handleRPCRequest.js.map\n"],"names":["decode","Buffer","R19Error","encode","replaceLeaves","isErrorLike","isR19ErrorLike"],"mappings":";;;;;;;;;AAMA,MAAM,gBAAgB,CAAC,YAAY,SAAS;AAC1C,SAAO,CAAC,GAAG,IAAI;AACf,MAAI,oBAAoB;AACxB,SAAO,KAAK,SAAS,GAAG;AACtB,UAAM,cAAc,KAAK;AACzB,QAAI,aAAa;AACf,0BAAoB,kBAAkB,WAAW;AACjD,UAAI,OAAO,sBAAsB,YAAY;AAC3C,eAAO;AAAA,MACf,WAAiB,sBAAsB,QAAQ;AACvC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AACH;AACK,MAAC,mBAAmB,OAAO,SAAS;AACvC,MAAI,IAAI,IAAI;AACZ,MAAI,CAAC,KAAK,MAAM;AACd,UAAM,IAAI,MAAM,sEAAsE;AAAA,EACvF;AACD,QAAM,aAAaA,OAAAA,OAAOC,YAAM,OAAC,KAAK,KAAK,IAAI,CAAC;AAChD,QAAM,YAAY,cAAc,KAAK,YAAY,WAAW,aAAa;AACzE,QAAM,UAAU;AAAA,IACd,gBAAgB;AAAA,EACpB;AACE,MAAI,CAAC,WAAW;AACd,UAAM,QAAQ,IAAIC,SAAQ,SAAC,2BAA2B,WAAW,cAAc,KAAK,GAAG,
|
1
|
+
{"version":3,"file":"handleRPCRequest.cjs","sources":["../../../../../../node_modules/r19/dist/handleRPCRequest.js"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport { decode, encode } from \"@msgpack/msgpack\";\nimport { isErrorLike } from \"./lib/isErrorLike.js\";\nimport { isR19ErrorLike } from \"./lib/isR19ErrorLike.js\";\nimport { replaceLeaves } from \"./lib/replaceLeaves.js\";\nimport { R19Error } from \"./R19Error.js\";\nconst findProcedure = (procedures, path) => {\n path = [...path];\n let proceduresPointer = procedures;\n while (path.length > 0) {\n const pathSegment = path.shift();\n if (pathSegment) {\n proceduresPointer = proceduresPointer[pathSegment];\n if (typeof proceduresPointer === \"function\") {\n return proceduresPointer;\n } else if (proceduresPointer === void 0) {\n return;\n }\n }\n }\n};\nconst handleRPCRequest = async (args) => {\n var _a, _b, _c;\n if (!args.body) {\n throw new Error(\"Invalid request body. Only requests from an r19 client are accepted.\");\n }\n const clientArgs = decode(Buffer.from(args.body));\n const procedure = findProcedure(args.procedures, clientArgs.procedurePath);\n const headers = {\n \"Content-Type\": \"application/msgpack\"\n };\n if (!procedure) {\n const error = new R19Error(`Invalid procedure name: ${clientArgs.procedurePath.join(\".\")}`, {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n const body = encode({\n error\n }, { ignoreUndefined: true });\n (_a = args.onError) == null ? void 0 : _a.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n let res;\n try {\n const procedureArgs = await replaceLeaves(clientArgs.procedureArgs, async (value) => {\n if (value instanceof ArrayBuffer) {\n return Buffer.from(value);\n }\n return value;\n });\n res = await procedure(...procedureArgs);\n res = await replaceLeaves(res, async (value) => {\n if (isErrorLike(value)) {\n return {\n name: value.name,\n message: value.message,\n stack: process.env.NODE_ENV === \"development\" ? value.stack : void 0\n };\n }\n if (typeof value === \"function\") {\n throw new R19Error(\"r19 does not support function return values.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n }\n return value;\n });\n } catch (error) {\n if (isErrorLike(error)) {\n const body = encode({\n error: isR19ErrorLike(error) ? error : {\n name: error.name,\n message: error.message,\n stack: process.env.NODE_ENV === \"development\" ? error.stack : void 0\n }\n }, { ignoreUndefined: true });\n (_b = args.onError) == null ? void 0 : _b.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n try {\n const body = encode({\n data: res\n }, { ignoreUndefined: true });\n return {\n body,\n headers\n };\n } catch (error) {\n if (error instanceof Error) {\n const rpcError = new R19Error(\"Unable to serialize server response. Check the server log for details.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs,\n cause: error\n });\n console.error(rpcError);\n const body = encode(rpcError);\n (_c = args.onError) == null ? void 0 : _c.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n};\nexport {\n handleRPCRequest\n};\n//# sourceMappingURL=handleRPCRequest.js.map\n"],"names":["decode","Buffer","R19Error","encode","replaceLeaves","isErrorLike","isR19ErrorLike"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handleRPCRequest.js","sources":["../../../../../../node_modules/r19/dist/handleRPCRequest.js"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport { decode, encode } from \"@msgpack/msgpack\";\nimport { isErrorLike } from \"./lib/isErrorLike.js\";\nimport { isR19ErrorLike } from \"./lib/isR19ErrorLike.js\";\nimport { replaceLeaves } from \"./lib/replaceLeaves.js\";\nimport { R19Error } from \"./R19Error.js\";\nconst findProcedure = (procedures, path) => {\n path = [...path];\n let proceduresPointer = procedures;\n while (path.length > 0) {\n const pathSegment = path.shift();\n if (pathSegment) {\n proceduresPointer = proceduresPointer[pathSegment];\n if (typeof proceduresPointer === \"function\") {\n return proceduresPointer;\n } else if (proceduresPointer === void 0) {\n return;\n }\n }\n }\n};\nconst handleRPCRequest = async (args) => {\n var _a, _b, _c;\n if (!args.body) {\n throw new Error(\"Invalid request body. Only requests from an r19 client are accepted.\");\n }\n const clientArgs = decode(Buffer.from(args.body));\n const procedure = findProcedure(args.procedures, clientArgs.procedurePath);\n const headers = {\n \"Content-Type\": \"application/msgpack\"\n };\n if (!procedure) {\n const error = new R19Error(`Invalid procedure name: ${clientArgs.procedurePath.join(\".\")}`, {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n const body = encode({\n error\n }, { ignoreUndefined: true });\n (_a = args.onError) == null ? void 0 : _a.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n let res;\n try {\n const procedureArgs = await replaceLeaves(clientArgs.procedureArgs, async (value) => {\n if (value instanceof ArrayBuffer) {\n return Buffer.from(value);\n }\n return value;\n });\n res = await procedure(...procedureArgs);\n res = await replaceLeaves(res, async (value) => {\n if (isErrorLike(value)) {\n return {\n name: value.name,\n message: value.message,\n stack: process.env.NODE_ENV === \"development\" ? value.stack : void 0\n };\n }\n if (typeof value === \"function\") {\n throw new R19Error(\"r19 does not support function return values.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n }\n return value;\n });\n } catch (error) {\n if (isErrorLike(error)) {\n const body = encode({\n error: isR19ErrorLike(error) ? error : {\n name: error.name,\n message: error.message,\n stack: process.env.NODE_ENV === \"development\" ? error.stack : void 0\n }\n }, { ignoreUndefined: true });\n (_b = args.onError) == null ? void 0 : _b.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n try {\n const body = encode({\n data: res\n }, { ignoreUndefined: true });\n return {\n body,\n headers\n };\n } catch (error) {\n if (error instanceof Error) {\n const rpcError = new R19Error(\"Unable to serialize server response. Check the server log for details.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs,\n cause: error\n });\n console.error(rpcError);\n const body = encode(rpcError);\n (_c = args.onError) == null ? void 0 : _c.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n};\nexport {\n handleRPCRequest\n};\n//# sourceMappingURL=handleRPCRequest.js.map\n"],"names":[],"mappings":";;;;;;;AAMA,MAAM,gBAAgB,CAAC,YAAY,SAAS;AAC1C,SAAO,CAAC,GAAG,IAAI;AACf,MAAI,oBAAoB;AACxB,SAAO,KAAK,SAAS,GAAG;AACtB,UAAM,cAAc,KAAK;AACzB,QAAI,aAAa;AACf,0BAAoB,kBAAkB,WAAW;AACjD,UAAI,OAAO,sBAAsB,YAAY;AAC3C,eAAO;AAAA,MACf,WAAiB,sBAAsB,QAAQ;AACvC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AACH;AACK,MAAC,mBAAmB,OAAO,SAAS;AACvC,MAAI,IAAI,IAAI;AACZ,MAAI,CAAC,KAAK,MAAM;AACd,UAAM,IAAI,MAAM,sEAAsE;AAAA,EACvF;AACD,QAAM,aAAa,OAAO,OAAO,KAAK,KAAK,IAAI,CAAC;AAChD,QAAM,YAAY,cAAc,KAAK,YAAY,WAAW,aAAa;AACzE,QAAM,UAAU;AAAA,IACd,gBAAgB;AAAA,EACpB;AACE,MAAI,CAAC,WAAW;AACd,UAAM,QAAQ,IAAI,SAAS,2BAA2B,WAAW,cAAc,KAAK,GAAG,
|
1
|
+
{"version":3,"file":"handleRPCRequest.js","sources":["../../../../../../node_modules/r19/dist/handleRPCRequest.js"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport { decode, encode } from \"@msgpack/msgpack\";\nimport { isErrorLike } from \"./lib/isErrorLike.js\";\nimport { isR19ErrorLike } from \"./lib/isR19ErrorLike.js\";\nimport { replaceLeaves } from \"./lib/replaceLeaves.js\";\nimport { R19Error } from \"./R19Error.js\";\nconst findProcedure = (procedures, path) => {\n path = [...path];\n let proceduresPointer = procedures;\n while (path.length > 0) {\n const pathSegment = path.shift();\n if (pathSegment) {\n proceduresPointer = proceduresPointer[pathSegment];\n if (typeof proceduresPointer === \"function\") {\n return proceduresPointer;\n } else if (proceduresPointer === void 0) {\n return;\n }\n }\n }\n};\nconst handleRPCRequest = async (args) => {\n var _a, _b, _c;\n if (!args.body) {\n throw new Error(\"Invalid request body. Only requests from an r19 client are accepted.\");\n }\n const clientArgs = decode(Buffer.from(args.body));\n const procedure = findProcedure(args.procedures, clientArgs.procedurePath);\n const headers = {\n \"Content-Type\": \"application/msgpack\"\n };\n if (!procedure) {\n const error = new R19Error(`Invalid procedure name: ${clientArgs.procedurePath.join(\".\")}`, {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n const body = encode({\n error\n }, { ignoreUndefined: true });\n (_a = args.onError) == null ? void 0 : _a.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n let res;\n try {\n const procedureArgs = await replaceLeaves(clientArgs.procedureArgs, async (value) => {\n if (value instanceof ArrayBuffer) {\n return Buffer.from(value);\n }\n return value;\n });\n res = await procedure(...procedureArgs);\n res = await replaceLeaves(res, async (value) => {\n if (isErrorLike(value)) {\n return {\n name: value.name,\n message: value.message,\n stack: process.env.NODE_ENV === \"development\" ? value.stack : void 0\n };\n }\n if (typeof value === \"function\") {\n throw new R19Error(\"r19 does not support function return values.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs\n });\n }\n return value;\n });\n } catch (error) {\n if (isErrorLike(error)) {\n const body = encode({\n error: isR19ErrorLike(error) ? error : {\n name: error.name,\n message: error.message,\n stack: process.env.NODE_ENV === \"development\" ? error.stack : void 0\n }\n }, { ignoreUndefined: true });\n (_b = args.onError) == null ? void 0 : _b.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n try {\n const body = encode({\n data: res\n }, { ignoreUndefined: true });\n return {\n body,\n headers\n };\n } catch (error) {\n if (error instanceof Error) {\n const rpcError = new R19Error(\"Unable to serialize server response. Check the server log for details.\", {\n procedurePath: clientArgs.procedurePath,\n procedureArgs: clientArgs.procedureArgs,\n cause: error\n });\n console.error(rpcError);\n const body = encode(rpcError);\n (_c = args.onError) == null ? void 0 : _c.call(args, { error, ...clientArgs });\n return {\n body,\n headers,\n statusCode: 500\n };\n }\n throw error;\n }\n};\nexport {\n handleRPCRequest\n};\n//# sourceMappingURL=handleRPCRequest.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/shebang-command/index.js"],"sourcesContent":["'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n"],"names":["require$$0"],"mappings":";;;AACA,MAAM,eAAeA,MAAAA;AAErB,IAAA,iBAAiB,CAAC,SAAS,OAAO;AACjC,QAAM,QAAQ,OAAO,MAAM,YAAY;AAEvC,MAAI,CAAC,OAAO;AACX,WAAO;AAAA,EACP;AAED,QAAM,CAAC,MAAM,QAAQ,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAAE,MAAM,GAAG;AAC/D,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,IAAG;AAElC,MAAI,WAAW,OAAO;AACrB,WAAO;AAAA,EACP;AAED,SAAO,WAAW,GAAG,
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/shebang-command/index.js"],"sourcesContent":["'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n"],"names":["require$$0"],"mappings":";;;AACA,MAAM,eAAeA,MAAAA;AAErB,IAAA,iBAAiB,CAAC,SAAS,OAAO;AACjC,QAAM,QAAQ,OAAO,MAAM,YAAY;AAEvC,MAAI,CAAC,OAAO;AACX,WAAO;AAAA,EACP;AAED,QAAM,CAAC,MAAM,QAAQ,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAAE,MAAM,GAAG;AAC/D,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,IAAG;AAElC,MAAI,WAAW,OAAO;AACrB,WAAO;AAAA,EACP;AAED,SAAO,WAAW,GAAG,MAAM,IAAI,QAAQ,KAAK;AAC7C;;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/shebang-command/index.js"],"sourcesContent":["'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n"],"names":["require$$0"],"mappings":";AACA,MAAM,eAAeA;AAErB,IAAA,iBAAiB,CAAC,SAAS,OAAO;AACjC,QAAM,QAAQ,OAAO,MAAM,YAAY;AAEvC,MAAI,CAAC,OAAO;AACX,WAAO;AAAA,EACP;AAED,QAAM,CAAC,MAAM,QAAQ,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAAE,MAAM,GAAG;AAC/D,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,IAAG;AAElC,MAAI,WAAW,OAAO;AACrB,WAAO;AAAA,EACP;AAED,SAAO,WAAW,GAAG,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/shebang-command/index.js"],"sourcesContent":["'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n"],"names":["require$$0"],"mappings":";AACA,MAAM,eAAeA;AAErB,IAAA,iBAAiB,CAAC,SAAS,OAAO;AACjC,QAAM,QAAQ,OAAO,MAAM,YAAY;AAEvC,MAAI,CAAC,OAAO;AACX,WAAO;AAAA,EACP;AAED,QAAM,CAAC,MAAM,QAAQ,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAAE,MAAM,GAAG;AAC/D,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,IAAG;AAElC,MAAI,WAAW,OAAO;AACrB,WAAO;AAAA,EACP;AAED,SAAO,WAAW,GAAG,MAAM,IAAI,QAAQ,KAAK;AAC7C;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/signal-exit/index.js"],"sourcesContent":["// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n return process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n module.exports = function () {\n return function () {}\n }\n} else {\n var assert = require('assert')\n var signals = require('./signals.js')\n var isWin = /^win/i.test(process.platform)\n\n var EE = require('events')\n /* istanbul ignore if */\n if (typeof EE !== 'function') {\n EE = EE.EventEmitter\n }\n\n var emitter\n if (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n } else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n }\n\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n }\n\n module.exports = function (cb, opts) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return function () {}\n }\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n }\n\n var unload = function unload () {\n if (!loaded || !processOk(global.process)) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n }\n module.exports.unload = unload\n\n var emit = function emit (event, code, signal) {\n /* istanbul ignore if */\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n }\n\n // { <signal>: <listener fn>, ... }\n var sigListeners = {}\n signals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n })\n\n module.exports.signals = function () {\n return signals\n }\n\n var loaded = false\n\n var load = function load () {\n if (loaded || !processOk(global.process)) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n }\n module.exports.load = load\n\n var originalProcessReallyExit = process.reallyExit\n var processReallyExit = function processReallyExit (code) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n process.exitCode = code || /* istanbul ignore next */ 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n }\n\n var originalProcessEmit = process.emit\n var processEmit = function processEmit (ev, arg) {\n if (ev === 'exit' && processOk(global.process)) {\n /* istanbul ignore else */\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n /* istanbul ignore next */\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n }\n}\n"],"names":["global","process","signalExitModule","require$$1","unload","emit","load","processReallyExit","processEmit"],"mappings":";;;;;;AAIA,IAAI,UAAUA,iBAAM,eAAC;AAErB,MAAM,YAAY,SAAUC,UAAS;AACnC,SAAOA,YACL,OAAOA,aAAY,YACnB,OAAOA,SAAQ,mBAAmB,cAClC,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,eAAe,cAC9B,OAAOA,SAAQ,cAAc,cAC7B,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,QAAQ,YACvB,OAAOA,SAAQ,OAAO;AAC1B;AAIA,IAAI,CAAC,UAAU,OAAO,GAAG;AACvBC,QAAA,SAAA,UAAiB,WAAY;AAC3B,WAAO,WAAY;AAAA,IAAE;AAAA,EACtB;AACH,OAAO;AACL,MAAI,SAAS;AACb,MAAI,UAAUC,UAAAA,UAAuB;AACrC,MAAI,QAAQ,QAAQ,KAAK,QAAQ,QAAQ;AAEzC,MAAI,KAAK;AAET,MAAI,OAAO,OAAO,YAAY;AAC5B,SAAK,GAAG;AAAA,EACT;AAED,MAAI;AACJ,MAAI,QAAQ,yBAAyB;AACnC,cAAU,QAAQ;AAAA,EACtB,OAAS;AACL,cAAU,QAAQ,0BAA0B,IAAI,GAAI;AACpD,YAAQ,QAAQ;AAChB,YAAQ,UAAU,CAAE;AAAA,EACrB;AAMD,MAAI,CAAC,QAAQ,UAAU;AACrB,YAAQ,gBAAgB,QAAQ;AAChC,YAAQ,WAAW;AAAA,EACpB;AAEDD,QAAAA,mBAAiB,SAAU,IAAI,MAAM;AAEnC,QAAI,CAAC,UAAUF,gCAAO,OAAO,GAAG;AAC9B,aAAO,WAAY;AAAA,MAAE;AAAA,IACtB;AACD,WAAO,MAAM,OAAO,IAAI,YAAY,8CAA8C;AAElF,QAAI,WAAW,OAAO;AACpB,WAAM;AAAA,IACP;AAED,QAAI,KAAK;AACT,QAAI,QAAQ,KAAK,YAAY;AAC3B,WAAK;AAAA,IACN;AAED,QAAI,SAAS,WAAY;AACvB,cAAQ,eAAe,IAAI,EAAE;AAC7B,UAAI,QAAQ,UAAU,MAAM,EAAE,WAAW,KACrC,QAAQ,UAAU,WAAW,EAAE,WAAW,GAAG;AAC/C,eAAQ;AAAA,MACT;AAAA,IACF;AACD,YAAQ,GAAG,IAAI,EAAE;AAEjB,WAAO;AAAA,EACR;AAED,MAAI,SAAS,SAASI,UAAU;AAC9B,QAAI,CAAC,UAAU,CAAC,UAAUJ,iBAAM,eAAC,OAAO,GAAG;AACzC;AAAA,IACD;AACD,aAAS;AAET,YAAQ,QAAQ,SAAU,KAAK;AAC7B,UAAI;AACF,gBAAQ,eAAe,KAAK,aAAa,GAAG,CAAC;AAAA,MACrD,SAAe,
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../node_modules/signal-exit/index.js"],"sourcesContent":["// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n return process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n module.exports = function () {\n return function () {}\n }\n} else {\n var assert = require('assert')\n var signals = require('./signals.js')\n var isWin = /^win/i.test(process.platform)\n\n var EE = require('events')\n /* istanbul ignore if */\n if (typeof EE !== 'function') {\n EE = EE.EventEmitter\n }\n\n var emitter\n if (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n } else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n }\n\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n }\n\n module.exports = function (cb, opts) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return function () {}\n }\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n }\n\n var unload = function unload () {\n if (!loaded || !processOk(global.process)) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n }\n module.exports.unload = unload\n\n var emit = function emit (event, code, signal) {\n /* istanbul ignore if */\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n }\n\n // { <signal>: <listener fn>, ... }\n var sigListeners = {}\n signals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n })\n\n module.exports.signals = function () {\n return signals\n }\n\n var loaded = false\n\n var load = function load () {\n if (loaded || !processOk(global.process)) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n }\n module.exports.load = load\n\n var originalProcessReallyExit = process.reallyExit\n var processReallyExit = function processReallyExit (code) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n process.exitCode = code || /* istanbul ignore next */ 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n }\n\n var originalProcessEmit = process.emit\n var processEmit = function processEmit (ev, arg) {\n if (ev === 'exit' && processOk(global.process)) {\n /* istanbul ignore else */\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n /* istanbul ignore next */\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n }\n}\n"],"names":["global","process","signalExitModule","require$$1","unload","emit","load","processReallyExit","processEmit"],"mappings":";;;;;;AAIA,IAAI,UAAUA,iBAAM,eAAC;AAErB,MAAM,YAAY,SAAUC,UAAS;AACnC,SAAOA,YACL,OAAOA,aAAY,YACnB,OAAOA,SAAQ,mBAAmB,cAClC,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,eAAe,cAC9B,OAAOA,SAAQ,cAAc,cAC7B,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,QAAQ,YACvB,OAAOA,SAAQ,OAAO;AAC1B;AAIA,IAAI,CAAC,UAAU,OAAO,GAAG;AACvBC,QAAA,SAAA,UAAiB,WAAY;AAC3B,WAAO,WAAY;AAAA,IAAE;AAAA,EACtB;AACH,OAAO;AACL,MAAI,SAAS;AACb,MAAI,UAAUC,UAAAA,UAAuB;AACrC,MAAI,QAAQ,QAAQ,KAAK,QAAQ,QAAQ;AAEzC,MAAI,KAAK;AAET,MAAI,OAAO,OAAO,YAAY;AAC5B,SAAK,GAAG;AAAA,EACT;AAED,MAAI;AACJ,MAAI,QAAQ,yBAAyB;AACnC,cAAU,QAAQ;AAAA,EACtB,OAAS;AACL,cAAU,QAAQ,0BAA0B,IAAI,GAAI;AACpD,YAAQ,QAAQ;AAChB,YAAQ,UAAU,CAAE;AAAA,EACrB;AAMD,MAAI,CAAC,QAAQ,UAAU;AACrB,YAAQ,gBAAgB,QAAQ;AAChC,YAAQ,WAAW;AAAA,EACpB;AAEDD,QAAAA,mBAAiB,SAAU,IAAI,MAAM;AAEnC,QAAI,CAAC,UAAUF,gCAAO,OAAO,GAAG;AAC9B,aAAO,WAAY;AAAA,MAAE;AAAA,IACtB;AACD,WAAO,MAAM,OAAO,IAAI,YAAY,8CAA8C;AAElF,QAAI,WAAW,OAAO;AACpB,WAAM;AAAA,IACP;AAED,QAAI,KAAK;AACT,QAAI,QAAQ,KAAK,YAAY;AAC3B,WAAK;AAAA,IACN;AAED,QAAI,SAAS,WAAY;AACvB,cAAQ,eAAe,IAAI,EAAE;AAC7B,UAAI,QAAQ,UAAU,MAAM,EAAE,WAAW,KACrC,QAAQ,UAAU,WAAW,EAAE,WAAW,GAAG;AAC/C,eAAQ;AAAA,MACT;AAAA,IACF;AACD,YAAQ,GAAG,IAAI,EAAE;AAEjB,WAAO;AAAA,EACR;AAED,MAAI,SAAS,SAASI,UAAU;AAC9B,QAAI,CAAC,UAAU,CAAC,UAAUJ,iBAAM,eAAC,OAAO,GAAG;AACzC;AAAA,IACD;AACD,aAAS;AAET,YAAQ,QAAQ,SAAU,KAAK;AAC7B,UAAI;AACF,gBAAQ,eAAe,KAAK,aAAa,GAAG,CAAC;AAAA,MACrD,SAAe,IAAI;AAAA,MAAE;AAAA,IACrB,CAAK;AACD,YAAQ,OAAO;AACf,YAAQ,aAAa;AACrB,YAAQ,SAAS;AAAA,EAClB;AACDE,iBAAA,QAAA,SAAwB;AAExB,MAAI,OAAO,SAASG,MAAM,OAAO,MAAM,QAAQ;AAE7C,QAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1B;AAAA,IACD;AACD,YAAQ,QAAQ,KAAK,IAAI;AACzB,YAAQ,KAAK,OAAO,MAAM,MAAM;AAAA,EACjC;AAGD,MAAI,eAAe,CAAE;AACrB,UAAQ,QAAQ,SAAU,KAAK;AAC7B,iBAAa,GAAG,IAAI,SAAS,WAAY;AAEvC,UAAI,CAAC,UAAUL,gCAAO,OAAO,GAAG;AAC9B;AAAA,MACD;AAKD,UAAI,YAAY,QAAQ,UAAU,GAAG;AACrC,UAAI,UAAU,WAAW,QAAQ,OAAO;AACtC,eAAQ;AACR,aAAK,QAAQ,MAAM,GAAG;AAEtB,aAAK,aAAa,MAAM,GAAG;AAE3B,YAAI,SAAS,QAAQ,UAAU;AAG7B,gBAAM;AAAA,QACP;AAED,gBAAQ,KAAK,QAAQ,KAAK,GAAG;AAAA,MAC9B;AAAA,IACF;AAAA,EACL,CAAG;AAEDE,iBAAA,QAAA,UAAyB,WAAY;AACnC,WAAO;AAAA,EACR;AAED,MAAI,SAAS;AAEb,MAAI,OAAO,SAASI,QAAQ;AAC1B,QAAI,UAAU,CAAC,UAAUN,iBAAM,eAAC,OAAO,GAAG;AACxC;AAAA,IACD;AACD,aAAS;AAMT,YAAQ,SAAS;AAEjB,cAAU,QAAQ,OAAO,SAAU,KAAK;AACtC,UAAI;AACF,gBAAQ,GAAG,KAAK,aAAa,GAAG,CAAC;AACjC,eAAO;AAAA,MACR,SAAQ,IAAI;AACX,eAAO;AAAA,MACR;AAAA,IACP,CAAK;AAED,YAAQ,OAAO;AACf,YAAQ,aAAa;AAAA,EACtB;AACDE,iBAAA,QAAA,OAAsB;AAEtB,MAAI,4BAA4B,QAAQ;AACxC,MAAI,oBAAoB,SAASK,mBAAmB,MAAM;AAExD,QAAI,CAAC,UAAUP,gCAAO,OAAO,GAAG;AAC9B;AAAA,IACD;AACD,YAAQ,WAAW;AAAA,IAAmC;AACtD,SAAK,QAAQ,QAAQ,UAAU,IAAI;AAEnC,SAAK,aAAa,QAAQ,UAAU,IAAI;AAExC,8BAA0B,KAAK,SAAS,QAAQ,QAAQ;AAAA,EACzD;AAED,MAAI,sBAAsB,QAAQ;AAClC,MAAI,cAAc,SAASQ,aAAa,IAAI,KAAK;AAC/C,QAAI,OAAO,UAAU,UAAUR,iBAAM,eAAC,OAAO,GAAG;AAE9C,UAAI,QAAQ,QAAW;AACrB,gBAAQ,WAAW;AAAA,MACpB;AACD,UAAI,MAAM,oBAAoB,MAAM,MAAM,SAAS;AAEnD,WAAK,QAAQ,QAAQ,UAAU,IAAI;AAEnC,WAAK,aAAa,QAAQ,UAAU,IAAI;AAExC,aAAO;AAAA,IACb,OAAW;AACL,aAAO,oBAAoB,MAAM,MAAM,SAAS;AAAA,IACjD;AAAA,EACF;AACH;;;;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/signal-exit/index.js"],"sourcesContent":["// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n return process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n module.exports = function () {\n return function () {}\n }\n} else {\n var assert = require('assert')\n var signals = require('./signals.js')\n var isWin = /^win/i.test(process.platform)\n\n var EE = require('events')\n /* istanbul ignore if */\n if (typeof EE !== 'function') {\n EE = EE.EventEmitter\n }\n\n var emitter\n if (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n } else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n }\n\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n }\n\n module.exports = function (cb, opts) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return function () {}\n }\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n }\n\n var unload = function unload () {\n if (!loaded || !processOk(global.process)) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n }\n module.exports.unload = unload\n\n var emit = function emit (event, code, signal) {\n /* istanbul ignore if */\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n }\n\n // { <signal>: <listener fn>, ... }\n var sigListeners = {}\n signals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n })\n\n module.exports.signals = function () {\n return signals\n }\n\n var loaded = false\n\n var load = function load () {\n if (loaded || !processOk(global.process)) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n }\n module.exports.load = load\n\n var originalProcessReallyExit = process.reallyExit\n var processReallyExit = function processReallyExit (code) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n process.exitCode = code || /* istanbul ignore next */ 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n }\n\n var originalProcessEmit = process.emit\n var processEmit = function processEmit (ev, arg) {\n if (ev === 'exit' && processOk(global.process)) {\n /* istanbul ignore else */\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n /* istanbul ignore next */\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n }\n}\n"],"names":["global","process","signalExitModule","require$$1","unload","emit","load","processReallyExit","processEmit"],"mappings":";;;;;AAIA,IAAI,UAAUA,eAAO;AAErB,MAAM,YAAY,SAAUC,UAAS;AACnC,SAAOA,YACL,OAAOA,aAAY,YACnB,OAAOA,SAAQ,mBAAmB,cAClC,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,eAAe,cAC9B,OAAOA,SAAQ,cAAc,cAC7B,OAAOA,SAAQ,SAAS,cACxB,OAAOA,SAAQ,QAAQ,YACvB,OAAOA,SAAQ,OAAO;AAC1B;AAIA,IAAI,CAAC,UAAU,OAAO,GAAG;AACvBC,aAAA,UAAiB,WAAY;AAC3B,WAAO,WAAY;AAAA,IAAE;AAAA,EACtB;AACH,OAAO;AACL,MAAI,SAAS;AACb,MAAI,UAAUC,eAAuB;AACrC,MAAI,QAAQ,QAAQ,KAAK,QAAQ,QAAQ;AAEzC,MAAI,KAAK;AAET,MAAI,OAAO,OAAO,YAAY;AAC5B,SAAK,GAAG;AAAA,EACT;AAED,MAAI;AACJ,MAAI,QAAQ,yBAAyB;AACnC,cAAU,QAAQ;AAAA,EACtB,OAAS;AACL,cAAU,QAAQ,0BAA0B,IAAI,GAAI;AACpD,YAAQ,QAAQ;AAChB,YAAQ,UAAU,CAAE;AAAA,EACrB;AAMD,MAAI,CAAC,QAAQ,UAAU;AACrB,YAAQ,gBAAgB,QAAQ;AAChC,YAAQ,WAAW;AAAA,EACpB;AAEDD,uBAAiB,SAAU,IAAI,MAAM;AAEnC,QAAI,CAAC,UAAUF,eAAO,OAAO,GAAG;AAC9B,aAAO,WAAY;AAAA,MAAE;AAAA,IACtB;AACD,WAAO,MAAM,OAAO,IAAI,YAAY,8CAA8C;AAElF,QAAI,WAAW,OAAO;AACpB,WAAM;AAAA,IACP;AAED,QAAI,KAAK;AACT,QAAI,QAAQ,KAAK,YAAY;AAC3B,WAAK;AAAA,IACN;AAED,QAAI,SAAS,WAAY;AACvB,cAAQ,eAAe,IAAI,EAAE;AAC7B,UAAI,QAAQ,UAAU,MAAM,EAAE,WAAW,KACrC,QAAQ,UAAU,WAAW,EAAE,WAAW,GAAG;AAC/C,eAAQ;AAAA,MACT;AAAA,IACF;AACD,YAAQ,GAAG,IAAI,EAAE;AAEjB,WAAO;AAAA,EACR;AAED,MAAI,SAAS,SAASI,UAAU;AAC9B,QAAI,CAAC,UAAU,CAAC,UAAUJ,eAAO,OAAO,GAAG;AACzC;AAAA,IACD;AACD,aAAS;AAET,YAAQ,QAAQ,SAAU,KAAK;AAC7B,UAAI;AACF,gBAAQ,eAAe,KAAK,aAAa,GAAG,CAAC;AAAA,MACrD,SAAe,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/signal-exit/index.js"],"sourcesContent":["// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n return process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n module.exports = function () {\n return function () {}\n }\n} else {\n var assert = require('assert')\n var signals = require('./signals.js')\n var isWin = /^win/i.test(process.platform)\n\n var EE = require('events')\n /* istanbul ignore if */\n if (typeof EE !== 'function') {\n EE = EE.EventEmitter\n }\n\n var emitter\n if (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n } else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n }\n\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n }\n\n module.exports = function (cb, opts) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return function () {}\n }\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n }\n\n var unload = function unload () {\n if (!loaded || !processOk(global.process)) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n }\n module.exports.unload = unload\n\n var emit = function emit (event, code, signal) {\n /* istanbul ignore if */\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n }\n\n // { <signal>: <listener fn>, ... }\n var sigListeners = {}\n signals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n })\n\n module.exports.signals = function () {\n return signals\n }\n\n var loaded = false\n\n var load = function load () {\n if (loaded || !processOk(global.process)) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n }\n module.exports.load = load\n\n var originalProcessReallyExit = process.reallyExit\n var processReallyExit = function processReallyExit (code) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n process.exitCode = code || /* istanbul ignore next */ 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n }\n\n var originalProcessEmit = process.emit\n var processEmit = function processEmit (ev, arg) {\n if (ev === 'exit' && processOk(global.process)) {\n /* istanbul ignore else */\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n /* istanbul ignore next */\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n }\n}\n"],"names":["global","process","signalExitModule","require$$1","unload","emit","load","processReallyExit","processEmit"],"mappings":"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","x_google_ignoreList":[0]}
|