@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,135 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_util } from "./util.js";
|
|
3
|
+
import { require_fast_deep_equal } from "../../../../../fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js";
|
|
4
|
+
import { require_json_schema_traverse } from "../../../../../json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js";
|
|
5
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js
|
|
6
|
+
var require_resolve = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;
|
|
9
|
+
const util_1 = require_util();
|
|
10
|
+
const equal = require_fast_deep_equal();
|
|
11
|
+
const traverse = require_json_schema_traverse();
|
|
12
|
+
const SIMPLE_INLINED = /* @__PURE__ */ new Set([
|
|
13
|
+
"type",
|
|
14
|
+
"format",
|
|
15
|
+
"pattern",
|
|
16
|
+
"maxLength",
|
|
17
|
+
"minLength",
|
|
18
|
+
"maxProperties",
|
|
19
|
+
"minProperties",
|
|
20
|
+
"maxItems",
|
|
21
|
+
"minItems",
|
|
22
|
+
"maximum",
|
|
23
|
+
"minimum",
|
|
24
|
+
"uniqueItems",
|
|
25
|
+
"multipleOf",
|
|
26
|
+
"required",
|
|
27
|
+
"enum",
|
|
28
|
+
"const"
|
|
29
|
+
]);
|
|
30
|
+
function inlineRef(schema, limit = true) {
|
|
31
|
+
if (typeof schema == "boolean") return true;
|
|
32
|
+
if (limit === true) return !hasRef(schema);
|
|
33
|
+
if (!limit) return false;
|
|
34
|
+
return countKeys(schema) <= limit;
|
|
35
|
+
}
|
|
36
|
+
exports.inlineRef = inlineRef;
|
|
37
|
+
const REF_KEYWORDS = /* @__PURE__ */ new Set([
|
|
38
|
+
"$ref",
|
|
39
|
+
"$recursiveRef",
|
|
40
|
+
"$recursiveAnchor",
|
|
41
|
+
"$dynamicRef",
|
|
42
|
+
"$dynamicAnchor"
|
|
43
|
+
]);
|
|
44
|
+
function hasRef(schema) {
|
|
45
|
+
for (const key in schema) {
|
|
46
|
+
if (REF_KEYWORDS.has(key)) return true;
|
|
47
|
+
const sch = schema[key];
|
|
48
|
+
if (Array.isArray(sch) && sch.some(hasRef)) return true;
|
|
49
|
+
if (typeof sch == "object" && hasRef(sch)) return true;
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
function countKeys(schema) {
|
|
54
|
+
let count = 0;
|
|
55
|
+
for (const key in schema) {
|
|
56
|
+
if (key === "$ref") return Infinity;
|
|
57
|
+
count++;
|
|
58
|
+
if (SIMPLE_INLINED.has(key)) continue;
|
|
59
|
+
if (typeof schema[key] == "object") (0, util_1.eachItem)(schema[key], (sch) => count += countKeys(sch));
|
|
60
|
+
if (count === Infinity) return Infinity;
|
|
61
|
+
}
|
|
62
|
+
return count;
|
|
63
|
+
}
|
|
64
|
+
function getFullPath(resolver, id = "", normalize) {
|
|
65
|
+
if (normalize !== false) id = normalizeId(id);
|
|
66
|
+
return _getFullPath(resolver, resolver.parse(id));
|
|
67
|
+
}
|
|
68
|
+
exports.getFullPath = getFullPath;
|
|
69
|
+
function _getFullPath(resolver, p) {
|
|
70
|
+
return resolver.serialize(p).split("#")[0] + "#";
|
|
71
|
+
}
|
|
72
|
+
exports._getFullPath = _getFullPath;
|
|
73
|
+
const TRAILING_SLASH_HASH = /#\/?$/;
|
|
74
|
+
function normalizeId(id) {
|
|
75
|
+
return id ? id.replace(TRAILING_SLASH_HASH, "") : "";
|
|
76
|
+
}
|
|
77
|
+
exports.normalizeId = normalizeId;
|
|
78
|
+
function resolveUrl(resolver, baseId, id) {
|
|
79
|
+
id = normalizeId(id);
|
|
80
|
+
return resolver.resolve(baseId, id);
|
|
81
|
+
}
|
|
82
|
+
exports.resolveUrl = resolveUrl;
|
|
83
|
+
const ANCHOR = /^[a-z_][-a-z0-9._]*$/i;
|
|
84
|
+
function getSchemaRefs(schema, baseId) {
|
|
85
|
+
if (typeof schema == "boolean") return {};
|
|
86
|
+
const { schemaId, uriResolver } = this.opts;
|
|
87
|
+
const schId = normalizeId(schema[schemaId] || baseId);
|
|
88
|
+
const baseIds = { "": schId };
|
|
89
|
+
const pathPrefix = getFullPath(uriResolver, schId, false);
|
|
90
|
+
const localRefs = {};
|
|
91
|
+
const schemaRefs = /* @__PURE__ */ new Set();
|
|
92
|
+
traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {
|
|
93
|
+
if (parentJsonPtr === void 0) return;
|
|
94
|
+
const fullPath = pathPrefix + jsonPtr;
|
|
95
|
+
let innerBaseId = baseIds[parentJsonPtr];
|
|
96
|
+
if (typeof sch[schemaId] == "string") innerBaseId = addRef.call(this, sch[schemaId]);
|
|
97
|
+
addAnchor.call(this, sch.$anchor);
|
|
98
|
+
addAnchor.call(this, sch.$dynamicAnchor);
|
|
99
|
+
baseIds[jsonPtr] = innerBaseId;
|
|
100
|
+
function addRef(ref) {
|
|
101
|
+
const _resolve = this.opts.uriResolver.resolve;
|
|
102
|
+
ref = normalizeId(innerBaseId ? _resolve(innerBaseId, ref) : ref);
|
|
103
|
+
if (schemaRefs.has(ref)) throw ambiguos(ref);
|
|
104
|
+
schemaRefs.add(ref);
|
|
105
|
+
let schOrRef = this.refs[ref];
|
|
106
|
+
if (typeof schOrRef == "string") schOrRef = this.refs[schOrRef];
|
|
107
|
+
if (typeof schOrRef == "object") checkAmbiguosRef(sch, schOrRef.schema, ref);
|
|
108
|
+
else if (ref !== normalizeId(fullPath)) if (ref[0] === "#") {
|
|
109
|
+
checkAmbiguosRef(sch, localRefs[ref], ref);
|
|
110
|
+
localRefs[ref] = sch;
|
|
111
|
+
} else this.refs[ref] = fullPath;
|
|
112
|
+
return ref;
|
|
113
|
+
}
|
|
114
|
+
function addAnchor(anchor) {
|
|
115
|
+
if (typeof anchor == "string") {
|
|
116
|
+
if (!ANCHOR.test(anchor)) throw new Error(`invalid anchor "${anchor}"`);
|
|
117
|
+
addRef.call(this, `#${anchor}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
return localRefs;
|
|
122
|
+
function checkAmbiguosRef(sch1, sch2, ref) {
|
|
123
|
+
if (sch2 !== void 0 && !equal(sch1, sch2)) throw ambiguos(ref);
|
|
124
|
+
}
|
|
125
|
+
function ambiguos(ref) {
|
|
126
|
+
return /* @__PURE__ */ new Error(`reference "${ref}" resolves to more than one schema`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.getSchemaRefs = getSchemaRefs;
|
|
130
|
+
}));
|
|
131
|
+
//#endregion
|
|
132
|
+
export default require_resolve();
|
|
133
|
+
export { require_resolve };
|
|
134
|
+
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vYWp2QDguMjAuMC9ub2RlX21vZHVsZXMvYWp2L2Rpc3QvY29tcGlsZS9yZXNvbHZlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRTY2hlbWFSZWZzID0gZXhwb3J0cy5yZXNvbHZlVXJsID0gZXhwb3J0cy5ub3JtYWxpemVJZCA9IGV4cG9ydHMuX2dldEZ1bGxQYXRoID0gZXhwb3J0cy5nZXRGdWxsUGF0aCA9IGV4cG9ydHMuaW5saW5lUmVmID0gdm9pZCAwO1xuY29uc3QgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbmNvbnN0IGVxdWFsID0gcmVxdWlyZShcImZhc3QtZGVlcC1lcXVhbFwiKTtcbmNvbnN0IHRyYXZlcnNlID0gcmVxdWlyZShcImpzb24tc2NoZW1hLXRyYXZlcnNlXCIpO1xuLy8gVE9ETyByZWZhY3RvciB0byB1c2Uga2V5d29yZCBkZWZpbml0aW9uc1xuY29uc3QgU0lNUExFX0lOTElORUQgPSBuZXcgU2V0KFtcbiAgICBcInR5cGVcIixcbiAgICBcImZvcm1hdFwiLFxuICAgIFwicGF0dGVyblwiLFxuICAgIFwibWF4TGVuZ3RoXCIsXG4gICAgXCJtaW5MZW5ndGhcIixcbiAgICBcIm1heFByb3BlcnRpZXNcIixcbiAgICBcIm1pblByb3BlcnRpZXNcIixcbiAgICBcIm1heEl0ZW1zXCIsXG4gICAgXCJtaW5JdGVtc1wiLFxuICAgIFwibWF4aW11bVwiLFxuICAgIFwibWluaW11bVwiLFxuICAgIFwidW5pcXVlSXRlbXNcIixcbiAgICBcIm11bHRpcGxlT2ZcIixcbiAgICBcInJlcXVpcmVkXCIsXG4gICAgXCJlbnVtXCIsXG4gICAgXCJjb25zdFwiLFxuXSk7XG5mdW5jdGlvbiBpbmxpbmVSZWYoc2NoZW1hLCBsaW1pdCA9IHRydWUpIHtcbiAgICBpZiAodHlwZW9mIHNjaGVtYSA9PSBcImJvb2xlYW5cIilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKGxpbWl0ID09PSB0cnVlKVxuICAgICAgICByZXR1cm4gIWhhc1JlZihzY2hlbWEpO1xuICAgIGlmICghbGltaXQpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gY291bnRLZXlzKHNjaGVtYSkgPD0gbGltaXQ7XG59XG5leHBvcnRzLmlubGluZVJlZiA9IGlubGluZVJlZjtcbmNvbnN0IFJFRl9LRVlXT1JEUyA9IG5ldyBTZXQoW1xuICAgIFwiJHJlZlwiLFxuICAgIFwiJHJlY3Vyc2l2ZVJlZlwiLFxuICAgIFwiJHJlY3Vyc2l2ZUFuY2hvclwiLFxuICAgIFwiJGR5bmFtaWNSZWZcIixcbiAgICBcIiRkeW5hbWljQW5jaG9yXCIsXG5dKTtcbmZ1bmN0aW9uIGhhc1JlZihzY2hlbWEpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzY2hlbWEpIHtcbiAgICAgICAgaWYgKFJFRl9LRVlXT1JEUy5oYXMoa2V5KSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBzY2ggPSBzY2hlbWFba2V5XTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2NoKSAmJiBzY2guc29tZShoYXNSZWYpKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmICh0eXBlb2Ygc2NoID09IFwib2JqZWN0XCIgJiYgaGFzUmVmKHNjaCkpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gY291bnRLZXlzKHNjaGVtYSkge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc2NoZW1hKSB7XG4gICAgICAgIGlmIChrZXkgPT09IFwiJHJlZlwiKVxuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICBjb3VudCsrO1xuICAgICAgICBpZiAoU0lNUExFX0lOTElORUQuaGFzKGtleSkpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKHR5cGVvZiBzY2hlbWFba2V5XSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAoMCwgdXRpbF8xLmVhY2hJdGVtKShzY2hlbWFba2V5XSwgKHNjaCkgPT4gKGNvdW50ICs9IGNvdW50S2V5cyhzY2gpKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvdW50ID09PSBJbmZpbml0eSlcbiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTtcbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xufVxuZnVuY3Rpb24gZ2V0RnVsbFBhdGgocmVzb2x2ZXIsIGlkID0gXCJcIiwgbm9ybWFsaXplKSB7XG4gICAgaWYgKG5vcm1hbGl6ZSAhPT0gZmFsc2UpXG4gICAgICAgIGlkID0gbm9ybWFsaXplSWQoaWQpO1xuICAgIGNvbnN0IHAgPSByZXNvbHZlci5wYXJzZShpZCk7XG4gICAgcmV0dXJuIF9nZXRGdWxsUGF0aChyZXNvbHZlciwgcCk7XG59XG5leHBvcnRzLmdldEZ1bGxQYXRoID0gZ2V0RnVsbFBhdGg7XG5mdW5jdGlvbiBfZ2V0RnVsbFBhdGgocmVzb2x2ZXIsIHApIHtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gcmVzb2x2ZXIuc2VyaWFsaXplKHApO1xuICAgIHJldHVybiBzZXJpYWxpemVkLnNwbGl0KFwiI1wiKVswXSArIFwiI1wiO1xufVxuZXhwb3J0cy5fZ2V0RnVsbFBhdGggPSBfZ2V0RnVsbFBhdGg7XG5jb25zdCBUUkFJTElOR19TTEFTSF9IQVNIID0gLyNcXC8/JC87XG5mdW5jdGlvbiBub3JtYWxpemVJZChpZCkge1xuICAgIHJldHVybiBpZCA/IGlkLnJlcGxhY2UoVFJBSUxJTkdfU0xBU0hfSEFTSCwgXCJcIikgOiBcIlwiO1xufVxuZXhwb3J0cy5ub3JtYWxpemVJZCA9IG5vcm1hbGl6ZUlkO1xuZnVuY3Rpb24gcmVzb2x2ZVVybChyZXNvbHZlciwgYmFzZUlkLCBpZCkge1xuICAgIGlkID0gbm9ybWFsaXplSWQoaWQpO1xuICAgIHJldHVybiByZXNvbHZlci5yZXNvbHZlKGJhc2VJZCwgaWQpO1xufVxuZXhwb3J0cy5yZXNvbHZlVXJsID0gcmVzb2x2ZVVybDtcbmNvbnN0IEFOQ0hPUiA9IC9eW2Etel9dWy1hLXowLTkuX10qJC9pO1xuZnVuY3Rpb24gZ2V0U2NoZW1hUmVmcyhzY2hlbWEsIGJhc2VJZCkge1xuICAgIGlmICh0eXBlb2Ygc2NoZW1hID09IFwiYm9vbGVhblwiKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgeyBzY2hlbWFJZCwgdXJpUmVzb2x2ZXIgfSA9IHRoaXMub3B0cztcbiAgICBjb25zdCBzY2hJZCA9IG5vcm1hbGl6ZUlkKHNjaGVtYVtzY2hlbWFJZF0gfHwgYmFzZUlkKTtcbiAgICBjb25zdCBiYXNlSWRzID0geyBcIlwiOiBzY2hJZCB9O1xuICAgIGNvbnN0IHBhdGhQcmVmaXggPSBnZXRGdWxsUGF0aCh1cmlSZXNvbHZlciwgc2NoSWQsIGZhbHNlKTtcbiAgICBjb25zdCBsb2NhbFJlZnMgPSB7fTtcbiAgICBjb25zdCBzY2hlbWFSZWZzID0gbmV3IFNldCgpO1xuICAgIHRyYXZlcnNlKHNjaGVtYSwgeyBhbGxLZXlzOiB0cnVlIH0sIChzY2gsIGpzb25QdHIsIF8sIHBhcmVudEpzb25QdHIpID0+IHtcbiAgICAgICAgaWYgKHBhcmVudEpzb25QdHIgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoUHJlZml4ICsganNvblB0cjtcbiAgICAgICAgbGV0IGlubmVyQmFzZUlkID0gYmFzZUlkc1twYXJlbnRKc29uUHRyXTtcbiAgICAgICAgaWYgKHR5cGVvZiBzY2hbc2NoZW1hSWRdID09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICBpbm5lckJhc2VJZCA9IGFkZFJlZi5jYWxsKHRoaXMsIHNjaFtzY2hlbWFJZF0pO1xuICAgICAgICBhZGRBbmNob3IuY2FsbCh0aGlzLCBzY2guJGFuY2hvcik7XG4gICAgICAgIGFkZEFuY2hvci5jYWxsKHRoaXMsIHNjaC4kZHluYW1pY0FuY2hvcik7XG4gICAgICAgIGJhc2VJZHNbanNvblB0cl0gPSBpbm5lckJhc2VJZDtcbiAgICAgICAgZnVuY3Rpb24gYWRkUmVmKHJlZikge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICAgICAgICAgICAgY29uc3QgX3Jlc29sdmUgPSB0aGlzLm9wdHMudXJpUmVzb2x2ZXIucmVzb2x2ZTtcbiAgICAgICAgICAgIHJlZiA9IG5vcm1hbGl6ZUlkKGlubmVyQmFzZUlkID8gX3Jlc29sdmUoaW5uZXJCYXNlSWQsIHJlZikgOiByZWYpO1xuICAgICAgICAgICAgaWYgKHNjaGVtYVJlZnMuaGFzKHJlZikpXG4gICAgICAgICAgICAgICAgdGhyb3cgYW1iaWd1b3MocmVmKTtcbiAgICAgICAgICAgIHNjaGVtYVJlZnMuYWRkKHJlZik7XG4gICAgICAgICAgICBsZXQgc2NoT3JSZWYgPSB0aGlzLnJlZnNbcmVmXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2NoT3JSZWYgPT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgICAgICBzY2hPclJlZiA9IHRoaXMucmVmc1tzY2hPclJlZl07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHNjaE9yUmVmID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICBjaGVja0FtYmlndW9zUmVmKHNjaCwgc2NoT3JSZWYuc2NoZW1hLCByZWYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocmVmICE9PSBub3JtYWxpemVJZChmdWxsUGF0aCkpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVmWzBdID09PSBcIiNcIikge1xuICAgICAgICAgICAgICAgICAgICBjaGVja0FtYmlndW9zUmVmKHNjaCwgbG9jYWxSZWZzW3JlZl0sIHJlZik7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsUmVmc1tyZWZdID0gc2NoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZzW3JlZl0gPSBmdWxsUGF0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVmO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGFkZEFuY2hvcihhbmNob3IpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYW5jaG9yID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIUFOQ0hPUi50ZXN0KGFuY2hvcikpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBhbmNob3IgXCIke2FuY2hvcn1cImApO1xuICAgICAgICAgICAgICAgIGFkZFJlZi5jYWxsKHRoaXMsIGAjJHthbmNob3J9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbG9jYWxSZWZzO1xuICAgIGZ1bmN0aW9uIGNoZWNrQW1iaWd1b3NSZWYoc2NoMSwgc2NoMiwgcmVmKSB7XG4gICAgICAgIGlmIChzY2gyICE9PSB1bmRlZmluZWQgJiYgIWVxdWFsKHNjaDEsIHNjaDIpKVxuICAgICAgICAgICAgdGhyb3cgYW1iaWd1b3MocmVmKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gYW1iaWd1b3MocmVmKSB7XG4gICAgICAgIHJldHVybiBuZXcgRXJyb3IoYHJlZmVyZW5jZSBcIiR7cmVmfVwiIHJlc29sdmVzIHRvIG1vcmUgdGhhbiBvbmUgc2NoZW1hYCk7XG4gICAgfVxufVxuZXhwb3J0cy5nZXRTY2hlbWFSZWZzID0gZ2V0U2NoZW1hUmVmcztcbi8vIyBzb3Vy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
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js
|
|
3
|
+
var require_rules = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getRules = exports.isJSONType = void 0;
|
|
6
|
+
const jsonTypes = /* @__PURE__ */ new Set([
|
|
7
|
+
"string",
|
|
8
|
+
"number",
|
|
9
|
+
"integer",
|
|
10
|
+
"boolean",
|
|
11
|
+
"null",
|
|
12
|
+
"object",
|
|
13
|
+
"array"
|
|
14
|
+
]);
|
|
15
|
+
function isJSONType(x) {
|
|
16
|
+
return typeof x == "string" && jsonTypes.has(x);
|
|
17
|
+
}
|
|
18
|
+
exports.isJSONType = isJSONType;
|
|
19
|
+
function getRules() {
|
|
20
|
+
const groups = {
|
|
21
|
+
number: {
|
|
22
|
+
type: "number",
|
|
23
|
+
rules: []
|
|
24
|
+
},
|
|
25
|
+
string: {
|
|
26
|
+
type: "string",
|
|
27
|
+
rules: []
|
|
28
|
+
},
|
|
29
|
+
array: {
|
|
30
|
+
type: "array",
|
|
31
|
+
rules: []
|
|
32
|
+
},
|
|
33
|
+
object: {
|
|
34
|
+
type: "object",
|
|
35
|
+
rules: []
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
types: {
|
|
40
|
+
...groups,
|
|
41
|
+
integer: true,
|
|
42
|
+
boolean: true,
|
|
43
|
+
null: true
|
|
44
|
+
},
|
|
45
|
+
rules: [
|
|
46
|
+
{ rules: [] },
|
|
47
|
+
groups.number,
|
|
48
|
+
groups.string,
|
|
49
|
+
groups.array,
|
|
50
|
+
groups.object
|
|
51
|
+
],
|
|
52
|
+
post: { rules: [] },
|
|
53
|
+
all: {},
|
|
54
|
+
keywords: {}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
exports.getRules = getRules;
|
|
58
|
+
}));
|
|
59
|
+
//#endregion
|
|
60
|
+
export default require_rules();
|
|
61
|
+
export { require_rules };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2FqdkA4LjIwLjAvbm9kZV9tb2R1bGVzL2Fqdi9kaXN0L2NvbXBpbGUvcnVsZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFJ1bGVzID0gZXhwb3J0cy5pc0pTT05UeXBlID0gdm9pZCAwO1xuY29uc3QgX2pzb25UeXBlcyA9IFtcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcImludGVnZXJcIiwgXCJib29sZWFuXCIsIFwibnVsbFwiLCBcIm9iamVjdFwiLCBcImFycmF5XCJdO1xuY29uc3QganNvblR5cGVzID0gbmV3IFNldChfanNvblR5cGVzKTtcbmZ1bmN0aW9uIGlzSlNPTlR5cGUoeCkge1xuICAgIHJldHVybiB0eXBlb2YgeCA9PSBcInN0cmluZ1wiICYmIGpzb25UeXBlcy5oYXMoeCk7XG59XG5leHBvcnRzLmlzSlNPTlR5cGUgPSBpc0pTT05UeXBlO1xuZnVuY3Rpb24gZ2V0UnVsZXMoKSB7XG4gICAgY29uc3QgZ3JvdXBzID0ge1xuICAgICAgICBudW1iZXI6IHsgdHlwZTogXCJudW1iZXJcIiwgcnVsZXM6IFtdIH0sXG4gICAgICAgIHN0cmluZzogeyB0eXBlOiBcInN0cmluZ1wiLCBydWxlczogW10gfSxcbiAgICAgICAgYXJyYXk6IHsgdHlwZTogXCJhcnJheVwiLCBydWxlczogW10gfSxcbiAgICAgICAgb2JqZWN0OiB7IHR5cGU6IFwib2JqZWN0XCIsIHJ1bGVzOiBbXSB9LFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZXM6IHsgLi4uZ3JvdXBzLCBpbnRlZ2VyOiB0cnVlLCBib29sZWFuOiB0cnVlLCBudWxsOiB0cnVlIH0sXG4gICAgICAgIHJ1bGVzOiBbeyBydWxlczogW10gfSwgZ3JvdXBzLm51bWJlciwgZ3JvdXBzLnN0cmluZywgZ3JvdXBzLmFycmF5LCBncm91cHMub2JqZWN0XSxcbiAgICAgICAgcG9zdDogeyBydWxlczogW10gfSxcbiAgICAgICAgYWxsOiB7fSxcbiAgICAgICAga2V5d29yZHM6IHt9LFxuICAgIH07XG59XG5leHBvcnRzLmdldFJ1bGVzID0gZ2V0UnVsZXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ydWxlcy5qcy5tYXAiXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6Ijs7O0NBQ0EsT0FBTyxlQUFlLFNBQVMsY0FBYyxFQUFFLE9BQU8sS0FBSyxDQUFDO0NBQzVELFFBQVEsV0FBVyxRQUFRLGFBQWEsS0FBSztDQUU3QyxNQUFNLDRCQUFZLElBQUksSUFBSTtFQUROO0VBQVU7RUFBVTtFQUFXO0VBQVc7RUFBUTtFQUFVO0NBQ3RELENBQVU7Q0FDcEMsU0FBUyxXQUFXLEdBQUc7RUFDbkIsT0FBTyxPQUFPLEtBQUssWUFBWSxVQUFVLElBQUksQ0FBQztDQUNsRDtDQUNBLFFBQVEsYUFBYTtDQUNyQixTQUFTLFdBQVc7RUFDaEIsTUFBTSxTQUFTO0dBQ1gsUUFBUTtJQUFFLE1BQU07SUFBVSxPQUFPLENBQUM7R0FBRTtHQUNwQyxRQUFRO0lBQUUsTUFBTTtJQUFVLE9BQU8sQ0FBQztHQUFFO0dBQ3BDLE9BQU87SUFBRSxNQUFNO0lBQVMsT0FBTyxDQUFDO0dBQUU7R0FDbEMsUUFBUTtJQUFFLE1BQU07SUFBVSxPQUFPLENBQUM7R0FBRTtFQUN4QztFQUNBLE9BQU87R0FDSCxPQUFPO0lBQUUsR0FBRztJQUFRLFNBQVM7SUFBTSxTQUFTO0lBQU0sTUFBTTtHQUFLO0dBQzdELE9BQU87SUFBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFO0lBQUcsT0FBTztJQUFRLE9BQU87SUFBUSxPQUFPO0lBQU8sT0FBTztHQUFNO0dBQ2hGLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRTtHQUNsQixLQUFLLENBQUM7R0FDTixVQUFVLENBQUM7RUFDZjtDQUNKO0NBQ0EsUUFBUSxXQUFXIn0=
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_code } from "./codegen/code.js";
|
|
3
|
+
import { require_codegen } from "./codegen/index.js";
|
|
4
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js
|
|
5
|
+
var require_util = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
|
|
8
|
+
const codegen_1 = require_codegen();
|
|
9
|
+
const code_1 = require_code();
|
|
10
|
+
function toHash(arr) {
|
|
11
|
+
const hash = {};
|
|
12
|
+
for (const item of arr) hash[item] = true;
|
|
13
|
+
return hash;
|
|
14
|
+
}
|
|
15
|
+
exports.toHash = toHash;
|
|
16
|
+
function alwaysValidSchema(it, schema) {
|
|
17
|
+
if (typeof schema == "boolean") return schema;
|
|
18
|
+
if (Object.keys(schema).length === 0) return true;
|
|
19
|
+
checkUnknownRules(it, schema);
|
|
20
|
+
return !schemaHasRules(schema, it.self.RULES.all);
|
|
21
|
+
}
|
|
22
|
+
exports.alwaysValidSchema = alwaysValidSchema;
|
|
23
|
+
function checkUnknownRules(it, schema = it.schema) {
|
|
24
|
+
const { opts, self } = it;
|
|
25
|
+
if (!opts.strictSchema) return;
|
|
26
|
+
if (typeof schema === "boolean") return;
|
|
27
|
+
const rules = self.RULES.keywords;
|
|
28
|
+
for (const key in schema) if (!rules[key]) checkStrictMode(it, `unknown keyword: "${key}"`);
|
|
29
|
+
}
|
|
30
|
+
exports.checkUnknownRules = checkUnknownRules;
|
|
31
|
+
function schemaHasRules(schema, rules) {
|
|
32
|
+
if (typeof schema == "boolean") return !schema;
|
|
33
|
+
for (const key in schema) if (rules[key]) return true;
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
exports.schemaHasRules = schemaHasRules;
|
|
37
|
+
function schemaHasRulesButRef(schema, RULES) {
|
|
38
|
+
if (typeof schema == "boolean") return !schema;
|
|
39
|
+
for (const key in schema) if (key !== "$ref" && RULES.all[key]) return true;
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
exports.schemaHasRulesButRef = schemaHasRulesButRef;
|
|
43
|
+
function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) {
|
|
44
|
+
if (!$data) {
|
|
45
|
+
if (typeof schema == "number" || typeof schema == "boolean") return schema;
|
|
46
|
+
if (typeof schema == "string") return (0, codegen_1._)`${schema}`;
|
|
47
|
+
}
|
|
48
|
+
return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;
|
|
49
|
+
}
|
|
50
|
+
exports.schemaRefOrVal = schemaRefOrVal;
|
|
51
|
+
function unescapeFragment(str) {
|
|
52
|
+
return unescapeJsonPointer(decodeURIComponent(str));
|
|
53
|
+
}
|
|
54
|
+
exports.unescapeFragment = unescapeFragment;
|
|
55
|
+
function escapeFragment(str) {
|
|
56
|
+
return encodeURIComponent(escapeJsonPointer(str));
|
|
57
|
+
}
|
|
58
|
+
exports.escapeFragment = escapeFragment;
|
|
59
|
+
function escapeJsonPointer(str) {
|
|
60
|
+
if (typeof str == "number") return `${str}`;
|
|
61
|
+
return str.replace(/~/g, "~0").replace(/\//g, "~1");
|
|
62
|
+
}
|
|
63
|
+
exports.escapeJsonPointer = escapeJsonPointer;
|
|
64
|
+
function unescapeJsonPointer(str) {
|
|
65
|
+
return str.replace(/~1/g, "/").replace(/~0/g, "~");
|
|
66
|
+
}
|
|
67
|
+
exports.unescapeJsonPointer = unescapeJsonPointer;
|
|
68
|
+
function eachItem(xs, f) {
|
|
69
|
+
if (Array.isArray(xs)) for (const x of xs) f(x);
|
|
70
|
+
else f(xs);
|
|
71
|
+
}
|
|
72
|
+
exports.eachItem = eachItem;
|
|
73
|
+
function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName }) {
|
|
74
|
+
return (gen, from, to, toName) => {
|
|
75
|
+
const res = to === void 0 ? from : to instanceof codegen_1.Name ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) : from instanceof codegen_1.Name ? (mergeToName(gen, to, from), from) : mergeValues(from, to);
|
|
76
|
+
return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
exports.mergeEvaluated = {
|
|
80
|
+
props: makeMergeEvaluated({
|
|
81
|
+
mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => {
|
|
82
|
+
gen.if((0, codegen_1._)`${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`));
|
|
83
|
+
}),
|
|
84
|
+
mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => {
|
|
85
|
+
if (from === true) gen.assign(to, true);
|
|
86
|
+
else {
|
|
87
|
+
gen.assign(to, (0, codegen_1._)`${to} || {}`);
|
|
88
|
+
setEvaluated(gen, to, from);
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
mergeValues: (from, to) => from === true ? true : {
|
|
92
|
+
...from,
|
|
93
|
+
...to
|
|
94
|
+
},
|
|
95
|
+
resultToName: evaluatedPropsToName
|
|
96
|
+
}),
|
|
97
|
+
items: makeMergeEvaluated({
|
|
98
|
+
mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),
|
|
99
|
+
mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`)),
|
|
100
|
+
mergeValues: (from, to) => from === true ? true : Math.max(from, to),
|
|
101
|
+
resultToName: (gen, items) => gen.var("items", items)
|
|
102
|
+
})
|
|
103
|
+
};
|
|
104
|
+
function evaluatedPropsToName(gen, ps) {
|
|
105
|
+
if (ps === true) return gen.var("props", true);
|
|
106
|
+
const props = gen.var("props", (0, codegen_1._)`{}`);
|
|
107
|
+
if (ps !== void 0) setEvaluated(gen, props, ps);
|
|
108
|
+
return props;
|
|
109
|
+
}
|
|
110
|
+
exports.evaluatedPropsToName = evaluatedPropsToName;
|
|
111
|
+
function setEvaluated(gen, props, ps) {
|
|
112
|
+
Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true));
|
|
113
|
+
}
|
|
114
|
+
exports.setEvaluated = setEvaluated;
|
|
115
|
+
const snippets = {};
|
|
116
|
+
function useFunc(gen, f) {
|
|
117
|
+
return gen.scopeValue("func", {
|
|
118
|
+
ref: f,
|
|
119
|
+
code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code))
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
exports.useFunc = useFunc;
|
|
123
|
+
var Type;
|
|
124
|
+
(function(Type) {
|
|
125
|
+
Type[Type["Num"] = 0] = "Num";
|
|
126
|
+
Type[Type["Str"] = 1] = "Str";
|
|
127
|
+
})(Type || (exports.Type = Type = {}));
|
|
128
|
+
function getErrorPath(dataProp, dataPropType, jsPropertySyntax) {
|
|
129
|
+
if (dataProp instanceof codegen_1.Name) {
|
|
130
|
+
const isNumber = dataPropType === Type.Num;
|
|
131
|
+
return jsPropertySyntax ? isNumber ? (0, codegen_1._)`"[" + ${dataProp} + "]"` : (0, codegen_1._)`"['" + ${dataProp} + "']"` : isNumber ? (0, codegen_1._)`"/" + ${dataProp}` : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`;
|
|
132
|
+
}
|
|
133
|
+
return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp);
|
|
134
|
+
}
|
|
135
|
+
exports.getErrorPath = getErrorPath;
|
|
136
|
+
function checkStrictMode(it, msg, mode = it.opts.strictSchema) {
|
|
137
|
+
if (!mode) return;
|
|
138
|
+
msg = `strict mode: ${msg}`;
|
|
139
|
+
if (mode === true) throw new Error(msg);
|
|
140
|
+
it.self.logger.warn(msg);
|
|
141
|
+
}
|
|
142
|
+
exports.checkStrictMode = checkStrictMode;
|
|
143
|
+
}));
|
|
144
|
+
//#endregion
|
|
145
|
+
export default require_util();
|
|
146
|
+
export { require_util };
|
|
147
|
+
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vYWp2QDguMjAuMC9ub2RlX21vZHVsZXMvYWp2L2Rpc3QvY29tcGlsZS91dGlsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jaGVja1N0cmljdE1vZGUgPSBleHBvcnRzLmdldEVycm9yUGF0aCA9IGV4cG9ydHMuVHlwZSA9IGV4cG9ydHMudXNlRnVuYyA9IGV4cG9ydHMuc2V0RXZhbHVhdGVkID0gZXhwb3J0cy5ldmFsdWF0ZWRQcm9wc1RvTmFtZSA9IGV4cG9ydHMubWVyZ2VFdmFsdWF0ZWQgPSBleHBvcnRzLmVhY2hJdGVtID0gZXhwb3J0cy51bmVzY2FwZUpzb25Qb2ludGVyID0gZXhwb3J0cy5lc2NhcGVKc29uUG9pbnRlciA9IGV4cG9ydHMuZXNjYXBlRnJhZ21lbnQgPSBleHBvcnRzLnVuZXNjYXBlRnJhZ21lbnQgPSBleHBvcnRzLnNjaGVtYVJlZk9yVmFsID0gZXhwb3J0cy5zY2hlbWFIYXNSdWxlc0J1dFJlZiA9IGV4cG9ydHMuc2NoZW1hSGFzUnVsZXMgPSBleHBvcnRzLmNoZWNrVW5rbm93blJ1bGVzID0gZXhwb3J0cy5hbHdheXNWYWxpZFNjaGVtYSA9IGV4cG9ydHMudG9IYXNoID0gdm9pZCAwO1xuY29uc3QgY29kZWdlbl8xID0gcmVxdWlyZShcIi4vY29kZWdlblwiKTtcbmNvbnN0IGNvZGVfMSA9IHJlcXVpcmUoXCIuL2NvZGVnZW4vY29kZVwiKTtcbi8vIFRPRE8gcmVmYWN0b3IgdG8gdXNlIFNldFxuZnVuY3Rpb24gdG9IYXNoKGFycikge1xuICAgIGNvbnN0IGhhc2ggPSB7fTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyKVxuICAgICAgICBoYXNoW2l0ZW1dID0gdHJ1ZTtcbiAgICByZXR1cm4gaGFzaDtcbn1cbmV4cG9ydHMudG9IYXNoID0gdG9IYXNoO1xuZnVuY3Rpb24gYWx3YXlzVmFsaWRTY2hlbWEoaXQsIHNjaGVtYSkge1xuICAgIGlmICh0eXBlb2Ygc2NoZW1hID09IFwiYm9vbGVhblwiKVxuICAgICAgICByZXR1cm4gc2NoZW1hO1xuICAgIGlmIChPYmplY3Qua2V5cyhzY2hlbWEpLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2hlY2tVbmtub3duUnVsZXMoaXQsIHNjaGVtYSk7XG4gICAgcmV0dXJuICFzY2hlbWFIYXNSdWxlcyhzY2hlbWEsIGl0LnNlbGYuUlVMRVMuYWxsKTtcbn1cbmV4cG9ydHMuYWx3YXlzVmFsaWRTY2hlbWEgPSBhbHdheXNWYWxpZFNjaGVtYTtcbmZ1bmN0aW9uIGNoZWNrVW5rbm93blJ1bGVzKGl0LCBzY2hlbWEgPSBpdC5zY2hlbWEpIHtcbiAgICBjb25zdCB7IG9wdHMsIHNlbGYgfSA9IGl0O1xuICAgIGlmICghb3B0cy5zdHJpY3RTY2hlbWEpXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAodHlwZW9mIHNjaGVtYSA9PT0gXCJib29sZWFuXCIpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBydWxlcyA9IHNlbGYuUlVMRVMua2V5d29yZHM7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc2NoZW1hKSB7XG4gICAgICAgIGlmICghcnVsZXNba2V5XSlcbiAgICAgICAgICAgIGNoZWNrU3RyaWN0TW9kZShpdCwgYHVua25vd24ga2V5d29yZDogXCIke2tleX1cImApO1xuICAgIH1cbn1cbmV4cG9ydHMuY2hlY2tVbmtub3duUnVsZXMgPSBjaGVja1Vua25vd25SdWxlcztcbmZ1bmN0aW9uIHNjaGVtYUhhc1J1bGVzKHNjaGVtYSwgcnVsZXMpIHtcbiAgICBpZiAodHlwZW9mIHNjaGVtYSA9PSBcImJvb2xlYW5cIilcbiAgICAgICAgcmV0dXJuICFzY2hlbWE7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc2NoZW1hKVxuICAgICAgICBpZiAocnVsZXNba2V5XSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbn1cbmV4cG9ydHMuc2NoZW1hSGFzUnVsZXMgPSBzY2hlbWFIYXNSdWxlcztcbmZ1bmN0aW9uIHNjaGVtYUhhc1J1bGVzQnV0UmVmKHNjaGVtYSwgUlVMRVMpIHtcbiAgICBpZiAodHlwZW9mIHNjaGVtYSA9PSBcImJvb2xlYW5cIilcbiAgICAgICAgcmV0dXJuICFzY2hlbWE7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc2NoZW1hKVxuICAgICAgICBpZiAoa2V5ICE9PSBcIiRyZWZcIiAmJiBSVUxFUy5hbGxba2V5XSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbn1cbmV4cG9ydHMuc2NoZW1hSGFzUnVsZXNCdXRSZWYgPSBzY2hlbWFIYXNSdWxlc0J1dFJlZjtcbmZ1bmN0aW9uIHNjaGVtYVJlZk9yVmFsKHsgdG9wU2NoZW1hUmVmLCBzY2hlbWFQYXRoIH0sIHNjaGVtYSwga2V5d29yZCwgJGRhdGEpIHtcbiAgICBpZiAoISRkYXRhKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2NoZW1hID09IFwibnVtYmVyXCIgfHwgdHlwZW9mIHNjaGVtYSA9PSBcImJvb2xlYW5cIilcbiAgICAgICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgICAgIGlmICh0eXBlb2Ygc2NoZW1hID09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICByZXR1cm4gKDAsIGNvZGVnZW5fMS5fKSBgJHtzY2hlbWF9YDtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBjb2RlZ2VuXzEuXykgYCR7dG9wU2NoZW1hUmVmfSR7c2NoZW1hUGF0aH0keygwLCBjb2RlZ2VuXzEuZ2V0UHJvcGVydHkpKGtleXdvcmQpfWA7XG59XG5leHBvcnRzLnNjaGVtYVJlZk9yVmFsID0gc2NoZW1hUmVmT3JWYWw7XG5mdW5jdGlvbiB1bmVzY2FwZUZyYWdtZW50KHN0cikge1xuICAgIHJldHVybiB1bmVzY2FwZUpzb25Qb2ludGVyKGRlY29kZVVSSUNvbXBvbmVudChzdHIpKTtcbn1cbmV4cG9ydHMudW5lc2NhcGVGcmFnbWVudCA9IHVuZXNjYXBlRnJhZ21lbnQ7XG5mdW5jdGlvbiBlc2NhcGVGcmFnbWVudChzdHIpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGVzY2FwZUpzb25Qb2ludGVyKHN0cikpO1xufVxuZXhwb3J0cy5lc2NhcGVGcmFnbWVudCA9IGVzY2FwZUZyYWdtZW50O1xuZnVuY3Rpb24gZXNjYXBlSnNvblBvaW50ZXIoc3RyKSB7XG4gICAgaWYgKHR5cGVvZiBzdHIgPT0gXCJudW1iZXJcIilcbiAgICAgICAgcmV0dXJuIGAke3N0cn1gO1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvfi9nLCBcIn4wXCIpLnJlcGxhY2UoL1xcLy9nLCBcIn4xXCIpO1xufVxuZXhwb3J0cy5lc2NhcGVKc29uUG9pbnRlciA9IGVzY2FwZUpzb25Qb2ludGVyO1xuZnVuY3Rpb24gdW5lc2NhcGVKc29uUG9pbnRlcihzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL34xL2csIFwiL1wiKS5yZXBsYWNlKC9+MC9nLCBcIn5cIik7XG59XG5leHBvcnRzLnVuZXNjYXBlSnNvblBvaW50ZXIgPSB1bmVzY2FwZUpzb25Qb2ludGVyO1xuZnVuY3Rpb24gZWFjaEl0ZW0oeHMsIGYpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh4cykpIHtcbiAgICAgICAgZm9yIChjb25zdCB4IG9mIHhzKVxuICAgICAgICAgICAgZih4KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGYoeHMpO1xuICAgIH1cbn1cbmV4cG9ydHMuZWFjaEl0ZW0gPSBlYWNoSXRlbTtcbmZ1bmN0aW9uIG1ha2VNZXJnZUV2YWx1YXRlZCh7IG1lcmdlTmFtZXMsIG1lcmdlVG9OYW1lLCBtZXJnZVZhbHVlcywgcmVzdWx0VG9OYW1lLCB9KSB7XG4gICAgcmV0dXJuIChnZW4sIGZyb20sIHRvLCB0b05hbWUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzID0gdG8gPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBmcm9tXG4gICAgICAgICAgICA6IHRvIGluc3RhbmNlb2YgY29kZWdlbl8xLk5hbWVcbiAgICAgICAgICAgICAgICA/IChmcm9tIGluc3RhbmNlb2YgY29kZWdlbl8xLk5hbWUgPyBtZXJnZU5hbWVzKGdlbiwgZnJvbSwgdG8pIDogbWVyZ2VUb05hbWUoZ2VuLCBmcm9tLCB0byksIHRvKVxuICAgICAgICAgICAgICAgIDogZnJvbSBpbnN0YW5jZW9mIGNvZGVnZW5fMS5OYW1lXG4gICAgICAgICAgICAgICAgICAgID8gKG1lcmdlVG9OYW1lKGdlbiwgdG8sIGZyb20pLCBmcm9tKVxuICAgICAgICAgICAgICAgICAgICA6IG1lcmdlVmFsdWVzKGZyb20sIHRvKTtcbiAgICAgICAgcmV0dXJuIHRvTmFtZSA9PT0gY29kZWdlbl8xLk5hbWUgJiYgIShyZXMgaW5zdGFuY2VvZiBjb2RlZ2VuXzEuTmFtZSkgPyByZXN1bHRUb05hbWUoZ2VuLCByZXMpIDogcmVzO1xuICAgIH07XG59XG5leHBvcnRzLm1lcmdlRXZhbHVhdGVkID0ge1xuICAgIHByb3BzOiBtYWtlTWVyZ2VFdmFsdWF0ZWQoe1xuICAgICAgICBtZXJnZU5hbWVzOiAoZ2VuLCBmcm9tLCB0bykgPT4gZ2VuLmlmKCgwLCBjb2RlZ2VuXzEuXykgYCR7dG99ICE9PSB0cnVlICYmICR7ZnJvbX0gIT09IHVuZGVmaW5lZGAsICgpID0+IHtcbiAgICAgICAgICAgIGdlbi5pZigoMCwgY29kZWdlbl8xLl8pIGAke2Zyb219ID09PSB0cnVlYCwgKCkgPT4gZ2VuLmFzc2lnbih0bywgdHJ1ZSksICgpID0+IGdlbi5hc3NpZ24odG8sICgwLCBjb2RlZ2VuXzEuXykgYCR7dG99IHx8IHt9YCkuY29kZSgoMCwgY29kZWdlbl8xLl8pIGBPYmplY3QuYXNzaWduKCR7dG99LCAke2Zyb219KWApKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1lcmdlVG9OYW1lOiAoZ2VuLCBmcm9tLCB0bykgPT4gZ2VuLmlmKCgwLCBjb2RlZ2VuXzEuXykgYCR7dG99ICE9PSB0cnVlYCwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZyb20gPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBnZW4uYXNzaWduKHRvLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGdlbi5hc3NpZ24odG8sICgwLCBjb2RlZ2VuXzEuXykgYCR7dG99IHx8IHt9YCk7XG4gICAgICAgICAgICAgICAgc2V0RXZhbHVhdGVkKGdlbiwgdG8sIGZyb20pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgbWVyZ2VWYWx1ZXM6IChmcm9tLCB0bykgPT4gKGZyb20gPT09IHRydWUgPyB0cnVlIDogeyAuLi5mcm9tLCAuLi50byB9KSxcbiAgICAgICAgcmVzdWx0VG9OYW1lOiBldmFsdWF0ZWRQcm9wc1RvTmFtZSxcbiAgICB9KSxcbiAgICBpdGVtczogbWFrZU1lcmdlRXZhbHVhdGVkKHtcbiAgICAgICAgbWVyZ2VOYW1lczogKGdlbiwgZnJvbSwgdG8pID0+IGdlbi5pZigoMCwgY29kZWdlbl8xLl8pIGAke3RvfSAhPT0gdHJ1ZSAmJiAke2Zyb219ICE9PSB1bmRlZmluZWRgLCAoKSA9PiBnZW4uYXNzaWduKHRvLCAoMCwgY29kZWdlbl8xLl8pIGAke2Zyb219ID09PSB0cnVlID8gdHJ1ZSA6ICR7dG99ID4gJHtmcm9tfSA/ICR7dG99IDogJHtmcm9tfWApKSxcbiAgICAgICAgbWVyZ2VUb05hbWU6IChnZW4sIGZyb20sIHRvKSA9PiBnZW4uaWYoKDAsIGNvZGVnZW5fMS5fKSBgJHt0b30gIT09IHRydWVgLCAoKSA9PiBnZW4uYXNzaWduKHRvLCBmcm9tID09PSB0cnVlID8gdHJ1ZSA6ICgwLCBjb2RlZ2VuXzEuXykgYCR7dG99ID4gJHtmcm9tfSA/ICR7dG99IDogJHtmcm9tfWApKSxcbiAgICAgICAgbWVyZ2VWYWx1ZXM6IChmcm9tLCB0bykgPT4gKGZyb20gPT09IHRydWUgPyB0cnVlIDogTWF0aC5tYXgoZnJvbSwgdG8pKSxcbiAgICAgICAgcmVzdWx0VG9OYW1lOiAoZ2VuLCBpdGVtcykgPT4gZ2VuLnZhcihcIml0ZW1zXCIsIGl0ZW1zKSxcbiAgICB9KSxcbn07XG5mdW5jdGlvbiBldmFsdWF0ZWRQcm9wc1RvTmFtZShnZW4sIHBzKSB7XG4gICAgaWYgKHBzID09PSB0cnVlKVxuICAgICAgICByZXR1cm4gZ2VuLnZhcihcInByb3BzXCIsIHRydWUpO1xuICAgIGNvbnN0IHByb3BzID0gZ2VuLnZhcihcInByb3BzXCIsICgwLCBjb2RlZ2VuXzEuXykgYHt9YCk7XG4gICAgaWYgKHBzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIHNldEV2YWx1YXRlZChnZW4sIHByb3BzLCBwcyk7XG4gICAgcmV0dXJuIHByb3BzO1xufVxuZXhwb3J0cy5ldmFsdWF0ZWRQcm9wc1RvTmFtZSA9IGV2YWx1YXRlZFByb3BzVG9OYW1lO1xuZnVuY3Rpb24gc2V0RXZhbHVhdGVkKGdlbiwgcHJvcHMsIHBzKSB7XG4gICAgT2JqZWN0LmtleXMocHMpLmZvckVhY2goKHApID0+IGdlbi5hc3NpZ24oKDAsIGNvZGVnZW5fMS5fKSBgJHtwcm9wc30keygwLCBjb2RlZ2VuXzEuZ2V0UHJvcGVydHkpKHApfWAsIHRydWUpKTtcbn1cbmV4cG9ydHMuc2V0RXZhbHVhdGVkID0gc2V0RXZhbHVhdGVkO1xuY29uc3Qgc25pcHBldHMgPSB7fTtcbmZ1bmN0aW9uIHVzZUZ1bmMoZ2VuLCBmKSB7XG4gICAgcmV0dXJuIGdlbi5zY29wZVZhbHVlKFwiZnVuY1wiLCB7XG4gICAgICAgIHJlZjogZixcbiAgICAgICAgY29kZTogc25pcHBldHNbZi5jb2RlXSB8fCAoc25pcHBldHNbZi5jb2RlXSA9IG5ldyBjb2RlXzEuX0NvZGUoZi5jb2RlKSksXG4gICAgfSk7XG59XG5leHBvcnRzLnVzZUZ1bmMgPSB1c2VGdW5jO1xudmFyIFR5cGU7XG4oZnVuY3Rpb24gKFR5cGUpIHtcbiAgICBUeXBlW1R5cGVbXCJOdW1cIl0gPSAwXSA9IFwiTnVtXCI7XG4gICAgVHlwZVtUeXBlW1wiU3RyXCJdID0gMV0gPSBcIlN0clwiO1xufSkoVHlwZSB8fCAoZXhwb3J0cy5UeXBlID0gVHlwZSA9IHt9KSk7XG5mdW5jdGlvbiBnZXRFcnJvclBhdGgoZGF0YVByb3AsIGRhdGFQcm9wVHlwZSwganNQcm9wZXJ0eVN5bnRheCkge1xuICAgIC8vIGxldCBwYXRoXG4gICAgaWYgKGRhdGFQcm9wIGluc3RhbmNlb2YgY29kZWdlbl8xLk5hbWUpIHtcbiAgICAgICAgY29uc3QgaXNOdW1iZXIgPSBkYXRhUHJvcFR5cGUgPT09IFR5cGUuTnVtO1xuICAgICAgICByZXR1cm4ganNQcm9wZXJ0eVN5bnRheFxuICAgICAgICAgICAgPyBpc051bWJlclxuICAgICAgICAgICAgICAgID8gKDAsIGNvZGVnZW5fMS5fKSBgXCJbXCIgKyAke2RhdGFQcm9wfSArIFwiXVwiYFxuICAgICAgICAgICAgICAgIDogKDAsIGNvZGVnZW5fMS5fKSBgXCJbJ1wiICsgJHtkYXRhUHJvcH0gKyBcIiddXCJgXG4gICAgICAgICAgICA6IGlzTnVtYmVyXG4gICAgICAgICAgICAgICAgPyAoMCwgY29kZWdlbl8xLl8pIGBcIi9cIiArICR7ZGF0YVByb3B9YFxuICAgICAgICAgICAgICAgIDogKDAsIGNvZGVnZW5fMS5fKSBgXCIvXCIgKyAke2RhdGFQcm9wfS5yZXBsYWNlKC9+L2csIFwifjBcIikucmVwbGFjZSgvXFxcXC8vZywgXCJ+MVwiKWA7IC8vIFRPRE8gbWF5YmUgdXNlIGdsb2JhbCBlc2NhcGVQb2ludGVyXG4gICAgfVxuICAgIHJldHVybiBqc1Byb3BlcnR5U3ludGF4ID8gKDAsIGNvZGVnZW5fMS5nZXRQcm9wZXJ0eSkoZGF0YVByb3ApLnRvU3RyaW5nKCkgOiBcIi9cIiArIGVzY2FwZUpzb25Qb2ludGVyKGRhdGFQcm9wKTtcbn1cbmV4cG9ydHMuZ2V0RXJyb3JQYXRoID0gZ2V0RXJyb3JQYXRoO1xuZnVuY3Rpb24gY2hlY2tTdHJpY3RNb2RlKGl0LCBtc2csIG1vZGUgPSBpdC5vcHRzLnN0cmljdFNjaGVtYSkge1xuICAgIGlmICghbW9kZSlcbiAgICAgICAgcmV0dXJuO1xuICAgIG1zZyA9IGBzdHJpY3QgbW9kZTogJHttc2d9YDtcbiAgICBpZiAobW9kZSA9PT0gdHJ1ZSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgaXQuc2VsZi5sb2dnZXIud2Fybihtc2cpO1xufVxuZXhwb3J0cy5jaGVja1N0cmljdE1vZGUgPSBjaGVja1N0cmljdE1vZGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlsLmpzLm1hcCJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF0sIm1hcHBpbmdzIjoiOzs7OztDQUNBLE9BQU8sZUFBZSxTQUFTLGNBQWMsRUFBRSxPQUFPLEtBQUssQ0FBQztDQUM1RCxRQUFRLGtCQUFrQixRQUFRLGVBQWUsUUFBUSxPQUFPLFFBQVEsVUFBVSxRQUFRLGVBQWUsUUFBUSx1QkFBdUIsUUFBUSxpQkFBaUIsUUFBUSxXQUFXLFFBQVEsc0JBQXNCLFFBQVEsb0JBQW9CLFFBQVEsaUJBQWlCLFFBQVEsbUJBQW1CLFFBQVEsaUJBQWlCLFFBQVEsdUJBQXVCLFFBQVEsaUJBQWlCLFFBQVEsb0JBQW9CLFFBQVEsb0JBQW9CLFFBQVEsU0FBUyxLQUFLO0NBQ2pjLE1BQU0sWUFBQSxnQkFBQTtDQUNOLE1BQU0sU0FBQSxhQUFBO0NBRU4sU0FBUyxPQUFPLEtBQUs7RUFDakIsTUFBTSxPQUFPLENBQUM7RUFDZCxLQUFLLE1BQU0sUUFBUSxLQUNmLEtBQUssUUFBUTtFQUNqQixPQUFPO0NBQ1g7Q0FDQSxRQUFRLFNBQVM7Q0FDakIsU0FBUyxrQkFBa0IsSUFBSSxRQUFRO0VBQ25DLElBQUksT0FBTyxVQUFVLFdBQ2pCLE9BQU87RUFDWCxJQUFJLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQy9CLE9BQU87RUFDWCxrQkFB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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js
|
|
3
|
+
var require_applicability = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;
|
|
6
|
+
function schemaHasRulesForType({ schema, self }, type) {
|
|
7
|
+
const group = self.RULES.types[type];
|
|
8
|
+
return group && group !== true && shouldUseGroup(schema, group);
|
|
9
|
+
}
|
|
10
|
+
exports.schemaHasRulesForType = schemaHasRulesForType;
|
|
11
|
+
function shouldUseGroup(schema, group) {
|
|
12
|
+
return group.rules.some((rule) => shouldUseRule(schema, rule));
|
|
13
|
+
}
|
|
14
|
+
exports.shouldUseGroup = shouldUseGroup;
|
|
15
|
+
function shouldUseRule(schema, rule) {
|
|
16
|
+
var _a;
|
|
17
|
+
return schema[rule.keyword] !== void 0 || ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== void 0));
|
|
18
|
+
}
|
|
19
|
+
exports.shouldUseRule = shouldUseRule;
|
|
20
|
+
}));
|
|
21
|
+
//#endregion
|
|
22
|
+
export default require_applicability();
|
|
23
|
+
export { require_applicability };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYWJpbGl0eS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vYWp2QDguMjAuMC9ub2RlX21vZHVsZXMvYWp2L2Rpc3QvY29tcGlsZS92YWxpZGF0ZS9hcHBsaWNhYmlsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zaG91bGRVc2VSdWxlID0gZXhwb3J0cy5zaG91bGRVc2VHcm91cCA9IGV4cG9ydHMuc2NoZW1hSGFzUnVsZXNGb3JUeXBlID0gdm9pZCAwO1xuZnVuY3Rpb24gc2NoZW1hSGFzUnVsZXNGb3JUeXBlKHsgc2NoZW1hLCBzZWxmIH0sIHR5cGUpIHtcbiAgICBjb25zdCBncm91cCA9IHNlbGYuUlVMRVMudHlwZXNbdHlwZV07XG4gICAgcmV0dXJuIGdyb3VwICYmIGdyb3VwICE9PSB0cnVlICYmIHNob3VsZFVzZUdyb3VwKHNjaGVtYSwgZ3JvdXApO1xufVxuZXhwb3J0cy5zY2hlbWFIYXNSdWxlc0ZvclR5cGUgPSBzY2hlbWFIYXNSdWxlc0ZvclR5cGU7XG5mdW5jdGlvbiBzaG91bGRVc2VHcm91cChzY2hlbWEsIGdyb3VwKSB7XG4gICAgcmV0dXJuIGdyb3VwLnJ1bGVzLnNvbWUoKHJ1bGUpID0+IHNob3VsZFVzZVJ1bGUoc2NoZW1hLCBydWxlKSk7XG59XG5leHBvcnRzLnNob3VsZFVzZUdyb3VwID0gc2hvdWxkVXNlR3JvdXA7XG5mdW5jdGlvbiBzaG91bGRVc2VSdWxlKHNjaGVtYSwgcnVsZSkge1xuICAgIHZhciBfYTtcbiAgICByZXR1cm4gKHNjaGVtYVtydWxlLmtleXdvcmRdICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgKChfYSA9IHJ1bGUuZGVmaW5pdGlvbi5pbXBsZW1lbnRzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc29tZSgoa3dkKSA9PiBzY2hlbWFba3dkXSAhPT0gdW5kZWZpbmVkKSkpO1xufVxuZXhwb3J0cy5zaG91bGRVc2VSdWxlID0gc2hvdWxkVXNlUnVsZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcGxpY2FiaWxpdHkuanMubWFwIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXSwibWFwcGluZ3MiOiI7OztDQUNBLE9BQU8sZUFBZSxTQUFTLGNBQWMsRUFBRSxPQUFPLEtBQUssQ0FBQztDQUM1RCxRQUFRLGdCQUFnQixRQUFRLGlCQUFpQixRQUFRLHdCQUF3QixLQUFLO0NBQ3RGLFNBQVMsc0JBQXNCLEVBQUUsUUFBUSxRQUFRLE1BQU07RUFDbkQsTUFBTSxRQUFRLEtBQUssTUFBTSxNQUFNO0VBQy9CLE9BQU8sU0FBUyxVQUFVLFFBQVEsZUFBZSxRQUFRLEtBQUs7Q0FDbEU7Q0FDQSxRQUFRLHdCQUF3QjtDQUNoQyxTQUFTLGVBQWUsUUFBUSxPQUFPO0VBQ25DLE9BQU8sTUFBTSxNQUFNLE1BQU0sU0FBUyxjQUFjLFFBQVEsSUFBSSxDQUFDO0NBQ2pFO0NBQ0EsUUFBUSxpQkFBaUI7Q0FDekIsU0FBUyxjQUFjLFFBQVEsTUFBTTtFQUNqQyxJQUFJO0VBQ0osT0FBUSxPQUFPLEtBQUssYUFBYSxZQUMzQixLQUFLLEtBQUssV0FBVyxnQkFBZ0IsUUFBUSxPQUFPLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxNQUFNLFFBQVEsT0FBTyxTQUFTLE1BQVM7Q0FDMUg7Q0FDQSxRQUFRLGdCQUFnQiJ9
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_codegen } from "../codegen/index.js";
|
|
3
|
+
import { require_names } from "../names.js";
|
|
4
|
+
import { require_errors } from "../errors.js";
|
|
5
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js
|
|
6
|
+
var require_boolSchema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;
|
|
9
|
+
const errors_1 = require_errors();
|
|
10
|
+
const codegen_1 = require_codegen();
|
|
11
|
+
const names_1 = require_names();
|
|
12
|
+
const boolError = { message: "boolean schema is false" };
|
|
13
|
+
function topBoolOrEmptySchema(it) {
|
|
14
|
+
const { gen, schema, validateName } = it;
|
|
15
|
+
if (schema === false) falseSchemaError(it, false);
|
|
16
|
+
else if (typeof schema == "object" && schema.$async === true) gen.return(names_1.default.data);
|
|
17
|
+
else {
|
|
18
|
+
gen.assign((0, codegen_1._)`${validateName}.errors`, null);
|
|
19
|
+
gen.return(true);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.topBoolOrEmptySchema = topBoolOrEmptySchema;
|
|
23
|
+
function boolOrEmptySchema(it, valid) {
|
|
24
|
+
const { gen, schema } = it;
|
|
25
|
+
if (schema === false) {
|
|
26
|
+
gen.var(valid, false);
|
|
27
|
+
falseSchemaError(it);
|
|
28
|
+
} else gen.var(valid, true);
|
|
29
|
+
}
|
|
30
|
+
exports.boolOrEmptySchema = boolOrEmptySchema;
|
|
31
|
+
function falseSchemaError(it, overrideAllErrors) {
|
|
32
|
+
const { gen, data } = it;
|
|
33
|
+
const cxt = {
|
|
34
|
+
gen,
|
|
35
|
+
keyword: "false schema",
|
|
36
|
+
data,
|
|
37
|
+
schema: false,
|
|
38
|
+
schemaCode: false,
|
|
39
|
+
schemaValue: false,
|
|
40
|
+
params: {},
|
|
41
|
+
it
|
|
42
|
+
};
|
|
43
|
+
(0, errors_1.reportError)(cxt, boolError, void 0, overrideAllErrors);
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
//#endregion
|
|
47
|
+
export default require_boolSchema();
|
|
48
|
+
export { require_boolSchema };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbFNjaGVtYS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vYWp2QDguMjAuMC9ub2RlX21vZHVsZXMvYWp2L2Rpc3QvY29tcGlsZS92YWxpZGF0ZS9ib29sU2NoZW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5ib29sT3JFbXB0eVNjaGVtYSA9IGV4cG9ydHMudG9wQm9vbE9yRW1wdHlTY2hlbWEgPSB2b2lkIDA7XG5jb25zdCBlcnJvcnNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnNcIik7XG5jb25zdCBjb2RlZ2VuXzEgPSByZXF1aXJlKFwiLi4vY29kZWdlblwiKTtcbmNvbnN0IG5hbWVzXzEgPSByZXF1aXJlKFwiLi4vbmFtZXNcIik7XG5jb25zdCBib29sRXJyb3IgPSB7XG4gICAgbWVzc2FnZTogXCJib29sZWFuIHNjaGVtYSBpcyBmYWxzZVwiLFxufTtcbmZ1bmN0aW9uIHRvcEJvb2xPckVtcHR5U2NoZW1hKGl0KSB7XG4gICAgY29uc3QgeyBnZW4sIHNjaGVtYSwgdmFsaWRhdGVOYW1lIH0gPSBpdDtcbiAgICBpZiAoc2NoZW1hID09PSBmYWxzZSkge1xuICAgICAgICBmYWxzZVNjaGVtYUVycm9yKGl0LCBmYWxzZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBzY2hlbWEgPT0gXCJvYmplY3RcIiAmJiBzY2hlbWEuJGFzeW5jID09PSB0cnVlKSB7XG4gICAgICAgIGdlbi5yZXR1cm4obmFtZXNfMS5kZWZhdWx0LmRhdGEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZ2VuLmFzc2lnbigoMCwgY29kZWdlbl8xLl8pIGAke3ZhbGlkYXRlTmFtZX0uZXJyb3JzYCwgbnVsbCk7XG4gICAgICAgIGdlbi5yZXR1cm4odHJ1ZSk7XG4gICAgfVxufVxuZXhwb3J0cy50b3BCb29sT3JFbXB0eVNjaGVtYSA9IHRvcEJvb2xPckVtcHR5U2NoZW1hO1xuZnVuY3Rpb24gYm9vbE9yRW1wdHlTY2hlbWEoaXQsIHZhbGlkKSB7XG4gICAgY29uc3QgeyBnZW4sIHNjaGVtYSB9ID0gaXQ7XG4gICAgaWYgKHNjaGVtYSA9PT0gZmFsc2UpIHtcbiAgICAgICAgZ2VuLnZhcih2YWxpZCwgZmFsc2UpOyAvLyBUT0RPIHZhclxuICAgICAgICBmYWxzZVNjaGVtYUVycm9yKGl0KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGdlbi52YXIodmFsaWQsIHRydWUpOyAvLyBUT0RPIHZhclxuICAgIH1cbn1cbmV4cG9ydHMuYm9vbE9yRW1wdHlTY2hlbWEgPSBib29sT3JFbXB0eVNjaGVtYTtcbmZ1bmN0aW9uIGZhbHNlU2NoZW1hRXJyb3IoaXQsIG92ZXJyaWRlQWxsRXJyb3JzKSB7XG4gICAgY29uc3QgeyBnZW4sIGRhdGEgfSA9IGl0O1xuICAgIC8vIFRPRE8gbWF5YmUgc29tZSBvdGhlciBpbnRlcmZhY2Ugc2hvdWxkIGJlIHVzZWQgZm9yIG5vbi1rZXl3b3JkIHZhbGlkYXRpb24gZXJyb3JzLi4uXG4gICAgY29uc3QgY3h0ID0ge1xuICAgICAgICBnZW4sXG4gICAgICAgIGtleXdvcmQ6IFwiZmFsc2Ugc2NoZW1hXCIsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHNjaGVtYTogZmFsc2UsXG4gICAgICAgIHNjaGVtYUNvZGU6IGZhbHNlLFxuICAgICAgICBzY2hlbWFWYWx1ZTogZmFsc2UsXG4gICAgICAgIHBhcmFtczoge30sXG4gICAgICAgIGl0LFxuICAgIH07XG4gICAgKDAsIGVycm9yc18xLnJlcG9ydEVycm9yKShjeHQsIGJvb2xFcnJvciwgdW5kZWZpbmVkLCBvdmVycmlkZUFsbEVycm9ycyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ib29sU2NoZW1hLmpzLm1hcCJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF0sIm1hcHBpbmdzIjoiOzs7Ozs7Q0FDQSxPQUFPLGVBQWUsU0FBUyxjQUFjLEVBQUUsT0FBTyxLQUFLLENBQUM7Q0FDNUQsUUFBUSxvQkFBb0IsUUFBUSx1QkFBdUIsS0FBSztDQUNoRSxNQUFNLFdBQUEsZUFBQTtDQUNOLE1BQU0sWUFBQSxnQkFBQTtDQUNOLE1BQU0sVUFBQSxjQUFBO0NBQ04sTUFBTSxZQUFZLEVBQ2QsU0FBUywwQkFDYjtDQUNBLFNBQVMscUJBQXFCLElBQUk7RUFDOUIsTUFBTSxFQUFFLEtBQUssUUFBUSxpQkFBaUI7RUFDdEMsSUFBSSxXQUFXLE9BQ1gsaUJBQWlCLElBQUksS0FBSztPQUV6QixJQUFJLE9BQU8sVUFBVSxZQUFZLE9BQU8sV0FBVyxNQUNwRCxJQUFJLE9BQU8sUUFBUSxRQUFRLElBQUk7T0FFOUI7R0FDRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLEdBQUssYUFBYSxVQUFVLElBQUk7R0FDMUQsSUFBSSxPQUFPLElBQUk7RUFDbkI7Q0FDSjtDQUNBLFFBQVEsdUJBQXVCO0NBQy9CLFNBQVMsa0JBQWtCLElBQUksT0FBTztFQUNsQyxNQUFNLEVBQUUsS0FBSyxXQUFXO0VBQ3hCLElBQUksV0FBVyxPQUFPO0dBQ2xCLElBQUksSUFBSSxPQUFPLEtBQUs7R0FDcEIsaUJBQWlCLEVBQUU7RUFDdkIsT0FFSSxJQUFJLElBQUksT0FBTyxJQUFJO0NBRTNCO0NBQ0EsUUFBUSxvQkFBb0I7Q0FDNUIsU0FBUyxpQkFBaUIsSUFBSSxtQkFBbUI7RUFDN0MsTUFBTSxFQUFFLEtBQUssU0FBUztFQUV0QixNQUFNLE1BQU07R0FDUjtHQUNBLFNBQVM7R0FDVDtHQUNBLFFBQVE7R0FDUixZQUFZO0dBQ1osYUFBYTtHQUNiLFFBQVEsQ0FBQztHQUNUO0VBQ0o7RUFDQSxDQUFDLEdBQUcsU0FBUyxZQUFBLENBQWEsS0FBSyxXQUFXLFFBQVcsaUJBQWlCO0NBQzFFIn0=
|