@cartanova/qgrid-cli 2.6.11 → 2.7.1
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/bundle/dist/_virtual/_rolldown/runtime.js +20 -1
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +17 -6
- package/bundle/dist/application/qgrid/qgrid.frame.js +1 -1
- package/bundle/dist/application/qgrid/schema-prompt.js +240 -0
- package/bundle/dist/application/qgrid/tool-emulation.js +7 -5
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js +112 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +140 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +676 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +104 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +225 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +135 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +63 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +148 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +25 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +174 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +33 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +435 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +115 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +74 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +585 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +44 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.js +52 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.js +22 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.js +53 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.js +38 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.js +21 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.js +87 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +14 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +27 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +14 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +98 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +31 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +91 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +89 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +64 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +62 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +36 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +33 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +53 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +63 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +43 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +132 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +16 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +24 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +114 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +103 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +16 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js +37 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +48 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +47 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js +24 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +22 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +17 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +12 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +25 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js +21 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js +15 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +48 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +29 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +51 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +50 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +35 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +49 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +29 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +40 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +74 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
- package/bundle/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +35 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +238 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +189 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +284 -0
- package/bundle/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +80 -0
- package/bundle/dist/testing/schema-bench.js +0 -0
- package/bundle/dist/utils/providers/anthropic/fence-strip.js +83 -0
- package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +3 -5
- package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +250 -34
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +36 -5
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +120 -153
- package/bundle/src/application/qgrid/qgrid.frame.ts +2 -0
- package/bundle/src/application/qgrid/schema-prompt.test.ts +166 -0
- package/bundle/src/application/qgrid/schema-prompt.ts +293 -0
- package/bundle/src/application/qgrid/tool-emulation.test.ts +36 -0
- package/bundle/src/application/qgrid/tool-emulation.ts +19 -7
- package/bundle/src/testing/schema-bench.test.ts +358 -0
- package/bundle/src/testing/schema-bench.ts +352 -0
- package/bundle/src/utils/providers/anthropic/fence-strip.test.ts +122 -0
- package/bundle/src/utils/providers/anthropic/fence-strip.ts +105 -0
- package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +2 -8
- package/bundle/web-dist/client/assets/chat-icon-JYfue7fB.png +0 -0
- package/bundle/web-dist/client/assets/index-C0594sjh.js +106 -0
- package/bundle/web-dist/client/assets/index-CcMEpCgt.css +1 -0
- package/bundle/web-dist/client/assets/logs-BotUcOEB.js +1 -0
- package/bundle/web-dist/client/assets/monit-kk3vnGvu.js +1 -0
- package/bundle/web-dist/client/assets/{routes-DVseTo6T.js → routes-J4bnHVfl.js} +2 -2
- package/bundle/web-dist/client/assets/services.generated-jGypfumC.js +51 -0
- package/bundle/web-dist/client/assets/settings-CAAQSIyg.js +1 -0
- package/bundle/web-dist/client/assets/show-BryNvjUT.js +2 -0
- package/bundle/web-dist/client/assets/tokens-DDrATjGA.js +1 -0
- package/bundle/web-dist/client/assets/{use-oauth-login-flow-CuLvs_CW.js → use-oauth-login-flow-CptleCFM.js} +1 -1
- package/bundle/web-dist/client/index.html +3 -3
- package/bundle/web-dist/server/assets/{lazyRouteComponent-C-N6sd5N.js → lazyRouteComponent-DOc8TV-P.js} +2 -2
- package/bundle/web-dist/server/assets/{logs-CVkeSr1S.js → logs-CfF3nmLM.js} +3 -4
- package/bundle/web-dist/server/assets/{monit-Bb6QfT9V.js → monit-BSaKhh5D.js} +2 -3
- package/bundle/web-dist/server/assets/{plus-B8JRuCb9.js → plus-DLFUHsfx.js} +1 -1
- package/bundle/web-dist/server/assets/{react-dom-ByF9tqTB.js → react-dom-BotjLnTK.js} +1 -1
- package/bundle/web-dist/server/assets/{routes-Dnm-Eti6.js → routes-CHMxrTT0.js} +4 -5
- package/bundle/web-dist/server/assets/{sd.generated-CuyajYtc.js → services.generated-D3Q3FYot.js} +16008 -14698
- package/bundle/web-dist/server/assets/{settings-4T3nBfY8.js → settings-DOQjV28c.js} +5 -21
- package/bundle/web-dist/server/assets/show-Cn_C6Qvl.js +2776 -0
- package/bundle/web-dist/server/assets/{tokens-Di_SGPYj.js → tokens-c0EN3iCx.js} +4 -5
- package/bundle/web-dist/server/assets/{use-oauth-login-flow-DiYCMNAQ.js → use-oauth-login-flow-B68AbMDE.js} +1 -2
- package/bundle/web-dist/server/entry-server.generated.js +23856 -40
- package/package.json +1 -1
- package/skills/qgrid/references/ai-sdk-provider-contract.md +20 -15
- package/skills/qgrid/references/anthropic-claude-code-runtime.md +31 -14
- package/skills/qgrid/references/decision-rationale.md +13 -3
- package/skills/qgrid/references/prompt-cache-and-usage.md +4 -1
- package/skills/qgrid/references/provider-runtime-differences.md +3 -3
- package/skills/qgrid/references/tool-calling-and-multiturn.md +16 -6
- package/bundle/web-dist/client/assets/index-CFvFRDk_.js +0 -78
- package/bundle/web-dist/client/assets/index-CJ9iTI_V.css +0 -1
- package/bundle/web-dist/client/assets/logs-DeAK5Uyu.js +0 -1
- package/bundle/web-dist/client/assets/monit-Rj94Sz3_.js +0 -1
- package/bundle/web-dist/client/assets/sd.generated-W6XqgWK6.js +0 -51
- package/bundle/web-dist/client/assets/services.generated-Dz5pA5Fb.js +0 -1
- package/bundle/web-dist/client/assets/settings-DvuRDFfS.js +0 -1
- package/bundle/web-dist/client/assets/show-C7etBj89.js +0 -30
- package/bundle/web-dist/client/assets/tokens-BroPe7Tn.js +0 -1
- package/bundle/web-dist/server/assets/services.generated-BAGLi2r8.js +0 -1313
- package/bundle/web-dist/server/assets/show-CQw03iTP.js +0 -25968
- /package/bundle/web-dist/client/assets/{plus-p4vtg6LN.js → plus-DqBd6gHk.js} +0 -0
- /package/bundle/web-dist/server/assets/{cost-DzjfVtUr.js → cost-CSH_t17I.js} +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_utils } from "./utils.js";
|
|
3
|
+
//#region ../../node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js
|
|
4
|
+
var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
5
|
+
const { isUUID } = require_utils();
|
|
6
|
+
const URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
|
|
7
|
+
const supportedSchemeNames = [
|
|
8
|
+
"http",
|
|
9
|
+
"https",
|
|
10
|
+
"ws",
|
|
11
|
+
"wss",
|
|
12
|
+
"urn",
|
|
13
|
+
"urn:uuid"
|
|
14
|
+
];
|
|
15
|
+
/** @typedef {supportedSchemeNames[number]} SchemeName */
|
|
16
|
+
/**
|
|
17
|
+
* @param {string} name
|
|
18
|
+
* @returns {name is SchemeName}
|
|
19
|
+
*/
|
|
20
|
+
function isValidSchemeName(name) {
|
|
21
|
+
return supportedSchemeNames.indexOf(name) !== -1;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @callback SchemeFn
|
|
25
|
+
* @param {import('../types/index').URIComponent} component
|
|
26
|
+
* @param {import('../types/index').Options} options
|
|
27
|
+
* @returns {import('../types/index').URIComponent}
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* @typedef {Object} SchemeHandler
|
|
31
|
+
* @property {SchemeName} scheme - The scheme name.
|
|
32
|
+
* @property {boolean} [domainHost] - Indicates if the scheme supports domain hosts.
|
|
33
|
+
* @property {SchemeFn} parse - Function to parse the URI component for this scheme.
|
|
34
|
+
* @property {SchemeFn} serialize - Function to serialize the URI component for this scheme.
|
|
35
|
+
* @property {boolean} [skipNormalize] - Indicates if normalization should be skipped for this scheme.
|
|
36
|
+
* @property {boolean} [absolutePath] - Indicates if the scheme uses absolute paths.
|
|
37
|
+
* @property {boolean} [unicodeSupport] - Indicates if the scheme supports Unicode.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* @param {import('../types/index').URIComponent} wsComponent
|
|
41
|
+
* @returns {boolean}
|
|
42
|
+
*/
|
|
43
|
+
function wsIsSecure(wsComponent) {
|
|
44
|
+
if (wsComponent.secure === true) return true;
|
|
45
|
+
else if (wsComponent.secure === false) return false;
|
|
46
|
+
else if (wsComponent.scheme) return wsComponent.scheme.length === 3 && (wsComponent.scheme[0] === "w" || wsComponent.scheme[0] === "W") && (wsComponent.scheme[1] === "s" || wsComponent.scheme[1] === "S") && (wsComponent.scheme[2] === "s" || wsComponent.scheme[2] === "S");
|
|
47
|
+
else return false;
|
|
48
|
+
}
|
|
49
|
+
/** @type {SchemeFn} */
|
|
50
|
+
function httpParse(component) {
|
|
51
|
+
if (!component.host) component.error = component.error || "HTTP URIs must have a host.";
|
|
52
|
+
return component;
|
|
53
|
+
}
|
|
54
|
+
/** @type {SchemeFn} */
|
|
55
|
+
function httpSerialize(component) {
|
|
56
|
+
const secure = String(component.scheme).toLowerCase() === "https";
|
|
57
|
+
if (component.port === (secure ? 443 : 80) || component.port === "") component.port = void 0;
|
|
58
|
+
if (!component.path) component.path = "/";
|
|
59
|
+
return component;
|
|
60
|
+
}
|
|
61
|
+
/** @type {SchemeFn} */
|
|
62
|
+
function wsParse(wsComponent) {
|
|
63
|
+
wsComponent.secure = wsIsSecure(wsComponent);
|
|
64
|
+
wsComponent.resourceName = (wsComponent.path || "/") + (wsComponent.query ? "?" + wsComponent.query : "");
|
|
65
|
+
wsComponent.path = void 0;
|
|
66
|
+
wsComponent.query = void 0;
|
|
67
|
+
return wsComponent;
|
|
68
|
+
}
|
|
69
|
+
/** @type {SchemeFn} */
|
|
70
|
+
function wsSerialize(wsComponent) {
|
|
71
|
+
if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === "") wsComponent.port = void 0;
|
|
72
|
+
if (typeof wsComponent.secure === "boolean") {
|
|
73
|
+
wsComponent.scheme = wsComponent.secure ? "wss" : "ws";
|
|
74
|
+
wsComponent.secure = void 0;
|
|
75
|
+
}
|
|
76
|
+
if (wsComponent.resourceName) {
|
|
77
|
+
const [path, query] = wsComponent.resourceName.split("?");
|
|
78
|
+
wsComponent.path = path && path !== "/" ? path : void 0;
|
|
79
|
+
wsComponent.query = query;
|
|
80
|
+
wsComponent.resourceName = void 0;
|
|
81
|
+
}
|
|
82
|
+
wsComponent.fragment = void 0;
|
|
83
|
+
return wsComponent;
|
|
84
|
+
}
|
|
85
|
+
/** @type {SchemeFn} */
|
|
86
|
+
function urnParse(urnComponent, options) {
|
|
87
|
+
if (!urnComponent.path) {
|
|
88
|
+
urnComponent.error = "URN can not be parsed";
|
|
89
|
+
return urnComponent;
|
|
90
|
+
}
|
|
91
|
+
const matches = urnComponent.path.match(URN_REG);
|
|
92
|
+
if (matches) {
|
|
93
|
+
const scheme = options.scheme || urnComponent.scheme || "urn";
|
|
94
|
+
urnComponent.nid = matches[1].toLowerCase();
|
|
95
|
+
urnComponent.nss = matches[2];
|
|
96
|
+
const schemeHandler = getSchemeHandler(`${scheme}:${options.nid || urnComponent.nid}`);
|
|
97
|
+
urnComponent.path = void 0;
|
|
98
|
+
if (schemeHandler) urnComponent = schemeHandler.parse(urnComponent, options);
|
|
99
|
+
} else urnComponent.error = urnComponent.error || "URN can not be parsed.";
|
|
100
|
+
return urnComponent;
|
|
101
|
+
}
|
|
102
|
+
/** @type {SchemeFn} */
|
|
103
|
+
function urnSerialize(urnComponent, options) {
|
|
104
|
+
if (urnComponent.nid === void 0) throw new Error("URN without nid cannot be serialized");
|
|
105
|
+
const scheme = options.scheme || urnComponent.scheme || "urn";
|
|
106
|
+
const nid = urnComponent.nid.toLowerCase();
|
|
107
|
+
const schemeHandler = getSchemeHandler(`${scheme}:${options.nid || nid}`);
|
|
108
|
+
if (schemeHandler) urnComponent = schemeHandler.serialize(urnComponent, options);
|
|
109
|
+
const uriComponent = urnComponent;
|
|
110
|
+
const nss = urnComponent.nss;
|
|
111
|
+
uriComponent.path = `${nid || options.nid}:${nss}`;
|
|
112
|
+
options.skipEscape = true;
|
|
113
|
+
return uriComponent;
|
|
114
|
+
}
|
|
115
|
+
/** @type {SchemeFn} */
|
|
116
|
+
function urnuuidParse(urnComponent, options) {
|
|
117
|
+
const uuidComponent = urnComponent;
|
|
118
|
+
uuidComponent.uuid = uuidComponent.nss;
|
|
119
|
+
uuidComponent.nss = void 0;
|
|
120
|
+
if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) uuidComponent.error = uuidComponent.error || "UUID is not valid.";
|
|
121
|
+
return uuidComponent;
|
|
122
|
+
}
|
|
123
|
+
/** @type {SchemeFn} */
|
|
124
|
+
function urnuuidSerialize(uuidComponent) {
|
|
125
|
+
const urnComponent = uuidComponent;
|
|
126
|
+
urnComponent.nss = (uuidComponent.uuid || "").toLowerCase();
|
|
127
|
+
return urnComponent;
|
|
128
|
+
}
|
|
129
|
+
const http = {
|
|
130
|
+
scheme: "http",
|
|
131
|
+
domainHost: true,
|
|
132
|
+
parse: httpParse,
|
|
133
|
+
serialize: httpSerialize
|
|
134
|
+
};
|
|
135
|
+
const https = {
|
|
136
|
+
scheme: "https",
|
|
137
|
+
domainHost: http.domainHost,
|
|
138
|
+
parse: httpParse,
|
|
139
|
+
serialize: httpSerialize
|
|
140
|
+
};
|
|
141
|
+
const ws = {
|
|
142
|
+
scheme: "ws",
|
|
143
|
+
domainHost: true,
|
|
144
|
+
parse: wsParse,
|
|
145
|
+
serialize: wsSerialize
|
|
146
|
+
};
|
|
147
|
+
const SCHEMES = {
|
|
148
|
+
http,
|
|
149
|
+
https,
|
|
150
|
+
ws,
|
|
151
|
+
wss: {
|
|
152
|
+
scheme: "wss",
|
|
153
|
+
domainHost: ws.domainHost,
|
|
154
|
+
parse: ws.parse,
|
|
155
|
+
serialize: ws.serialize
|
|
156
|
+
},
|
|
157
|
+
urn: {
|
|
158
|
+
scheme: "urn",
|
|
159
|
+
parse: urnParse,
|
|
160
|
+
serialize: urnSerialize,
|
|
161
|
+
skipNormalize: true
|
|
162
|
+
},
|
|
163
|
+
"urn:uuid": {
|
|
164
|
+
scheme: "urn:uuid",
|
|
165
|
+
parse: urnuuidParse,
|
|
166
|
+
serialize: urnuuidSerialize,
|
|
167
|
+
skipNormalize: true
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
Object.setPrototypeOf(SCHEMES, null);
|
|
171
|
+
/**
|
|
172
|
+
* @param {string|undefined} scheme
|
|
173
|
+
* @returns {SchemeHandler|undefined}
|
|
174
|
+
*/
|
|
175
|
+
function getSchemeHandler(scheme) {
|
|
176
|
+
return scheme && (SCHEMES[scheme] || SCHEMES[scheme.toLowerCase()]) || void 0;
|
|
177
|
+
}
|
|
178
|
+
module.exports = {
|
|
179
|
+
wsIsSecure,
|
|
180
|
+
SCHEMES,
|
|
181
|
+
isValidSchemeName,
|
|
182
|
+
getSchemeHandler
|
|
183
|
+
};
|
|
184
|
+
}));
|
|
185
|
+
//#endregion
|
|
186
|
+
export default require_schemes();
|
|
187
|
+
export { require_schemes };
|
|
188
|
+
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vZmFzdC11cmlAMy4xLjAvbm9kZV9tb2R1bGVzL2Zhc3QtdXJpL2xpYi9zY2hlbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5jb25zdCB7IGlzVVVJRCB9ID0gcmVxdWlyZSgnLi91dGlscycpXG5jb25zdCBVUk5fUkVHID0gLyhbXFxkYS16XVtcXGRcXC1hLXpdezAsMzF9KTooKD86W1xcdyEkJygpKissXFwtLjo7PUBdfCVbXFxkYS1mXXsyfSkrKS9pdVxuXG5jb25zdCBzdXBwb3J0ZWRTY2hlbWVOYW1lcyA9IC8qKiBAdHlwZSB7Y29uc3R9ICovIChbJ2h0dHAnLCAnaHR0cHMnLCAnd3MnLFxuICAnd3NzJywgJ3VybicsICd1cm46dXVpZCddKVxuXG4vKiogQHR5cGVkZWYge3N1cHBvcnRlZFNjaGVtZU5hbWVzW251bWJlcl19IFNjaGVtZU5hbWUgKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICogQHJldHVybnMge25hbWUgaXMgU2NoZW1lTmFtZX1cbiAqL1xuZnVuY3Rpb24gaXNWYWxpZFNjaGVtZU5hbWUgKG5hbWUpIHtcbiAgcmV0dXJuIHN1cHBvcnRlZFNjaGVtZU5hbWVzLmluZGV4T2YoLyoqIEB0eXBlIHsqfSAqLyAobmFtZSkpICE9PSAtMVxufVxuXG4vKipcbiAqIEBjYWxsYmFjayBTY2hlbWVGblxuICogQHBhcmFtIHtpbXBvcnQoJy4uL3R5cGVzL2luZGV4JykuVVJJQ29tcG9uZW50fSBjb21wb25lbnRcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi90eXBlcy9pbmRleCcpLk9wdGlvbnN9IG9wdGlvbnNcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4uL3R5cGVzL2luZGV4JykuVVJJQ29tcG9uZW50fVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2NoZW1lSGFuZGxlclxuICogQHByb3BlcnR5IHtTY2hlbWVOYW1lfSBzY2hlbWUgLSBUaGUgc2NoZW1lIG5hbWUuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtkb21haW5Ib3N0XSAtIEluZGljYXRlcyBpZiB0aGUgc2NoZW1lIHN1cHBvcnRzIGRvbWFpbiBob3N0cy5cbiAqIEBwcm9wZXJ0eSB7U2NoZW1lRm59IHBhcnNlIC0gRnVuY3Rpb24gdG8gcGFyc2UgdGhlIFVSSSBjb21wb25lbnQgZm9yIHRoaXMgc2NoZW1lLlxuICogQHByb3BlcnR5IHtTY2hlbWVGbn0gc2VyaWFsaXplIC0gRnVuY3Rpb24gdG8gc2VyaWFsaXplIHRoZSBVUkkgY29tcG9uZW50IGZvciB0aGlzIHNjaGVtZS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NraXBOb3JtYWxpemVdIC0gSW5kaWNhdGVzIGlmIG5vcm1hbGl6YXRpb24gc2hvdWxkIGJlIHNraXBwZWQgZm9yIHRoaXMgc2NoZW1lLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbYWJzb2x1dGVQYXRoXSAtIEluZGljYXRlcyBpZiB0aGUgc2NoZW1lIHVzZXMgYWJzb2x1dGUgcGF0aHMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt1bmljb2RlU3VwcG9ydF0gLSBJbmRpY2F0ZXMgaWYgdGhlIHNjaGVtZSBzdXBwb3J0cyBVbmljb2RlLlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4uL3R5cGVzL2luZGV4JykuVVJJQ29tcG9uZW50fSB3c0NvbXBvbmVudFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIHdzSXNTZWN1cmUgKHdzQ29tcG9uZW50KSB7XG4gIGlmICh3c0NvbXBvbmVudC5zZWN1cmUgPT09IHRydWUpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGVsc2UgaWYgKHdzQ29tcG9uZW50LnNlY3VyZSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfSBlbHNlIGlmICh3c0NvbXBvbmVudC5zY2hlbWUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgd3NDb21wb25lbnQuc2NoZW1lLmxlbmd0aCA9PT0gMyAmJlxuICAgICAgKHdzQ29tcG9uZW50LnNjaGVtZVswXSA9PT0gJ3cnIHx8IHdzQ29tcG9uZW50LnNjaGVtZVswXSA9PT0gJ1cnKSAmJlxuICAgICAgKHdzQ29tcG9uZW50LnNjaGVtZVsxXSA9PT0gJ3MnIHx8IHdzQ29tcG9uZW50LnNjaGVtZVsxXSA9PT0gJ1MnKSAmJlxuICAgICAgKHdzQ29tcG9uZW50LnNjaGVtZVsyXSA9PT0gJ3MnIHx8IHdzQ29tcG9uZW50LnNjaGVtZVsyXSA9PT0gJ1MnKVxuICAgIClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gaHR0cFBhcnNlIChjb21wb25lbnQpIHtcbiAgaWYgKCFjb21wb25lbnQuaG9zdCkge1xuICAgIGNvbXBvbmVudC5lcnJvciA9IGNvbXBvbmVudC5lcnJvciB8fCAnSFRUUCBVUklzIG11c3QgaGF2ZSBhIGhvc3QuJ1xuICB9XG5cbiAgcmV0dXJuIGNvbXBvbmVudFxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gaHR0cFNlcmlhbGl6ZSAoY29tcG9uZW50KSB7XG4gIGNvbnN0IHNlY3VyZSA9IFN0cmluZyhjb21wb25lbnQuc2NoZW1lKS50b0xvd2VyQ2FzZSgpID09PSAnaHR0cHMnXG5cbiAgLy8gbm9ybWFsaXplIHRoZSBkZWZhdWx0IHBvcnRcbiAgaWYgKGNvbXBvbmVudC5wb3J0ID09PSAoc2VjdXJlID8gNDQzIDogODApIHx8IGNvbXBvbmVudC5wb3J0ID09PSAnJykge1xuICAgIGNvbXBvbmVudC5wb3J0ID0gdW5kZWZpbmVkXG4gIH1cblxuICAvLyBub3JtYWxpemUgdGhlIGVtcHR5IHBhdGhcbiAgaWYgKCFjb21wb25lbnQucGF0aCkge1xuICAgIGNvbXBvbmVudC5wYXRoID0gJy8nXG4gIH1cblxuICAvLyBOT1RFOiBXZSBkbyBub3QgcGFyc2UgcXVlcnkgc3RyaW5ncyBmb3IgSFRUUCBVUklzXG4gIC8vIGFzIFdXVyBGb3JtIFVybCBFbmNvZGVkIHF1ZXJ5IHN0cmluZ3MgYXJlIHBhcnQgb2YgdGhlIEhUTUw0KyBzcGVjLFxuICAvLyBhbmQgbm90IHRoZSBIVFRQIHNwZWMuXG5cbiAgcmV0dXJuIGNvbXBvbmVudFxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gd3NQYXJzZSAod3NDb21wb25lbnQpIHtcbi8vIGluZGljYXRlIGlmIHRoZSBzZWN1cmUgZmxhZyBpcyBzZXRcbiAgd3NDb21wb25lbnQuc2VjdXJlID0gd3NJc1NlY3VyZSh3c0NvbXBvbmVudClcblxuICAvLyBjb25zdHJ1Y3QgcmVzb3VjZSBuYW1lXG4gIHdzQ29tcG9uZW50LnJlc291cmNlTmFtZSA9ICh3c0NvbXBvbmVudC5wYXRoIHx8ICcvJykgKyAod3NDb21wb25lbnQucXVlcnkgPyAnPycgKyB3c0NvbXBvbmVudC5xdWVyeSA6ICcnKVxuICB3c0NvbXBvbmVudC5wYXRoID0gdW5kZWZpbmVkXG4gIHdzQ29tcG9uZW50LnF1ZXJ5ID0gdW5kZWZpbmVkXG5cbiAgcmV0dXJuIHdzQ29tcG9uZW50XG59XG5cbi8qKiBAdHlwZSB7U2NoZW1lRm59ICovXG5mdW5jdGlvbiB3c1NlcmlhbGl6ZSAod3NDb21wb25lbnQpIHtcbi8vIG5vcm1hbGl6ZSB0aGUgZGVmYXVsdCBwb3J0XG4gIGlmICh3c0NvbXBvbmVudC5wb3J0ID09PSAod3NJc1NlY3VyZSh3c0NvbXBvbmVudCkgPyA0NDMgOiA4MCkgfHwgd3NDb21wb25lbnQucG9ydCA9PT0gJycpIHtcbiAgICB3c0NvbXBvbmVudC5wb3J0ID0gdW5kZWZpbmVkXG4gIH1cblxuICAvLyBlbnN1cmUgc2NoZW1lIG1hdGNoZXMgc2VjdXJlIGZsYWdcbiAgaWYgKHR5cGVvZiB3c0NvbXBvbmVudC5zZWN1cmUgPT09ICdib29sZWFuJykge1xuICAgIHdzQ29tcG9uZW50LnNjaGVtZSA9ICh3c0NvbXBvbmVudC5zZWN1cmUgPyAnd3NzJyA6ICd3cycpXG4gICAgd3NDb21wb25lbnQuc2VjdXJlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvLyByZWNvbnN0cnVjdCBwYXRoIGZyb20gcmVzb3VyY2UgbmFtZVxuICBpZiAod3NDb21wb25lbnQucmVzb3VyY2VOYW1lKSB7XG4gICAgY29uc3QgW3BhdGgsIHF1ZXJ5XSA9IHdzQ29tcG9uZW50LnJlc291cmNlTmFtZS5zcGxpdCgnPycpXG4gICAgd3NDb21wb25lbnQucGF0aCA9IChwYXRoICYmIHBhdGggIT09ICcvJyA/IHBhdGggOiB1bmRlZmluZWQpXG4gICAgd3NDb21wb25lbnQucXVlcnkgPSBxdWVyeVxuICAgIHdzQ29tcG9uZW50LnJlc291cmNlTmFtZSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLy8gZm9yYmlkIGZyYWdtZW50IGNvbXBvbmVudFxuICB3c0NvbXBvbmVudC5mcmFnbWVudCA9IHVuZGVmaW5lZFxuXG4gIHJldHVybiB3c0NvbXBvbmVudFxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gdXJuUGFyc2UgKHVybkNvbXBvbmVudCwgb3B0aW9ucykge1xuICBpZiAoIXVybkNvbXBvbmVudC5wYXRoKSB7XG4gICAgdXJuQ29tcG9uZW50LmVycm9yID0gJ1VSTiBjYW4gbm90IGJlIHBhcnNlZCdcbiAgICByZXR1cm4gdXJuQ29tcG9uZW50XG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IHVybkNvbXBvbmVudC5wYXRoLm1hdGNoKFVSTl9SRUcpXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3Qgc2NoZW1lID0gb3B0aW9ucy5zY2hlbWUgfHwgdXJuQ29tcG9uZW50LnNjaGVtZSB8fCAndXJuJ1xuICAgIHVybkNvbXBvbmVudC5uaWQgPSBtYXRjaGVzWzFdLnRvTG93ZXJDYXNlKClcbiAgICB1cm5Db21wb25lbnQubnNzID0gbWF0Y2hlc1syXVxuICAgIGNvbnN0IHVyblNjaGVtZSA9IGAke3NjaGVtZX06JHtvcHRpb25zLm5pZCB8fCB1cm5Db21wb25lbnQubmlkfWBcbiAgICBjb25zdCBzY2hlbWVIYW5kbGVyID0gZ2V0U2NoZW1lSGFuZGxlcih1cm5TY2hlbWUpXG4gICAgdXJuQ29tcG9uZW50LnBhdGggPSB1bmRlZmluZWRcblxuICAgIGlmIChzY2hlbWVIYW5kbGVyKSB7XG4gICAgICB1cm5Db21wb25lbnQgPSBzY2hlbWVIYW5kbGVyLnBhcnNlKHVybkNvbXBvbmVudCwgb3B0aW9ucylcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdXJuQ29tcG9uZW50LmVycm9yID0gdXJuQ29tcG9uZW50LmVycm9yIHx8ICdVUk4gY2FuIG5vdCBiZSBwYXJzZWQuJ1xuICB9XG5cbiAgcmV0dXJuIHVybkNvbXBvbmVudFxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gdXJuU2VyaWFsaXplICh1cm5Db21wb25lbnQsIG9wdGlvbnMpIHtcbiAgaWYgKHVybkNvbXBvbmVudC5uaWQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVVJOIHdpdGhvdXQgbmlkIGNhbm5vdCBiZSBzZXJpYWxpemVkJylcbiAgfVxuICBjb25zdCBzY2hlbWUgPSBvcHRpb25zLnNjaGVtZSB8fCB1cm5Db21wb25lbnQuc2NoZW1lIHx8ICd1cm4nXG4gIGNvbnN0IG5pZCA9IHVybkNvbXBvbmVudC5uaWQudG9Mb3dlckNhc2UoKVxuICBjb25zdCB1cm5TY2hlbWUgPSBgJHtzY2hlbWV9OiR7b3B0aW9ucy5uaWQgfHwgbmlkfWBcbiAgY29uc3Qgc2NoZW1lSGFuZGxlciA9IGdldFNjaGVtZUhhbmRsZXIodXJuU2NoZW1lKVxuXG4gIGlmIChzY2hlbWVIYW5kbGVyKSB7XG4gICAgdXJuQ29tcG9uZW50ID0gc2NoZW1lSGFuZGxlci5zZXJpYWxpemUodXJuQ29tcG9uZW50LCBvcHRpb25zKVxuICB9XG5cbiAgY29uc3QgdXJpQ29tcG9uZW50ID0gdXJuQ29tcG9uZW50XG4gIGNvbnN0IG5zcyA9IHVybkNvbXBvbmVudC5uc3NcbiAgdXJpQ29tcG9uZW50LnBhdGggPSBgJHtuaWQgfHwgb3B0aW9ucy5uaWR9OiR7bnNzfWBcblxuICBvcHRpb25zLnNraXBFc2NhcGUgPSB0cnVlXG4gIHJldHVybiB1cmlDb21wb25lbnRcbn1cblxuLyoqIEB0eXBlIHtTY2hlbWVGbn0gKi9cbmZ1bmN0aW9uIHVybnV1aWRQYXJzZSAodXJuQ29tcG9uZW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IHV1aWRDb21wb25lbnQgPSB1cm5Db21wb25lbnRcbiAgdXVpZENvbXBvbmVudC51dWlkID0gdXVpZENvbXBvbmVudC5uc3NcbiAgdXVpZENvbXBvbmVudC5uc3MgPSB1bmRlZmluZWRcblxuICBpZiAoIW9wdGlvbnMudG9sZXJhbnQgJiYgKCF1dWlkQ29tcG9uZW50LnV1aWQgfHwgIWlzVVVJRCh1dWlkQ29tcG9uZW50LnV1aWQpKSkge1xuICAgIHV1aWRDb21wb25lbnQuZXJyb3IgPSB1dWlkQ29tcG9uZW50LmVycm9yIHx8ICdVVUlEIGlzIG5vdCB2YWxpZC4nXG4gIH1cblxuICByZXR1cm4gdXVpZENvbXBvbmVudFxufVxuXG4vKiogQHR5cGUge1NjaGVtZUZufSAqL1xuZnVuY3Rpb24gdXJudXVpZFNlcmlhbGl6ZSAodXVpZENvbXBvbmVudCkge1xuICBjb25zdCB1cm5Db21wb25lbnQgPSB1dWlkQ29tcG9uZW50XG4gIC8vIG5vcm1hbGl6ZSBVVUlEXG4gIHVybkNvbXBvbmVudC5uc3MgPSAodXVpZENvbXBvbmVudC51dWlkIHx8ICcnKS50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiB1cm5Db21wb25lbnRcbn1cblxuY29uc3QgaHR0cCA9IC8qKiBAdHlwZSB7U2NoZW1lSGFuZGxlcn0gKi8gKHtcbiAgc2NoZW1lOiAnaHR0cCcsXG4gIGRvbWFpbkhvc3Q6IHRydWUsXG4gIHBhcnNlOiBodHRwUGFyc2UsXG4gIHNlcmlhbGl6ZTogaHR0cFNlcmlhbGl6ZVxufSlcblxuY29uc3QgaHR0cHMgPSAvKiogQHR5cGUge1NjaGVtZUhhbmRsZXJ9ICovICh7XG4gIHNjaGVtZTogJ2h0dHBzJyxcbiAgZG9tYWluSG9zdDogaHR0cC5kb21haW5Ib3N0LFxuICBwYXJzZTogaHR0cFBhcnNlLFxuICBzZXJpYWxpemU6IGh0dHBTZXJpYWxpemVcbn0pXG5cbmNvbnN0IHdzID0gLyoqIEB0eXBlIHtTY2hlbWVIYW5kbGVyfSAqLyAoe1xuICBzY2hlbWU6ICd3cycsXG4gIGRvbWFpbkhvc3Q6IHRydWUsXG4gIHBhcnNlOiB3c1BhcnNlLFxuICBzZXJpYWxpemU6IHdzU2VyaWFsaXplXG59KVxuXG5jb25zdCB3c3MgPSAvKiogQHR5cGUge1NjaGVtZUhhbmRsZXJ9ICovICh7XG4gIHNjaGVtZTogJ3dzcycsXG4gIGRvbWFpbkhvc3Q6IHdzLmRvbWFpbkhvc3QsXG4gIHBhcnNlOiB3cy5wYXJzZSxcbiAgc2VyaWFsaXplOiB3cy5zZXJpYWxpemVcbn0pXG5cbmNvbnN0IHVybiA9IC8qKiBAdHlwZSB7U2NoZW1lSGFuZGxlcn0gKi8gKHtcbiAgc2NoZW1lOiAndXJuJyxcbiAgcGFyc2U6IHVyblBhcnNlLFxuICBzZXJpYWxpemU6IHVyblNlcmlhbGl6ZSxcbiAgc2tpcE5vcm1hbGl6ZTogdHJ1ZVxufSlcblxuY29uc3QgdXJudXVpZCA9IC8qKiBAdHlwZSB7U2NoZW1lSGFuZGxlcn0gKi8gKHtcbiAgc2NoZW1lOiAndXJuOnV1aWQnLFxuICBwYXJzZTogdXJudXVpZFBhcnNlLFxuICBzZXJpYWxpemU6IHVybnV1aWRTZXJpYWxpemUsXG4gIHNraXBOb3JtYWxpemU6IHRydWVcbn0pXG5cbmNvbnN0IFNDSEVNRVMgPSAvKiogQHR5cGUge1JlY29yZDxTY2hlbWVOYW1lLCBTY2hlbWVIYW5kbGVyPn0gKi8gKHtcbiAgaHR0cCxcbiAgaHR0cHMsXG4gIHdzLFxuICB3c3MsXG4gIHVybixcbiAgJ3Vybjp1dWlkJzogdXJudXVpZFxufSlcblxuT2JqZWN0LnNldFByb3RvdHlwZU9mKFNDSEVNRVMsIG51bGwpXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd8dW5kZWZpbmVkfSBzY2hlbWVcbiAqIEByZXR1cm5zIHtTY2hlbWVIYW5kbGVyfHVuZGVmaW5lZH1cbiAqL1xuZnVuY3Rpb24gZ2V0U2NoZW1lSGFuZGxlciAoc2NoZW1lKSB7XG4gIHJldHVybiAoXG4gICAgc2NoZW1lICYmIChcbiAgICAgIFNDSEVNRVNbLyoqIEB0eXBlIHtTY2hlbWVOYW1lfSAqLyAoc2NoZW1lKV0gfHxcbiAgICAgIFNDSEVNRVNbLyoqIEB0eXBlIHtTY2hlbWVOYW1lfSAqLyhzY2hlbWUudG9Mb3dlckNhc2UoKSldKVxuICApIHx8XG4gICAgdW5kZWZpbmVkXG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICB3c0lzU2VjdXJlLFxuICBTQ0hFTUVTLFxuICBpc1ZhbGlkU2NoZW1lTmFtZSxcbiAgZ2V0U2NoZW1lSGFuZGxlcixcbn1cbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF0sIm1hcHBpbmdzIjoiOzs7O0NBRUEsTUFBTSxFQUFFLFdBQUEsY0FBQTtDQUNSLE1BQU0sVUFBVTtDQUVoQixNQUFNLHVCQUE2QztFQUFDO0VBQVE7RUFBUztFQUNuRTtFQUFPO0VBQU87Q0FBVTs7Ozs7O0NBUTFCLFNBQVMsa0JBQW1CLE1BQU07RUFDaEMsT0FBTyxxQkFBcUIsUUFBMEIsSUFBSyxNQUFNO0NBQ25FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3QkEsU0FBUyxXQUFZLGFBQWE7RUFDaEMsSUFBSSxZQUFZLFdBQVcsTUFDekIsT0FBTztPQUNGLElBQUksWUFBWSxXQUFXLE9BQ2hDLE9BQU87T0FDRixJQUFJLFlBQVksUUFDckIsT0FDRSxZQUFZLE9BQU8sV0FBVyxNQUM3QixZQUFZLE9BQU8sT0FBTyxPQUFPLFlBQVksT0FBTyxPQUFPLFNBQzNELFlBQVksT0FBTyxPQUFPLE9BQU8sWUFBWSxPQUFPLE9BQU8sU0FDM0QsWUFBWSxPQUFPLE9BQU8sT0FBTyxZQUFZLE9BQU8sT0FBTztPQUc5RCxPQUFPO0NBRVg7O0NBR0EsU0FBUyxVQUFXLFdBQVc7RUFDN0IsSUFBSSxDQUFDLFVB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
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
|
|
3
|
+
var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
|
+
/** @type {(value: string) => boolean} */
|
|
5
|
+
const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
6
|
+
/** @type {(value: string) => boolean} */
|
|
7
|
+
const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
8
|
+
/**
|
|
9
|
+
* @param {Array<string>} input
|
|
10
|
+
* @returns {string}
|
|
11
|
+
*/
|
|
12
|
+
function stringArrayToHexStripped(input) {
|
|
13
|
+
let acc = "";
|
|
14
|
+
let code = 0;
|
|
15
|
+
let i = 0;
|
|
16
|
+
for (i = 0; i < input.length; i++) {
|
|
17
|
+
code = input[i].charCodeAt(0);
|
|
18
|
+
if (code === 48) continue;
|
|
19
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) return "";
|
|
20
|
+
acc += input[i];
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
for (i += 1; i < input.length; i++) {
|
|
24
|
+
code = input[i].charCodeAt(0);
|
|
25
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) return "";
|
|
26
|
+
acc += input[i];
|
|
27
|
+
}
|
|
28
|
+
return acc;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @typedef {Object} GetIPV6Result
|
|
32
|
+
* @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
|
|
33
|
+
* @property {string} address - The parsed IPv6 address.
|
|
34
|
+
* @property {string} [zone] - The zone identifier, if present.
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* @param {string} value
|
|
38
|
+
* @returns {boolean}
|
|
39
|
+
*/
|
|
40
|
+
const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
|
|
41
|
+
/**
|
|
42
|
+
* @param {Array<string>} buffer
|
|
43
|
+
* @returns {boolean}
|
|
44
|
+
*/
|
|
45
|
+
function consumeIsZone(buffer) {
|
|
46
|
+
buffer.length = 0;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @param {Array<string>} buffer
|
|
51
|
+
* @param {Array<string>} address
|
|
52
|
+
* @param {GetIPV6Result} output
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
function consumeHextets(buffer, address, output) {
|
|
56
|
+
if (buffer.length) {
|
|
57
|
+
const hex = stringArrayToHexStripped(buffer);
|
|
58
|
+
if (hex !== "") address.push(hex);
|
|
59
|
+
else {
|
|
60
|
+
output.error = true;
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
buffer.length = 0;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @param {string} input
|
|
69
|
+
* @returns {GetIPV6Result}
|
|
70
|
+
*/
|
|
71
|
+
function getIPV6(input) {
|
|
72
|
+
let tokenCount = 0;
|
|
73
|
+
const output = {
|
|
74
|
+
error: false,
|
|
75
|
+
address: "",
|
|
76
|
+
zone: ""
|
|
77
|
+
};
|
|
78
|
+
/** @type {Array<string>} */
|
|
79
|
+
const address = [];
|
|
80
|
+
/** @type {Array<string>} */
|
|
81
|
+
const buffer = [];
|
|
82
|
+
let endipv6Encountered = false;
|
|
83
|
+
let endIpv6 = false;
|
|
84
|
+
let consume = consumeHextets;
|
|
85
|
+
for (let i = 0; i < input.length; i++) {
|
|
86
|
+
const cursor = input[i];
|
|
87
|
+
if (cursor === "[" || cursor === "]") continue;
|
|
88
|
+
if (cursor === ":") {
|
|
89
|
+
if (endipv6Encountered === true) endIpv6 = true;
|
|
90
|
+
if (!consume(buffer, address, output)) break;
|
|
91
|
+
if (++tokenCount > 7) {
|
|
92
|
+
output.error = true;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
if (i > 0 && input[i - 1] === ":") endipv6Encountered = true;
|
|
96
|
+
address.push(":");
|
|
97
|
+
continue;
|
|
98
|
+
} else if (cursor === "%") {
|
|
99
|
+
if (!consume(buffer, address, output)) break;
|
|
100
|
+
consume = consumeIsZone;
|
|
101
|
+
} else {
|
|
102
|
+
buffer.push(cursor);
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (buffer.length) if (consume === consumeIsZone) output.zone = buffer.join("");
|
|
107
|
+
else if (endIpv6) address.push(buffer.join(""));
|
|
108
|
+
else address.push(stringArrayToHexStripped(buffer));
|
|
109
|
+
output.address = address.join("");
|
|
110
|
+
return output;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @typedef {Object} NormalizeIPv6Result
|
|
114
|
+
* @property {string} host - The normalized host.
|
|
115
|
+
* @property {string} [escapedHost] - The escaped host.
|
|
116
|
+
* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
|
|
117
|
+
*/
|
|
118
|
+
/**
|
|
119
|
+
* @param {string} host
|
|
120
|
+
* @returns {NormalizeIPv6Result}
|
|
121
|
+
*/
|
|
122
|
+
function normalizeIPv6(host) {
|
|
123
|
+
if (findToken(host, ":") < 2) return {
|
|
124
|
+
host,
|
|
125
|
+
isIPV6: false
|
|
126
|
+
};
|
|
127
|
+
const ipv6 = getIPV6(host);
|
|
128
|
+
if (!ipv6.error) {
|
|
129
|
+
let newHost = ipv6.address;
|
|
130
|
+
let escapedHost = ipv6.address;
|
|
131
|
+
if (ipv6.zone) {
|
|
132
|
+
newHost += "%" + ipv6.zone;
|
|
133
|
+
escapedHost += "%25" + ipv6.zone;
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
host: newHost,
|
|
137
|
+
isIPV6: true,
|
|
138
|
+
escapedHost
|
|
139
|
+
};
|
|
140
|
+
} else return {
|
|
141
|
+
host,
|
|
142
|
+
isIPV6: false
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @param {string} str
|
|
147
|
+
* @param {string} token
|
|
148
|
+
* @returns {number}
|
|
149
|
+
*/
|
|
150
|
+
function findToken(str, token) {
|
|
151
|
+
let ind = 0;
|
|
152
|
+
for (let i = 0; i < str.length; i++) if (str[i] === token) ind++;
|
|
153
|
+
return ind;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @param {string} path
|
|
157
|
+
* @returns {string}
|
|
158
|
+
*
|
|
159
|
+
* @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
|
|
160
|
+
*/
|
|
161
|
+
function removeDotSegments(path) {
|
|
162
|
+
let input = path;
|
|
163
|
+
const output = [];
|
|
164
|
+
let nextSlash = -1;
|
|
165
|
+
let len = 0;
|
|
166
|
+
while (len = input.length) {
|
|
167
|
+
if (len === 1) if (input === ".") break;
|
|
168
|
+
else if (input === "/") {
|
|
169
|
+
output.push("/");
|
|
170
|
+
break;
|
|
171
|
+
} else {
|
|
172
|
+
output.push(input);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
else if (len === 2) {
|
|
176
|
+
if (input[0] === ".") {
|
|
177
|
+
if (input[1] === ".") break;
|
|
178
|
+
else if (input[1] === "/") {
|
|
179
|
+
input = input.slice(2);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
} else if (input[0] === "/") {
|
|
183
|
+
if (input[1] === "." || input[1] === "/") {
|
|
184
|
+
output.push("/");
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
} else if (len === 3) {
|
|
189
|
+
if (input === "/..") {
|
|
190
|
+
if (output.length !== 0) output.pop();
|
|
191
|
+
output.push("/");
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (input[0] === ".") {
|
|
196
|
+
if (input[1] === ".") {
|
|
197
|
+
if (input[2] === "/") {
|
|
198
|
+
input = input.slice(3);
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
} else if (input[1] === "/") {
|
|
202
|
+
input = input.slice(2);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
} else if (input[0] === "/") {
|
|
206
|
+
if (input[1] === ".") {
|
|
207
|
+
if (input[2] === "/") {
|
|
208
|
+
input = input.slice(2);
|
|
209
|
+
continue;
|
|
210
|
+
} else if (input[2] === ".") {
|
|
211
|
+
if (input[3] === "/") {
|
|
212
|
+
input = input.slice(3);
|
|
213
|
+
if (output.length !== 0) output.pop();
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if ((nextSlash = input.indexOf("/", 1)) === -1) {
|
|
220
|
+
output.push(input);
|
|
221
|
+
break;
|
|
222
|
+
} else {
|
|
223
|
+
output.push(input.slice(0, nextSlash));
|
|
224
|
+
input = input.slice(nextSlash);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return output.join("");
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* @param {import('../types/index').URIComponent} component
|
|
231
|
+
* @param {boolean} esc
|
|
232
|
+
* @returns {import('../types/index').URIComponent}
|
|
233
|
+
*/
|
|
234
|
+
function normalizeComponentEncoding(component, esc) {
|
|
235
|
+
const func = esc !== true ? escape : unescape;
|
|
236
|
+
if (component.scheme !== void 0) component.scheme = func(component.scheme);
|
|
237
|
+
if (component.userinfo !== void 0) component.userinfo = func(component.userinfo);
|
|
238
|
+
if (component.host !== void 0) component.host = func(component.host);
|
|
239
|
+
if (component.path !== void 0) component.path = func(component.path);
|
|
240
|
+
if (component.query !== void 0) component.query = func(component.query);
|
|
241
|
+
if (component.fragment !== void 0) component.fragment = func(component.fragment);
|
|
242
|
+
return component;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* @param {import('../types/index').URIComponent} component
|
|
246
|
+
* @returns {string|undefined}
|
|
247
|
+
*/
|
|
248
|
+
function recomposeAuthority(component) {
|
|
249
|
+
const uriTokens = [];
|
|
250
|
+
if (component.userinfo !== void 0) {
|
|
251
|
+
uriTokens.push(component.userinfo);
|
|
252
|
+
uriTokens.push("@");
|
|
253
|
+
}
|
|
254
|
+
if (component.host !== void 0) {
|
|
255
|
+
let host = unescape(component.host);
|
|
256
|
+
if (!isIPv4(host)) {
|
|
257
|
+
const ipV6res = normalizeIPv6(host);
|
|
258
|
+
if (ipV6res.isIPV6 === true) host = `[${ipV6res.escapedHost}]`;
|
|
259
|
+
else host = component.host;
|
|
260
|
+
}
|
|
261
|
+
uriTokens.push(host);
|
|
262
|
+
}
|
|
263
|
+
if (typeof component.port === "number" || typeof component.port === "string") {
|
|
264
|
+
uriTokens.push(":");
|
|
265
|
+
uriTokens.push(String(component.port));
|
|
266
|
+
}
|
|
267
|
+
return uriTokens.length ? uriTokens.join("") : void 0;
|
|
268
|
+
}
|
|
269
|
+
module.exports = {
|
|
270
|
+
nonSimpleDomain,
|
|
271
|
+
recomposeAuthority,
|
|
272
|
+
normalizeComponentEncoding,
|
|
273
|
+
removeDotSegments,
|
|
274
|
+
isIPv4,
|
|
275
|
+
isUUID,
|
|
276
|
+
normalizeIPv6,
|
|
277
|
+
stringArrayToHexStripped
|
|
278
|
+
};
|
|
279
|
+
}));
|
|
280
|
+
//#endregion
|
|
281
|
+
export default require_utils();
|
|
282
|
+
export { require_utils };
|
|
283
|
+
|
|
284
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2Zhc3QtdXJpQDMuMS4wL25vZGVfbW9kdWxlcy9mYXN0LXVyaS9saWIvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbi8qKiBAdHlwZSB7KHZhbHVlOiBzdHJpbmcpID0+IGJvb2xlYW59ICovXG5jb25zdCBpc1VVSUQgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QuYmluZCgvXltcXGRhLWZdezh9LVtcXGRhLWZdezR9LVtcXGRhLWZdezR9LVtcXGRhLWZdezR9LVtcXGRhLWZdezEyfSQvaXUpXG5cbi8qKiBAdHlwZSB7KHZhbHVlOiBzdHJpbmcpID0+IGJvb2xlYW59ICovXG5jb25zdCBpc0lQdjQgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QuYmluZCgvXig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGR7Mn18WzEtOV1cXGR8XFxkKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVxcZHwxXFxkezJ9fFsxLTldXFxkfFxcZCkkL3UpXG5cbi8qKlxuICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBpbnB1dFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24gc3RyaW5nQXJyYXlUb0hleFN0cmlwcGVkIChpbnB1dCkge1xuICBsZXQgYWNjID0gJydcbiAgbGV0IGNvZGUgPSAwXG4gIGxldCBpID0gMFxuXG4gIGZvciAoaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xuICAgIGNvZGUgPSBpbnB1dFtpXS5jaGFyQ29kZUF0KDApXG4gICAgaWYgKGNvZGUgPT09IDQ4KSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoISgoY29kZSA+PSA0OCAmJiBjb2RlIDw9IDU3KSB8fCAoY29kZSA+PSA2NSAmJiBjb2RlIDw9IDcwKSB8fCAoY29kZSA+PSA5NyAmJiBjb2RlIDw9IDEwMikpKSB7XG4gICAgICByZXR1cm4gJydcbiAgICB9XG4gICAgYWNjICs9IGlucHV0W2ldXG4gICAgYnJlYWtcbiAgfVxuXG4gIGZvciAoaSArPSAxOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICBjb2RlID0gaW5wdXRbaV0uY2hhckNvZGVBdCgwKVxuICAgIGlmICghKChjb2RlID49IDQ4ICYmIGNvZGUgPD0gNTcpIHx8IChjb2RlID49IDY1ICYmIGNvZGUgPD0gNzApIHx8IChjb2RlID49IDk3ICYmIGNvZGUgPD0gMTAyKSkpIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgICBhY2MgKz0gaW5wdXRbaV1cbiAgfVxuICByZXR1cm4gYWNjXG59XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gR2V0SVBWNlJlc3VsdFxuICogQHByb3BlcnR5IHtib29sZWFufSBlcnJvciAtIEluZGljYXRlcyBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgSVB2NiBhZGRyZXNzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgcGFyc2VkIElQdjYgYWRkcmVzcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbem9uZV0gLSBUaGUgem9uZSBpZGVudGlmaWVyLCBpZiBwcmVzZW50LlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuY29uc3Qgbm9uU2ltcGxlRG9tYWluID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0LmJpbmQoL1teIVwiJCYnKCkqKyxcXC0uOz1fYGEtent9fl0vdSlcblxuLyoqXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGJ1ZmZlclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGNvbnN1bWVJc1pvbmUgKGJ1ZmZlcikge1xuICBidWZmZXIubGVuZ3RoID0gMFxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gYnVmZmVyXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGFkZHJlc3NcbiAqIEBwYXJhbSB7R2V0SVBWNlJlc3VsdH0gb3V0cHV0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY29uc3VtZUhleHRldHMgKGJ1ZmZlciwgYWRkcmVzcywgb3V0cHV0KSB7XG4gIGlmIChidWZmZXIubGVuZ3RoKSB7XG4gICAgY29uc3QgaGV4ID0gc3RyaW5nQXJyYXlUb0hleFN0cmlwcGVkKGJ1ZmZlcilcbiAgICBpZiAoaGV4ICE9PSAnJykge1xuICAgICAgYWRkcmVzcy5wdXNoKGhleClcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0LmVycm9yID0gdHJ1ZVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGJ1ZmZlci5sZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIHRydWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXRcbiAqIEByZXR1cm5zIHtHZXRJUFY2UmVzdWx0fVxuICovXG5mdW5jdGlvbiBnZXRJUFY2IChpbnB1dCkge1xuICBsZXQgdG9rZW5Db3VudCA9IDBcbiAgY29uc3Qgb3V0cHV0ID0geyBlcnJvcjogZmFsc2UsIGFkZHJlc3M6ICcnLCB6b25lOiAnJyB9XG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29uc3QgYWRkcmVzcyA9IFtdXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29uc3QgYnVmZmVyID0gW11cbiAgbGV0IGVuZGlwdjZFbmNvdW50ZXJlZCA9IGZhbHNlXG4gIGxldCBlbmRJcHY2ID0gZmFsc2VcblxuICBsZXQgY29uc3VtZSA9IGNvbnN1bWVIZXh0ZXRzXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnNvciA9IGlucHV0W2ldXG4gICAgaWYgKGN1cnNvciA9PT0gJ1snIHx8IGN1cnNvciA9PT0gJ10nKSB7IGNvbnRpbnVlIH1cbiAgICBpZiAoY3Vyc29yID09PSAnOicpIHtcbiAgICAgIGlmIChlbmRpcHY2RW5jb3VudGVyZWQgPT09IHRydWUpIHtcbiAgICAgICAgZW5kSXB2NiA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmICghY29uc3VtZShidWZmZXIsIGFkZHJlc3MsIG91dHB1dCkpIHsgYnJlYWsgfVxuICAgICAgaWYgKCsrdG9rZW5Db3VudCA+IDcpIHtcbiAgICAgICAgLy8gbm90IHZhbGlkXG4gICAgICAgIG91dHB1dC5lcnJvciA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGlmIChpID4gMCAmJiBpbnB1dFtpIC0gMV0gPT09ICc6Jykge1xuICAgICAgICBlbmRpcHY2RW5jb3VudGVyZWQgPSB0cnVlXG4gICAgICB9XG4gICAgICBhZGRyZXNzLnB1c2goJzonKVxuICAgICAgY29udGludWVcbiAgICB9IGVsc2UgaWYgKGN1cnNvciA9PT0gJyUnKSB7XG4gICAgICBpZiAoIWNvbnN1bWUoYnVmZmVyLCBhZGRyZXNzLCBvdXRwdXQpKSB7IGJyZWFrIH1cbiAgICAgIC8vIHN3aXRjaCB0byB6b25lIGRldGVjdGlvblxuICAgICAgY29uc3VtZSA9IGNvbnN1bWVJc1pvbmVcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLnB1c2goY3Vyc29yKVxuICAgICAgY29udGludWVcbiAgICB9XG4gIH1cbiAgaWYgKGJ1ZmZlci5sZW5ndGgpIHtcbiAgICBpZiAoY29uc3VtZSA9PT0gY29uc3VtZUlzWm9uZSkge1xuICAgICAgb3V0cHV0LnpvbmUgPSBidWZmZXIuam9pbignJylcbiAgICB9IGVsc2UgaWYgKGVuZElwdjYpIHtcbiAgICAgIGFkZHJlc3MucHVzaChidWZmZXIuam9pbignJykpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZHJlc3MucHVzaChzdHJpbmdBcnJheVRvSGV4U3RyaXBwZWQoYnVmZmVyKSlcbiAgICB9XG4gIH1cbiAgb3V0cHV0LmFkZHJlc3MgPSBhZGRyZXNzLmpvaW4oJycpXG4gIHJldHVybiBvdXRwdXRcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBOb3JtYWxpemVJUHY2UmVzdWx0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gaG9zdCAtIFRoZSBub3JtYWxpemVkIGhvc3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2VzY2FwZWRIb3N0XSAtIFRoZSBlc2NhcGVkIGhvc3QuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGlzSVBWNiAtIEluZGljYXRlcyBpZiB0aGUgaG9zdCBpcyBhbiBJUHY2IGFkZHJlc3MuXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gaG9zdFxuICogQHJldHVybnMge05vcm1hbGl6ZUlQdjZSZXN1bHR9XG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUlQdjYgKGhvc3QpIHtcbiAgaWYgKGZpbmRUb2tlbihob3N0LCAnOicpIDwgMikgeyByZXR1cm4geyBob3N0LCBpc0lQVjY6IGZhbHNlIH0gfVxuICBjb25zdCBpcHY2ID0gZ2V0SVBWNihob3N0KVxuXG4gIGlmICghaXB2Ni5lcnJvcikge1xuICAgIGxldCBuZXdIb3N0ID0gaXB2Ni5hZGRyZXNzXG4gICAgbGV0IGVzY2FwZWRIb3N0ID0gaXB2Ni5hZGRyZXNzXG4gICAgaWYgKGlwdjYuem9uZSkge1xuICAgICAgbmV3SG9zdCArPSAnJScgKyBpcHY2LnpvbmVcbiAgICAgIGVzY2FwZWRIb3N0ICs9ICclMjUnICsgaXB2Ni56b25lXG4gICAgfVxuICAgIHJldHVybiB7IGhvc3Q6IG5ld0hvc3QsIGlzSVBWNjogdHJ1ZSwgZXNjYXBlZEhvc3QgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IGhvc3QsIGlzSVBWNjogZmFsc2UgfVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICogQHBhcmFtIHtzdHJpbmd9IHRva2VuXG4gKiBAcmV0dXJucyB7bnVtYmVyfVxuICovXG5mdW5jdGlvbiBmaW5kVG9rZW4gKHN0ciwgdG9rZW4pIHtcbiAgbGV0IGluZCA9IDBcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3RyW2ldID09PSB0b2tlbikgaW5kKytcbiAgfVxuICByZXR1cm4gaW5kXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKlxuICogQHNlZSBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzM5ODYjc2VjdGlvbi01LjIuNFxuICovXG5mdW5jdGlvbiByZW1vdmVEb3RTZWdtZW50cyAocGF0aCkge1xuICBsZXQgaW5wdXQgPSBwYXRoXG4gIGNvbnN0IG91dHB1dCA9IFtdXG4gIGxldCBuZXh0U2xhc2ggPSAtMVxuICBsZXQgbGVuID0gMFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25kLWFzc2lnblxuICB3aGlsZSAobGVuID0gaW5wdXQubGVuZ3RoKSB7XG4gICAgaWYgKGxlbiA9PT0gMSkge1xuICAgICAgaWYgKGlucHV0ID09PSAnLicpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT09ICcvJykge1xuICAgICAgICBvdXRwdXQucHVzaCgnLycpXG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRwdXQucHVzaChpbnB1dClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGxlbiA9PT0gMikge1xuICAgICAgaWYgKGlucHV0WzBdID09PSAnLicpIHtcbiAgICAgICAgaWYgKGlucHV0WzFdID09PSAnLicpIHtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2UgaWYgKGlucHV0WzFdID09PSAnLycpIHtcbiAgICAgICAgICBpbnB1dCA9IGlucHV0LnNsaWNlKDIpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpbnB1dFswXSA9PT0gJy8nKSB7XG4gICAgICAgIGlmIChpbnB1dFsxXSA9PT0gJy4nIHx8IGlucHV0WzFdID09PSAnLycpIHtcbiAgICAgICAgICBvdXRwdXQucHVzaCgnLycpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobGVuID09PSAzKSB7XG4gICAgICBpZiAoaW5wdXQgPT09ICcvLi4nKSB7XG4gICAgICAgIGlmIChvdXRwdXQubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgb3V0cHV0LnBvcCgpXG4gICAgICAgIH1cbiAgICAgICAgb3V0cHV0LnB1c2goJy8nKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW5wdXRbMF0gPT09ICcuJykge1xuICAgICAgaWYgKGlucHV0WzFdID09PSAnLicpIHtcbiAgICAgICAgaWYgKGlucHV0WzJdID09PSAnLycpIHtcbiAgICAgICAgICBpbnB1dCA9IGlucHV0LnNsaWNlKDMpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpbnB1dFsxXSA9PT0gJy8nKSB7XG4gICAgICAgIGlucHV0ID0gaW5wdXQuc2xpY2UoMilcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlucHV0WzBdID09PSAnLycpIHtcbiAgICAgIGlmIChpbnB1dFsxXSA9PT0gJy4nKSB7XG4gICAgICAgIGlmIChpbnB1dFsyXSA9PT0gJy8nKSB7XG4gICAgICAgICAgaW5wdXQgPSBpbnB1dC5zbGljZSgyKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRbMl0gPT09ICcuJykge1xuICAgICAgICAgIGlmIChpbnB1dFszXSA9PT0gJy8nKSB7XG4gICAgICAgICAgICBpbnB1dCA9IGlucHV0LnNsaWNlKDMpXG4gICAgICAgICAgICBpZiAob3V0cHV0Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICBvdXRwdXQucG9wKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUnVsZSAyRTogTW92ZSBub3JtYWwgcGF0aCBzZWdtZW50IHRvIG91dHB1dFxuICAgIGlmICgobmV4dFNsYXNoID0gaW5wdXQuaW5kZXhPZignLycsIDEpKSA9PT0gLTEpIHtcbiAgICAgIG91dHB1dC5wdXNoKGlucHV0KVxuICAgICAgYnJlYWtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0LnB1c2goaW5wdXQuc2xpY2UoMCwgbmV4dFNsYXNoKSlcbiAgICAgIGlucHV0ID0gaW5wdXQuc2xpY2UobmV4dFNsYXNoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvdXRwdXQuam9pbignJylcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdHlwZXMvaW5kZXgnKS5VUklDb21wb25lbnR9IGNvbXBvbmVudFxuICogQHBhcmFtIHtib29sZWFufSBlc2NcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4uL3R5cGVzL2luZGV4JykuVVJJQ29tcG9uZW50fVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnRFbmNvZGluZyAoY29tcG9uZW50LCBlc2MpIHtcbiAgY29uc3QgZnVuYyA9IGVzYyAhPT0gdHJ1ZSA/IGVzY2FwZSA6IHVuZXNjYXBlXG4gIGlmIChjb21wb25lbnQuc2NoZW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb21wb25lbnQuc2NoZW1lID0gZnVuYyhjb21wb25lbnQuc2NoZW1lKVxuICB9XG4gIGlmIChjb21wb25lbnQudXNlcmluZm8gIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbXBvbmVudC51c2VyaW5mbyA9IGZ1bmMoY29tcG9uZW50LnVzZXJpbmZvKVxuICB9XG4gIGlmIChjb21wb25lbnQuaG9zdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29tcG9uZW50Lmhvc3QgPSBmdW5jKGNvbXBvbmVudC5ob3N0KVxuICB9XG4gIGlmIChjb21wb25lbnQucGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29tcG9uZW50LnBhdGggPSBmdW5jKGNvbXBvbmVudC5wYXRoKVxuICB9XG4gIGlmIChjb21wb25lbnQucXVlcnkgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbXBvbmVudC5xdWVyeSA9IGZ1bmMoY29tcG9uZW50LnF1ZXJ5KVxuICB9XG4gIGlmIChjb21wb25lbnQuZnJhZ21lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbXBvbmVudC5mcmFnbWVudCA9IGZ1bmMoY29tcG9uZW50LmZyYWdtZW50KVxuICB9XG4gIHJldHVybiBjb21wb25lbnRcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdHlwZXMvaW5kZXgnKS5VUklDb21wb25lbnR9IGNvbXBvbmVudFxuICogQHJldHVybnMge3N0cmluZ3x1bmRlZmluZWR9XG4gKi9cbmZ1bmN0aW9uIHJlY29tcG9zZUF1dGhvcml0eSAoY29tcG9uZW50KSB7XG4gIGNvbnN0IHVyaVRva2VucyA9IFtdXG5cbiAgaWYgKGNvbXBvbmVudC51c2VyaW5mbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdXJpVG9rZW5zLnB1c2goY29tcG9uZW50LnVzZXJpbmZvKVxuICAgIHVyaVRva2Vucy5wdXNoKCdAJylcbiAgfVxuXG4gIGlmIChjb21wb25lbnQuaG9zdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGhvc3QgPSB1bmVzY2FwZShjb21wb25lbnQuaG9zdClcbiAgICBpZiAoIWlzSVB2NChob3N0KSkge1xuICAgICAgY29uc3QgaXBWNnJlcyA9IG5vcm1hbGl6ZUlQdjYoaG9zdClcbiAgICAgIGlmIChpcFY2cmVzLmlzSVBWNiA9PT0gdHJ1ZSkge1xuICAgICAgICBob3N0ID0gYFske2lwVjZyZXMuZXNjYXBlZEhvc3R9XWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhvc3QgPSBjb21wb25lbnQuaG9zdFxuICAgICAgfVxuICAgIH1cbiAgICB1cmlUb2tlbnMucHVzaChob3N0KVxuICB9XG5cbiAgaWYgKHR5cGVvZiBjb21wb25lbnQucG9ydCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGNvbXBvbmVudC5wb3J0ID09PSAnc3RyaW5nJykge1xuICAgIHVyaVRva2Vucy5wdXNoKCc6JylcbiAgICB1cmlUb2tlbnMucHVzaChTdHJpbmcoY29tcG9uZW50LnBvcnQpKVxuICB9XG5cbiAgcmV0dXJuIHVyaVRva2Vucy5sZW5ndGggPyB1cmlUb2tlbnMuam9pbignJykgOiB1bmRlZmluZWRcbn07XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBub25TaW1wbGVEb21haW4sXG4gIHJlY29tcG9zZUF1dGhvcml0eSxcbiAgbm9ybWFsaXplQ29tcG9uZW50RW5jb2RpbmcsXG4gIHJlbW92ZURvdFNlZ21lbnRzLFxuICBpc0lQdjQsXG4gIGlzVVVJRCxcbiAgbm9ybWFsaXplSVB2NixcbiAgc3RyaW5nQXJyYXlUb0hleFN0cmlwcGVkXG59XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6Ijs7OztDQUdBLE1BQU0sU0FBUyxPQUFPLFVBQVUsS0FBSyxLQUFLLDZEQUE2RDs7Q0FHdkcsTUFBTSxTQUFTLE9BQU8sVUFBVSxLQUFLLEtBQUssMEZBQTBGOzs7OztDQU1wSSxTQUFTLHlCQUEwQixPQUFPO0VBQ3hDLElBQUksTUFBTTtFQUNWLElBQUksT0FBTztFQUNYLElBQUksSUFBSTtFQUVSLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxRQUFRLEtBQUs7R0FDakMsT0FBTyxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7R0FDNUIsSUFBSSxTQUFTLElBQ1g7R0FFRixJQUFJLEVBQUcsUUFBUSxNQUFNLFFBQVEsTUFBUSxRQUFRLE1BQU0sUUFBUSxNQUFRLFFBQVEsTUFBTSxRQUFRLE1BQ3ZGLE9BQU87R0FFVCxPQUFPLE1BQU07R0FDYjtFQUNGO0VBRUEsS0FBSyxLQUFLLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztHQUNsQyxPQUFPLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztHQUM1QixJ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
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
|
|
3
|
+
var require_json_schema_traverse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
|
+
var traverse = module.exports = function(schema, opts, cb) {
|
|
5
|
+
if (typeof opts == "function") {
|
|
6
|
+
cb = opts;
|
|
7
|
+
opts = {};
|
|
8
|
+
}
|
|
9
|
+
cb = opts.cb || cb;
|
|
10
|
+
var pre = typeof cb == "function" ? cb : cb.pre || function() {};
|
|
11
|
+
var post = cb.post || function() {};
|
|
12
|
+
_traverse(opts, pre, post, schema, "", schema);
|
|
13
|
+
};
|
|
14
|
+
traverse.keywords = {
|
|
15
|
+
additionalItems: true,
|
|
16
|
+
items: true,
|
|
17
|
+
contains: true,
|
|
18
|
+
additionalProperties: true,
|
|
19
|
+
propertyNames: true,
|
|
20
|
+
not: true,
|
|
21
|
+
if: true,
|
|
22
|
+
then: true,
|
|
23
|
+
else: true
|
|
24
|
+
};
|
|
25
|
+
traverse.arrayKeywords = {
|
|
26
|
+
items: true,
|
|
27
|
+
allOf: true,
|
|
28
|
+
anyOf: true,
|
|
29
|
+
oneOf: true
|
|
30
|
+
};
|
|
31
|
+
traverse.propsKeywords = {
|
|
32
|
+
$defs: true,
|
|
33
|
+
definitions: true,
|
|
34
|
+
properties: true,
|
|
35
|
+
patternProperties: true,
|
|
36
|
+
dependencies: true
|
|
37
|
+
};
|
|
38
|
+
traverse.skipKeywords = {
|
|
39
|
+
default: true,
|
|
40
|
+
enum: true,
|
|
41
|
+
const: true,
|
|
42
|
+
required: true,
|
|
43
|
+
maximum: true,
|
|
44
|
+
minimum: true,
|
|
45
|
+
exclusiveMaximum: true,
|
|
46
|
+
exclusiveMinimum: true,
|
|
47
|
+
multipleOf: true,
|
|
48
|
+
maxLength: true,
|
|
49
|
+
minLength: true,
|
|
50
|
+
pattern: true,
|
|
51
|
+
format: true,
|
|
52
|
+
maxItems: true,
|
|
53
|
+
minItems: true,
|
|
54
|
+
uniqueItems: true,
|
|
55
|
+
maxProperties: true,
|
|
56
|
+
minProperties: true
|
|
57
|
+
};
|
|
58
|
+
function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
|
|
59
|
+
if (schema && typeof schema == "object" && !Array.isArray(schema)) {
|
|
60
|
+
pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
|
61
|
+
for (var key in schema) {
|
|
62
|
+
var sch = schema[key];
|
|
63
|
+
if (Array.isArray(sch)) {
|
|
64
|
+
if (key in traverse.arrayKeywords) for (var i = 0; i < sch.length; i++) _traverse(opts, pre, post, sch[i], jsonPtr + "/" + key + "/" + i, rootSchema, jsonPtr, key, schema, i);
|
|
65
|
+
} else if (key in traverse.propsKeywords) {
|
|
66
|
+
if (sch && typeof sch == "object") for (var prop in sch) _traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
|
|
67
|
+
} else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) _traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema);
|
|
68
|
+
}
|
|
69
|
+
post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function escapeJsonPtr(str) {
|
|
73
|
+
return str.replace(/~/g, "~0").replace(/\//g, "~1");
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
//#endregion
|
|
77
|
+
export default require_json_schema_traverse();
|
|
78
|
+
export { require_json_schema_traverse };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2pzb24tc2NoZW1hLXRyYXZlcnNlQDEuMC4wL25vZGVfbW9kdWxlcy9qc29uLXNjaGVtYS10cmF2ZXJzZS9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB0cmF2ZXJzZSA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHNjaGVtYSwgb3B0cywgY2IpIHtcbiAgLy8gTGVnYWN5IHN1cHBvcnQgZm9yIHYwLjMuMSBhbmQgZWFybGllci5cbiAgaWYgKHR5cGVvZiBvcHRzID09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IG9wdHM7XG4gICAgb3B0cyA9IHt9O1xuICB9XG5cbiAgY2IgPSBvcHRzLmNiIHx8IGNiO1xuICB2YXIgcHJlID0gKHR5cGVvZiBjYiA9PSAnZnVuY3Rpb24nKSA/IGNiIDogY2IucHJlIHx8IGZ1bmN0aW9uKCkge307XG4gIHZhciBwb3N0ID0gY2IucG9zdCB8fCBmdW5jdGlvbigpIHt9O1xuXG4gIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaGVtYSwgJycsIHNjaGVtYSk7XG59O1xuXG5cbnRyYXZlcnNlLmtleXdvcmRzID0ge1xuICBhZGRpdGlvbmFsSXRlbXM6IHRydWUsXG4gIGl0ZW1zOiB0cnVlLFxuICBjb250YWluczogdHJ1ZSxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG4gIHByb3BlcnR5TmFtZXM6IHRydWUsXG4gIG5vdDogdHJ1ZSxcbiAgaWY6IHRydWUsXG4gIHRoZW46IHRydWUsXG4gIGVsc2U6IHRydWVcbn07XG5cbnRyYXZlcnNlLmFycmF5S2V5d29yZHMgPSB7XG4gIGl0ZW1zOiB0cnVlLFxuICBhbGxPZjogdHJ1ZSxcbiAgYW55T2Y6IHRydWUsXG4gIG9uZU9mOiB0cnVlXG59O1xuXG50cmF2ZXJzZS5wcm9wc0tleXdvcmRzID0ge1xuICAkZGVmczogdHJ1ZSxcbiAgZGVmaW5pdGlvbnM6IHRydWUsXG4gIHByb3BlcnRpZXM6IHRydWUsXG4gIHBhdHRlcm5Qcm9wZXJ0aWVzOiB0cnVlLFxuICBkZXBlbmRlbmNpZXM6IHRydWVcbn07XG5cbnRyYXZlcnNlLnNraXBLZXl3b3JkcyA9IHtcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZW51bTogdHJ1ZSxcbiAgY29uc3Q6IHRydWUsXG4gIHJlcXVpcmVkOiB0cnVlLFxuICBtYXhpbXVtOiB0cnVlLFxuICBtaW5pbXVtOiB0cnVlLFxuICBleGNsdXNpdmVNYXhpbXVtOiB0cnVlLFxuICBleGNsdXNpdmVNaW5pbXVtOiB0cnVlLFxuICBtdWx0aXBsZU9mOiB0cnVlLFxuICBtYXhMZW5ndGg6IHRydWUsXG4gIG1pbkxlbmd0aDogdHJ1ZSxcbiAgcGF0dGVybjogdHJ1ZSxcbiAgZm9ybWF0OiB0cnVlLFxuICBtYXhJdGVtczogdHJ1ZSxcbiAgbWluSXRlbXM6IHRydWUsXG4gIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICBtYXhQcm9wZXJ0aWVzOiB0cnVlLFxuICBtaW5Qcm9wZXJ0aWVzOiB0cnVlXG59O1xuXG5cbmZ1bmN0aW9uIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaGVtYSwganNvblB0ciwgcm9vdFNjaGVtYSwgcGFyZW50SnNvblB0ciwgcGFyZW50S2V5d29yZCwgcGFyZW50U2NoZW1hLCBrZXlJbmRleCkge1xuICBpZiAoc2NoZW1hICYmIHR5cGVvZiBzY2hlbWEgPT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoc2NoZW1hKSkge1xuICAgIHByZShzY2hlbWEsIGpzb25QdHIsIHJvb3RTY2hlbWEsIHBhcmVudEpzb25QdHIsIHBhcmVudEtleXdvcmQsIHBhcmVudFNjaGVtYSwga2V5SW5kZXgpO1xuICAgIGZvciAodmFyIGtleSBpbiBzY2hlbWEpIHtcbiAgICAgIHZhciBzY2ggPSBzY2hlbWFba2V5XTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNjaCkpIHtcbiAgICAgICAgaWYgKGtleSBpbiB0cmF2ZXJzZS5hcnJheUtleXdvcmRzKSB7XG4gICAgICAgICAgZm9yICh2YXIgaT0wOyBpPHNjaC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaFtpXSwganNvblB0ciArICcvJyArIGtleSArICcvJyArIGksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hLCBpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgaW4gdHJhdmVyc2UucHJvcHNLZXl3b3Jkcykge1xuICAgICAgICBpZiAoc2NoICYmIHR5cGVvZiBzY2ggPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHNjaClcbiAgICAgICAgICAgIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaFtwcm9wXSwganNvblB0ciArICcvJyArIGtleSArICcvJyArIGVzY2FwZUpzb25QdHIocHJvcCksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hLCBwcm9wKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgaW4gdHJhdmVyc2Uua2V5d29yZHMgfHwgKG9wdHMuYWxsS2V5cyAmJiAhKGtleSBpbiB0cmF2ZXJzZS5za2lwS2V5d29yZHMpKSkge1xuICAgICAgICBfdHJhdmVyc2Uob3B0cywgcHJlLCBwb3N0LCBzY2gsIGpzb25QdHIgKyAnLycgKyBrZXksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcG9zdChzY2hlbWEsIGpzb25QdHIsIHJvb3RTY2hlbWEsIHBhcmVudEpzb25QdHIsIHBhcmVudEtleXdvcmQsIHBhcmVudFNjaGVtYSwga2V5SW5kZXgpO1xuICB9XG59XG5cblxuZnVuY3Rpb24gZXNjYXBlSnNvblB0cihzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9+L2csICd+MCcpLnJlcGxhY2UoL1xcLy9nLCAn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
|
|
Binary file
|