baobox 0.1.0
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/README.md +193 -0
- package/dist/compile/bun-fast-path.d.ts +14 -0
- package/dist/compile/bun-fast-path.d.ts.map +1 -0
- package/dist/compile/emit.d.ts +5 -0
- package/dist/compile/emit.d.ts.map +1 -0
- package/dist/compile/index.d.ts +57 -0
- package/dist/compile/index.d.ts.map +1 -0
- package/dist/compile/index.js +4711 -0
- package/dist/compile/index.js.map +65 -0
- package/dist/error/catalog-types.d.ts +30 -0
- package/dist/error/catalog-types.d.ts.map +1 -0
- package/dist/error/collector/advanced.d.ts +5 -0
- package/dist/error/collector/advanced.d.ts.map +1 -0
- package/dist/error/collector/collections-basic.d.ts +5 -0
- package/dist/error/collector/collections-basic.d.ts.map +1 -0
- package/dist/error/collector/collections-derived.d.ts +5 -0
- package/dist/error/collector/collections-derived.d.ts.map +1 -0
- package/dist/error/collector/collections-parameters.d.ts +5 -0
- package/dist/error/collector/collections-parameters.d.ts.map +1 -0
- package/dist/error/collector/collections.d.ts +5 -0
- package/dist/error/collector/collections.d.ts.map +1 -0
- package/dist/error/collector/primitives.d.ts +5 -0
- package/dist/error/collector/primitives.d.ts.map +1 -0
- package/dist/error/collector/shared.d.ts +6 -0
- package/dist/error/collector/shared.d.ts.map +1 -0
- package/dist/error/collector.d.ts +5 -0
- package/dist/error/collector.d.ts.map +1 -0
- package/dist/error/errors.d.ts +23 -0
- package/dist/error/errors.d.ts.map +1 -0
- package/dist/error/index.d.ts +11 -0
- package/dist/error/index.d.ts.map +1 -0
- package/dist/error/index.js +3163 -0
- package/dist/error/index.js.map +53 -0
- package/dist/error/locales/de.d.ts +3 -0
- package/dist/error/locales/de.d.ts.map +1 -0
- package/dist/error/locales/en.d.ts +3 -0
- package/dist/error/locales/en.d.ts.map +1 -0
- package/dist/error/locales/es.d.ts +3 -0
- package/dist/error/locales/es.d.ts.map +1 -0
- package/dist/error/locales/fr.d.ts +3 -0
- package/dist/error/locales/fr.d.ts.map +1 -0
- package/dist/error/locales/ja.d.ts +3 -0
- package/dist/error/locales/ja.d.ts.map +1 -0
- package/dist/error/locales/ko.d.ts +3 -0
- package/dist/error/locales/ko.d.ts.map +1 -0
- package/dist/error/locales/pt.d.ts +3 -0
- package/dist/error/locales/pt.d.ts.map +1 -0
- package/dist/error/locales/shared.d.ts +4 -0
- package/dist/error/locales/shared.d.ts.map +1 -0
- package/dist/error/locales/zh.d.ts +4 -0
- package/dist/error/locales/zh.d.ts.map +1 -0
- package/dist/error/messages.d.ts +7 -0
- package/dist/error/messages.d.ts.map +1 -0
- package/dist/format/format.d.ts +61 -0
- package/dist/format/format.d.ts.map +1 -0
- package/dist/format/index.d.ts +5 -0
- package/dist/format/index.d.ts.map +1 -0
- package/dist/format/index.js +1475 -0
- package/dist/format/index.js.map +29 -0
- package/dist/guard/guard.d.ts +73 -0
- package/dist/guard/guard.d.ts.map +1 -0
- package/dist/guard/index.d.ts +7 -0
- package/dist/guard/index.d.ts.map +1 -0
- package/dist/guard/index.js +342 -0
- package/dist/guard/index.js.map +11 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8938 -0
- package/dist/index.js.map +104 -0
- package/dist/locale/index.d.ts +124 -0
- package/dist/locale/index.d.ts.map +1 -0
- package/dist/locale/index.js +564 -0
- package/dist/locale/index.js.map +20 -0
- package/dist/schema/build.d.ts +32 -0
- package/dist/schema/build.d.ts.map +1 -0
- package/dist/schema/check.d.ts +6 -0
- package/dist/schema/check.d.ts.map +1 -0
- package/dist/schema/compile.d.ts +16 -0
- package/dist/schema/compile.d.ts.map +1 -0
- package/dist/schema/core-keywords.d.ts +8 -0
- package/dist/schema/core-keywords.d.ts.map +1 -0
- package/dist/schema/core.d.ts +3 -0
- package/dist/schema/core.d.ts.map +1 -0
- package/dist/schema/emitter-advanced.d.ts +6 -0
- package/dist/schema/emitter-advanced.d.ts.map +1 -0
- package/dist/schema/emitter-base.d.ts +8 -0
- package/dist/schema/emitter-base.d.ts.map +1 -0
- package/dist/schema/emitter-derived.d.ts +5 -0
- package/dist/schema/emitter-derived.d.ts.map +1 -0
- package/dist/schema/emitter-reference.d.ts +5 -0
- package/dist/schema/emitter-reference.d.ts.map +1 -0
- package/dist/schema/emitter-types.d.ts +5 -0
- package/dist/schema/emitter-types.d.ts.map +1 -0
- package/dist/schema/emitter-wrapper.d.ts +5 -0
- package/dist/schema/emitter-wrapper.d.ts.map +1 -0
- package/dist/schema/emitter.d.ts +52 -0
- package/dist/schema/emitter.d.ts.map +1 -0
- package/dist/schema/engine.d.ts +61 -0
- package/dist/schema/engine.d.ts.map +1 -0
- package/dist/schema/error-collector.d.ts +4 -0
- package/dist/schema/error-collector.d.ts.map +1 -0
- package/dist/schema/errors.d.ts +7 -0
- package/dist/schema/errors.d.ts.map +1 -0
- package/dist/schema/index.d.ts +4 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +3661 -0
- package/dist/schema/index.js.map +50 -0
- package/dist/schema/parse.d.ts +14 -0
- package/dist/schema/parse.d.ts.map +1 -0
- package/dist/schema/pointer.d.ts +13 -0
- package/dist/schema/pointer.d.ts.map +1 -0
- package/dist/schema/predicates.d.ts +62 -0
- package/dist/schema/predicates.d.ts.map +1 -0
- package/dist/schema/resolve.d.ts +6 -0
- package/dist/schema/resolve.d.ts.map +1 -0
- package/dist/schema/runtime-keywords.d.ts +136 -0
- package/dist/schema/runtime-keywords.d.ts.map +1 -0
- package/dist/schema/schema.d.ts +14 -0
- package/dist/schema/schema.d.ts.map +1 -0
- package/dist/schema/shared.d.ts +61 -0
- package/dist/schema/shared.d.ts.map +1 -0
- package/dist/script/generic.d.ts +3 -0
- package/dist/script/generic.d.ts.map +1 -0
- package/dist/script/index.d.ts +7 -0
- package/dist/script/index.d.ts.map +1 -0
- package/dist/script/index.js +3948 -0
- package/dist/script/index.js.map +55 -0
- package/dist/script/literals.d.ts +5 -0
- package/dist/script/literals.d.ts.map +1 -0
- package/dist/script/shared.d.ts +15 -0
- package/dist/script/shared.d.ts.map +1 -0
- package/dist/shared/bytes.d.ts +9 -0
- package/dist/shared/bytes.d.ts.map +1 -0
- package/dist/shared/format-constants.d.ts +16 -0
- package/dist/shared/format-constants.d.ts.map +1 -0
- package/dist/shared/format-validators.d.ts +13 -0
- package/dist/shared/format-validators.d.ts.map +1 -0
- package/dist/shared/locale.d.ts +43 -0
- package/dist/shared/locale.d.ts.map +1 -0
- package/dist/shared/object-utils.d.ts +21 -0
- package/dist/shared/object-utils.d.ts.map +1 -0
- package/dist/shared/regex-json.d.ts +5 -0
- package/dist/shared/regex-json.d.ts.map +1 -0
- package/dist/shared/registries.d.ts +41 -0
- package/dist/shared/registries.d.ts.map +1 -0
- package/dist/shared/runtime-context.d.ts +109 -0
- package/dist/shared/runtime-context.d.ts.map +1 -0
- package/dist/shared/runtime-guards.d.ts +7 -0
- package/dist/shared/runtime-guards.d.ts.map +1 -0
- package/dist/shared/schema-access.d.ts +34 -0
- package/dist/shared/schema-access.d.ts.map +1 -0
- package/dist/shared/utils.d.ts +9 -0
- package/dist/shared/utils.d.ts.map +1 -0
- package/dist/shared/utils.js +1321 -0
- package/dist/shared/utils.js.map +27 -0
- package/dist/standard/index.d.ts +51 -0
- package/dist/standard/index.d.ts.map +1 -0
- package/dist/standard/index.js +4551 -0
- package/dist/standard/index.js.map +66 -0
- package/dist/system/index.d.ts +5 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/index.js +1632 -0
- package/dist/system/index.js.map +33 -0
- package/dist/system/system.d.ts +154 -0
- package/dist/system/system.d.ts.map +1 -0
- package/dist/type/actions.d.ts +48 -0
- package/dist/type/actions.d.ts.map +1 -0
- package/dist/type/base-types.d.ts +5 -0
- package/dist/type/base-types.d.ts.map +1 -0
- package/dist/type/codec-builtins.d.ts +9 -0
- package/dist/type/codec-builtins.d.ts.map +1 -0
- package/dist/type/combinator-core.d.ts +26 -0
- package/dist/type/combinator-core.d.ts.map +1 -0
- package/dist/type/combinator-functions.d.ts +16 -0
- package/dist/type/combinator-functions.d.ts.map +1 -0
- package/dist/type/combinator-objects.d.ts +30 -0
- package/dist/type/combinator-objects.d.ts.map +1 -0
- package/dist/type/combinators.d.ts +4 -0
- package/dist/type/combinators.d.ts.map +1 -0
- package/dist/type/composite-types.d.ts +39 -0
- package/dist/type/composite-types.d.ts.map +1 -0
- package/dist/type/containers-types.d.ts +47 -0
- package/dist/type/containers-types.d.ts.map +1 -0
- package/dist/type/containers.d.ts +7 -0
- package/dist/type/containers.d.ts.map +1 -0
- package/dist/type/extends.d.ts +32 -0
- package/dist/type/extends.d.ts.map +1 -0
- package/dist/type/extensions.d.ts +86 -0
- package/dist/type/extensions.d.ts.map +1 -0
- package/dist/type/guards.d.ts +78 -0
- package/dist/type/guards.d.ts.map +1 -0
- package/dist/type/index.d.ts +29 -0
- package/dist/type/index.d.ts.map +1 -0
- package/dist/type/index.js +4049 -0
- package/dist/type/index.js.map +51 -0
- package/dist/type/instantiation.d.ts +10 -0
- package/dist/type/instantiation.d.ts.map +1 -0
- package/dist/type/kind.d.ts +76 -0
- package/dist/type/kind.d.ts.map +1 -0
- package/dist/type/narrow-types.d.ts +23 -0
- package/dist/type/narrow-types.d.ts.map +1 -0
- package/dist/type/primitives-types.d.ts +103 -0
- package/dist/type/primitives-types.d.ts.map +1 -0
- package/dist/type/primitives.d.ts +81 -0
- package/dist/type/primitives.d.ts.map +1 -0
- package/dist/type/root-constants.d.ts +65 -0
- package/dist/type/root-constants.d.ts.map +1 -0
- package/dist/type/root-cyclic.d.ts +12 -0
- package/dist/type/root-cyclic.d.ts.map +1 -0
- package/dist/type/root-deferred.d.ts +39 -0
- package/dist/type/root-deferred.d.ts.map +1 -0
- package/dist/type/root-guards.d.ts +15 -0
- package/dist/type/root-guards.d.ts.map +1 -0
- package/dist/type/root-helpers.d.ts +28 -0
- package/dist/type/root-helpers.d.ts.map +1 -0
- package/dist/type/root-instantiate.d.ts +33 -0
- package/dist/type/root-instantiate.d.ts.map +1 -0
- package/dist/type/root-shared.d.ts +14 -0
- package/dist/type/root-shared.d.ts.map +1 -0
- package/dist/type/root-template.d.ts +15 -0
- package/dist/type/root-template.d.ts.map +1 -0
- package/dist/type/schema.d.ts +10 -0
- package/dist/type/schema.d.ts.map +1 -0
- package/dist/type/static-const-types.d.ts +25 -0
- package/dist/type/static-const-types.d.ts.map +1 -0
- package/dist/type/static-shared-types.d.ts +17 -0
- package/dist/type/static-shared-types.d.ts.map +1 -0
- package/dist/type/static-types.d.ts +39 -0
- package/dist/type/static-types.d.ts.map +1 -0
- package/dist/type/string-action-types.d.ts +24 -0
- package/dist/type/string-action-types.d.ts.map +1 -0
- package/dist/type/transform-types.d.ts +54 -0
- package/dist/type/transform-types.d.ts.map +1 -0
- package/dist/type/uint8array-codec.d.ts +8 -0
- package/dist/type/uint8array-codec.d.ts.map +1 -0
- package/dist/type/wrapper-types.d.ts +71 -0
- package/dist/type/wrapper-types.d.ts.map +1 -0
- package/dist/typebox.d.ts +3 -0
- package/dist/typebox.d.ts.map +1 -0
- package/dist/typebox.js +4767 -0
- package/dist/typebox.js.map +55 -0
- package/dist/value/assert.d.ts +8 -0
- package/dist/value/assert.d.ts.map +1 -0
- package/dist/value/check-collections-derived.d.ts +6 -0
- package/dist/value/check-collections-derived.d.ts.map +1 -0
- package/dist/value/check-collections.d.ts +5 -0
- package/dist/value/check-collections.d.ts.map +1 -0
- package/dist/value/check-extensions.d.ts +3 -0
- package/dist/value/check-extensions.d.ts.map +1 -0
- package/dist/value/check-primitives.d.ts +4 -0
- package/dist/value/check-primitives.d.ts.map +1 -0
- package/dist/value/check.d.ts +13 -0
- package/dist/value/check.d.ts.map +1 -0
- package/dist/value/clean.d.ts +4 -0
- package/dist/value/clean.d.ts.map +1 -0
- package/dist/value/clone.d.ts +3 -0
- package/dist/value/clone.d.ts.map +1 -0
- package/dist/value/convert.d.ts +4 -0
- package/dist/value/convert.d.ts.map +1 -0
- package/dist/value/create.d.ts +4 -0
- package/dist/value/create.d.ts.map +1 -0
- package/dist/value/decode.d.ts +4 -0
- package/dist/value/decode.d.ts.map +1 -0
- package/dist/value/default.d.ts +4 -0
- package/dist/value/default.d.ts.map +1 -0
- package/dist/value/diff.d.ts +9 -0
- package/dist/value/diff.d.ts.map +1 -0
- package/dist/value/encode.d.ts +4 -0
- package/dist/value/encode.d.ts.map +1 -0
- package/dist/value/equal.d.ts +3 -0
- package/dist/value/equal.d.ts.map +1 -0
- package/dist/value/has-codec.d.ts +3 -0
- package/dist/value/has-codec.d.ts.map +1 -0
- package/dist/value/hash.d.ts +3 -0
- package/dist/value/hash.d.ts.map +1 -0
- package/dist/value/index.d.ts +145 -0
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/index.js +4702 -0
- package/dist/value/index.js.map +71 -0
- package/dist/value/mutate.d.ts +3 -0
- package/dist/value/mutate.d.ts.map +1 -0
- package/dist/value/parse.d.ts +13 -0
- package/dist/value/parse.d.ts.map +1 -0
- package/dist/value/patch.d.ts +4 -0
- package/dist/value/patch.d.ts.map +1 -0
- package/dist/value/pipeline.d.ts +6 -0
- package/dist/value/pipeline.d.ts.map +1 -0
- package/dist/value/pointer.d.ts +8 -0
- package/dist/value/pointer.d.ts.map +1 -0
- package/dist/value/repair.d.ts +5 -0
- package/dist/value/repair.d.ts.map +1 -0
- package/dist/value/result.d.ts +10 -0
- package/dist/value/result.d.ts.map +1 -0
- package/docs/locale-packs.md +78 -0
- package/docs/package-contract.md +89 -0
- package/docs/parity-and-extensions.md +56 -0
- package/docs/script-module-registries.md +107 -0
- package/docs/workflows.md +154 -0
- package/package.json +117 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/error/locales/shared.ts", "../src/error/locales/de.ts", "../src/error/locales/en.ts", "../src/error/locales/es.ts", "../src/error/locales/fr.ts", "../src/error/locales/ja.ts", "../src/error/locales/ko.ts", "../src/error/locales/pt.ts", "../src/error/locales/zh.ts", "../src/shared/locale.ts", "../src/locale/index.ts", "../src/shared/object-utils.ts", "../src/shared/runtime-guards.ts", "../src/shared/format-constants.ts", "../src/shared/regex-json.ts", "../src/shared/runtime-context.ts", "../src/shared/format-validators.ts", "../src/shared/registries.ts", "../src/value/clone.ts", "../src/value/create.ts", "../src/value/hash.ts", "../src/value/mutate.ts", "../src/system/system.ts", "../src/system/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { SchemaIssueParams } from '../catalog-types.js';\n\nexport function formatList(values: readonly string[] | undefined): string {\n return values === undefined ? '' : values.join(', ');\n}\n\nexport function labelFor(params: SchemaIssueParams, fallback: string): string {\n return params.label ?? fallback;\n}\n",
|
|
6
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const deDECatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `Erwartet: ${params.expected ?? 'Wert'}`\n : `Erwartet: ${params.expected ?? 'Wert'}, erhalten: ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, 'Der Wert')} muss mindestens ${params.minimum} sein`,\n MAX_LENGTH: (params) => `${labelFor(params, 'Der Wert')} darf höchstens ${params.maximum} sein`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, 'Der Wert')} muss einem von folgenden Mustern entsprechen: ${formatList(params.patterns)}`\n : `${labelFor(params, 'Der Wert')} muss dem Muster ${params.pattern} entsprechen`,\n FORMAT: (params) => `${labelFor(params, 'Der Wert')} muss dem Format ${params.format} entsprechen`,\n MINIMUM: (params) => `${labelFor(params, 'Der Wert')} muss >= ${params.minimum} sein`,\n MAXIMUM: (params) => `${labelFor(params, 'Der Wert')} muss <= ${params.maximum} sein`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, 'Der Wert')} muss > ${params.minimum} sein`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, 'Der Wert')} muss < ${params.maximum} sein`,\n MULTIPLE_OF: (params) => `${labelFor(params, 'Der Wert')} muss ein Vielfaches von ${params.divisor} sein`,\n INVALID_CONST: (params) => `Erwartet: ${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, 'Das Array')} muss mindestens ${params.minimum} Elemente enthalten`,\n MAX_ITEMS: (params) => `${labelFor(params, 'Das Array')} darf höchstens ${params.maximum} Elemente enthalten`,\n UNIQUE_ITEMS: (params) => `Die Elemente von ${labelFor(params, 'diesem Array')} müssen eindeutig sein`,\n CONTAINS: (params) => `${labelFor(params, 'Das Array')} muss mindestens ein passendes Element enthalten`,\n MIN_CONTAINS: (params) => `${labelFor(params, 'Das Array')} muss mindestens ${params.minimum} passende Elemente enthalten`,\n MAX_CONTAINS: (params) => `${labelFor(params, 'Das Array')} darf höchstens ${params.maximum} passende Elemente enthalten`,\n MISSING_REQUIRED: (params) => `Erforderliche Eigenschaft \"${params.property}\" fehlt`,\n ADDITIONAL_PROPERTY: (params) => `Unerwartete Eigenschaft \"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `Unerwartetes Element an Index ${params.count}`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'Das Objekt')} muss mindestens ${params.minimum} Eigenschaften haben`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'Das Objekt')} darf höchstens ${params.maximum} Eigenschaften haben`,\n INVALID_KEY: (params) => `Ungültiger Schlüssel \"${params.key}\"`,\n UNION: () => 'Der Wert passt zu keiner Union-Variante',\n ENUM: (params) => `Der Wert muss einer von folgenden sein: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => 'Nicht aufgelöste Schema-Referenz',\n EXCLUDE: () => 'Der Wert entspricht einem ausgeschlossenen Schema',\n EXTRACT: () => 'Der Wert entspricht nicht dem extrahierten Schema',\n NEVER: () => 'Der Wert ist nicht erlaubt',\n NOT: () => 'Der Wert entspricht einem negierten Schema',\n KEYOF: (params) => `Der Wert muss einer von folgenden sein: ${formatList(params.values)}`,\n CONDITIONAL: () => 'Der Wert passt zu keinem bedingten Zweig',\n INDEX: () => 'Der Wert passt zu keinem indexierten Schema',\n IDENTIFIER: () => 'Gültiger Bezeichner erwartet',\n BASE: () => 'Basisvalidierung fehlgeschlagen',\n REFINE: (params) => params.customMessage ?? 'Verfeinerung fehlgeschlagen',\n CALL: () => 'Aufrufschema konnte nicht instanziiert werden',\n PARAMETERS_LENGTH: (params) => `${params.count} Parameter erwartet`,\n CUSTOM_TYPE: (params) => `Validierung des benutzerdefinierten Typs \"${params.kind}\" fehlgeschlagen`,\n};\n",
|
|
7
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const enUSCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `Expected ${params.expected ?? 'value'}`\n : `Expected ${params.expected ?? 'value'}, got ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, 'Value')} must be at least ${params.minimum}`,\n MAX_LENGTH: (params) => `${labelFor(params, 'Value')} must be at most ${params.maximum}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, 'Value')} must match one of: ${formatList(params.patterns)}`\n : `${labelFor(params, 'Value')} must match pattern ${params.pattern}`,\n FORMAT: (params) => `${labelFor(params, 'Value')} must match format ${params.format}`,\n MINIMUM: (params) => `${labelFor(params, 'Value')} must be >= ${params.minimum}`,\n MAXIMUM: (params) => `${labelFor(params, 'Value')} must be <= ${params.maximum}`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, 'Value')} must be > ${params.minimum}`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, 'Value')} must be < ${params.maximum}`,\n MULTIPLE_OF: (params) => `${labelFor(params, 'Value')} must be a multiple of ${params.divisor}`,\n INVALID_CONST: (params) => `Expected ${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, 'Array')} must have at least ${params.minimum} items`,\n MAX_ITEMS: (params) => `${labelFor(params, 'Array')} must have at most ${params.maximum} items`,\n UNIQUE_ITEMS: (params) => `${labelFor(params, 'Array')} items must be unique`,\n CONTAINS: (params) => `${labelFor(params, 'Array')} must contain at least one matching item`,\n MIN_CONTAINS: (params) => `${labelFor(params, 'Array')} must contain at least ${params.minimum} matching items`,\n MAX_CONTAINS: (params) => `${labelFor(params, 'Array')} must contain at most ${params.maximum} matching items`,\n MISSING_REQUIRED: (params) => `Missing required property \"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `Unexpected property \"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `Unexpected item at index ${params.count}`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'Object')} must have at least ${params.minimum} properties`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'Object')} must have at most ${params.maximum} properties`,\n INVALID_KEY: (params) => `Invalid record key \"${params.key}\"`,\n UNION: () => 'Value does not match any union variant',\n ENUM: (params) => `Value must be one of: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => 'Unresolved schema reference',\n EXCLUDE: () => 'Value matched an excluded schema',\n EXTRACT: () => 'Value did not match the extracted schema',\n NEVER: () => 'Value is not allowed',\n NOT: () => 'Value matches a negated schema',\n KEYOF: (params) => `Value must be one of: ${formatList(params.values)}`,\n CONDITIONAL: () => 'Value does not match any conditional branch',\n INDEX: () => 'Value does not match any indexed schema',\n IDENTIFIER: () => 'Expected valid identifier string',\n BASE: () => 'Base validation failed',\n REFINE: (params) => params.customMessage ?? 'Refinement failed',\n CALL: () => 'Unable to instantiate call schema',\n PARAMETERS_LENGTH: (params) => `Expected ${params.count} parameters`,\n CUSTOM_TYPE: (params) => `Custom type validation failed for kind \"${params.kind}\"`,\n};\n",
|
|
8
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const esESCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `Se esperaba ${params.expected ?? 'un valor'}`\n : `Se esperaba ${params.expected ?? 'un valor'}, se recibió ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, 'El valor')} debe ser al menos ${params.minimum}`,\n MAX_LENGTH: (params) => `${labelFor(params, 'El valor')} debe ser como máximo ${params.maximum}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, 'El valor')} debe coincidir con uno de: ${formatList(params.patterns)}`\n : `${labelFor(params, 'El valor')} debe coincidir con el patrón ${params.pattern}`,\n FORMAT: (params) => `${labelFor(params, 'El valor')} debe coincidir con el formato ${params.format}`,\n MINIMUM: (params) => `${labelFor(params, 'El valor')} debe ser >= ${params.minimum}`,\n MAXIMUM: (params) => `${labelFor(params, 'El valor')} debe ser <= ${params.maximum}`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, 'El valor')} debe ser > ${params.minimum}`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, 'El valor')} debe ser < ${params.maximum}`,\n MULTIPLE_OF: (params) => `${labelFor(params, 'El valor')} debe ser múltiplo de ${params.divisor}`,\n INVALID_CONST: (params) => `Se esperaba ${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, 'El arreglo')} debe tener al menos ${params.minimum} elementos`,\n MAX_ITEMS: (params) => `${labelFor(params, 'El arreglo')} debe tener como máximo ${params.maximum} elementos`,\n UNIQUE_ITEMS: (params) => `Los elementos de ${labelFor(params, 'este arreglo')} deben ser únicos`,\n CONTAINS: (params) => `${labelFor(params, 'El arreglo')} debe contener al menos un elemento coincidente`,\n MIN_CONTAINS: (params) => `${labelFor(params, 'El arreglo')} debe contener al menos ${params.minimum} elementos coincidentes`,\n MAX_CONTAINS: (params) => `${labelFor(params, 'El arreglo')} debe contener como máximo ${params.maximum} elementos coincidentes`,\n MISSING_REQUIRED: (params) => `Falta la propiedad requerida \"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `Propiedad inesperada \"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `Elemento inesperado en el índice ${params.count}`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'El objeto')} debe tener al menos ${params.minimum} propiedades`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'El objeto')} debe tener como máximo ${params.maximum} propiedades`,\n INVALID_KEY: (params) => `Clave de registro no válida \"${params.key}\"`,\n UNION: () => 'El valor no coincide con ninguna variante de la unión',\n ENUM: (params) => `El valor debe ser uno de: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => 'Referencia de esquema no resuelta',\n EXCLUDE: () => 'El valor coincidió con un esquema excluido',\n EXTRACT: () => 'El valor no coincidió con el esquema extraído',\n NEVER: () => 'El valor no está permitido',\n NOT: () => 'El valor coincide con un esquema negado',\n KEYOF: (params) => `El valor debe ser uno de: ${formatList(params.values)}`,\n CONDITIONAL: () => 'El valor no coincide con ninguna rama condicional',\n INDEX: () => 'El valor no coincide con ningún esquema indexado',\n IDENTIFIER: () => 'Se esperaba una cadena identificadora válida',\n BASE: () => 'La validación base falló',\n REFINE: (params) => params.customMessage ?? 'La validación refinada falló',\n CALL: () => 'No se pudo instanciar el esquema de llamada',\n PARAMETERS_LENGTH: (params) => `Se esperaban ${params.count} parámetros`,\n CUSTOM_TYPE: (params) => `La validación del tipo personalizado \"${params.kind}\" falló`,\n};\n",
|
|
9
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const frFRCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `Valeur attendue: ${params.expected ?? 'valeur'}`\n : `Valeur attendue: ${params.expected ?? 'valeur'}, reçu: ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, 'La valeur')} doit être au moins ${params.minimum}`,\n MAX_LENGTH: (params) => `${labelFor(params, 'La valeur')} doit être au plus ${params.maximum}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, 'La valeur')} doit correspondre à l'un de: ${formatList(params.patterns)}`\n : `${labelFor(params, 'La valeur')} doit correspondre au motif ${params.pattern}`,\n FORMAT: (params) => `${labelFor(params, 'La valeur')} doit respecter le format ${params.format}`,\n MINIMUM: (params) => `${labelFor(params, 'La valeur')} doit être >= ${params.minimum}`,\n MAXIMUM: (params) => `${labelFor(params, 'La valeur')} doit être <= ${params.maximum}`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, 'La valeur')} doit être > ${params.minimum}`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, 'La valeur')} doit être < ${params.maximum}`,\n MULTIPLE_OF: (params) => `${labelFor(params, 'La valeur')} doit être un multiple de ${params.divisor}`,\n INVALID_CONST: (params) => `Valeur attendue: ${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, 'Le tableau')} doit contenir au moins ${params.minimum} éléments`,\n MAX_ITEMS: (params) => `${labelFor(params, 'Le tableau')} doit contenir au plus ${params.maximum} éléments`,\n UNIQUE_ITEMS: (params) => `Les éléments de ${labelFor(params, 'ce tableau')} doivent être uniques`,\n CONTAINS: (params) => `${labelFor(params, 'Le tableau')} doit contenir au moins un élément correspondant`,\n MIN_CONTAINS: (params) => `${labelFor(params, 'Le tableau')} doit contenir au moins ${params.minimum} éléments correspondants`,\n MAX_CONTAINS: (params) => `${labelFor(params, 'Le tableau')} doit contenir au plus ${params.maximum} éléments correspondants`,\n MISSING_REQUIRED: (params) => `Propriété requise manquante \"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `Propriété inattendue \"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `Élément inattendu à l'index ${params.count}`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'L’objet')} doit avoir au moins ${params.minimum} propriétés`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'L’objet')} doit avoir au plus ${params.maximum} propriétés`,\n INVALID_KEY: (params) => `Clé d’enregistrement invalide \"${params.key}\"`,\n UNION: () => 'La valeur ne correspond à aucune variante de l’union',\n ENUM: (params) => `La valeur doit être l’une de: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => 'Référence de schéma non résolue',\n EXCLUDE: () => 'La valeur correspond à un schéma exclu',\n EXTRACT: () => 'La valeur ne correspond pas au schéma extrait',\n NEVER: () => 'La valeur n’est pas autorisée',\n NOT: () => 'La valeur correspond à un schéma négatif',\n KEYOF: (params) => `La valeur doit être l’une de: ${formatList(params.values)}`,\n CONDITIONAL: () => 'La valeur ne correspond à aucune branche conditionnelle',\n INDEX: () => 'La valeur ne correspond à aucun schéma indexé',\n IDENTIFIER: () => 'Identifiant attendu valide',\n BASE: () => 'La validation de base a échoué',\n REFINE: (params) => params.customMessage ?? 'Le raffinement a échoué',\n CALL: () => 'Impossible d’instancier le schéma d’appel',\n PARAMETERS_LENGTH: (params) => `${params.count} paramètres attendus`,\n CUSTOM_TYPE: (params) => `La validation du type personnalisé \"${params.kind}\" a échoué`,\n};\n",
|
|
10
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const jaJPCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `${params.expected ?? '値'}である必要があります`\n : `${params.expected ?? '値'}である必要があります。実際の型: ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, '値')}は少なくとも${params.minimum}である必要があります`,\n MAX_LENGTH: (params) => `${labelFor(params, '値')}は最大で${params.maximum}である必要があります`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, '値')}は次のいずれかに一致する必要があります: ${formatList(params.patterns)}`\n : `${labelFor(params, '値')}はパターン${params.pattern}に一致する必要があります`,\n FORMAT: (params) => `${labelFor(params, '値')}は形式${params.format}に一致する必要があります`,\n MINIMUM: (params) => `${labelFor(params, '値')}は${params.minimum}以上である必要があります`,\n MAXIMUM: (params) => `${labelFor(params, '値')}は${params.maximum}以下である必要があります`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, '値')}は${params.minimum}より大きい必要があります`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, '値')}は${params.maximum}より小さい必要があります`,\n MULTIPLE_OF: (params) => `${labelFor(params, '値')}は${params.divisor}の倍数である必要があります`,\n INVALID_CONST: (params) => `${params.expectedValue}である必要があります`,\n MIN_ITEMS: (params) => `${labelFor(params, '配列')}には少なくとも${params.minimum}個の項目が必要です`,\n MAX_ITEMS: (params) => `${labelFor(params, '配列')}には最大${params.maximum}個の項目まで許可されます`,\n UNIQUE_ITEMS: (params) => `${labelFor(params, '配列')}の項目は一意である必要があります`,\n CONTAINS: (params) => `${labelFor(params, '配列')}には一致する項目が少なくとも1つ必要です`,\n MIN_CONTAINS: (params) => `${labelFor(params, '配列')}には一致する項目が少なくとも${params.minimum}個必要です`,\n MAX_CONTAINS: (params) => `${labelFor(params, '配列')}には一致する項目を最大${params.maximum}個まで含められます`,\n MISSING_REQUIRED: (params) => `必須プロパティ\"${params.property}\"がありません`,\n ADDITIONAL_PROPERTY: (params) => `予期しないプロパティ\"${params.property}\"です`,\n ADDITIONAL_ITEMS: (params) => `インデックス${params.count}に予期しない項目があります`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'オブジェクト')}には少なくとも${params.minimum}個のプロパティが必要です`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'オブジェクト')}には最大${params.maximum}個のプロパティまで許可されます`,\n INVALID_KEY: (params) => `無効なレコードキー\"${params.key}\"です`,\n UNION: () => '値がどのユニオン分岐にも一致しません',\n ENUM: (params) => `値は次のいずれかである必要があります: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => '解決できないスキーマ参照です',\n EXCLUDE: () => '値が除外されたスキーマに一致しました',\n EXTRACT: () => '値が抽出されたスキーマに一致しません',\n NEVER: () => '値は許可されていません',\n NOT: () => '値が否定スキーマに一致しています',\n KEYOF: (params) => `値は次のいずれかである必要があります: ${formatList(params.values)}`,\n CONDITIONAL: () => '値がどの条件分岐にも一致しません',\n INDEX: () => '値がどのインデックス候補スキーマにも一致しません',\n IDENTIFIER: () => '有効な識別子文字列である必要があります',\n BASE: () => '基本検証に失敗しました',\n REFINE: (params) => params.customMessage ?? '追加条件の検証に失敗しました',\n CALL: () => '呼び出しスキーマをインスタンス化できません',\n PARAMETERS_LENGTH: (params) => `パラメータは${params.count}個である必要があります`,\n CUSTOM_TYPE: (params) => `カスタム型\"${params.kind}\"の検証に失敗しました`,\n};\n",
|
|
11
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const koKRCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `${params.expected ?? '값'}이어야 합니다`\n : `${params.expected ?? '값'}이어야 합니다. 현재 값 유형: ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, '값')}은(는) 최소 ${params.minimum}이어야 합니다`,\n MAX_LENGTH: (params) => `${labelFor(params, '값')}은(는) 최대 ${params.maximum}이어야 합니다`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, '값')}은(는) 다음 중 하나와 일치해야 합니다: ${formatList(params.patterns)}`\n : `${labelFor(params, '값')}은(는) 패턴 ${params.pattern}과 일치해야 합니다`,\n FORMAT: (params) => `${labelFor(params, '값')}은(는) ${params.format} 형식이어야 합니다`,\n MINIMUM: (params) => `${labelFor(params, '값')}은(는) ${params.minimum} 이상이어야 합니다`,\n MAXIMUM: (params) => `${labelFor(params, '값')}은(는) ${params.maximum} 이하여야 합니다`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, '값')}은(는) ${params.minimum}보다 커야 합니다`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, '값')}은(는) ${params.maximum}보다 작아야 합니다`,\n MULTIPLE_OF: (params) => `${labelFor(params, '값')}은(는) ${params.divisor}의 배수여야 합니다`,\n INVALID_CONST: (params) => `${params.expectedValue}이어야 합니다`,\n MIN_ITEMS: (params) => `${labelFor(params, '배열')}은(는) 최소 ${params.minimum}개 항목이 필요합니다`,\n MAX_ITEMS: (params) => `${labelFor(params, '배열')}은(는) 최대 ${params.maximum}개 항목만 허용됩니다`,\n UNIQUE_ITEMS: (params) => `${labelFor(params, '배열')} 항목은 고유해야 합니다`,\n CONTAINS: (params) => `${labelFor(params, '배열')}에 일치하는 항목이 하나 이상 있어야 합니다`,\n MIN_CONTAINS: (params) => `${labelFor(params, '배열')}에 일치하는 항목이 최소 ${params.minimum}개 있어야 합니다`,\n MAX_CONTAINS: (params) => `${labelFor(params, '배열')}에 일치하는 항목이 최대 ${params.maximum}개까지만 허용됩니다`,\n MISSING_REQUIRED: (params) => `필수 속성 \"${params.property}\"이(가) 없습니다`,\n ADDITIONAL_PROPERTY: (params) => `예상하지 못한 속성 \"${params.property}\"입니다`,\n ADDITIONAL_ITEMS: (params) => `인덱스 ${params.count}의 항목은 허용되지 않습니다`,\n MIN_PROPERTIES: (params) => `${labelFor(params, '객체')}에는 최소 ${params.minimum}개의 속성이 필요합니다`,\n MAX_PROPERTIES: (params) => `${labelFor(params, '객체')}에는 최대 ${params.maximum}개의 속성만 허용됩니다`,\n INVALID_KEY: (params) => `레코드 키 \"${params.key}\"가 올바르지 않습니다`,\n UNION: () => '값이 어떤 유니언 분기와도 일치하지 않습니다',\n ENUM: (params) => `값은 다음 중 하나여야 합니다: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => '스키마 참조를 확인할 수 없습니다',\n EXCLUDE: () => '값이 제외된 스키마와 일치했습니다',\n EXTRACT: () => '값이 추출된 스키마와 일치하지 않습니다',\n NEVER: () => '값이 허용되지 않습니다',\n NOT: () => '값이 부정 스키마와 일치합니다',\n KEYOF: (params) => `값은 다음 중 하나여야 합니다: ${formatList(params.values)}`,\n CONDITIONAL: () => '값이 어떤 조건 분기와도 일치하지 않습니다',\n INDEX: () => '값이 어떤 인덱스 후보 스키마와도 일치하지 않습니다',\n IDENTIFIER: () => '올바른 식별자 문자열이어야 합니다',\n BASE: () => '기본 검증에 실패했습니다',\n REFINE: (params) => params.customMessage ?? '세부 조건 검증에 실패했습니다',\n CALL: () => '호출 스키마를 인스턴스화할 수 없습니다',\n PARAMETERS_LENGTH: (params) => `매개변수는 ${params.count}개여야 합니다`,\n CUSTOM_TYPE: (params) => `사용자 정의 타입 \"${params.kind}\" 검증에 실패했습니다`,\n};\n",
|
|
12
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const ptBRCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `Esperado ${params.expected ?? 'valor'}`\n : `Esperado ${params.expected ?? 'valor'}, recebido ${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, 'O valor')} deve ser no mínimo ${params.minimum}`,\n MAX_LENGTH: (params) => `${labelFor(params, 'O valor')} deve ser no máximo ${params.maximum}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, 'O valor')} deve corresponder a um destes padrões: ${formatList(params.patterns)}`\n : `${labelFor(params, 'O valor')} deve corresponder ao padrão ${params.pattern}`,\n FORMAT: (params) => `${labelFor(params, 'O valor')} deve corresponder ao formato ${params.format}`,\n MINIMUM: (params) => `${labelFor(params, 'O valor')} deve ser >= ${params.minimum}`,\n MAXIMUM: (params) => `${labelFor(params, 'O valor')} deve ser <= ${params.maximum}`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, 'O valor')} deve ser > ${params.minimum}`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, 'O valor')} deve ser < ${params.maximum}`,\n MULTIPLE_OF: (params) => `${labelFor(params, 'O valor')} deve ser múltiplo de ${params.divisor}`,\n INVALID_CONST: (params) => `Esperado ${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, 'O array')} deve ter pelo menos ${params.minimum} itens`,\n MAX_ITEMS: (params) => `${labelFor(params, 'O array')} deve ter no máximo ${params.maximum} itens`,\n UNIQUE_ITEMS: (params) => `Os itens de ${labelFor(params, 'este array')} devem ser únicos`,\n CONTAINS: (params) => `${labelFor(params, 'O array')} deve conter ao menos um item correspondente`,\n MIN_CONTAINS: (params) => `${labelFor(params, 'O array')} deve conter pelo menos ${params.minimum} itens correspondentes`,\n MAX_CONTAINS: (params) => `${labelFor(params, 'O array')} deve conter no máximo ${params.maximum} itens correspondentes`,\n MISSING_REQUIRED: (params) => `Propriedade obrigatória ausente \"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `Propriedade inesperada \"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `Item inesperado no índice ${params.count}`,\n MIN_PROPERTIES: (params) => `${labelFor(params, 'O objeto')} deve ter pelo menos ${params.minimum} propriedades`,\n MAX_PROPERTIES: (params) => `${labelFor(params, 'O objeto')} deve ter no máximo ${params.maximum} propriedades`,\n INVALID_KEY: (params) => `Chave inválida \"${params.key}\"`,\n UNION: () => 'O valor não corresponde a nenhuma variante da união',\n ENUM: (params) => `O valor deve ser um destes: ${formatList(params.values)}`,\n UNRESOLVED_REF: () => 'Referência de esquema não resolvida',\n EXCLUDE: () => 'O valor correspondeu a um esquema excluído',\n EXTRACT: () => 'O valor não correspondeu ao esquema extraído',\n NEVER: () => 'O valor não é permitido',\n NOT: () => 'O valor corresponde a um esquema negado',\n KEYOF: (params) => `O valor deve ser um destes: ${formatList(params.values)}`,\n CONDITIONAL: () => 'O valor não corresponde a nenhum ramo condicional',\n INDEX: () => 'O valor não corresponde a nenhum esquema indexado',\n IDENTIFIER: () => 'Era esperado um identificador válido',\n BASE: () => 'A validação base falhou',\n REFINE: (params) => params.customMessage ?? 'A validação refinada falhou',\n CALL: () => 'Não foi possível instanciar o esquema de chamada',\n PARAMETERS_LENGTH: (params) => `Esperados ${params.count} parâmetros`,\n CUSTOM_TYPE: (params) => `A validação do tipo personalizado \"${params.kind}\" falhou`,\n};\n",
|
|
13
|
+
"import type { SchemaIssueCatalog } from '../catalog-types.js';\nimport { formatList, labelFor } from './shared.js';\n\nexport const zhHansCatalog: SchemaIssueCatalog = {\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `应为${params.expected ?? '值'}`\n : `应为${params.expected ?? '值'},实际类型为${params.actual}`,\n MIN_LENGTH: (params) => `${labelFor(params, '值')}必须至少为${params.minimum}`,\n MAX_LENGTH: (params) => `${labelFor(params, '值')}最多只能为${params.maximum}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, '值')}必须匹配以下之一:${formatList(params.patterns)}`\n : `${labelFor(params, '值')}必须匹配模式${params.pattern}`,\n FORMAT: (params) => `${labelFor(params, '值')}必须匹配格式${params.format}`,\n MINIMUM: (params) => `${labelFor(params, '值')}必须 >= ${params.minimum}`,\n MAXIMUM: (params) => `${labelFor(params, '值')}必须 <= ${params.maximum}`,\n EXCLUSIVE_MINIMUM: (params) => `${labelFor(params, '值')}必须 > ${params.minimum}`,\n EXCLUSIVE_MAXIMUM: (params) => `${labelFor(params, '值')}必须 < ${params.maximum}`,\n MULTIPLE_OF: (params) => `${labelFor(params, '值')}必须是${params.divisor}的倍数`,\n INVALID_CONST: (params) => `应为${params.expectedValue}`,\n MIN_ITEMS: (params) => `${labelFor(params, '数组')}至少需要${params.minimum}个项目`,\n MAX_ITEMS: (params) => `${labelFor(params, '数组')}最多只能有${params.maximum}个项目`,\n UNIQUE_ITEMS: (params) => `${labelFor(params, '数组')}中的项目必须唯一`,\n CONTAINS: (params) => `${labelFor(params, '数组')}至少要包含一个匹配项目`,\n MIN_CONTAINS: (params) => `${labelFor(params, '数组')}至少要包含${params.minimum}个匹配项目`,\n MAX_CONTAINS: (params) => `${labelFor(params, '数组')}最多只能包含${params.maximum}个匹配项目`,\n MISSING_REQUIRED: (params) => `缺少必填属性\"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `存在未预期的属性\"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `索引${params.count}处存在未预期的项目`,\n MIN_PROPERTIES: (params) => `${labelFor(params, '对象')}至少需要${params.minimum}个属性`,\n MAX_PROPERTIES: (params) => `${labelFor(params, '对象')}最多只能有${params.maximum}个属性`,\n INVALID_KEY: (params) => `无效的记录键\"${params.key}\"`,\n UNION: () => '值不符合任何联合分支',\n ENUM: (params) => `值必须是以下之一:${formatList(params.values)}`,\n UNRESOLVED_REF: () => '无法解析的模式引用',\n EXCLUDE: () => '值匹配了被排除的模式',\n EXTRACT: () => '值不匹配提取后的模式',\n NEVER: () => '不允许该值',\n NOT: () => '值匹配了否定模式',\n KEYOF: (params) => `值必须是以下之一:${formatList(params.values)}`,\n CONDITIONAL: () => '值不匹配任何条件分支',\n INDEX: () => '值不匹配任何索引模式',\n IDENTIFIER: () => '必须是有效的标识符字符串',\n BASE: () => '基础验证失败',\n REFINE: (params) => params.customMessage ?? '细化验证失败',\n CALL: () => '无法实例化调用模式',\n PARAMETERS_LENGTH: (params) => `参数数量必须为${params.count}`,\n CUSTOM_TYPE: (params) => `自定义类型\"${params.kind}\"验证失败`,\n};\n\nexport const zhHantCatalog: SchemaIssueCatalog = {\n ...zhHansCatalog,\n INVALID_TYPE: (params) =>\n params.actual === undefined\n ? `應為${params.expected ?? '值'}`\n : `應為${params.expected ?? '值'},實際類型為${params.actual}`,\n PATTERN: (params) =>\n params.patterns !== undefined\n ? `${labelFor(params, '值')}必須符合以下其中之一:${formatList(params.patterns)}`\n : `${labelFor(params, '值')}必須符合模式${params.pattern}`,\n MISSING_REQUIRED: (params) => `缺少必要屬性\"${params.property}\"`,\n ADDITIONAL_PROPERTY: (params) => `存在未預期的屬性\"${params.property}\"`,\n ADDITIONAL_ITEMS: (params) => `索引${params.count}處存在未預期的項目`,\n MIN_PROPERTIES: (params) => `${labelFor(params, '物件')}至少需要${params.minimum}個屬性`,\n MAX_PROPERTIES: (params) => `${labelFor(params, '物件')}最多只能有${params.maximum}個屬性`,\n INVALID_KEY: (params) => `無效的記錄鍵\"${params.key}\"`,\n UNRESOLVED_REF: () => '無法解析的結構參照',\n EXCLUDE: () => '值符合被排除的結構',\n EXTRACT: () => '值不符合提取後的結構',\n NEVER: () => '不允許此值',\n CONDITIONAL: () => '值不符合任何條件分支',\n INDEX: () => '值不符合任何索引結構',\n IDENTIFIER: () => '必須是有效的識別字串',\n BASE: () => '基礎驗證失敗',\n REFINE: (params) => params.customMessage ?? '細化驗證失敗',\n CALL: () => '無法實例化呼叫結構',\n PARAMETERS_LENGTH: (params) => `參數數量必須為${params.count}`,\n CUSTOM_TYPE: (params) => `自訂類型\"${params.kind}\"驗證失敗`,\n};\n",
|
|
14
|
+
"export const LocaleCodes = {\n ar_001: 'ar_001',\n bn_BD: 'bn_BD',\n cs_CZ: 'cs_CZ',\n de_DE: 'de_DE',\n el_GR: 'el_GR',\n en_US: 'en_US',\n es_419: 'es_419',\n es_AR: 'es_AR',\n es_ES: 'es_ES',\n es_MX: 'es_MX',\n fa_IR: 'fa_IR',\n fil_PH: 'fil_PH',\n fr_CA: 'fr_CA',\n fr_FR: 'fr_FR',\n ha_NG: 'ha_NG',\n hi_IN: 'hi_IN',\n hu_HU: 'hu_HU',\n id_ID: 'id_ID',\n it_IT: 'it_IT',\n ja_JP: 'ja_JP',\n ko_KR: 'ko_KR',\n ms_MY: 'ms_MY',\n nl_NL: 'nl_NL',\n pl_PL: 'pl_PL',\n pt_BR: 'pt_BR',\n pt_PT: 'pt_PT',\n ro_RO: 'ro_RO',\n ru_RU: 'ru_RU',\n sv_SE: 'sv_SE',\n sw_TZ: 'sw_TZ',\n th_TH: 'th_TH',\n tr_TR: 'tr_TR',\n uk_UA: 'uk_UA',\n ur_PK: 'ur_PK',\n vi_VN: 'vi_VN',\n yo_NG: 'yo_NG',\n zh_Hans: 'zh_Hans',\n zh_Hant: 'zh_Hant',\n} as const;\n\nexport type LocaleCode = (typeof LocaleCodes)[keyof typeof LocaleCodes];\nexport type LocaleIdentifier = LocaleCode | (string & {});\n",
|
|
15
|
+
"import type { SchemaIssueCatalog } from '../error/catalog-types.js';\nimport { deDECatalog } from '../error/locales/de.js';\nimport { enUSCatalog } from '../error/locales/en.js';\nimport { esESCatalog } from '../error/locales/es.js';\nimport { frFRCatalog } from '../error/locales/fr.js';\nimport { jaJPCatalog } from '../error/locales/ja.js';\nimport { koKRCatalog } from '../error/locales/ko.js';\nimport { ptBRCatalog } from '../error/locales/pt.js';\nimport { zhHansCatalog, zhHantCatalog } from '../error/locales/zh.js';\nimport { LocaleCodes, type LocaleCode } from '../shared/locale.js';\n\nexport const ar_001 = enUSCatalog;\nexport const bn_BD = enUSCatalog;\nexport const cs_CZ = enUSCatalog;\nexport const de_DE = deDECatalog;\nexport const el_GR = enUSCatalog;\nexport const en_US = enUSCatalog;\nexport const es_419 = esESCatalog;\nexport const es_AR = esESCatalog;\nexport const es_ES = esESCatalog;\nexport const es_MX = esESCatalog;\nexport const fa_IR = enUSCatalog;\nexport const fil_PH = enUSCatalog;\nexport const fr_CA = frFRCatalog;\nexport const fr_FR = frFRCatalog;\nexport const ha_NG = enUSCatalog;\nexport const hi_IN = enUSCatalog;\nexport const hu_HU = enUSCatalog;\nexport const id_ID = enUSCatalog;\nexport const it_IT = enUSCatalog;\nexport const ja_JP = jaJPCatalog;\nexport const ko_KR = koKRCatalog;\nexport const ms_MY = enUSCatalog;\nexport const nl_NL = enUSCatalog;\nexport const pl_PL = enUSCatalog;\nexport const pt_BR = ptBRCatalog;\nexport const pt_PT = ptBRCatalog;\nexport const ro_RO = enUSCatalog;\nexport const ru_RU = enUSCatalog;\nexport const sv_SE = enUSCatalog;\nexport const sw_TZ = enUSCatalog;\nexport const th_TH = enUSCatalog;\nexport const tr_TR = enUSCatalog;\nexport const uk_UA = enUSCatalog;\nexport const ur_PK = enUSCatalog;\nexport const vi_VN = enUSCatalog;\nexport const yo_NG = enUSCatalog;\nexport const zh_Hans = zhHansCatalog;\nexport const zh_Hant = zhHantCatalog;\n\nexport const OfficialLocaleCatalogs = {\n [LocaleCodes.ar_001]: ar_001,\n [LocaleCodes.bn_BD]: bn_BD,\n [LocaleCodes.cs_CZ]: cs_CZ,\n [LocaleCodes.de_DE]: de_DE,\n [LocaleCodes.el_GR]: el_GR,\n [LocaleCodes.en_US]: en_US,\n [LocaleCodes.es_419]: es_419,\n [LocaleCodes.es_AR]: es_AR,\n [LocaleCodes.es_ES]: es_ES,\n [LocaleCodes.es_MX]: es_MX,\n [LocaleCodes.fa_IR]: fa_IR,\n [LocaleCodes.fil_PH]: fil_PH,\n [LocaleCodes.fr_CA]: fr_CA,\n [LocaleCodes.fr_FR]: fr_FR,\n [LocaleCodes.ha_NG]: ha_NG,\n [LocaleCodes.hi_IN]: hi_IN,\n [LocaleCodes.hu_HU]: hu_HU,\n [LocaleCodes.id_ID]: id_ID,\n [LocaleCodes.it_IT]: it_IT,\n [LocaleCodes.ja_JP]: ja_JP,\n [LocaleCodes.ko_KR]: ko_KR,\n [LocaleCodes.ms_MY]: ms_MY,\n [LocaleCodes.nl_NL]: nl_NL,\n [LocaleCodes.pl_PL]: pl_PL,\n [LocaleCodes.pt_BR]: pt_BR,\n [LocaleCodes.pt_PT]: pt_PT,\n [LocaleCodes.ro_RO]: ro_RO,\n [LocaleCodes.ru_RU]: ru_RU,\n [LocaleCodes.sv_SE]: sv_SE,\n [LocaleCodes.sw_TZ]: sw_TZ,\n [LocaleCodes.th_TH]: th_TH,\n [LocaleCodes.tr_TR]: tr_TR,\n [LocaleCodes.uk_UA]: uk_UA,\n [LocaleCodes.ur_PK]: ur_PK,\n [LocaleCodes.vi_VN]: vi_VN,\n [LocaleCodes.yo_NG]: yo_NG,\n [LocaleCodes.zh_Hans]: zh_Hans,\n [LocaleCodes.zh_Hant]: zh_Hant,\n} satisfies Record<LocaleCode, SchemaIssueCatalog>;\n\nexport function LocaleCatalogEntries(): Array<[LocaleCode, SchemaIssueCatalog]> {\n return Object.values(LocaleCodes).map((locale) => [locale, OfficialLocaleCatalogs[locale]]);\n}\n\nconst LocalePacks = OfficialLocaleCatalogs;\n\nexport { LocalePacks };\nexport default LocalePacks;\n",
|
|
16
|
+
"import type { TObject, TSchema, TString } from '../type/schema.js';\n\n/** @internal Options for deriving a sub-schema from an object schema */\nexport interface DeriveObjectOptions {\n requiredMode?: 'preserve' | 'none' | 'all';\n pickKeys?: string[];\n omitKeys?: string[];\n additionalProperties?: boolean | TSchema;\n}\n\n/** @internal Derive a filtered/projected object schema from a source TObject */\nexport function deriveObjectSchema(\n object: TObject,\n options: DeriveObjectOptions = {},\n): TObject<Record<string, TSchema>, string, string> {\n const pickSet = options.pickKeys ? new Set(options.pickKeys) : undefined;\n const omitSet = options.omitKeys ? new Set(options.omitKeys) : undefined;\n const originalOptional = new Set((object.optional ?? []).map(String));\n const originalRequired = new Set((object.required ?? []).map(String));\n const originalProperties = object.properties as Record<string, TSchema>;\n const properties: Record<string, TSchema> = {};\n\n for (const [key, schema] of Object.entries(originalProperties)) {\n if (pickSet && !pickSet.has(key)) continue;\n if (omitSet && omitSet.has(key)) continue;\n properties[key] = schema;\n }\n\n const keys = Object.keys(properties);\n const required = options.requiredMode === 'all'\n ? keys\n : options.requiredMode === 'none'\n ? []\n : keys.filter((key) => originalRequired.has(key));\n const optional = keys.filter((key) => originalOptional.has(key) && !required.includes(key));\n\n return {\n '~kind': 'Object',\n properties,\n ...(required.length > 0 ? { required } : {}),\n ...(optional.length > 0 ? { optional } : {}),\n ...(object.patternProperties !== undefined ? { patternProperties: object.patternProperties } : {}),\n ...(options.additionalProperties !== undefined\n ? { additionalProperties: options.additionalProperties }\n : object.additionalProperties !== undefined\n ? { additionalProperties: object.additionalProperties }\n : {}),\n };\n}\n\n/** @internal Match pattern properties against a key and return matching schemas */\nexport function getPatternPropertySchemas(\n patternProperties: Record<string, TSchema> | undefined,\n key: string,\n): TSchema[] {\n if (!patternProperties) return [];\n const matches: TSchema[] = [];\n for (const [pattern, schema] of Object.entries(patternProperties)) {\n if (new RegExp(pattern).test(key)) {\n matches.push(schema);\n }\n }\n return matches;\n}\n\n/** @internal Derive candidate schemas from object properties matching a key schema */\nexport function deriveIndexSchemas(\n object: TObject,\n keySchema: TSchema,\n checkFn: (schema: TSchema, value: unknown) => boolean,\n): TSchema[] {\n const candidates: TSchema[] = [];\n const properties = object.properties as Record<string, TSchema>;\n for (const [key, schema] of Object.entries(properties)) {\n if (checkFn(keySchema, key)) {\n candidates.push(schema);\n }\n }\n return candidates;\n}\n\n/** @internal Derive candidate schemas for schema emission (pattern-based) */\nexport function deriveIndexSchemasForEmission(\n object: TObject,\n keySchema: TSchema,\n): TSchema[] {\n const candidates: TSchema[] = [];\n const properties = object.properties as Record<string, TSchema>;\n const keySchemaRecord = keySchema as Record<string, unknown>;\n\n for (const [key, schema] of Object.entries(properties)) {\n const keyValidationSchema: TString = {\n '~kind': 'String',\n ...(typeof keySchemaRecord.format === 'string' ? { format: keySchemaRecord.format } : {}),\n ...(typeof keySchemaRecord.pattern === 'string' ? { pattern: keySchemaRecord.pattern } : {}),\n };\n if (keySchemaRecord['~kind'] === 'String' ? stringMatchesKeySchema(keyValidationSchema, key) : true) {\n candidates.push(schema);\n }\n }\n return candidates;\n}\n\n/** @internal Check if a string matches a key schema's pattern constraint */\nexport function stringMatchesKeySchema(schema: TString, value: string): boolean {\n return schema.pattern === undefined || new RegExp(schema.pattern).test(value);\n}\n\nfunction transformStringLiteralValue(kind: string, value: string): string {\n switch (kind) {\n case 'Capitalize':\n return value.length === 0 ? value : value.charAt(0).toUpperCase() + value.slice(1);\n case 'Lowercase':\n return value.toLowerCase();\n case 'Uppercase':\n return value.toUpperCase();\n case 'Uncapitalize':\n return value.length === 0 ? value : value.charAt(0).toLowerCase() + value.slice(1);\n default:\n return value;\n }\n}\n\n/** @internal Resolve casing actions to a concrete schema when possible */\nexport function resolveStringActionSchema(schema: TSchema): TSchema {\n const value = schema as Record<string, unknown>;\n const kind = value['~kind'];\n if (kind !== 'Capitalize' && kind !== 'Lowercase' && kind !== 'Uppercase' && kind !== 'Uncapitalize') {\n return schema;\n }\n const item = value['item'];\n if (typeof item !== 'object' || item === null) {\n return schema;\n }\n const target = item as Record<string, unknown>;\n const targetKind = target['~kind'];\n if (targetKind === 'Literal' && typeof target['const'] === 'string') {\n return { '~kind': 'Literal', const: transformStringLiteralValue(String(kind), target['const']) } as TSchema;\n }\n if (targetKind === 'Enum' && Array.isArray(target['values']) && target['values'].every((entry) => typeof entry === 'string')) {\n return {\n '~kind': 'Enum',\n values: (target['values'] as string[]).map((entry) => transformStringLiteralValue(String(kind), entry)),\n } as TSchema;\n }\n return item as TSchema;\n}\n",
|
|
17
|
+
"/** @internal PromiseLike structural type guard */\nexport function isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (typeof value === 'object' || typeof value === 'function')\n && value !== null\n && 'then' in value\n && typeof value.then === 'function';\n}\n\n/** @internal Iterator structural type guard */\nexport function isIteratorLike(value: unknown): value is Iterator<unknown> {\n return typeof value === 'object'\n && value !== null\n && 'next' in value\n && typeof value.next === 'function'\n && Symbol.iterator in value\n && typeof value[Symbol.iterator] === 'function';\n}\n\n/** @internal AsyncIterator structural type guard */\nexport function isAsyncIteratorLike(value: unknown): value is AsyncIterator<unknown> {\n return typeof value === 'object'\n && value !== null\n && 'next' in value\n && typeof value.next === 'function'\n && Symbol.asyncIterator in value\n && typeof value[Symbol.asyncIterator] === 'function';\n}\n",
|
|
18
|
+
"export const EMAIL_RE = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\nexport const URI_RE = /^[a-zA-Z][a-zA-Z0-9+.-]*:/;\nexport const HOSTNAME_RE = /^(?!-)[a-zA-Z0-9-]{0,63}(?<!-)(.(?!-)[a-zA-Z0-9-]{0,63}(?<!-))*$/;\nexport const IPV4_RE = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\nexport const IPV6_RE = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$|^([0-9a-fA-F]{1,4}:){1,6}::$/;\nexport const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\nexport const ISO_DATE_RE = /^\\d{4}-(0[1-9]|1[0-2])-([0-2]\\d|3[01])$/;\nexport const ISO_DT_RE = /^\\d{4}-(0[1-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|[+-][01]\\d:[0-5]\\d)$/;\nexport const ISO_TIME_RE = /^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?$/;\nexport const ISO_DUR_RE = /^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$/;\nexport const BASE64_RE = /^[a-zA-Z0-9+/]*={0,2}$/;\nexport const HEX_RE = /^[0-9a-fA-F]+$/;\nexport const HEXCLR_RE = /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\nexport const LUHN_DIGITS_RE = /^\\d{13,19}$/;\n\nexport const KNOWN_FORMATS = new Set([\n 'email', 'uri', 'hostname', 'ip', 'ipv4', 'ipv6', 'uuid',\n 'date', 'datetime', 'time', 'duration',\n 'base64', 'hex', 'hexcolor',\n 'creditcard', 'regex', 'uint8array', 'json',\n]);\n",
|
|
19
|
+
"function isAsciiDigit(value: string): boolean {\n return value >= '0' && value <= '9';\n}\n\nfunction consumeRegexQuantifier(pattern: string, start: number): number {\n let index = start;\n const first = pattern[index];\n if (first === undefined || !isAsciiDigit(first)) {\n return -1;\n }\n while (index < pattern.length) {\n const character = pattern[index];\n if (character === undefined || !isAsciiDigit(character)) {\n break;\n }\n index += 1;\n }\n if (pattern[index] === ',') {\n index += 1;\n while (index < pattern.length) {\n const character = pattern[index];\n if (character === undefined || !isAsciiDigit(character)) {\n break;\n }\n index += 1;\n }\n }\n return pattern[index] === '}' ? index : -1;\n}\n\n/** @internal Check if a string is a valid regular expression */\nexport function isValidRegex(value: string): boolean {\n let escaped = false;\n let inCharacterClass = false;\n let groupDepth = 0;\n let hasToken = false;\n let groupPrefixAllowed = false;\n\n for (let index = 0; index < value.length; index += 1) {\n const character = value[index];\n if (character === undefined) return false;\n if (escaped) {\n escaped = false;\n hasToken = true;\n groupPrefixAllowed = false;\n continue;\n }\n if (character === '\\\\') {\n escaped = true;\n continue;\n }\n if (inCharacterClass) {\n if (character === ']') {\n inCharacterClass = false;\n hasToken = true;\n }\n continue;\n }\n if (groupPrefixAllowed && character === '?') {\n groupPrefixAllowed = false;\n continue;\n }\n groupPrefixAllowed = false;\n\n switch (character) {\n case '[':\n inCharacterClass = true;\n hasToken = true;\n break;\n case '(':\n groupDepth += 1;\n hasToken = false;\n groupPrefixAllowed = true;\n break;\n case ')':\n if (groupDepth === 0) return false;\n groupDepth -= 1;\n hasToken = true;\n break;\n case '{': {\n if (!hasToken) return false;\n const quantifierEnd = consumeRegexQuantifier(value, index + 1);\n if (quantifierEnd < 0) return false;\n index = quantifierEnd;\n hasToken = true;\n break;\n }\n case '*':\n case '+':\n case '?':\n if (!hasToken) return false;\n hasToken = true;\n break;\n case ']':\n case '}':\n return false;\n case '|':\n hasToken = false;\n break;\n default:\n hasToken = true;\n break;\n }\n }\n\n return !escaped && !inCharacterClass && groupDepth === 0;\n}\n\ninterface JsonState {\n index: number;\n text: string;\n}\n\nfunction skipWhitespace(state: JsonState): void {\n while (state.index < state.text.length) {\n const character = state.text[state.index];\n if (character !== ' ' && character !== '\\n' && character !== '\\r' && character !== '\\t') {\n break;\n }\n state.index += 1;\n }\n}\n\nfunction consumeLiteral(state: JsonState, literal: string): boolean {\n if (state.text.slice(state.index, state.index + literal.length) !== literal) {\n return false;\n }\n state.index += literal.length;\n return true;\n}\n\nfunction parseString(state: JsonState): boolean {\n if (state.text[state.index] !== '\"') return false;\n state.index += 1;\n while (state.index < state.text.length) {\n const character = state.text[state.index];\n if (character === undefined) return false;\n if (character === '\"') {\n state.index += 1;\n return true;\n }\n if (character === '\\\\') {\n const escape = state.text[state.index + 1];\n if (escape === undefined) return false;\n if (escape === 'u') {\n for (let offset = 2; offset < 6; offset += 1) {\n const hex = state.text[state.index + offset];\n if (hex === undefined || !/[0-9a-fA-F]/.test(hex)) return false;\n }\n state.index += 6;\n continue;\n }\n if (!'\"\\\\/bfnrt'.includes(escape)) return false;\n state.index += 2;\n continue;\n }\n if (character < ' ') return false;\n state.index += 1;\n }\n return false;\n}\n\nfunction parseNumber(state: JsonState): boolean {\n const start = state.index;\n if (state.text[state.index] === '-') {\n state.index += 1;\n }\n const firstDigit = state.text[state.index];\n if (firstDigit === undefined || !isAsciiDigit(firstDigit)) return false;\n if (firstDigit === '0') {\n state.index += 1;\n } else {\n while (state.index < state.text.length) {\n const digit = state.text[state.index];\n if (digit === undefined || !isAsciiDigit(digit)) break;\n state.index += 1;\n }\n }\n if (state.text[state.index] === '.') {\n state.index += 1;\n const fractionDigit = state.text[state.index];\n if (fractionDigit === undefined || !isAsciiDigit(fractionDigit)) return false;\n while (state.index < state.text.length) {\n const digit = state.text[state.index];\n if (digit === undefined || !isAsciiDigit(digit)) break;\n state.index += 1;\n }\n }\n const exponent = state.text[state.index];\n if (exponent === 'e' || exponent === 'E') {\n state.index += 1;\n const sign = state.text[state.index];\n if (sign === '+' || sign === '-') state.index += 1;\n const exponentDigit = state.text[state.index];\n if (exponentDigit === undefined || !isAsciiDigit(exponentDigit)) return false;\n while (state.index < state.text.length) {\n const digit = state.text[state.index];\n if (digit === undefined || !isAsciiDigit(digit)) break;\n state.index += 1;\n }\n }\n return state.index > start;\n}\n\nfunction parseArray(state: JsonState): boolean {\n if (state.text[state.index] !== '[') return false;\n state.index += 1;\n skipWhitespace(state);\n if (state.text[state.index] === ']') {\n state.index += 1;\n return true;\n }\n while (state.index < state.text.length) {\n if (!parseValue(state)) return false;\n skipWhitespace(state);\n const separator = state.text[state.index];\n if (separator === ',') {\n state.index += 1;\n skipWhitespace(state);\n continue;\n }\n if (separator === ']') {\n state.index += 1;\n return true;\n }\n return false;\n }\n return false;\n}\n\nfunction parseObject(state: JsonState): boolean {\n if (state.text[state.index] !== '{') return false;\n state.index += 1;\n skipWhitespace(state);\n if (state.text[state.index] === '}') {\n state.index += 1;\n return true;\n }\n while (state.index < state.text.length) {\n if (!parseString(state)) return false;\n skipWhitespace(state);\n if (state.text[state.index] !== ':') return false;\n state.index += 1;\n if (!parseValue(state)) return false;\n skipWhitespace(state);\n const separator = state.text[state.index];\n if (separator === ',') {\n state.index += 1;\n skipWhitespace(state);\n continue;\n }\n if (separator === '}') {\n state.index += 1;\n return true;\n }\n return false;\n }\n return false;\n}\n\nfunction parseValue(state: JsonState): boolean {\n skipWhitespace(state);\n const character = state.text[state.index];\n switch (character) {\n case '\"':\n return parseString(state);\n case '{':\n return parseObject(state);\n case '[':\n return parseArray(state);\n case 't':\n return consumeLiteral(state, 'true');\n case 'f':\n return consumeLiteral(state, 'false');\n case 'n':\n return consumeLiteral(state, 'null');\n default:\n return character === '-' || (character !== undefined && isAsciiDigit(character))\n ? parseNumber(state)\n : false;\n }\n}\n\n/** @internal Check if a string is valid JSON */\nexport function isValidJson(value: string): boolean {\n const state: JsonState = { index: 0, text: value };\n if (!parseValue(state)) return false;\n skipWhitespace(state);\n return state.index === state.text.length;\n}\n",
|
|
20
|
+
"import type { SchemaIssueCatalog } from '../error/catalog-types.js';\nimport { enUSCatalog } from '../error/locales/en.js';\nimport { LocaleCatalogEntries } from '../locale/index.js';\nimport type { TSchema } from '../type/schema.js';\nimport { LocaleCodes, type LocaleIdentifier } from './locale.js';\nimport type { SettingsOptions, TypeSystemPolicyOptions } from './registries.js';\n\nexport type FormatValidator = (value: string) => boolean;\nexport type TypeValidator = (schema: TSchema, value: unknown) => boolean;\n\nexport interface RuntimeContextOptions {\n formats?: Iterable<readonly [string, FormatValidator]>;\n locale?: LocaleIdentifier;\n localeCatalogs?: Iterable<readonly [LocaleIdentifier, SchemaIssueCatalog]>;\n settings?: Partial<SettingsOptions>;\n typePolicy?: Partial<TypeSystemPolicyOptions>;\n types?: Iterable<readonly [string, TypeValidator]>;\n}\n\nconst builtinLocaleCatalogEntries = LocaleCatalogEntries();\n\nconst defaultTypePolicy: TypeSystemPolicyOptions = {\n AllowNaN: false,\n AllowArrayObject: false,\n AllowNullVoid: true,\n};\n\nconst defaultSettings: SettingsOptions = {\n correctiveParse: false,\n};\n\nlet runtimeContextCounter = 0;\n\nfunction cloneEntries<TValue>(\n entries: Iterable<readonly [string, TValue]>,\n): Array<readonly [string, TValue]> {\n return Array.from(entries, ([key, value]) => [key, value] as const);\n}\n\nexport class RuntimeContext {\n private readonly id = ++runtimeContextCounter;\n private revision = 0;\n private activeLocale: LocaleIdentifier;\n private readonly formatValidators = new Map<string, FormatValidator>();\n private readonly localeCatalogs = new Map<LocaleIdentifier, SchemaIssueCatalog>();\n private settings: SettingsOptions;\n private readonly typeValidators = new Map<string, TypeValidator>();\n private typePolicy: TypeSystemPolicyOptions;\n\n readonly FormatRegistry = {\n Clear: (): void => {\n this.formatValidators.clear();\n this.touch();\n },\n Delete: (name: string): boolean => {\n const deleted = this.formatValidators.delete(name);\n if (deleted) {\n this.touch();\n }\n return deleted;\n },\n Entries: (): Array<[string, FormatValidator]> => Array.from(this.formatValidators.entries()),\n Get: (name: string): FormatValidator | undefined => this.formatValidators.get(name),\n Has: (name: string): boolean => this.formatValidators.has(name),\n Set: (name: string, validator: FormatValidator): void => {\n this.formatValidators.set(name, validator);\n this.touch();\n },\n };\n\n readonly Locale = {\n ...LocaleCodes,\n Entries: (): Array<[LocaleIdentifier, SchemaIssueCatalog]> => Array.from(this.localeCatalogs.entries()),\n Get: (): LocaleIdentifier => this.activeLocale,\n GetCatalog: (locale: LocaleIdentifier = this.activeLocale): SchemaIssueCatalog =>\n this.localeCatalogs.get(locale) ?? this.localeCatalogs.get(LocaleCodes.en_US) ?? enUSCatalog,\n Has: (locale: LocaleIdentifier): boolean => this.localeCatalogs.has(locale),\n Register: (locale: LocaleIdentifier, catalog: SchemaIssueCatalog): void => {\n this.localeCatalogs.set(locale, catalog);\n this.touch();\n },\n Reset: (): void => {\n this.activeLocale = LocaleCodes.en_US;\n this.touch();\n },\n Set: (locale: LocaleIdentifier): void => {\n this.activeLocale = locale;\n this.touch();\n },\n };\n\n readonly Settings = {\n Get: (): Readonly<SettingsOptions> => this.settings,\n Reset: (): void => {\n this.settings = { ...defaultSettings };\n this.touch();\n },\n Set: (options: Partial<SettingsOptions>): void => {\n this.settings = { ...this.settings, ...options };\n this.touch();\n },\n };\n\n readonly TypeRegistry = {\n Clear: (): void => {\n this.typeValidators.clear();\n this.touch();\n },\n Delete: (kind: string): boolean => {\n const deleted = this.typeValidators.delete(kind);\n if (deleted) {\n this.touch();\n }\n return deleted;\n },\n Entries: (): Array<[string, TypeValidator]> => Array.from(this.typeValidators.entries()),\n Get: (kind: string): TypeValidator | undefined => this.typeValidators.get(kind),\n Has: (kind: string): boolean => this.typeValidators.has(kind),\n Set: (kind: string, validator: TypeValidator): void => {\n this.typeValidators.set(kind, validator);\n this.touch();\n },\n };\n\n readonly TypeSystemPolicy = {\n Get: (): Readonly<TypeSystemPolicyOptions> => this.typePolicy,\n Reset: (): void => {\n this.typePolicy = { ...defaultTypePolicy };\n this.touch();\n },\n Set: (options: Partial<TypeSystemPolicyOptions>): void => {\n this.typePolicy = { ...this.typePolicy, ...options };\n this.touch();\n },\n };\n\n constructor(options: RuntimeContextOptions = {}) {\n this.activeLocale = options.locale ?? LocaleCodes.en_US;\n this.settings = { ...defaultSettings, ...options.settings };\n this.typePolicy = { ...defaultTypePolicy, ...options.typePolicy };\n for (const [locale, catalog] of builtinLocaleCatalogEntries) {\n this.localeCatalogs.set(locale, catalog);\n }\n for (const [locale, catalog] of options.localeCatalogs ?? []) {\n this.localeCatalogs.set(locale, catalog);\n }\n for (const [name, validator] of options.formats ?? []) {\n this.formatValidators.set(name, validator);\n }\n for (const [kind, validator] of options.types ?? []) {\n this.typeValidators.set(kind, validator);\n }\n }\n\n Clone(options: RuntimeContextOptions = {}): RuntimeContext {\n return new RuntimeContext({\n formats: [...cloneEntries(this.formatValidators.entries()), ...(options.formats ?? [])],\n locale: options.locale ?? this.activeLocale,\n localeCatalogs: [...cloneEntries(this.localeCatalogs.entries()), ...(options.localeCatalogs ?? [])],\n settings: { ...this.settings, ...options.settings },\n typePolicy: { ...this.typePolicy, ...options.typePolicy },\n types: [...cloneEntries(this.typeValidators.entries()), ...(options.types ?? [])],\n });\n }\n\n CacheKey(namespace = 'runtime'): string {\n return `${namespace}:${this.id}:${this.revision}`;\n }\n\n private touch(): void {\n this.revision += 1;\n }\n}\n\nconst defaultRuntimeContext = new RuntimeContext();\n\nexport interface RuntimeContextCarrier {\n context?: RuntimeContext;\n}\n\nexport type RuntimeContextArg = RuntimeContext | RuntimeContextCarrier | undefined;\n\nexport function CreateRuntimeContext(options: RuntimeContextOptions = {}): RuntimeContext {\n return new RuntimeContext(options);\n}\n\nexport function getDefaultRuntimeContext(): RuntimeContext {\n return defaultRuntimeContext;\n}\n\nexport function resolveRuntimeContext(context: RuntimeContextArg): RuntimeContext {\n if (context instanceof RuntimeContext) {\n return context;\n }\n return context?.context ?? defaultRuntimeContext;\n}\n",
|
|
21
|
+
"import type { TSchema } from '../type/schema.js';\nimport {\n BASE64_RE,\n EMAIL_RE,\n HEXCLR_RE,\n HEX_RE,\n HOSTNAME_RE,\n ISO_DATE_RE,\n ISO_DT_RE,\n ISO_DUR_RE,\n ISO_TIME_RE,\n IPV4_RE,\n IPV6_RE,\n LUHN_DIGITS_RE,\n URI_RE,\n UUID_RE,\n} from './format-constants.js';\nimport { isValidJson, isValidRegex } from './regex-json.js';\nimport { resolveRuntimeContext, type RuntimeContextArg } from './runtime-context.js';\n\n/** @internal Luhn algorithm for credit card validation */\nexport function luhnCheck(digits: string): boolean {\n if (!LUHN_DIGITS_RE.test(digits)) return false;\n let sum = 0;\n let alternate = false;\n for (let index = digits.length - 1; index >= 0; index -= 1) {\n let digit = Number.parseInt(digits.charAt(index), 10);\n if (alternate) {\n digit *= 2;\n if (digit > 9) digit -= 9;\n }\n sum += digit;\n alternate = !alternate;\n }\n return sum % 10 === 0;\n}\n\n/** @internal Validate ISO date string (YYYY-MM-DD) for calendar correctness */\nexport function isValidISODate(value: string): boolean {\n const parts = value.split('-').map(Number);\n const year = parts[0];\n const month = parts[1];\n const day = parts[2];\n if (year === undefined || month === undefined || day === undefined) return false;\n const date = new globalThis.Date(year, month - 1, day);\n return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;\n}\n\n/** @internal Validate a string against named format constraints */\nexport function validateFormat(\n value: string,\n format: string,\n context?: RuntimeContextArg,\n): boolean {\n const runtimeContext = resolveRuntimeContext(context);\n const custom = runtimeContext.FormatRegistry.Get(format);\n if (custom !== undefined) return custom(value);\n switch (format) {\n case 'email': return EMAIL_RE.test(value);\n case 'uri': return URI_RE.test(value);\n case 'ip': return IPV4_RE.test(value) || IPV6_RE.test(value);\n case 'hostname': return HOSTNAME_RE.test(value);\n case 'ipv4': return IPV4_RE.test(value);\n case 'ipv6': return IPV6_RE.test(value);\n case 'uuid': return UUID_RE.test(value);\n case 'date': return ISO_DATE_RE.test(value) && isValidISODate(value);\n case 'datetime': return ISO_DT_RE.test(value);\n case 'time': return ISO_TIME_RE.test(value);\n case 'duration': return ISO_DUR_RE.test(value);\n case 'base64': return BASE64_RE.test(value);\n case 'hex': return HEX_RE.test(value);\n case 'hexcolor': return HEXCLR_RE.test(value);\n case 'creditcard': return luhnCheck(value.replace(/\\D/g, ''));\n case 'regex': return isValidRegex(value);\n case 'json': return isValidJson(value);\n case 'uint8array': return BASE64_RE.test(value);\n default: return true;\n }\n}\n\n/** @internal Check string constraints (minLength, maxLength, pattern, format) */\nexport function checkStringConstraints(\n schema: TSchema & Record<string, unknown>,\n value: string,\n context?: RuntimeContextArg,\n): boolean {\n if (schema.minLength !== undefined && value.length < (schema.minLength as number)) return false;\n if (schema.maxLength !== undefined && value.length > (schema.maxLength as number)) return false;\n if (schema.pattern !== undefined) {\n const regex = new RegExp(schema.pattern as string);\n if (!regex.test(value)) return false;\n }\n return schema.format === undefined || validateFormat(value, schema.format as string, context);\n}\n\n/** @internal Check number constraints (min, max, exclusive, multipleOf) */\nexport function checkNumberConstraints(schema: TSchema & Record<string, unknown>, value: number): boolean {\n if (schema.minimum !== undefined && value < (schema.minimum as number)) return false;\n if (schema.maximum !== undefined && value > (schema.maximum as number)) return false;\n if (schema.exclusiveMinimum !== undefined && value <= (schema.exclusiveMinimum as number)) return false;\n if (schema.exclusiveMaximum !== undefined && value >= (schema.exclusiveMaximum as number)) return false;\n return schema.multipleOf === undefined || value % (schema.multipleOf as number) === 0;\n}\n",
|
|
22
|
+
"import { getDefaultRuntimeContext } from './runtime-context.js';\n\n/** @internal Configurable type system policy flags */\nexport interface TypeSystemPolicyOptions {\n AllowNaN: boolean;\n AllowArrayObject: boolean;\n AllowNullVoid: boolean;\n}\n\n/** @internal Global settings */\nexport interface SettingsOptions {\n correctiveParse: boolean;\n}\n\n/** Format registry for registering custom string format validators */\nexport const FormatRegistry = {\n Clear(): void {\n getDefaultRuntimeContext().FormatRegistry.Clear();\n },\n Delete(name: string): boolean {\n return getDefaultRuntimeContext().FormatRegistry.Delete(name);\n },\n Entries(): Array<[string, (value: string) => boolean]> {\n return getDefaultRuntimeContext().FormatRegistry.Entries();\n },\n Get(name: string): ((value: string) => boolean) | undefined {\n return getDefaultRuntimeContext().FormatRegistry.Get(name);\n },\n Has(name: string): boolean {\n return getDefaultRuntimeContext().FormatRegistry.Has(name);\n },\n Set(name: string, validator: (value: string) => boolean): void {\n getDefaultRuntimeContext().FormatRegistry.Set(name, validator);\n },\n};\n\n/** Type registry for registering custom kind validators */\nexport const TypeRegistry = {\n Clear(): void {\n getDefaultRuntimeContext().TypeRegistry.Clear();\n },\n Delete(kind: string): boolean {\n return getDefaultRuntimeContext().TypeRegistry.Delete(kind);\n },\n Entries(): Array<[string, (schema: import('../type/schema.js').TSchema, value: unknown) => boolean]> {\n return getDefaultRuntimeContext().TypeRegistry.Entries();\n },\n Get(kind: string): ((schema: import('../type/schema.js').TSchema, value: unknown) => boolean) | undefined {\n return getDefaultRuntimeContext().TypeRegistry.Get(kind);\n },\n Has(kind: string): boolean {\n return getDefaultRuntimeContext().TypeRegistry.Has(kind);\n },\n Set(kind: string, validator: (schema: import('../type/schema.js').TSchema, value: unknown) => boolean): void {\n getDefaultRuntimeContext().TypeRegistry.Set(kind, validator);\n },\n};\n\n/** Configurable type system policy */\nexport const TypeSystemPolicy = {\n Get(): Readonly<TypeSystemPolicyOptions> {\n return getDefaultRuntimeContext().TypeSystemPolicy.Get();\n },\n Reset(): void {\n getDefaultRuntimeContext().TypeSystemPolicy.Reset();\n },\n Set(options: Partial<TypeSystemPolicyOptions>): void {\n getDefaultRuntimeContext().TypeSystemPolicy.Set(options);\n },\n};\n\n/** Global settings registry */\nexport const Settings = {\n Get(): Readonly<SettingsOptions> {\n return getDefaultRuntimeContext().Settings.Get();\n },\n Reset(): void {\n getDefaultRuntimeContext().Settings.Reset();\n },\n Set(options: Partial<SettingsOptions>): void {\n getDefaultRuntimeContext().Settings.Set(options);\n },\n};\n",
|
|
23
|
+
"function cloneValue<T>(value: T): T {\n return (globalThis as typeof globalThis & {\n structuredClone<U>(input: U): U;\n }).structuredClone(value);\n}\n\n/** Deep structural clone using Bun-native structuredClone */\nexport function Clone<T>(value: T): T {\n return cloneValue(value);\n}\n",
|
|
24
|
+
"import type { Static, TSchema, TObject } from '../type/schema.js';\n\nconst NOT_HANDLED = Symbol('create.not-handled');\n\nfunction cloneValue<T>(value: T): T {\n return (globalThis as typeof globalThis & {\n structuredClone<U>(input: U): U;\n }).structuredClone(value);\n}\n\n/** Generate a default-populated value matching the schema shape */\nexport function Create<T extends TSchema>(schema: T): Static<T> {\n return CreateInternal(schema, new Map()) as Static<T>;\n}\n\nfunction createPrimitiveValue(s: Record<string, unknown>): unknown | typeof NOT_HANDLED {\n const kind = s['~kind'] as string | undefined;\n\n switch (kind) {\n case 'String': return '';\n case 'Number': return 0;\n case 'Integer': return 0;\n case 'Boolean': return false;\n case 'Null': return null;\n case 'BigInt': return 0n;\n case 'Date': return new globalThis.Date(0);\n case 'Literal': return s['const'];\n case 'Void':\n case 'Undefined':\n case 'Unknown':\n case 'Any':\n case 'Never':\n return undefined;\n case 'Symbol': return globalThis.Symbol();\n case 'Uint8Array': return new globalThis.Uint8Array(0);\n case 'Function': return () => {};\n case 'Constructor': return class {};\n case 'Promise': return globalThis.Promise.resolve(undefined);\n default:\n return NOT_HANDLED;\n }\n}\n\nfunction createStructuredValue(s: Record<string, unknown>, refs: Map<string, TSchema>): unknown | typeof NOT_HANDLED {\n const kind = s['~kind'] as string | undefined;\n\n switch (kind) {\n case 'Array': return [];\n case 'Tuple': {\n const items = s['items'] as TSchema[];\n return items.map((item) => CreateInternal(item, refs));\n }\n case 'Object': {\n const obj: Record<string, unknown> = {};\n const props = s['properties'] as Record<string, TSchema>;\n const required = (s['required'] as string[]) ?? [];\n const optionalKeys = new Set((s['optional'] as string[]) ?? []);\n for (const key of required) {\n if (props[key]) obj[key] = CreateInternal(props[key], refs);\n }\n for (const [key, propSchema] of Object.entries(props)) {\n if (!(key in obj) && !optionalKeys.has(key)) {\n obj[key] = CreateInternal(propSchema, refs);\n }\n }\n return obj;\n }\n case 'Record':\n case 'Partial':\n return {};\n case 'Union': {\n const variants = s['variants'] as TSchema[];\n return variants.length > 0 ? CreateInternal(variants[0] as TSchema, refs) : undefined;\n }\n case 'Intersect': {\n const variants = s['variants'] as TSchema[];\n let result = {};\n for (const variant of variants) {\n const v = CreateInternal(variant, refs);\n if (typeof v === 'object' && v !== null) result = { ...result, ...v };\n }\n return result;\n }\n case 'Optional': return undefined;\n case 'Readonly': return CreateInternal(s['item'] as TSchema, refs);\n case 'Enum': {\n const values = s['values'] as string[];\n return values.length > 0 ? values[0] : '';\n }\n case 'Required': {\n const obj = s['object'] as TObject;\n const result: Record<string, unknown> = {};\n for (const [key, propSchema] of Object.entries(obj.properties as Record<string, TSchema>)) {\n result[key] = CreateInternal(propSchema, refs);\n }\n return result;\n }\n default:\n return NOT_HANDLED;\n }\n}\n\nfunction createReferenceValue(s: Record<string, unknown>, refs: Map<string, TSchema>): unknown | typeof NOT_HANDLED {\n const kind = s['~kind'] as string | undefined;\n\n switch (kind) {\n case 'Ref': {\n const target = refs.get(s['name'] as string);\n return target ? CreateInternal(target, refs) : undefined;\n }\n case 'Recursive': {\n const nextRefs = new Map(refs);\n nextRefs.set(s['name'] as string, s['schema'] as TSchema);\n return CreateInternal(s['schema'] as TSchema, nextRefs);\n }\n case 'Decode':\n case 'Encode':\n return CreateInternal(s['inner'] as TSchema, refs);\n default:\n return NOT_HANDLED;\n }\n}\n\nfunction CreateInternal(schema: TSchema, refs: Map<string, TSchema>): unknown {\n const s = schema as Record<string, unknown>;\n\n if (s['default'] !== undefined) return cloneValue(s['default']);\n\n const primitive = createPrimitiveValue(s);\n if (primitive !== NOT_HANDLED) {\n return primitive;\n }\n const structured = createStructuredValue(s, refs);\n if (structured !== NOT_HANDLED) {\n return structured;\n }\n const reference = createReferenceValue(s, refs);\n return reference !== NOT_HANDLED ? reference : undefined;\n}\n",
|
|
25
|
+
"/** FNV-1a hash of a value's deep structure, returning a bigint */\nexport function Hash(value: unknown): bigint {\n let h = 0xcbf29ce484222325n;\n hashValue(value);\n return h;\n\n function mix(b: bigint): void {\n h ^= b & 0xffn;\n h = BigInt.asUintN(64, h * 0x100000001b3n);\n }\n\n function hashString(s: string): void {\n for (let i = 0; i < s.length; i++) {\n mix(BigInt(s.charCodeAt(i)));\n }\n }\n\n function hashValue(v: unknown): void {\n if (v === null) { mix(0n); return; }\n if (v === undefined) { mix(1n); return; }\n\n switch (typeof v) {\n case 'boolean':\n mix(v ? 2n : 3n);\n return;\n case 'number':\n mix(4n);\n hashString(v.toString());\n return;\n case 'bigint':\n mix(5n);\n hashString(v.toString());\n return;\n case 'string':\n mix(6n);\n hashString(v);\n return;\n case 'symbol':\n mix(7n);\n hashString(v.toString());\n return;\n case 'object': {\n if (Array.isArray(v)) {\n mix(8n);\n for (const item of v) hashValue(item);\n return;\n }\n if (v instanceof globalThis.Date) {\n mix(9n);\n hashString(v.toISOString());\n return;\n }\n if (v instanceof globalThis.Uint8Array) {\n mix(10n);\n for (const byte of v) mix(BigInt(byte));\n return;\n }\n mix(11n);\n const keys = Object.keys(v as Record<string, unknown>).sort();\n for (const key of keys) {\n hashString(key);\n hashValue((v as Record<string, unknown>)[key]);\n }\n return;\n }\n default:\n mix(12n);\n }\n }\n}\n",
|
|
26
|
+
"/** In-place deep mutation: transfer all properties from source into target */\nexport function Mutate(target: unknown, source: unknown): void {\n if (typeof target !== 'object' || target === null) return;\n if (typeof source !== 'object' || source === null) return;\n\n if (Array.isArray(target) && Array.isArray(source)) {\n target.length = 0;\n for (const item of source) target.push(item);\n return;\n }\n\n const t = target as Record<string, unknown>;\n const s = source as Record<string, unknown>;\n\n for (const key of Object.keys(t)) {\n if (!(key in s)) {\n delete t[key];\n }\n }\n for (const [key, val] of Object.entries(s)) {\n t[key] = val;\n }\n}\n",
|
|
27
|
+
"import { Settings } from '../shared/utils.js';\nimport {\n LocaleCodes,\n type LocaleIdentifier,\n} from '../shared/locale.js';\nimport {\n CreateRuntimeContext,\n getDefaultRuntimeContext,\n} from '../shared/runtime-context.js';\nimport { Clone } from '../value/clone.js';\nimport { Create } from '../value/create.js';\nimport { Hash } from '../value/hash.js';\nimport { Mutate } from '../value/mutate.js';\n\nexport const Arguments = {\n Match(expected: readonly string[], actual: readonly string[] = Bun.argv.slice(2)): boolean {\n return expected.length === actual.length && expected.every((value, index) => value === actual[index]);\n },\n};\n\nexport const Environment = {\n CanAccelerate(): boolean {\n return typeof Bun !== 'undefined';\n },\n};\n\nexport const Hashing = {\n Hash,\n HashCode(value: unknown): number {\n return Number(BigInt.asUintN(32, Hash(value)));\n },\n};\n\nexport const Locale = {\n ...LocaleCodes,\n Entries() {\n return getDefaultRuntimeContext().Locale.Entries();\n },\n Get(): LocaleIdentifier {\n return getDefaultRuntimeContext().Locale.Get();\n },\n Has(locale: LocaleIdentifier): boolean {\n return getDefaultRuntimeContext().Locale.Has(locale);\n },\n Register(locale: LocaleIdentifier, catalog: import('../error/catalog-types.js').SchemaIssueCatalog): void {\n getDefaultRuntimeContext().Locale.Register(locale, catalog);\n },\n Reset(): void {\n getDefaultRuntimeContext().Locale.Reset();\n },\n Set(locale: LocaleIdentifier): void {\n getDefaultRuntimeContext().Locale.Set(locale);\n },\n};\n\nexport const Memory = {\n Assign<TTarget extends object, TSource extends object>(target: TTarget, source: TSource): TTarget & TSource {\n return Object.assign(target, source);\n },\n Clone,\n Create,\n Discard(value: unknown): void {\n if (Array.isArray(value)) {\n value.length = 0;\n return;\n }\n if (typeof value === 'object' && value !== null) {\n for (const key of Object.keys(value)) {\n delete (value as Record<string, unknown>)[key];\n }\n }\n },\n Metrics(value: unknown): { bytes: number; keys: number } {\n const serialized = JSON.stringify(value);\n const bytes = new TextEncoder().encode(serialized ?? '').length;\n const keys = typeof value === 'object' && value !== null ? Object.keys(value).length : 0;\n return { bytes, keys };\n },\n Update(target: unknown, source: unknown): void {\n Mutate(target, source);\n },\n};\n\nexport { Settings };\n\nconst System = {\n Arguments,\n Environment,\n Hashing,\n Locale,\n Memory,\n Runtime: {\n Create: CreateRuntimeContext,\n Default: getDefaultRuntimeContext,\n },\n Settings,\n};\n\nexport { System };\n",
|
|
28
|
+
"export * from './system.js';\n\nexport * as System from './system.js';\nimport * as System from './system.js';\n\nexport default System;\n"
|
|
29
|
+
],
|
|
30
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAEO,SAAS,UAAU,CAAC,QAA+C;AAAA,EACxE,OAAO,WAAW,YAAY,KAAK,OAAO,KAAK,IAAI;AAAA;AAG9C,SAAS,QAAQ,CAAC,QAA2B,UAA0B;AAAA,EAC5E,OAAO,OAAO,SAAS;AAAA;;;ACJlB,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,aAAa,OAAO,YAAY,WAChC,aAAa,OAAO,YAAY,qBAAqB,OAAO;AAAA,EAClE,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,qBAAqB,OAAO;AAAA,EAClF,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,uBAAmB,OAAO;AAAA,EAChF,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,UAAU,mDAAmD,WAAW,OAAO,QAAQ,MAC3G,GAAG,SAAS,QAAQ,UAAU,qBAAqB,OAAO;AAAA,EAChE,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,qBAAqB,OAAO;AAAA,EAC9E,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,aAAa,OAAO;AAAA,EACvE,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,aAAa,OAAO;AAAA,EACvE,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,YAAY,OAAO;AAAA,EAChF,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,YAAY,OAAO;AAAA,EAChF,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,6BAA6B,OAAO;AAAA,EAC3F,eAAe,CAAC,WAAW,aAAa,OAAO;AAAA,EAC/C,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,qBAAqB,OAAO;AAAA,EAClF,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,uBAAmB,OAAO;AAAA,EAChF,cAAc,CAAC,WAAW,oBAAoB,SAAS,QAAQ,cAAc;AAAA,EAC7E,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW;AAAA,EACrD,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,qBAAqB,OAAO;AAAA,EACrF,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,uBAAmB,OAAO;AAAA,EACnF,kBAAkB,CAAC,WAAW,8BAA8B,OAAO;AAAA,EACnE,qBAAqB,CAAC,WAAW,4BAA4B,OAAO;AAAA,EACpE,kBAAkB,CAAC,WAAW,iCAAiC,OAAO;AAAA,EACtE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,qBAAqB,OAAO;AAAA,EACxF,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,uBAAmB,OAAO;AAAA,EACtF,aAAa,CAAC,WAAW,+BAAwB,OAAO;AAAA,EACxD,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,2CAA2C,WAAW,OAAO,MAAM;AAAA,EACrF,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,2CAA2C,WAAW,OAAO,MAAM;AAAA,EACtF,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,GAAG,OAAO;AAAA,EACzC,aAAa,CAAC,WAAW,6CAA6C,OAAO;AAC/E;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,YAAY,OAAO,YAAY,YAC/B,YAAY,OAAO,YAAY,gBAAgB,OAAO;AAAA,EAC5D,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,sBAAsB,OAAO;AAAA,EAChF,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,qBAAqB,OAAO;AAAA,EAC/E,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,OAAO,wBAAwB,WAAW,OAAO,QAAQ,MAC7E,GAAG,SAAS,QAAQ,OAAO,wBAAwB,OAAO;AAAA,EAChE,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,uBAAuB,OAAO;AAAA,EAC7E,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,gBAAgB,OAAO;AAAA,EACvE,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,gBAAgB,OAAO;AAAA,EACvE,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,eAAe,OAAO;AAAA,EAChF,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,eAAe,OAAO;AAAA,EAChF,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,2BAA2B,OAAO;AAAA,EACtF,eAAe,CAAC,WAAW,YAAY,OAAO;AAAA,EAC9C,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,wBAAwB,OAAO;AAAA,EACjF,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,uBAAuB,OAAO;AAAA,EAChF,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO;AAAA,EACrD,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO;AAAA,EACjD,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,2BAA2B,OAAO;AAAA,EACvF,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,OAAO,0BAA0B,OAAO;AAAA,EACtF,kBAAkB,CAAC,WAAW,8BAA8B,OAAO;AAAA,EACnE,qBAAqB,CAAC,WAAW,wBAAwB,OAAO;AAAA,EAChE,kBAAkB,CAAC,WAAW,4BAA4B,OAAO;AAAA,EACjE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAQ,wBAAwB,OAAO;AAAA,EACvF,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAQ,uBAAuB,OAAO;AAAA,EACtF,aAAa,CAAC,WAAW,uBAAuB,OAAO;AAAA,EACvD,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,yBAAyB,WAAW,OAAO,MAAM;AAAA,EACnE,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,yBAAyB,WAAW,OAAO,MAAM;AAAA,EACpE,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,YAAY,OAAO;AAAA,EAClD,aAAa,CAAC,WAAW,2CAA2C,OAAO;AAC7E;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,eAAe,OAAO,YAAY,eAClC,eAAe,OAAO,YAAY,6BAAyB,OAAO;AAAA,EACxE,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,uBAAuB,OAAO;AAAA,EACpF,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,6BAAyB,OAAO;AAAA,EACtF,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,UAAU,gCAAgC,WAAW,OAAO,QAAQ,MACxF,GAAG,SAAS,QAAQ,UAAU,qCAAiC,OAAO;AAAA,EAC5E,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,mCAAmC,OAAO;AAAA,EAC5F,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,iBAAiB,OAAO;AAAA,EAC3E,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,iBAAiB,OAAO;AAAA,EAC3E,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,gBAAgB,OAAO;AAAA,EACpF,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,gBAAgB,OAAO;AAAA,EACpF,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,6BAAyB,OAAO;AAAA,EACvF,eAAe,CAAC,WAAW,eAAe,OAAO;AAAA,EACjD,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,yBAAyB,OAAO;AAAA,EACvF,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,+BAA2B,OAAO;AAAA,EACzF,cAAc,CAAC,WAAW,oBAAoB,SAAS,QAAQ,cAAc;AAAA,EAC7E,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY;AAAA,EACtD,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,4BAA4B,OAAO;AAAA,EAC7F,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,kCAA8B,OAAO;AAAA,EAC/F,kBAAkB,CAAC,WAAW,iCAAiC,OAAO;AAAA,EACtE,qBAAqB,CAAC,WAAW,yBAAyB,OAAO;AAAA,EACjE,kBAAkB,CAAC,WAAW,uCAAmC,OAAO;AAAA,EACxE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,yBAAyB,OAAO;AAAA,EAC3F,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,+BAA2B,OAAO;AAAA,EAC7F,aAAa,CAAC,WAAW,mCAA+B,OAAO;AAAA,EAC/D,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,6BAA6B,WAAW,OAAO,MAAM;AAAA,EACvE,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,6BAA6B,WAAW,OAAO,MAAM;AAAA,EACxE,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,gBAAgB,OAAO;AAAA,EACtD,aAAa,CAAC,WAAW,4CAAwC,OAAO;AAC1E;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,oBAAoB,OAAO,YAAY,aACvC,oBAAoB,OAAO,YAAY,sBAAkB,OAAO;AAAA,EACtE,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,2BAAuB,OAAO;AAAA,EACrF,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,0BAAsB,OAAO;AAAA,EACpF,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,WAAW,qCAAiC,WAAW,OAAO,QAAQ,MAC1F,GAAG,SAAS,QAAQ,WAAW,gCAAgC,OAAO;AAAA,EAC5E,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,8BAA8B,OAAO;AAAA,EACxF,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,qBAAiB,OAAO;AAAA,EAC5E,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,qBAAiB,OAAO;AAAA,EAC5E,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,oBAAgB,OAAO;AAAA,EACrF,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,oBAAgB,OAAO;AAAA,EACrF,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,WAAW,iCAA6B,OAAO;AAAA,EAC5F,eAAe,CAAC,WAAW,oBAAoB,OAAO;AAAA,EACtD,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,4BAA4B,OAAO;AAAA,EAC1F,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,2BAA2B,OAAO;AAAA,EACzF,cAAc,CAAC,WAAW,yBAAkB,SAAS,QAAQ,YAAY;AAAA,EACzE,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY;AAAA,EACtD,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,4BAA4B,OAAO;AAAA,EAC7F,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,YAAY,2BAA2B,OAAO;AAAA,EAC5F,kBAAkB,CAAC,WAAW,sCAA+B,OAAO;AAAA,EACpE,qBAAqB,CAAC,WAAW,+BAAwB,OAAO;AAAA,EAChE,kBAAkB,CAAC,WAAW,wCAA8B,OAAO;AAAA,EACnE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAQ,yBAAyB,OAAO;AAAA,EACxF,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAQ,wBAAwB,OAAO;AAAA,EACvF,aAAa,CAAC,WAAW,0CAAiC,OAAO;AAAA,EACjE,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,yCAAgC,WAAW,OAAO,MAAM;AAAA,EAC1E,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,yCAAgC,WAAW,OAAO,MAAM;AAAA,EAC3E,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,GAAG,OAAO;AAAA,EACzC,aAAa,CAAC,WAAW,0CAAsC,OAAO;AACxE;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,GAAG,OAAO,YAAY,yEACtB,GAAG,OAAO,YAAY,uGAAsB,OAAO;AAAA,EACzD,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,wCAAU,OAAO;AAAA,EAC/D,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,4BAAQ,OAAO;AAAA,EAC7D,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,QAAE,wHAAyB,WAAW,OAAO,QAAQ,MACzE,GAAG,SAAS,QAAQ,QAAE,kCAAS,OAAO;AAAA,EAC5C,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,sBAAO,OAAO;AAAA,EACxD,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,UAAK,OAAO;AAAA,EACvD,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,UAAK,OAAO;AAAA,EACvD,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,UAAK,OAAO;AAAA,EACjE,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,UAAK,OAAO;AAAA,EACjE,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,UAAK,OAAO;AAAA,EAC3D,eAAe,CAAC,WAAW,GAAG,OAAO;AAAA,EACrC,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,8CAAW,OAAO;AAAA,EAChE,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,4BAAQ,OAAO;AAAA,EAC7D,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EACjD,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EAC7C,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,wFAAkB,OAAO;AAAA,EAC1E,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,sEAAe,OAAO;AAAA,EACvE,kBAAkB,CAAC,WAAW,8CAAU,OAAO;AAAA,EAC/C,qBAAqB,CAAC,WAAW,gEAAa,OAAO;AAAA,EACrD,kBAAkB,CAAC,WAAW,uCAAQ,OAAO;AAAA,EAC7C,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,sCAAO,8CAAW,OAAO;AAAA,EACzE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,sCAAO,4BAAQ,OAAO;AAAA,EACtE,aAAa,CAAC,WAAW,0DAAY,OAAO;AAAA,EAC5C,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,iHAAsB,WAAW,OAAO,MAAM;AAAA,EAChE,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,iHAAsB,WAAW,OAAO,MAAM;AAAA,EACjE,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,uCAAQ,OAAO;AAAA,EAC9C,aAAa,CAAC,WAAW,kCAAQ,OAAO;AAC1C;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,GAAG,OAAO,YAAY,kDACtB,GAAG,OAAO,YAAY,oFAAuB,OAAO;AAAA,EAC1D,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,gCAAY,OAAO;AAAA,EACjE,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,gCAAY,OAAO;AAAA,EACjE,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,QAAE,uGAA4B,WAAW,OAAO,QAAQ,MAC5E,GAAG,SAAS,QAAQ,QAAE,gCAAY,OAAO;AAAA,EAC/C,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EAC1D,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EAC3D,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EAC3D,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EACrE,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EACrE,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EAC/D,eAAe,CAAC,WAAW,GAAG,OAAO;AAAA,EACrC,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,gCAAY,OAAO;AAAA,EACjE,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,gCAAY,OAAO;AAAA,EACjE,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EACjD,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EAC7C,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,oEAAkB,OAAO;AAAA,EAC1E,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,oEAAkB,OAAO;AAAA,EAC1E,kBAAkB,CAAC,WAAW,8BAAS,OAAO;AAAA,EAC9C,qBAAqB,CAAC,WAAW,uDAAc,OAAO;AAAA,EACtD,kBAAkB,CAAC,WAAW,sBAAM,OAAO;AAAA,EAC3C,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,8BAAU,OAAO;AAAA,EACpE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,8BAAU,OAAO;AAAA,EACpE,aAAa,CAAC,WAAW,8BAAS,OAAO;AAAA,EACzC,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,iFAAoB,WAAW,OAAO,MAAM;AAAA,EAC9D,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,iFAAoB,WAAW,OAAO,MAAM;AAAA,EAC/D,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,kCAAQ,OAAO;AAAA,EAC9C,aAAa,CAAC,WAAW,iDAAa,OAAO;AAC/C;;;AC9CO,IAAM,cAAkC;AAAA,EAC7C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,YAAY,OAAO,YAAY,YAC/B,YAAY,OAAO,YAAY,qBAAqB,OAAO;AAAA,EACjE,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,2BAAuB,OAAO;AAAA,EACnF,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,2BAAuB,OAAO;AAAA,EACnF,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,SAAS,+CAA2C,WAAW,OAAO,QAAQ,MAClG,GAAG,SAAS,QAAQ,SAAS,oCAAgC,OAAO;AAAA,EAC1E,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,kCAAkC,OAAO;AAAA,EAC1F,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,iBAAiB,OAAO;AAAA,EAC1E,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,iBAAiB,OAAO;AAAA,EAC1E,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,gBAAgB,OAAO;AAAA,EACnF,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,gBAAgB,OAAO;AAAA,EACnF,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,6BAAyB,OAAO;AAAA,EACtF,eAAe,CAAC,WAAW,YAAY,OAAO;AAAA,EAC9C,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,yBAAyB,OAAO;AAAA,EACpF,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,2BAAuB,OAAO;AAAA,EAClF,cAAc,CAAC,WAAW,eAAe,SAAS,QAAQ,YAAY;AAAA,EACtE,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS;AAAA,EACnD,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,4BAA4B,OAAO;AAAA,EAC1F,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,SAAS,8BAA0B,OAAO;AAAA,EACxF,kBAAkB,CAAC,WAAW,uCAAmC,OAAO;AAAA,EACxE,qBAAqB,CAAC,WAAW,2BAA2B,OAAO;AAAA,EACnE,kBAAkB,CAAC,WAAW,gCAA4B,OAAO;AAAA,EACjE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,yBAAyB,OAAO;AAAA,EAC1F,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,UAAU,2BAAuB,OAAO;AAAA,EACxF,aAAa,CAAC,WAAW,sBAAkB,OAAO;AAAA,EAClD,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,+BAA+B,WAAW,OAAO,MAAM;AAAA,EACzE,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,+BAA+B,WAAW,OAAO,MAAM;AAAA,EAC1E,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,aAAa,OAAO;AAAA,EACnD,aAAa,CAAC,WAAW,4CAAqC,OAAO;AACvE;;;AC9CO,IAAM,gBAAoC;AAAA,EAC/C,cAAc,CAAC,WACb,OAAO,WAAW,YACd,eAAI,OAAO,YAAY,aACvB,eAAI,OAAO,YAAY,+CAAY,OAAO;AAAA,EAChD,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,kCAAS,OAAO;AAAA,EAC9D,YAAY,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,kCAAS,OAAO;AAAA,EAC9D,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,QAAE,0DAAa,WAAW,OAAO,QAAQ,MAC7D,GAAG,SAAS,QAAQ,QAAE,wCAAU,OAAO;AAAA,EAC7C,QAAQ,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,wCAAU,OAAO;AAAA,EAC3D,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,oBAAU,OAAO;AAAA,EAC5D,SAAS,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,oBAAU,OAAO;AAAA,EAC5D,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EACrE,mBAAmB,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,mBAAS,OAAO;AAAA,EACrE,aAAa,CAAC,WAAW,GAAG,SAAS,QAAQ,QAAE,sBAAO,OAAO;AAAA,EAC7D,eAAe,CAAC,WAAW,eAAI,OAAO;AAAA,EACtC,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,4BAAQ,OAAO;AAAA,EAC7D,WAAW,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,kCAAS,OAAO;AAAA,EAC9D,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EACjD,UAAU,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG;AAAA,EAC7C,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,kCAAS,OAAO;AAAA,EACjE,cAAc,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,wCAAU,OAAO;AAAA,EAClE,kBAAkB,CAAC,WAAW,wCAAS,OAAO;AAAA,EAC9C,qBAAqB,CAAC,WAAW,oDAAW,OAAO;AAAA,EACnD,kBAAkB,CAAC,WAAW,eAAI,OAAO;AAAA,EACzC,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,4BAAQ,OAAO;AAAA,EAClE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,kCAAS,OAAO;AAAA,EACnE,aAAa,CAAC,WAAW,wCAAS,OAAO;AAAA,EACzC,OAAO,MAAM;AAAA,EACb,MAAM,CAAC,WAAW,yDAAW,WAAW,OAAO,MAAM;AAAA,EACrD,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,KAAK,MAAM;AAAA,EACX,OAAO,CAAC,WAAW,yDAAW,WAAW,OAAO,MAAM;AAAA,EACtD,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,6CAAS,OAAO;AAAA,EAC/C,aAAa,CAAC,WAAW,kCAAQ,OAAO;AAC1C;AAEO,IAAM,gBAAoC;AAAA,KAC5C;AAAA,EACH,cAAc,CAAC,WACb,OAAO,WAAW,YACd,eAAI,OAAO,YAAY,aACvB,eAAI,OAAO,YAAY,+CAAY,OAAO;AAAA,EAChD,SAAS,CAAC,WACR,OAAO,aAAa,YAChB,GAAG,SAAS,QAAQ,QAAE,sEAAe,WAAW,OAAO,QAAQ,MAC/D,GAAG,SAAS,QAAQ,QAAE,wCAAU,OAAO;AAAA,EAC7C,kBAAkB,CAAC,WAAW,wCAAS,OAAO;AAAA,EAC9C,qBAAqB,CAAC,WAAW,oDAAW,OAAO;AAAA,EACnD,kBAAkB,CAAC,WAAW,eAAI,OAAO;AAAA,EACzC,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,4BAAQ,OAAO;AAAA,EAClE,gBAAgB,CAAC,WAAW,GAAG,SAAS,QAAQ,cAAG,kCAAS,OAAO;AAAA,EACnE,aAAa,CAAC,WAAW,wCAAS,OAAO;AAAA,EACzC,gBAAgB,MAAM;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO,MAAM;AAAA,EACb,aAAa,MAAM;AAAA,EACnB,OAAO,MAAM;AAAA,EACb,YAAY,MAAM;AAAA,EAClB,MAAM,MAAM;AAAA,EACZ,QAAQ,CAAC,WAAW,OAAO,iBAAiB;AAAA,EAC5C,MAAM,MAAM;AAAA,EACZ,mBAAmB,CAAC,WAAW,6CAAS,OAAO;AAAA,EAC/C,aAAa,CAAC,WAAW,4BAAO,OAAO;AACzC;;;AC/EO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;;;AC5BO,IAAM,SAAS;AACf,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,SAAS;AACf,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,SAAS;AACf,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,UAAU;AAEhB,IAAM,yBAAyB;AAAA,GACnC,YAAY,SAAS;AAAA,GACrB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,SAAS;AAAA,GACrB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,SAAS;AAAA,GACrB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,QAAQ;AAAA,GACpB,YAAY,UAAU;AAAA,GACtB,YAAY,UAAU;AACzB;AAEO,SAAS,oBAAoB,GAA4C;AAAA,EAC9E,OAAO,OAAO,OAAO,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,uBAAuB,OAAO,CAAC;AAAA;AAG5F,IAAM,cAAc;AAGpB,IAAe;;;ACvFR,SAAS,kBAAkB,CAChC,QACA,UAA+B,CAAC,GACkB;AAAA,EAClD,MAAM,UAAU,QAAQ,WAAW,IAAI,IAAI,QAAQ,QAAQ,IAAI;AAAA,EAC/D,MAAM,UAAU,QAAQ,WAAW,IAAI,IAAI,QAAQ,QAAQ,IAAI;AAAA,EAC/D,MAAM,mBAAmB,IAAI,KAAK,OAAO,YAAY,CAAC,GAAG,IAAI,MAAM,CAAC;AAAA,EACpE,MAAM,mBAAmB,IAAI,KAAK,OAAO,YAAY,CAAC,GAAG,IAAI,MAAM,CAAC;AAAA,EACpE,MAAM,qBAAqB,OAAO;AAAA,EAClC,MAAM,aAAsC,CAAC;AAAA,EAE7C,YAAY,KAAK,WAAW,OAAO,QAAQ,kBAAkB,GAAG;AAAA,IAC9D,IAAI,WAAW,CAAC,QAAQ,IAAI,GAAG;AAAA,MAAG;AAAA,IAClC,IAAI,WAAW,QAAQ,IAAI,GAAG;AAAA,MAAG;AAAA,IACjC,WAAW,OAAO;AAAA,EACpB;AAAA,EAEA,MAAM,OAAO,OAAO,KAAK,UAAU;AAAA,EACnC,MAAM,WAAW,QAAQ,iBAAiB,QACtC,OACA,QAAQ,iBAAiB,SACvB,CAAC,IACD,KAAK,OAAO,CAAC,QAAQ,iBAAiB,IAAI,GAAG,CAAC;AAAA,EACpD,MAAM,WAAW,KAAK,OAAO,CAAC,QAAQ,iBAAiB,IAAI,GAAG,KAAK,CAAC,SAAS,SAAS,GAAG,CAAC;AAAA,EAE1F,OAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,OACI,SAAS,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC;AAAA,OACtC,SAAS,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC;AAAA,OACtC,OAAO,sBAAsB,YAAY,EAAE,mBAAmB,OAAO,kBAAkB,IAAI,CAAC;AAAA,OAC5F,QAAQ,yBAAyB,YACjC,EAAE,sBAAsB,QAAQ,qBAAqB,IACrD,OAAO,yBAAyB,YAC9B,EAAE,sBAAsB,OAAO,qBAAqB,IACpD,CAAC;AAAA,EACT;AAAA;AAIK,SAAS,yBAAyB,CACvC,mBACA,KACW;AAAA,EACX,IAAI,CAAC;AAAA,IAAmB,OAAO,CAAC;AAAA,EAChC,MAAM,UAAqB,CAAC;AAAA,EAC5B,YAAY,SAAS,WAAW,OAAO,QAAQ,iBAAiB,GAAG;AAAA,IACjE,IAAI,IAAI,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG;AAAA,MACjC,QAAQ,KAAK,MAAM;AAAA,IACrB;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,kBAAkB,CAChC,QACA,WACA,SACW;AAAA,EACX,MAAM,aAAwB,CAAC;AAAA,EAC/B,MAAM,aAAa,OAAO;AAAA,EAC1B,YAAY,KAAK,WAAW,OAAO,QAAQ,UAAU,GAAG;AAAA,IACtD,IAAI,QAAQ,WAAW,GAAG,GAAG;AAAA,MAC3B,WAAW,KAAK,MAAM;AAAA,IACxB;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,6BAA6B,CAC3C,QACA,WACW;AAAA,EACX,MAAM,aAAwB,CAAC;AAAA,EAC/B,MAAM,aAAa,OAAO;AAAA,EAC1B,MAAM,kBAAkB;AAAA,EAExB,YAAY,KAAK,WAAW,OAAO,QAAQ,UAAU,GAAG;AAAA,IACtD,MAAM,sBAA+B;AAAA,MACnC,SAAS;AAAA,SACL,OAAO,gBAAgB,WAAW,WAAW,EAAE,QAAQ,gBAAgB,OAAO,IAAI,CAAC;AAAA,SACnF,OAAO,gBAAgB,YAAY,WAAW,EAAE,SAAS,gBAAgB,QAAQ,IAAI,CAAC;AAAA,IAC5F;AAAA,IACA,IAAI,gBAAgB,aAAa,WAAW,uBAAuB,qBAAqB,GAAG,IAAI,MAAM;AAAA,MACnG,WAAW,KAAK,MAAM;AAAA,IACxB;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,sBAAsB,CAAC,QAAiB,OAAwB;AAAA,EAC9E,OAAO,OAAO,YAAY,aAAa,IAAI,OAAO,OAAO,OAAO,EAAE,KAAK,KAAK;AAAA;AAG9E,SAAS,2BAA2B,CAAC,MAAc,OAAuB;AAAA,EACxE,QAAQ;AAAA,SACD;AAAA,MACH,OAAO,MAAM,WAAW,IAAI,QAAQ,MAAM,OAAO,CAAC,EAAE,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA,SAC9E;AAAA,MACH,OAAO,MAAM,YAAY;AAAA,SACtB;AAAA,MACH,OAAO,MAAM,YAAY;AAAA,SACtB;AAAA,MACH,OAAO,MAAM,WAAW,IAAI,QAAQ,MAAM,OAAO,CAAC,EAAE,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA;AAAA,MAEjF,OAAO;AAAA;AAAA;AAKN,SAAS,yBAAyB,CAAC,QAA0B;AAAA,EAClE,MAAM,QAAQ;AAAA,EACd,MAAM,OAAO,MAAM;AAAA,EACnB,IAAI,SAAS,gBAAgB,SAAS,eAAe,SAAS,eAAe,SAAS,gBAAgB;AAAA,IACpG,OAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,MAAM;AAAA,EACnB,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS;AAAA,EACf,MAAM,aAAa,OAAO;AAAA,EAC1B,IAAI,eAAe,aAAa,OAAO,OAAO,aAAa,UAAU;AAAA,IACnE,OAAO,EAAE,SAAS,WAAW,OAAO,4BAA4B,OAAO,IAAI,GAAG,OAAO,QAAQ,EAAE;AAAA,EACjG;AAAA,EACA,IAAI,eAAe,UAAU,MAAM,QAAQ,OAAO,SAAS,KAAK,OAAO,UAAU,MAAM,CAAC,UAAU,OAAO,UAAU,QAAQ,GAAG;AAAA,IAC5H,OAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAS,OAAO,UAAuB,IAAI,CAAC,UAAU,4BAA4B,OAAO,IAAI,GAAG,KAAK,CAAC;AAAA,IACxG;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;AChJF,SAAS,aAAa,CAAC,OAA+C;AAAA,EAC3E,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,eACjD,UAAU,QACV,UAAU,SACV,OAAO,MAAM,SAAS;AAAA;AAItB,SAAS,cAAc,CAAC,OAA4C;AAAA,EACzE,OAAO,OAAO,UAAU,YACnB,UAAU,QACV,UAAU,SACV,OAAO,MAAM,SAAS,cACtB,OAAO,YAAY,SACnB,OAAO,MAAM,OAAO,cAAc;AAAA;AAIlC,SAAS,mBAAmB,CAAC,OAAiD;AAAA,EACnF,OAAO,OAAO,UAAU,YACnB,UAAU,QACV,UAAU,SACV,OAAO,MAAM,SAAS,cACtB,OAAO,iBAAiB,SACxB,OAAO,MAAM,OAAO,mBAAmB;AAAA;;ACzBvC,IAAM,WAAW;AACjB,IAAM,SAAS;AACf,IAAM,cAAc;AACpB,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,cAAc;AACpB,IAAM,YAAY;AAClB,IAAM,cAAc;AACpB,IAAM,aAAa;AACnB,IAAM,YAAY;AAClB,IAAM,SAAS;AACf,IAAM,YAAY;AAClB,IAAM,iBAAiB;AAEvB,IAAM,gBAAgB,IAAI,IAAI;AAAA,EACnC;AAAA,EAAS;AAAA,EAAO;AAAA,EAAY;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAClD;AAAA,EAAQ;AAAA,EAAY;AAAA,EAAQ;AAAA,EAC5B;AAAA,EAAU;AAAA,EAAO;AAAA,EACjB;AAAA,EAAc;AAAA,EAAS;AAAA,EAAc;AACvC,CAAC;;ACpBD,SAAS,YAAY,CAAC,OAAwB;AAAA,EAC5C,OAAO,SAAS,OAAO,SAAS;AAAA;AAGlC,SAAS,sBAAsB,CAAC,SAAiB,OAAuB;AAAA,EACtE,IAAI,QAAQ;AAAA,EACZ,MAAM,QAAQ,QAAQ;AAAA,EACtB,IAAI,UAAU,aAAa,CAAC,aAAa,KAAK,GAAG;AAAA,IAC/C,OAAO;AAAA,EACT;AAAA,EACA,OAAO,QAAQ,QAAQ,QAAQ;AAAA,IAC7B,MAAM,YAAY,QAAQ;AAAA,IAC1B,IAAI,cAAc,aAAa,CAAC,aAAa,SAAS,GAAG;AAAA,MACvD;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,IAAI,QAAQ,WAAW,KAAK;AAAA,IAC1B,SAAS;AAAA,IACT,OAAO,QAAQ,QAAQ,QAAQ;AAAA,MAC7B,MAAM,YAAY,QAAQ;AAAA,MAC1B,IAAI,cAAc,aAAa,CAAC,aAAa,SAAS,GAAG;AAAA,QACvD;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,OAAO,QAAQ,WAAW,MAAM,QAAQ;AAAA;AAInC,SAAS,YAAY,CAAC,OAAwB;AAAA,EACnD,IAAI,UAAU;AAAA,EACd,IAAI,mBAAmB;AAAA,EACvB,IAAI,aAAa;AAAA,EACjB,IAAI,WAAW;AAAA,EACf,IAAI,qBAAqB;AAAA,EAEzB,SAAS,QAAQ,EAAG,QAAQ,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpD,MAAM,YAAY,MAAM;AAAA,IACxB,IAAI,cAAc;AAAA,MAAW,OAAO;AAAA,IACpC,IAAI,SAAS;AAAA,MACX,UAAU;AAAA,MACV,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,IAAI,cAAc,MAAM;AAAA,MACtB,UAAU;AAAA,MACV;AAAA,IACF;AAAA,IACA,IAAI,kBAAkB;AAAA,MACpB,IAAI,cAAc,KAAK;AAAA,QACrB,mBAAmB;AAAA,QACnB,WAAW;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,IAAI,sBAAsB,cAAc,KAAK;AAAA,MAC3C,qBAAqB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,IAErB,QAAQ;AAAA,WACD;AAAA,QACH,mBAAmB;AAAA,QACnB,WAAW;AAAA,QACX;AAAA,WACG;AAAA,QACH,cAAc;AAAA,QACd,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB;AAAA,WACG;AAAA,QACH,IAAI,eAAe;AAAA,UAAG,OAAO;AAAA,QAC7B,cAAc;AAAA,QACd,WAAW;AAAA,QACX;AAAA,WACG,KAAK;AAAA,QACR,IAAI,CAAC;AAAA,UAAU,OAAO;AAAA,QACtB,MAAM,gBAAgB,uBAAuB,OAAO,QAAQ,CAAC;AAAA,QAC7D,IAAI,gBAAgB;AAAA,UAAG,OAAO;AAAA,QAC9B,QAAQ;AAAA,QACR,WAAW;AAAA,QACX;AAAA,MACF;AAAA,WACK;AAAA,WACA;AAAA,WACA;AAAA,QACH,IAAI,CAAC;AAAA,UAAU,OAAO;AAAA,QACtB,WAAW;AAAA,QACX;AAAA,WACG;AAAA,WACA;AAAA,QACH,OAAO;AAAA,WACJ;AAAA,QACH,WAAW;AAAA,QACX;AAAA;AAAA,QAEA,WAAW;AAAA,QACX;AAAA;AAAA,EAEN;AAAA,EAEA,OAAO,CAAC,WAAW,CAAC,oBAAoB,eAAe;AAAA;AAQzD,SAAS,cAAc,CAAC,OAAwB;AAAA,EAC9C,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,IACtC,MAAM,YAAY,MAAM,KAAK,MAAM;AAAA,IACnC,IAAI,cAAc,OAAO,cAAc;AAAA,KAAQ,cAAc,QAAQ,cAAc,MAAM;AAAA,MACvF;AAAA,IACF;AAAA,IACA,MAAM,SAAS;AAAA,EACjB;AAAA;AAGF,SAAS,cAAc,CAAC,OAAkB,SAA0B;AAAA,EAClE,IAAI,MAAM,KAAK,MAAM,MAAM,OAAO,MAAM,QAAQ,QAAQ,MAAM,MAAM,SAAS;AAAA,IAC3E,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS,QAAQ;AAAA,EACvB,OAAO;AAAA;AAGT,SAAS,WAAW,CAAC,OAA2B;AAAA,EAC9C,IAAI,MAAM,KAAK,MAAM,WAAW;AAAA,IAAK,OAAO;AAAA,EAC5C,MAAM,SAAS;AAAA,EACf,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,IACtC,MAAM,YAAY,MAAM,KAAK,MAAM;AAAA,IACnC,IAAI,cAAc;AAAA,MAAW,OAAO;AAAA,IACpC,IAAI,cAAc,KAAK;AAAA,MACrB,MAAM,SAAS;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,IAAI,cAAc,MAAM;AAAA,MACtB,MAAM,SAAS,MAAM,KAAK,MAAM,QAAQ;AAAA,MACxC,IAAI,WAAW;AAAA,QAAW,OAAO;AAAA,MACjC,IAAI,WAAW,KAAK;AAAA,QAClB,SAAS,SAAS,EAAG,SAAS,GAAG,UAAU,GAAG;AAAA,UAC5C,MAAM,MAAM,MAAM,KAAK,MAAM,QAAQ;AAAA,UACrC,IAAI,QAAQ,aAAa,CAAC,cAAc,KAAK,GAAG;AAAA,YAAG,OAAO;AAAA,QAC5D;AAAA,QACA,MAAM,SAAS;AAAA,QACf;AAAA,MACF;AAAA,MACA,IAAI,CAAC,YAAY,SAAS,MAAM;AAAA,QAAG,OAAO;AAAA,MAC1C,MAAM,SAAS;AAAA,MACf;AAAA,IACF;AAAA,IACA,IAAI,YAAY;AAAA,MAAK,OAAO;AAAA,IAC5B,MAAM,SAAS;AAAA,EACjB;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,WAAW,CAAC,OAA2B;AAAA,EAC9C,MAAM,QAAQ,MAAM;AAAA,EACpB,IAAI,MAAM,KAAK,MAAM,WAAW,KAAK;AAAA,IACnC,MAAM,SAAS;AAAA,EACjB;AAAA,EACA,MAAM,aAAa,MAAM,KAAK,MAAM;AAAA,EACpC,IAAI,eAAe,aAAa,CAAC,aAAa,UAAU;AAAA,IAAG,OAAO;AAAA,EAClE,IAAI,eAAe,KAAK;AAAA,IACtB,MAAM,SAAS;AAAA,EACjB,EAAO;AAAA,IACL,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,MACtC,MAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,MAC/B,IAAI,UAAU,aAAa,CAAC,aAAa,KAAK;AAAA,QAAG;AAAA,MACjD,MAAM,SAAS;AAAA,IACjB;AAAA;AAAA,EAEF,IAAI,MAAM,KAAK,MAAM,WAAW,KAAK;AAAA,IACnC,MAAM,SAAS;AAAA,IACf,MAAM,gBAAgB,MAAM,KAAK,MAAM;AAAA,IACvC,IAAI,kBAAkB,aAAa,CAAC,aAAa,aAAa;AAAA,MAAG,OAAO;AAAA,IACxE,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,MACtC,MAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,MAC/B,IAAI,UAAU,aAAa,CAAC,aAAa,KAAK;AAAA,QAAG;AAAA,MACjD,MAAM,SAAS;AAAA,IACjB;AAAA,EACF;AAAA,EACA,MAAM,WAAW,MAAM,KAAK,MAAM;AAAA,EAClC,IAAI,aAAa,OAAO,aAAa,KAAK;AAAA,IACxC,MAAM,SAAS;AAAA,IACf,MAAM,OAAO,MAAM,KAAK,MAAM;AAAA,IAC9B,IAAI,SAAS,OAAO,SAAS;AAAA,MAAK,MAAM,SAAS;AAAA,IACjD,MAAM,gBAAgB,MAAM,KAAK,MAAM;AAAA,IACvC,IAAI,kBAAkB,aAAa,CAAC,aAAa,aAAa;AAAA,MAAG,OAAO;AAAA,IACxE,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,MACtC,MAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,MAC/B,IAAI,UAAU,aAAa,CAAC,aAAa,KAAK;AAAA,QAAG;AAAA,MACjD,MAAM,SAAS;AAAA,IACjB;AAAA,EACF;AAAA,EACA,OAAO,MAAM,QAAQ;AAAA;AAGvB,SAAS,UAAU,CAAC,OAA2B;AAAA,EAC7C,IAAI,MAAM,KAAK,MAAM,WAAW;AAAA,IAAK,OAAO;AAAA,EAC5C,MAAM,SAAS;AAAA,EACf,eAAe,KAAK;AAAA,EACpB,IAAI,MAAM,KAAK,MAAM,WAAW,KAAK;AAAA,IACnC,MAAM,SAAS;AAAA,IACf,OAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,IACtC,IAAI,CAAC,WAAW,KAAK;AAAA,MAAG,OAAO;AAAA,IAC/B,eAAe,KAAK;AAAA,IACpB,MAAM,YAAY,MAAM,KAAK,MAAM;AAAA,IACnC,IAAI,cAAc,KAAK;AAAA,MACrB,MAAM,SAAS;AAAA,MACf,eAAe,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,IAAI,cAAc,KAAK;AAAA,MACrB,MAAM,SAAS;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,WAAW,CAAC,OAA2B;AAAA,EAC9C,IAAI,MAAM,KAAK,MAAM,WAAW;AAAA,IAAK,OAAO;AAAA,EAC5C,MAAM,SAAS;AAAA,EACf,eAAe,KAAK;AAAA,EACpB,IAAI,MAAM,KAAK,MAAM,WAAW,KAAK;AAAA,IACnC,MAAM,SAAS;AAAA,IACf,OAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM,QAAQ,MAAM,KAAK,QAAQ;AAAA,IACtC,IAAI,CAAC,YAAY,KAAK;AAAA,MAAG,OAAO;AAAA,IAChC,eAAe,KAAK;AAAA,IACpB,IAAI,MAAM,KAAK,MAAM,WAAW;AAAA,MAAK,OAAO;AAAA,IAC5C,MAAM,SAAS;AAAA,IACf,IAAI,CAAC,WAAW,KAAK;AAAA,MAAG,OAAO;AAAA,IAC/B,eAAe,KAAK;AAAA,IACpB,MAAM,YAAY,MAAM,KAAK,MAAM;AAAA,IACnC,IAAI,cAAc,KAAK;AAAA,MACrB,MAAM,SAAS;AAAA,MACf,eAAe,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,IAAI,cAAc,KAAK;AAAA,MACrB,MAAM,SAAS;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,UAAU,CAAC,OAA2B;AAAA,EAC7C,eAAe,KAAK;AAAA,EACpB,MAAM,YAAY,MAAM,KAAK,MAAM;AAAA,EACnC,QAAQ;AAAA,SACD;AAAA,MACH,OAAO,YAAY,KAAK;AAAA,SACrB;AAAA,MACH,OAAO,YAAY,KAAK;AAAA,SACrB;AAAA,MACH,OAAO,WAAW,KAAK;AAAA,SACpB;AAAA,MACH,OAAO,eAAe,OAAO,MAAM;AAAA,SAChC;AAAA,MACH,OAAO,eAAe,OAAO,OAAO;AAAA,SACjC;AAAA,MACH,OAAO,eAAe,OAAO,MAAM;AAAA;AAAA,MAEnC,OAAO,cAAc,OAAQ,cAAc,aAAa,aAAa,SAAS,IAC1E,YAAY,KAAK,IACjB;AAAA;AAAA;AAKH,SAAS,WAAW,CAAC,OAAwB;AAAA,EAClD,MAAM,QAAmB,EAAE,OAAO,GAAG,MAAM,MAAM;AAAA,EACjD,IAAI,CAAC,WAAW,KAAK;AAAA,IAAG,OAAO;AAAA,EAC/B,eAAe,KAAK;AAAA,EACpB,OAAO,MAAM,UAAU,MAAM,KAAK;AAAA;;;AC7QpC,IAAM,8BAA8B,qBAAqB;AAEzD,IAAM,oBAA6C;AAAA,EACjD,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,eAAe;AACjB;AAEA,IAAM,kBAAmC;AAAA,EACvC,iBAAiB;AACnB;AAEA,IAAI,wBAAwB;AAE5B,SAAS,YAAoB,CAC3B,SACkC;AAAA,EAClC,OAAO,MAAM,KAAK,SAAS,EAAE,KAAK,WAAW,CAAC,KAAK,KAAK,CAAU;AAAA;AAAA;AAG7D,MAAM,eAAe;AAAA,EACT,KAAK,EAAE;AAAA,EAChB,WAAW;AAAA,EACX;AAAA,EACS,mBAAmB,IAAI;AAAA,EACvB,iBAAiB,IAAI;AAAA,EAC9B;AAAA,EACS,iBAAiB,IAAI;AAAA,EAC9B;AAAA,EAEC,iBAAiB;AAAA,IACxB,OAAO,MAAY;AAAA,MACjB,KAAK,iBAAiB,MAAM;AAAA,MAC5B,KAAK,MAAM;AAAA;AAAA,IAEb,QAAQ,CAAC,SAA0B;AAAA,MACjC,MAAM,UAAU,KAAK,iBAAiB,OAAO,IAAI;AAAA,MACjD,IAAI,SAAS;AAAA,QACX,KAAK,MAAM;AAAA,MACb;AAAA,MACA,OAAO;AAAA;AAAA,IAET,SAAS,MAAwC,MAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;AAAA,IAC3F,KAAK,CAAC,SAA8C,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAClF,KAAK,CAAC,SAA0B,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC9D,KAAK,CAAC,MAAc,cAAqC;AAAA,MACvD,KAAK,iBAAiB,IAAI,MAAM,SAAS;AAAA,MACzC,KAAK,MAAM;AAAA;AAAA,EAEf;AAAA,EAES,SAAS;AAAA,OACb;AAAA,IACH,SAAS,MAAqD,MAAM,KAAK,KAAK,eAAe,QAAQ,CAAC;AAAA,IACtG,KAAK,MAAwB,KAAK;AAAA,IAClC,YAAY,CAAC,SAA2B,KAAK,iBAC3C,KAAK,eAAe,IAAI,MAAM,KAAK,KAAK,eAAe,IAAI,YAAY,KAAK,KAAK;AAAA,IACnF,KAAK,CAAC,WAAsC,KAAK,eAAe,IAAI,MAAM;AAAA,IAC1E,UAAU,CAAC,QAA0B,YAAsC;AAAA,MACzE,KAAK,eAAe,IAAI,QAAQ,OAAO;AAAA,MACvC,KAAK,MAAM;AAAA;AAAA,IAEb,OAAO,MAAY;AAAA,MACjB,KAAK,eAAe,YAAY;AAAA,MAChC,KAAK,MAAM;AAAA;AAAA,IAEb,KAAK,CAAC,WAAmC;AAAA,MACvC,KAAK,eAAe;AAAA,MACpB,KAAK,MAAM;AAAA;AAAA,EAEf;AAAA,EAES,WAAW;AAAA,IAClB,KAAK,MAAiC,KAAK;AAAA,IAC3C,OAAO,MAAY;AAAA,MACjB,KAAK,WAAW,KAAK,gBAAgB;AAAA,MACrC,KAAK,MAAM;AAAA;AAAA,IAEb,KAAK,CAAC,YAA4C;AAAA,MAChD,KAAK,WAAW,KAAK,KAAK,aAAa,QAAQ;AAAA,MAC/C,KAAK,MAAM;AAAA;AAAA,EAEf;AAAA,EAES,eAAe;AAAA,IACtB,OAAO,MAAY;AAAA,MACjB,KAAK,eAAe,MAAM;AAAA,MAC1B,KAAK,MAAM;AAAA;AAAA,IAEb,QAAQ,CAAC,SAA0B;AAAA,MACjC,MAAM,UAAU,KAAK,eAAe,OAAO,IAAI;AAAA,MAC/C,IAAI,SAAS;AAAA,QACX,KAAK,MAAM;AAAA,MACb;AAAA,MACA,OAAO;AAAA;AAAA,IAET,SAAS,MAAsC,MAAM,KAAK,KAAK,eAAe,QAAQ,CAAC;AAAA,IACvF,KAAK,CAAC,SAA4C,KAAK,eAAe,IAAI,IAAI;AAAA,IAC9E,KAAK,CAAC,SAA0B,KAAK,eAAe,IAAI,IAAI;AAAA,IAC5D,KAAK,CAAC,MAAc,cAAmC;AAAA,MACrD,KAAK,eAAe,IAAI,MAAM,SAAS;AAAA,MACvC,KAAK,MAAM;AAAA;AAAA,EAEf;AAAA,EAES,mBAAmB;AAAA,IAC1B,KAAK,MAAyC,KAAK;AAAA,IACnD,OAAO,MAAY;AAAA,MACjB,KAAK,aAAa,KAAK,kBAAkB;AAAA,MACzC,KAAK,MAAM;AAAA;AAAA,IAEb,KAAK,CAAC,YAAoD;AAAA,MACxD,KAAK,aAAa,KAAK,KAAK,eAAe,QAAQ;AAAA,MACnD,KAAK,MAAM;AAAA;AAAA,EAEf;AAAA,EAEA,WAAW,CAAC,UAAiC,CAAC,GAAG;AAAA,IAC/C,KAAK,eAAe,QAAQ,UAAU,YAAY;AAAA,IAClD,KAAK,WAAW,KAAK,oBAAoB,QAAQ,SAAS;AAAA,IAC1D,KAAK,aAAa,KAAK,sBAAsB,QAAQ,WAAW;AAAA,IAChE,YAAY,QAAQ,YAAY,6BAA6B;AAAA,MAC3D,KAAK,eAAe,IAAI,QAAQ,OAAO;AAAA,IACzC;AAAA,IACA,YAAY,QAAQ,YAAY,QAAQ,kBAAkB,CAAC,GAAG;AAAA,MAC5D,KAAK,eAAe,IAAI,QAAQ,OAAO;AAAA,IACzC;AAAA,IACA,YAAY,MAAM,cAAc,QAAQ,WAAW,CAAC,GAAG;AAAA,MACrD,KAAK,iBAAiB,IAAI,MAAM,SAAS;AAAA,IAC3C;AAAA,IACA,YAAY,MAAM,cAAc,QAAQ,SAAS,CAAC,GAAG;AAAA,MACnD,KAAK,eAAe,IAAI,MAAM,SAAS;AAAA,IACzC;AAAA;AAAA,EAGF,KAAK,CAAC,UAAiC,CAAC,GAAmB;AAAA,IACzD,OAAO,IAAI,eAAe;AAAA,MACxB,SAAS,CAAC,GAAG,aAAa,KAAK,iBAAiB,QAAQ,CAAC,GAAG,GAAI,QAAQ,WAAW,CAAC,CAAE;AAAA,MACtF,QAAQ,QAAQ,UAAU,KAAK;AAAA,MAC/B,gBAAgB,CAAC,GAAG,aAAa,KAAK,eAAe,QAAQ,CAAC,GAAG,GAAI,QAAQ,kBAAkB,CAAC,CAAE;AAAA,MAClG,UAAU,KAAK,KAAK,aAAa,QAAQ,SAAS;AAAA,MAClD,YAAY,KAAK,KAAK,eAAe,QAAQ,WAAW;AAAA,MACxD,OAAO,CAAC,GAAG,aAAa,KAAK,eAAe,QAAQ,CAAC,GAAG,GAAI,QAAQ,SAAS,CAAC,CAAE;AAAA,IAClF,CAAC;AAAA;AAAA,EAGH,QAAQ,CAAC,YAAY,WAAmB;AAAA,IACtC,OAAO,GAAG,aAAa,KAAK,MAAM,KAAK;AAAA;AAAA,EAGjC,KAAK,GAAS;AAAA,IACpB,KAAK,YAAY;AAAA;AAErB;AAEA,IAAM,wBAAwB,IAAI;AAQ3B,SAAS,oBAAoB,CAAC,UAAiC,CAAC,GAAmB;AAAA,EACxF,OAAO,IAAI,eAAe,OAAO;AAAA;AAG5B,SAAS,wBAAwB,GAAmB;AAAA,EACzD,OAAO;AAAA;AAGF,SAAS,qBAAqB,CAAC,SAA4C;AAAA,EAChF,IAAI,mBAAmB,gBAAgB;AAAA,IACrC,OAAO;AAAA,EACT;AAAA,EACA,OAAO,SAAS,WAAW;AAAA;;;AC7KtB,SAAS,SAAS,CAAC,QAAyB;AAAA,EACjD,IAAI,CAAC,eAAe,KAAK,MAAM;AAAA,IAAG,OAAO;AAAA,EACzC,IAAI,MAAM;AAAA,EACV,IAAI,YAAY;AAAA,EAChB,SAAS,QAAQ,OAAO,SAAS,EAAG,SAAS,GAAG,SAAS,GAAG;AAAA,IAC1D,IAAI,QAAQ,OAAO,SAAS,OAAO,OAAO,KAAK,GAAG,EAAE;AAAA,IACpD,IAAI,WAAW;AAAA,MACb,SAAS;AAAA,MACT,IAAI,QAAQ;AAAA,QAAG,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO;AAAA,IACP,YAAY,CAAC;AAAA,EACf;AAAA,EACA,OAAO,MAAM,OAAO;AAAA;AAIf,SAAS,cAAc,CAAC,OAAwB;AAAA,EACrD,MAAM,QAAQ,MAAM,MAAM,GAAG,EAAE,IAAI,MAAM;AAAA,EACzC,MAAM,OAAO,MAAM;AAAA,EACnB,MAAM,QAAQ,MAAM;AAAA,EACpB,MAAM,MAAM,MAAM;AAAA,EAClB,IAAI,SAAS,aAAa,UAAU,aAAa,QAAQ;AAAA,IAAW,OAAO;AAAA,EAC3E,MAAM,OAAO,IAAI,WAAW,KAAK,MAAM,QAAQ,GAAG,GAAG;AAAA,EACrD,OAAO,KAAK,YAAY,MAAM,QAAQ,KAAK,SAAS,MAAM,QAAQ,KAAK,KAAK,QAAQ,MAAM;AAAA;AAIrF,SAAS,cAAc,CAC5B,OACA,QACA,SACS;AAAA,EACT,MAAM,iBAAiB,sBAAsB,OAAO;AAAA,EACpD,MAAM,SAAS,eAAe,eAAe,IAAI,MAAM;AAAA,EACvD,IAAI,WAAW;AAAA,IAAW,OAAO,OAAO,KAAK;AAAA,EAC7C,QAAQ;AAAA,SACD;AAAA,MAAS,OAAO,SAAS,KAAK,KAAK;AAAA,SACnC;AAAA,MAAO,OAAO,OAAO,KAAK,KAAK;AAAA,SAC/B;AAAA,MAAM,OAAO,QAAQ,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK;AAAA,SACtD;AAAA,MAAY,OAAO,YAAY,KAAK,KAAK;AAAA,SACzC;AAAA,MAAQ,OAAO,QAAQ,KAAK,KAAK;AAAA,SACjC;AAAA,MAAQ,OAAO,QAAQ,KAAK,KAAK;AAAA,SACjC;AAAA,MAAQ,OAAO,QAAQ,KAAK,KAAK;AAAA,SACjC;AAAA,MAAQ,OAAO,YAAY,KAAK,KAAK,KAAK,eAAe,KAAK;AAAA,SAC9D;AAAA,MAAY,OAAO,UAAU,KAAK,KAAK;AAAA,SACvC;AAAA,MAAQ,OAAO,YAAY,KAAK,KAAK;AAAA,SACrC;AAAA,MAAY,OAAO,WAAW,KAAK,KAAK;AAAA,SACxC;AAAA,MAAU,OAAO,UAAU,KAAK,KAAK;AAAA,SACrC;AAAA,MAAO,OAAO,OAAO,KAAK,KAAK;AAAA,SAC/B;AAAA,MAAY,OAAO,UAAU,KAAK,KAAK;AAAA,SACvC;AAAA,MAAc,OAAO,UAAU,MAAM,QAAQ,OAAO,EAAE,CAAC;AAAA,SACvD;AAAA,MAAS,OAAO,aAAa,KAAK;AAAA,SAClC;AAAA,MAAQ,OAAO,YAAY,KAAK;AAAA,SAChC;AAAA,MAAc,OAAO,UAAU,KAAK,KAAK;AAAA;AAAA,MACrC,OAAO;AAAA;AAAA;AAKb,SAAS,sBAAsB,CACpC,QACA,OACA,SACS;AAAA,EACT,IAAI,OAAO,cAAc,aAAa,MAAM,SAAU,OAAO;AAAA,IAAsB,OAAO;AAAA,EAC1F,IAAI,OAAO,cAAc,aAAa,MAAM,SAAU,OAAO;AAAA,IAAsB,OAAO;AAAA,EAC1F,IAAI,OAAO,YAAY,WAAW;AAAA,IAChC,MAAM,QAAQ,IAAI,OAAO,OAAO,OAAiB;AAAA,IACjD,IAAI,CAAC,MAAM,KAAK,KAAK;AAAA,MAAG,OAAO;AAAA,EACjC;AAAA,EACA,OAAO,OAAO,WAAW,aAAa,eAAe,OAAO,OAAO,QAAkB,OAAO;AAAA;AAIvF,SAAS,sBAAsB,CAAC,QAA2C,OAAwB;AAAA,EACxG,IAAI,OAAO,YAAY,aAAa,QAAS,OAAO;AAAA,IAAoB,OAAO;AAAA,EAC/E,IAAI,OAAO,YAAY,aAAa,QAAS,OAAO;AAAA,IAAoB,OAAO;AAAA,EAC/E,IAAI,OAAO,qBAAqB,aAAa,SAAU,OAAO;AAAA,IAA6B,OAAO;AAAA,EAClG,IAAI,OAAO,qBAAqB,aAAa,SAAU,OAAO;AAAA,IAA6B,OAAO;AAAA,EAClG,OAAO,OAAO,eAAe,aAAa,QAAS,OAAO,eAA0B;AAAA;;ACtF/E,IAAM,iBAAiB;AAAA,EAC5B,KAAK,GAAS;AAAA,IACZ,yBAAyB,EAAE,eAAe,MAAM;AAAA;AAAA,EAElD,MAAM,CAAC,MAAuB;AAAA,IAC5B,OAAO,yBAAyB,EAAE,eAAe,OAAO,IAAI;AAAA;AAAA,EAE9D,OAAO,GAAgD;AAAA,IACrD,OAAO,yBAAyB,EAAE,eAAe,QAAQ;AAAA;AAAA,EAE3D,GAAG,CAAC,MAAwD;AAAA,IAC1D,OAAO,yBAAyB,EAAE,eAAe,IAAI,IAAI;AAAA;AAAA,EAE3D,GAAG,CAAC,MAAuB;AAAA,IACzB,OAAO,yBAAyB,EAAE,eAAe,IAAI,IAAI;AAAA;AAAA,EAE3D,GAAG,CAAC,MAAc,WAA6C;AAAA,IAC7D,yBAAyB,EAAE,eAAe,IAAI,MAAM,SAAS;AAAA;AAEjE;AAGO,IAAM,eAAe;AAAA,EAC1B,KAAK,GAAS;AAAA,IACZ,yBAAyB,EAAE,aAAa,MAAM;AAAA;AAAA,EAEhD,MAAM,CAAC,MAAuB;AAAA,IAC5B,OAAO,yBAAyB,EAAE,aAAa,OAAO,IAAI;AAAA;AAAA,EAE5D,OAAO,GAA8F;AAAA,IACnG,OAAO,yBAAyB,EAAE,aAAa,QAAQ;AAAA;AAAA,EAEzD,GAAG,CAAC,MAAsG;AAAA,IACxG,OAAO,yBAAyB,EAAE,aAAa,IAAI,IAAI;AAAA;AAAA,EAEzD,GAAG,CAAC,MAAuB;AAAA,IACzB,OAAO,yBAAyB,EAAE,aAAa,IAAI,IAAI;AAAA;AAAA,EAEzD,GAAG,CAAC,MAAc,WAA2F;AAAA,IAC3G,yBAAyB,EAAE,aAAa,IAAI,MAAM,SAAS;AAAA;AAE/D;AAGO,IAAM,mBAAmB;AAAA,EAC9B,GAAG,GAAsC;AAAA,IACvC,OAAO,yBAAyB,EAAE,iBAAiB,IAAI;AAAA;AAAA,EAEzD,KAAK,GAAS;AAAA,IACZ,yBAAyB,EAAE,iBAAiB,MAAM;AAAA;AAAA,EAEpD,GAAG,CAAC,SAAiD;AAAA,IACnD,yBAAyB,EAAE,iBAAiB,IAAI,OAAO;AAAA;AAE3D;AAGO,IAAM,WAAW;AAAA,EACtB,GAAG,GAA8B;AAAA,IAC/B,OAAO,yBAAyB,EAAE,SAAS,IAAI;AAAA;AAAA,EAEjD,KAAK,GAAS;AAAA,IACZ,yBAAyB,EAAE,SAAS,MAAM;AAAA;AAAA,EAE5C,GAAG,CAAC,SAAyC;AAAA,IAC3C,yBAAyB,EAAE,SAAS,IAAI,OAAO;AAAA;AAEnD;;;;;;;;;;;;;;AClFA,SAAS,UAAa,CAAC,OAAa;AAAA,EAClC,OAAQ,WAEL,gBAAgB,KAAK;AAAA;AAInB,SAAS,KAAQ,CAAC,OAAa;AAAA,EACpC,OAAO,WAAW,KAAK;AAAA;;;ACNzB,IAAM,cAAc,OAAO,oBAAoB;AAE/C,SAAS,WAAa,CAAC,OAAa;AAAA,EAClC,OAAQ,WAEL,gBAAgB,KAAK;AAAA;AAInB,SAAS,MAAyB,CAAC,QAAsB;AAAA,EAC9D,OAAO,eAAe,QAAQ,IAAI,GAAK;AAAA;AAGzC,SAAS,oBAAoB,CAAC,GAA0D;AAAA,EACtF,MAAM,OAAO,EAAE;AAAA,EAEf,QAAQ;AAAA,SACD;AAAA,MAAU,OAAO;AAAA,SACjB;AAAA,MAAU,OAAO;AAAA,SACjB;AAAA,MAAW,OAAO;AAAA,SAClB;AAAA,MAAW,OAAO;AAAA,SAClB;AAAA,MAAQ,OAAO;AAAA,SACf;AAAA,MAAU,OAAO;AAAA,SACjB;AAAA,MAAQ,OAAO,IAAI,WAAW,KAAK,CAAC;AAAA,SACpC;AAAA,MAAW,OAAO,EAAE;AAAA,SACpB;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACH;AAAA,SACG;AAAA,MAAU,OAAO,WAAW,OAAO;AAAA,SACnC;AAAA,MAAc,OAAO,IAAI,WAAW,WAAW,CAAC;AAAA,SAChD;AAAA,MAAY,OAAO,MAAM;AAAA,SACzB;AAAA,MAAe,OAAO,MAAM;AAAA,MAAC;AAAA,SAC7B;AAAA,MAAW,OAAO,WAAW,QAAQ,QAAQ,SAAS;AAAA;AAAA,MAEzD,OAAO;AAAA;AAAA;AAIb,SAAS,qBAAqB,CAAC,GAA4B,MAA0D;AAAA,EACnH,MAAM,OAAO,EAAE;AAAA,EAEf,QAAQ;AAAA,SACD;AAAA,MAAS,OAAO,CAAC;AAAA,SACjB,SAAS;AAAA,MACZ,MAAM,QAAQ,EAAE;AAAA,MAChB,OAAO,MAAM,IAAI,CAAC,SAAS,eAAe,MAAM,IAAI,CAAC;AAAA,IACvD;AAAA,SACK,UAAU;AAAA,MACb,MAAM,MAA+B,CAAC;AAAA,MACtC,MAAM,QAAQ,EAAE;AAAA,MAChB,MAAM,WAAY,EAAE,eAA4B,CAAC;AAAA,MACjD,MAAM,eAAe,IAAI,IAAK,EAAE,eAA4B,CAAC,CAAC;AAAA,MAC9D,WAAW,OAAO,UAAU;AAAA,QAC1B,IAAI,MAAM;AAAA,UAAM,IAAI,OAAO,eAAe,MAAM,MAAM,IAAI;AAAA,MAC5D;AAAA,MACA,YAAY,KAAK,eAAe,OAAO,QAAQ,KAAK,GAAG;AAAA,QACrD,IAAI,EAAE,OAAO,QAAQ,CAAC,aAAa,IAAI,GAAG,GAAG;AAAA,UAC3C,IAAI,OAAO,eAAe,YAAY,IAAI;AAAA,QAC5C;AAAA,MACF;AAAA,MACA,OAAO;AAAA,IACT;AAAA,SACK;AAAA,SACA;AAAA,MACH,OAAO,CAAC;AAAA,SACL,SAAS;AAAA,MACZ,MAAM,WAAW,EAAE;AAAA,MACnB,OAAO,SAAS,SAAS,IAAI,eAAe,SAAS,IAAe,IAAI,IAAI;AAAA,IAC9E;AAAA,SACK,aAAa;AAAA,MAChB,MAAM,WAAW,EAAE;AAAA,MACnB,IAAI,SAAS,CAAC;AAAA,MACd,WAAW,WAAW,UAAU;AAAA,QAC9B,MAAM,IAAI,eAAe,SAAS,IAAI;AAAA,QACtC,IAAI,OAAO,MAAM,YAAY,MAAM;AAAA,UAAM,SAAS,KAAK,WAAW,EAAE;AAAA,MACtE;AAAA,MACA,OAAO;AAAA,IACT;AAAA,SACK;AAAA,MAAY;AAAA,SACZ;AAAA,MAAY,OAAO,eAAe,EAAE,SAAoB,IAAI;AAAA,SAC5D,QAAQ;AAAA,MACX,MAAM,SAAS,EAAE;AAAA,MACjB,OAAO,OAAO,SAAS,IAAI,OAAO,KAAK;AAAA,IACzC;AAAA,SACK,YAAY;AAAA,MACf,MAAM,MAAM,EAAE;AAAA,MACd,MAAM,SAAkC,CAAC;AAAA,MACzC,YAAY,KAAK,eAAe,OAAO,QAAQ,IAAI,UAAqC,GAAG;AAAA,QACzF,OAAO,OAAO,eAAe,YAAY,IAAI;AAAA,MAC/C;AAAA,MACA,OAAO;AAAA,IACT;AAAA;AAAA,MAEE,OAAO;AAAA;AAAA;AAIb,SAAS,oBAAoB,CAAC,GAA4B,MAA0D;AAAA,EAClH,MAAM,OAAO,EAAE;AAAA,EAEf,QAAQ;AAAA,SACD,OAAO;AAAA,MACV,MAAM,SAAS,KAAK,IAAI,EAAE,OAAiB;AAAA,MAC3C,OAAO,SAAS,eAAe,QAAQ,IAAI,IAAI;AAAA,IACjD;AAAA,SACK,aAAa;AAAA,MAChB,MAAM,WAAW,IAAI,IAAI,IAAI;AAAA,MAC7B,SAAS,IAAI,EAAE,SAAmB,EAAE,SAAoB;AAAA,MACxD,OAAO,eAAe,EAAE,WAAsB,QAAQ;AAAA,IACxD;AAAA,SACK;AAAA,SACA;AAAA,MACH,OAAO,eAAe,EAAE,UAAqB,IAAI;AAAA;AAAA,MAEjD,OAAO;AAAA;AAAA;AAIb,SAAS,cAAc,CAAC,QAAiB,MAAqC;AAAA,EAC5E,MAAM,IAAI;AAAA,EAEV,IAAI,EAAE,eAAe;AAAA,IAAW,OAAO,YAAW,EAAE,UAAU;AAAA,EAE9D,MAAM,YAAY,qBAAqB,CAAC;AAAA,EACxC,IAAI,cAAc,aAAa;AAAA,IAC7B,OAAO;AAAA,EACT;AAAA,EACA,MAAM,aAAa,sBAAsB,GAAG,IAAI;AAAA,EAChD,IAAI,eAAe,aAAa;AAAA,IAC9B,OAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY,qBAAqB,GAAG,IAAI;AAAA,EAC9C,OAAO,cAAc,cAAc,YAAY;AAAA;;;ACxI1C,SAAS,IAAI,CAAC,OAAwB;AAAA,EAC3C,IAAI,IAAI;AAAA,EACR,UAAU,KAAK;AAAA,EACf,OAAO;AAAA,EAEP,SAAS,GAAG,CAAC,GAAiB;AAAA,IAC5B,KAAK,IAAI;AAAA,IACT,IAAI,OAAO,QAAQ,IAAI,IAAI,cAAc;AAAA;AAAA,EAG3C,SAAS,UAAU,CAAC,GAAiB;AAAA,IACnC,SAAS,IAAI,EAAG,IAAI,EAAE,QAAQ,KAAK;AAAA,MACjC,IAAI,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAAA,IAC7B;AAAA;AAAA,EAGF,SAAS,SAAS,CAAC,GAAkB;AAAA,IACnC,IAAI,MAAM,MAAM;AAAA,MAAE,IAAI,EAAE;AAAA,MAAG;AAAA,IAAQ;AAAA,IACnC,IAAI,MAAM,WAAW;AAAA,MAAE,IAAI,EAAE;AAAA,MAAG;AAAA,IAAQ;AAAA,IAExC,QAAQ,OAAO;AAAA,WACR;AAAA,QACH,IAAI,IAAI,KAAK,EAAE;AAAA,QACf;AAAA,WACG;AAAA,QACH,IAAI,EAAE;AAAA,QACN,WAAW,EAAE,SAAS,CAAC;AAAA,QACvB;AAAA,WACG;AAAA,QACH,IAAI,EAAE;AAAA,QACN,WAAW,EAAE,SAAS,CAAC;AAAA,QACvB;AAAA,WACG;AAAA,QACH,IAAI,EAAE;AAAA,QACN,WAAW,CAAC;AAAA,QACZ;AAAA,WACG;AAAA,QACH,IAAI,EAAE;AAAA,QACN,WAAW,EAAE,SAAS,CAAC;AAAA,QACvB;AAAA,WACG,UAAU;AAAA,QACb,IAAI,MAAM,QAAQ,CAAC,GAAG;AAAA,UACpB,IAAI,EAAE;AAAA,UACN,WAAW,QAAQ;AAAA,YAAG,UAAU,IAAI;AAAA,UACpC;AAAA,QACF;AAAA,QACA,IAAI,aAAa,WAAW,MAAM;AAAA,UAChC,IAAI,EAAE;AAAA,UACN,WAAW,EAAE,YAAY,CAAC;AAAA,UAC1B;AAAA,QACF;AAAA,QACA,IAAI,aAAa,WAAW,YAAY;AAAA,UACtC,IAAI,GAAG;AAAA,UACP,WAAW,QAAQ;AAAA,YAAG,IAAI,OAAO,IAAI,CAAC;AAAA,UACtC;AAAA,QACF;AAAA,QACA,IAAI,GAAG;AAAA,QACP,MAAM,OAAO,OAAO,KAAK,CAA4B,EAAE,KAAK;AAAA,QAC5D,WAAW,OAAO,MAAM;AAAA,UACtB,WAAW,GAAG;AAAA,UACd,UAAW,EAA8B,IAAI;AAAA,QAC/C;AAAA,QACA;AAAA,MACF;AAAA;AAAA,QAEE,IAAI,GAAG;AAAA;AAAA;AAAA;;;ACjER,SAAS,MAAM,CAAC,QAAiB,QAAuB;AAAA,EAC7D,IAAI,OAAO,WAAW,YAAY,WAAW;AAAA,IAAM;AAAA,EACnD,IAAI,OAAO,WAAW,YAAY,WAAW;AAAA,IAAM;AAAA,EAEnD,IAAI,MAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,MAAM,GAAG;AAAA,IAClD,OAAO,SAAS;AAAA,IAChB,WAAW,QAAQ;AAAA,MAAQ,OAAO,KAAK,IAAI;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,MAAM,IAAI;AAAA,EACV,MAAM,IAAI;AAAA,EAEV,WAAW,OAAO,OAAO,KAAK,CAAC,GAAG;AAAA,IAChC,IAAI,EAAE,OAAO,IAAI;AAAA,MACf,OAAO,EAAE;AAAA,IACX;AAAA,EACF;AAAA,EACA,YAAY,KAAK,QAAQ,OAAO,QAAQ,CAAC,GAAG;AAAA,IAC1C,EAAE,OAAO;AAAA,EACX;AAAA;;;ACPK,IAAM,YAAY;AAAA,EACvB,KAAK,CAAC,UAA6B,SAA4B,IAAI,KAAK,MAAM,CAAC,GAAY;AAAA,IACzF,OAAO,SAAS,WAAW,OAAO,UAAU,SAAS,MAAM,CAAC,OAAO,UAAU,UAAU,OAAO,MAAM;AAAA;AAExG;AAEO,IAAM,cAAc;AAAA,EACzB,aAAa,GAAY;AAAA,IACvB,OAAO,OAAO,QAAQ;AAAA;AAE1B;AAEO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA,QAAQ,CAAC,OAAwB;AAAA,IAC/B,OAAO,OAAO,OAAO,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC;AAAA;AAEjD;AAEO,IAAM,SAAS;AAAA,KACjB;AAAA,EACH,OAAO,GAAG;AAAA,IACR,OAAO,yBAAyB,EAAE,OAAO,QAAQ;AAAA;AAAA,EAEnD,GAAG,GAAqB;AAAA,IACtB,OAAO,yBAAyB,EAAE,OAAO,IAAI;AAAA;AAAA,EAE/C,GAAG,CAAC,QAAmC;AAAA,IACrC,OAAO,yBAAyB,EAAE,OAAO,IAAI,MAAM;AAAA;AAAA,EAErD,QAAQ,CAAC,QAA0B,SAAuE;AAAA,IACxG,yBAAyB,EAAE,OAAO,SAAS,QAAQ,OAAO;AAAA;AAAA,EAE5D,KAAK,GAAS;AAAA,IACZ,yBAAyB,EAAE,OAAO,MAAM;AAAA;AAAA,EAE1C,GAAG,CAAC,QAAgC;AAAA,IAClC,yBAAyB,EAAE,OAAO,IAAI,MAAM;AAAA;AAEhD;AAEO,IAAM,SAAS;AAAA,EACpB,MAAsD,CAAC,QAAiB,QAAoC;AAAA,IAC1G,OAAO,OAAO,OAAO,QAAQ,MAAM;AAAA;AAAA,EAErC;AAAA,EACA;AAAA,EACA,OAAO,CAAC,OAAsB;AAAA,IAC5B,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,MACxB,MAAM,SAAS;AAAA,MACf;AAAA,IACF;AAAA,IACA,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAAA,MAC/C,WAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AAAA,QACpC,OAAQ,MAAkC;AAAA,MAC5C;AAAA,IACF;AAAA;AAAA,EAEF,OAAO,CAAC,OAAiD;AAAA,IACvD,MAAM,aAAa,KAAK,UAAU,KAAK;AAAA,IACvC,MAAM,QAAQ,IAAI,YAAY,EAAE,OAAO,cAAc,EAAE,EAAE;AAAA,IACzD,MAAM,OAAO,OAAO,UAAU,YAAY,UAAU,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS;AAAA,IACvF,OAAO,EAAE,OAAO,KAAK;AAAA;AAAA,EAEvB,MAAM,CAAC,QAAiB,QAAuB;AAAA,IAC7C,OAAO,QAAQ,MAAM;AAAA;AAEzB;AAIA,IAAM,SAAS;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA;AACF;;AC3FA,IAAe;",
|
|
31
|
+
"debugId": "A6AF8E57F948ADA764756E2164756E21",
|
|
32
|
+
"names": []
|
|
33
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Settings } from '../shared/utils.js';
|
|
2
|
+
import { type LocaleIdentifier } from '../shared/locale.js';
|
|
3
|
+
import { CreateRuntimeContext, getDefaultRuntimeContext } from '../shared/runtime-context.js';
|
|
4
|
+
import { Clone } from '../value/clone.js';
|
|
5
|
+
import { Create } from '../value/create.js';
|
|
6
|
+
import { Hash } from '../value/hash.js';
|
|
7
|
+
export declare const Arguments: {
|
|
8
|
+
Match(expected: readonly string[], actual?: readonly string[]): boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const Environment: {
|
|
11
|
+
CanAccelerate(): boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const Hashing: {
|
|
14
|
+
Hash: typeof Hash;
|
|
15
|
+
HashCode(value: unknown): number;
|
|
16
|
+
};
|
|
17
|
+
export declare const Locale: {
|
|
18
|
+
Entries(): [LocaleIdentifier, import("../error/catalog-types.js").SchemaIssueCatalog][];
|
|
19
|
+
Get(): LocaleIdentifier;
|
|
20
|
+
Has(locale: LocaleIdentifier): boolean;
|
|
21
|
+
Register(locale: LocaleIdentifier, catalog: import("../error/catalog-types.js").SchemaIssueCatalog): void;
|
|
22
|
+
Reset(): void;
|
|
23
|
+
Set(locale: LocaleIdentifier): void;
|
|
24
|
+
ar_001: "ar_001";
|
|
25
|
+
bn_BD: "bn_BD";
|
|
26
|
+
cs_CZ: "cs_CZ";
|
|
27
|
+
de_DE: "de_DE";
|
|
28
|
+
el_GR: "el_GR";
|
|
29
|
+
en_US: "en_US";
|
|
30
|
+
es_419: "es_419";
|
|
31
|
+
es_AR: "es_AR";
|
|
32
|
+
es_ES: "es_ES";
|
|
33
|
+
es_MX: "es_MX";
|
|
34
|
+
fa_IR: "fa_IR";
|
|
35
|
+
fil_PH: "fil_PH";
|
|
36
|
+
fr_CA: "fr_CA";
|
|
37
|
+
fr_FR: "fr_FR";
|
|
38
|
+
ha_NG: "ha_NG";
|
|
39
|
+
hi_IN: "hi_IN";
|
|
40
|
+
hu_HU: "hu_HU";
|
|
41
|
+
id_ID: "id_ID";
|
|
42
|
+
it_IT: "it_IT";
|
|
43
|
+
ja_JP: "ja_JP";
|
|
44
|
+
ko_KR: "ko_KR";
|
|
45
|
+
ms_MY: "ms_MY";
|
|
46
|
+
nl_NL: "nl_NL";
|
|
47
|
+
pl_PL: "pl_PL";
|
|
48
|
+
pt_BR: "pt_BR";
|
|
49
|
+
pt_PT: "pt_PT";
|
|
50
|
+
ro_RO: "ro_RO";
|
|
51
|
+
ru_RU: "ru_RU";
|
|
52
|
+
sv_SE: "sv_SE";
|
|
53
|
+
sw_TZ: "sw_TZ";
|
|
54
|
+
th_TH: "th_TH";
|
|
55
|
+
tr_TR: "tr_TR";
|
|
56
|
+
uk_UA: "uk_UA";
|
|
57
|
+
ur_PK: "ur_PK";
|
|
58
|
+
vi_VN: "vi_VN";
|
|
59
|
+
yo_NG: "yo_NG";
|
|
60
|
+
zh_Hans: "zh_Hans";
|
|
61
|
+
zh_Hant: "zh_Hant";
|
|
62
|
+
};
|
|
63
|
+
export declare const Memory: {
|
|
64
|
+
Assign<TTarget extends object, TSource extends object>(target: TTarget, source: TSource): TTarget & TSource;
|
|
65
|
+
Clone: typeof Clone;
|
|
66
|
+
Create: typeof Create;
|
|
67
|
+
Discard(value: unknown): void;
|
|
68
|
+
Metrics(value: unknown): {
|
|
69
|
+
bytes: number;
|
|
70
|
+
keys: number;
|
|
71
|
+
};
|
|
72
|
+
Update(target: unknown, source: unknown): void;
|
|
73
|
+
};
|
|
74
|
+
export { Settings };
|
|
75
|
+
declare const System: {
|
|
76
|
+
Arguments: {
|
|
77
|
+
Match(expected: readonly string[], actual?: readonly string[]): boolean;
|
|
78
|
+
};
|
|
79
|
+
Environment: {
|
|
80
|
+
CanAccelerate(): boolean;
|
|
81
|
+
};
|
|
82
|
+
Hashing: {
|
|
83
|
+
Hash: typeof Hash;
|
|
84
|
+
HashCode(value: unknown): number;
|
|
85
|
+
};
|
|
86
|
+
Locale: {
|
|
87
|
+
Entries(): [LocaleIdentifier, import("../error/catalog-types.js").SchemaIssueCatalog][];
|
|
88
|
+
Get(): LocaleIdentifier;
|
|
89
|
+
Has(locale: LocaleIdentifier): boolean;
|
|
90
|
+
Register(locale: LocaleIdentifier, catalog: import("../error/catalog-types.js").SchemaIssueCatalog): void;
|
|
91
|
+
Reset(): void;
|
|
92
|
+
Set(locale: LocaleIdentifier): void;
|
|
93
|
+
ar_001: "ar_001";
|
|
94
|
+
bn_BD: "bn_BD";
|
|
95
|
+
cs_CZ: "cs_CZ";
|
|
96
|
+
de_DE: "de_DE";
|
|
97
|
+
el_GR: "el_GR";
|
|
98
|
+
en_US: "en_US";
|
|
99
|
+
es_419: "es_419";
|
|
100
|
+
es_AR: "es_AR";
|
|
101
|
+
es_ES: "es_ES";
|
|
102
|
+
es_MX: "es_MX";
|
|
103
|
+
fa_IR: "fa_IR";
|
|
104
|
+
fil_PH: "fil_PH";
|
|
105
|
+
fr_CA: "fr_CA";
|
|
106
|
+
fr_FR: "fr_FR";
|
|
107
|
+
ha_NG: "ha_NG";
|
|
108
|
+
hi_IN: "hi_IN";
|
|
109
|
+
hu_HU: "hu_HU";
|
|
110
|
+
id_ID: "id_ID";
|
|
111
|
+
it_IT: "it_IT";
|
|
112
|
+
ja_JP: "ja_JP";
|
|
113
|
+
ko_KR: "ko_KR";
|
|
114
|
+
ms_MY: "ms_MY";
|
|
115
|
+
nl_NL: "nl_NL";
|
|
116
|
+
pl_PL: "pl_PL";
|
|
117
|
+
pt_BR: "pt_BR";
|
|
118
|
+
pt_PT: "pt_PT";
|
|
119
|
+
ro_RO: "ro_RO";
|
|
120
|
+
ru_RU: "ru_RU";
|
|
121
|
+
sv_SE: "sv_SE";
|
|
122
|
+
sw_TZ: "sw_TZ";
|
|
123
|
+
th_TH: "th_TH";
|
|
124
|
+
tr_TR: "tr_TR";
|
|
125
|
+
uk_UA: "uk_UA";
|
|
126
|
+
ur_PK: "ur_PK";
|
|
127
|
+
vi_VN: "vi_VN";
|
|
128
|
+
yo_NG: "yo_NG";
|
|
129
|
+
zh_Hans: "zh_Hans";
|
|
130
|
+
zh_Hant: "zh_Hant";
|
|
131
|
+
};
|
|
132
|
+
Memory: {
|
|
133
|
+
Assign<TTarget extends object, TSource extends object>(target: TTarget, source: TSource): TTarget & TSource;
|
|
134
|
+
Clone: typeof Clone;
|
|
135
|
+
Create: typeof Create;
|
|
136
|
+
Discard(value: unknown): void;
|
|
137
|
+
Metrics(value: unknown): {
|
|
138
|
+
bytes: number;
|
|
139
|
+
keys: number;
|
|
140
|
+
};
|
|
141
|
+
Update(target: unknown, source: unknown): void;
|
|
142
|
+
};
|
|
143
|
+
Runtime: {
|
|
144
|
+
Create: typeof CreateRuntimeContext;
|
|
145
|
+
Default: typeof getDefaultRuntimeContext;
|
|
146
|
+
};
|
|
147
|
+
Settings: {
|
|
148
|
+
Get(): Readonly<import("../index.js").SettingsOptions>;
|
|
149
|
+
Reset(): void;
|
|
150
|
+
Set(options: Partial<import("../index.js").SettingsOptions>): void;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
export { System };
|
|
154
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/system/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,eAAO,MAAM,SAAS;oBACJ,SAAS,MAAM,EAAE,WAAU,SAAS,MAAM,EAAE,GAAuB,OAAO;CAG3F,CAAC;AAEF,eAAO,MAAM,WAAW;qBACL,OAAO;CAGzB,CAAC;AAEF,eAAO,MAAM,OAAO;;oBAEF,OAAO,GAAG,MAAM;CAGjC,CAAC;AAEF,eAAO,MAAM,MAAM;;WAKV,gBAAgB;gBAGX,gBAAgB,GAAG,OAAO;qBAGrB,gBAAgB,WAAW,OAAO,2BAA2B,EAAE,kBAAkB,GAAG,IAAI;aAGhG,IAAI;gBAGD,gBAAgB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpC,CAAC;AAEF,eAAO,MAAM,MAAM;WACV,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU,OAAO,UAAU,OAAO,GAAG,OAAO,GAAG,OAAO;;;mBAK5F,OAAO,GAAG,IAAI;mBAWd,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;mBAMzC,OAAO,UAAU,OAAO,GAAG,IAAI;CAG/C,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,QAAA,MAAM,MAAM;;wBAtEM,SAAS,MAAM,EAAE,WAAU,SAAS,MAAM,EAAE,GAAuB,OAAO;;;yBAMzE,OAAO;;;;wBAOR,OAAO,GAAG,MAAM;;;;eAUzB,gBAAgB;oBAGX,gBAAgB,GAAG,OAAO;yBAGrB,gBAAgB,WAAW,OAAO,2BAA2B,EAAE,kBAAkB,GAAG,IAAI;iBAGhG,IAAI;oBAGD,gBAAgB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAM5B,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU,OAAO,UAAU,OAAO,GAAG,OAAO,GAAG,OAAO;;;uBAK5F,OAAO,GAAG,IAAI;uBAWd,OAAO,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE;uBAMzC,OAAO,UAAU,OAAO,GAAG,IAAI;;;;;;;;;;;CAkB/C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { TCapitalize, TExclude, TLowercase, TNull, TObject, TReadonly, TRest, TSchema, TTuple, TUndefined, TUnion, UnionToIntersection, TUncapitalize, TUppercase } from './schema.js';
|
|
2
|
+
type TObjectLike = TObject<Record<string, TSchema>, string, string>;
|
|
3
|
+
export type ExpandRestItems<TItems extends TSchema[]> = TItems extends [
|
|
4
|
+
infer Head extends TSchema,
|
|
5
|
+
...infer Tail extends TSchema[]
|
|
6
|
+
] ? Head extends TRest<infer Item extends TSchema> ? Item extends TTuple<infer RestItems> ? [...ExpandRestItems<RestItems>, ...ExpandRestItems<Tail>] : [Head, ...ExpandRestItems<Tail>] : [Head, ...ExpandRestItems<Tail>] : [];
|
|
7
|
+
export declare function ExpandTupleRest<TItems extends TSchema[]>(items: TItems): ExpandRestItems<TItems>;
|
|
8
|
+
export declare function Rest<T extends TSchema>(item: T): TRest<T>;
|
|
9
|
+
export declare function Composite<TObjects extends TObjectLike[]>(objects: [...TObjects]): TObject;
|
|
10
|
+
export declare function Clone<T extends TSchema>(schema: T): T;
|
|
11
|
+
export declare function Capitalize<T extends TSchema>(item: T): TCapitalize<T>;
|
|
12
|
+
export declare function Lowercase<T extends TSchema>(item: T): TLowercase<T>;
|
|
13
|
+
export declare function Uppercase<T extends TSchema>(item: T): TUppercase<T>;
|
|
14
|
+
export declare function Uncapitalize<T extends TSchema>(item: T): TUncapitalize<T>;
|
|
15
|
+
type InterfaceProperties<Heritage extends TObject[], Properties extends Record<string, TSchema>> = Properties & UnionToIntersection<Heritage[number] extends TObject<infer InheritedProperties, infer _Required, infer _Optional> ? InheritedProperties : Record<string, never>>;
|
|
16
|
+
export type TInterface<Heritage extends TObject[] = TObject[], Properties extends Record<string, TSchema> = Record<string, TSchema>> = TObject<InterfaceProperties<Heritage, Properties>>;
|
|
17
|
+
export declare function Interface<Heritage extends TObject[], Properties extends Record<string, TSchema>>(heritage: [...Heritage], properties: Properties, options?: Record<string, unknown>): TInterface<Heritage, Properties>;
|
|
18
|
+
export type TNonNullable<Type extends TSchema> = TExclude<Type, TUnion<[TNull, TUndefined]>>;
|
|
19
|
+
export declare function NonNullable<Type extends TSchema>(type: Type, options?: Partial<Omit<TNonNullable<Type>, "'~kind' | 'left' | 'right'">>): TNonNullable<Type>;
|
|
20
|
+
export type TOptions<Type extends TSchema, SchemaOptions extends Record<string, unknown>> = Type & SchemaOptions;
|
|
21
|
+
export declare function Options<Type extends TSchema, SchemaOptions extends Record<string, unknown>>(type: Type, options: SchemaOptions): TOptions<Type, SchemaOptions>;
|
|
22
|
+
export type TReadonlyType<Type extends TSchema> = TReadonly<Type>;
|
|
23
|
+
export declare function ReadonlyType<Type extends TSchema>(type: Type, options?: Partial<Omit<TReadonlyType<Type>, "'~kind' | 'item'">>): TReadonlyType<Type>;
|
|
24
|
+
export interface TIdentifier<Name extends string = string> extends TSchema {
|
|
25
|
+
'~kind': 'Identifier';
|
|
26
|
+
type: 'identifier';
|
|
27
|
+
name: Name;
|
|
28
|
+
}
|
|
29
|
+
export declare function Identifier<Name extends string>(name: Name): TIdentifier<Name>;
|
|
30
|
+
export interface TParameter<Name extends string = string, Extends extends TSchema = TSchema, Equals extends TSchema = Extends> extends TSchema {
|
|
31
|
+
'~kind': 'Parameter';
|
|
32
|
+
name: Name;
|
|
33
|
+
extends: Extends;
|
|
34
|
+
equals: Equals;
|
|
35
|
+
}
|
|
36
|
+
export declare function Parameter<Name extends string, Extends extends TSchema, Equals extends TSchema>(name: Name, extends_: Extends, equals: Equals): TParameter<Name, Extends, Equals>;
|
|
37
|
+
export declare function Parameter<Name extends string, Extends extends TSchema>(name: Name, extends_: Extends): TParameter<Name, Extends, Extends>;
|
|
38
|
+
export declare function Parameter<Name extends string>(name: Name): TParameter<Name>;
|
|
39
|
+
export interface TThis extends TSchema {
|
|
40
|
+
'~kind': 'This';
|
|
41
|
+
$ref: '#';
|
|
42
|
+
}
|
|
43
|
+
export declare function This(options?: Partial<Omit<TThis, "'~kind' | '$ref'">>): TThis;
|
|
44
|
+
export declare function Import<TModule extends {
|
|
45
|
+
definitions: Record<string, TSchema>;
|
|
46
|
+
}, TName extends Extract<keyof TModule['definitions'], string>>(module: TModule, name: TName): TModule['definitions'][TName];
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/type/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/type/base-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CAC1B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TString } from './schema.js';
|
|
2
|
+
import type { TCodec } from './extensions.js';
|
|
3
|
+
export type TBigIntCodec = TCodec<TString, bigint>;
|
|
4
|
+
export type TDateCodec = TCodec<TString, Date>;
|
|
5
|
+
export type TURLCodec = TCodec<TString, URL>;
|
|
6
|
+
export declare function BigIntCodec(): TBigIntCodec;
|
|
7
|
+
export declare function DateCodec(): TDateCodec;
|
|
8
|
+
export declare function URLCodec(): TURLCodec;
|
|
9
|
+
//# sourceMappingURL=codec-builtins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-builtins.d.ts","sourceRoot":"","sources":["../../src/type/codec-builtins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAE7C,wBAAgB,WAAW,IAAI,YAAY,CAI1C;AAED,wBAAgB,SAAS,IAAI,UAAU,CAItC;AAED,wBAAgB,QAAQ,IAAI,SAAS,CAIpC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { TUnion, TIntersect, TOptional, TReadonly, TEnum, TRef, TRecursive, TObject, TSchema, UnionToIntersection } from './schema.js';
|
|
2
|
+
type Simplify<T> = {
|
|
3
|
+
[K in keyof T]: T[K];
|
|
4
|
+
};
|
|
5
|
+
type TObjectLike = TObject<Record<string, TSchema>, string, string>;
|
|
6
|
+
type EvaluateProperties<T extends TObjectLike | TIntersect<TObjectLike[]>> = T extends TObject<infer P> ? P : T extends TIntersect<infer V> ? Simplify<UnionToIntersection<V[number] extends TObject<infer P> ? P : never>> : never;
|
|
7
|
+
/** Create a union schema from an array of variants */
|
|
8
|
+
export declare function Union<TOptions extends TSchema[]>(variants: TOptions, options?: Partial<Omit<TUnion<TOptions>, "'~kind' | 'variants'">>): TUnion<TOptions>;
|
|
9
|
+
/** Create an intersection schema from an array of variants */
|
|
10
|
+
export declare function Intersect<TOptions extends TSchema[]>(variants: TOptions, options?: Partial<Omit<TIntersect<TOptions>, "'~kind' | 'variants'">>): TIntersect<TOptions>;
|
|
11
|
+
/** Flatten an Object or Intersect<Object[]> into a single Object schema */
|
|
12
|
+
export declare function Evaluate<T extends TObjectLike | TIntersect<TObjectLike[]>>(schema: T): TObject<EvaluateProperties<T>>;
|
|
13
|
+
/** Mark a schema as optional (value | undefined) */
|
|
14
|
+
export declare function Optional<T extends TSchema>(item: T, options?: Partial<Omit<TOptional<T>, "'~kind' | 'item'">>): TOptional<T>;
|
|
15
|
+
/** Mark a schema as readonly */
|
|
16
|
+
export declare function Readonly<T extends TSchema>(item: T, options?: Partial<Omit<TReadonly<T>, "'~kind' | 'item'">>): TReadonly<T>;
|
|
17
|
+
/** Create an enum schema from string values */
|
|
18
|
+
export declare function Enum<TValues extends string[]>(values: TValues, options?: Partial<Omit<TEnum<TValues>, "'~kind' | 'values'">>): TEnum<TValues>;
|
|
19
|
+
/** Create a reference to a named schema */
|
|
20
|
+
export declare function Ref<T extends TSchema = TSchema>(name: string, options?: Partial<Omit<TRef<T>, "'~kind' | 'name'">>): TRef<T>;
|
|
21
|
+
/** Create a recursive (self-referential) schema */
|
|
22
|
+
export declare function Recursive<T extends TSchema>(name: string, build: (self: TRef<T>) => T, options?: Partial<Omit<TRecursive<T>, "'~kind' | 'name' | 'schema'">>): TRecursive<T>;
|
|
23
|
+
/** Create a discriminated union schema */
|
|
24
|
+
export declare function Variant<TOptions extends TObjectLike[]>(discriminator: string, variants: TOptions, options?: Partial<Omit<TUnion<TOptions>, "'~kind' | 'variants' | 'discriminator'">>): TUnion<TOptions>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=combinator-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combinator-core.d.ts","sourceRoot":"","sources":["../../src/type/combinator-core.ts"],"names":[],"mappings":"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"}
|