@cartanova/qgrid-cli 2.7.0 → 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.
Files changed (126) hide show
  1. package/bundle/dist/_virtual/_rolldown/runtime.js +20 -1
  2. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +17 -6
  3. package/bundle/dist/application/qgrid/qgrid.frame.js +1 -1
  4. package/bundle/dist/application/qgrid/schema-prompt.js +240 -0
  5. package/bundle/dist/application/qgrid/tool-emulation.js +7 -5
  6. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js +112 -0
  7. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +140 -0
  8. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +676 -0
  9. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  10. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +104 -0
  11. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +225 -0
  12. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +30 -0
  13. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +20 -0
  14. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +135 -0
  15. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +63 -0
  16. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +148 -0
  17. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +25 -0
  18. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  19. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +174 -0
  20. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +33 -0
  21. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +435 -0
  22. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +115 -0
  23. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +74 -0
  24. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +585 -0
  25. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +20 -0
  26. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +44 -0
  27. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.js +52 -0
  28. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.js +22 -0
  29. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.js +53 -0
  30. 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
  31. 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
  32. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.js +21 -0
  33. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.js +87 -0
  34. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.js +61 -0
  35. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +14 -0
  36. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +27 -0
  37. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +14 -0
  38. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +18 -0
  39. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
  40. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +98 -0
  41. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +31 -0
  42. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +18 -0
  43. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +91 -0
  44. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +89 -0
  45. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +18 -0
  46. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +64 -0
  47. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +62 -0
  48. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +61 -0
  49. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +36 -0
  50. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +33 -0
  51. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +53 -0
  52. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +63 -0
  53. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +19 -0
  54. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  55. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +43 -0
  56. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +19 -0
  57. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +132 -0
  58. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +16 -0
  59. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +24 -0
  60. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +114 -0
  61. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +103 -0
  62. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +16 -0
  63. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js +37 -0
  64. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +48 -0
  65. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +47 -0
  66. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js +24 -0
  67. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +22 -0
  68. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +17 -0
  69. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
  70. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +12 -0
  71. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +25 -0
  72. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js +21 -0
  73. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js +15 -0
  74. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +48 -0
  75. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +61 -0
  76. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +29 -0
  77. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +19 -0
  78. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +51 -0
  79. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +50 -0
  80. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js +20 -0
  81. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +30 -0
  82. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +35 -0
  83. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +49 -0
  84. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +30 -0
  85. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +29 -0
  86. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +40 -0
  87. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +74 -0
  88. package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
  89. package/bundle/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +35 -0
  90. package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +238 -0
  91. package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +189 -0
  92. package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +284 -0
  93. package/bundle/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +80 -0
  94. package/bundle/dist/testing/schema-bench.js +0 -0
  95. package/bundle/dist/utils/providers/anthropic/fence-strip.js +83 -0
  96. package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +3 -5
  97. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +250 -34
  98. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +36 -5
  99. package/bundle/src/application/qgrid/qgrid.frame.test.ts +120 -153
  100. package/bundle/src/application/qgrid/qgrid.frame.ts +2 -0
  101. package/bundle/src/application/qgrid/schema-prompt.test.ts +166 -0
  102. package/bundle/src/application/qgrid/schema-prompt.ts +293 -0
  103. package/bundle/src/application/qgrid/tool-emulation.test.ts +36 -0
  104. package/bundle/src/application/qgrid/tool-emulation.ts +19 -7
  105. package/bundle/src/testing/schema-bench.test.ts +358 -0
  106. package/bundle/src/testing/schema-bench.ts +352 -0
  107. package/bundle/src/utils/providers/anthropic/fence-strip.test.ts +122 -0
  108. package/bundle/src/utils/providers/anthropic/fence-strip.ts +105 -0
  109. package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +2 -8
  110. package/bundle/web-dist/client/assets/{index-C24D5PiN.js → index-C0594sjh.js} +3 -3
  111. package/bundle/web-dist/client/assets/{logs-CIlZG6A3.js → logs-BotUcOEB.js} +1 -1
  112. package/bundle/web-dist/client/assets/{monit-DZFBMxKl.js → monit-kk3vnGvu.js} +1 -1
  113. package/bundle/web-dist/client/assets/{routes-C3wlSNBL.js → routes-J4bnHVfl.js} +1 -1
  114. package/bundle/web-dist/client/assets/{settings-ClRDWO-8.js → settings-CAAQSIyg.js} +1 -1
  115. package/bundle/web-dist/client/assets/{show-BP7U8yyJ.js → show-BryNvjUT.js} +1 -1
  116. package/bundle/web-dist/client/assets/{tokens-DfQeULnJ.js → tokens-DDrATjGA.js} +1 -1
  117. package/bundle/web-dist/client/assets/{use-oauth-login-flow-CY-ASCfL.js → use-oauth-login-flow-CptleCFM.js} +1 -1
  118. package/bundle/web-dist/client/index.html +1 -1
  119. package/bundle/web-dist/server/entry-server.generated.js +1 -1
  120. package/package.json +1 -1
  121. package/skills/qgrid/references/ai-sdk-provider-contract.md +20 -15
  122. package/skills/qgrid/references/anthropic-claude-code-runtime.md +31 -14
  123. package/skills/qgrid/references/decision-rationale.md +13 -3
  124. package/skills/qgrid/references/prompt-cache-and-usage.md +4 -1
  125. package/skills/qgrid/references/provider-runtime-differences.md +3 -3
  126. package/skills/qgrid/references/tool-calling-and-multiturn.md +16 -6
@@ -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=