@maroonedog/luq 0.1.2-alpha → 2.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/LICENSE +9 -9
- package/README.md +479 -215
- package/dist/async/async-context.d.ts +41 -0
- package/dist/async/async-context.js +84 -0
- package/dist/async/async-context.mjs +79 -0
- package/dist/async/async-validator.d.ts +20 -0
- package/dist/async/async-validator.js +52 -0
- package/dist/async/async-validator.mjs +47 -0
- package/dist/async/index.d.ts +4 -0
- package/dist/async/index.js +25 -0
- package/dist/async/index.mjs +16 -0
- package/dist/async.d.ts +1 -0
- package/dist/async.js +2 -0
- package/dist/async.mjs +1 -0
- package/dist/builder/builder-surface.types.d.ts +39 -0
- package/dist/builder/builder-surface.types.js +2 -0
- package/dist/builder/builder-surface.types.mjs +1 -0
- package/dist/builder/compile-declarations.d.ts +4 -0
- package/dist/builder/compile-declarations.js +40 -0
- package/dist/builder/compile-declarations.mjs +37 -0
- package/dist/builder/create-builder.d.ts +16 -0
- package/dist/builder/create-builder.js +98 -0
- package/dist/builder/create-builder.mjs +92 -0
- package/dist/builder/create-field-builder.d.ts +5 -0
- package/dist/builder/create-field-builder.js +47 -0
- package/dist/builder/create-field-builder.mjs +44 -0
- package/dist/builder/create-plan-validator.d.ts +3 -0
- package/dist/builder/create-plan-validator.js +15 -0
- package/dist/builder/create-plan-validator.mjs +12 -0
- package/dist/builder/create-projection-reader.d.ts +3 -0
- package/dist/builder/create-projection-reader.js +44 -0
- package/dist/builder/create-projection-reader.mjs +41 -0
- package/dist/builder/create-subset-validator.d.ts +3 -0
- package/dist/builder/create-subset-validator.js +40 -0
- package/dist/builder/create-subset-validator.mjs +37 -0
- package/dist/builder/field-builder.types.d.ts +43 -0
- package/dist/builder/field-builder.types.js +11 -0
- package/dist/builder/field-builder.types.mjs +8 -0
- package/dist/builder/field-entry.types.d.ts +10 -0
- package/dist/builder/field-entry.types.js +2 -0
- package/dist/builder/field-entry.types.mjs +1 -0
- package/dist/builder/field-options.types.d.ts +11 -0
- package/dist/builder/field-options.types.js +13 -0
- package/dist/builder/field-options.types.mjs +12 -0
- package/dist/builder/global-config-store.d.ts +4 -0
- package/dist/builder/global-config-store.js +29 -0
- package/dist/builder/global-config-store.mjs +24 -0
- package/dist/builder/index.d.ts +6 -0
- package/dist/builder/index.js +17 -0
- package/dist/builder/index.mjs +8 -0
- package/dist/builder/resolve-field-default.d.ts +14 -0
- package/dist/builder/resolve-field-default.js +50 -0
- package/dist/builder/resolve-field-default.mjs +47 -0
- package/dist/builder/validator.types.d.ts +28 -0
- package/dist/builder/validator.types.js +2 -0
- package/dist/builder/validator.types.mjs +1 -0
- package/dist/chain/attach-slot-methods.d.ts +17 -0
- package/dist/chain/attach-slot-methods.js +47 -0
- package/dist/chain/attach-slot-methods.mjs +42 -0
- package/dist/chain/chain-method.types.d.ts +16 -0
- package/dist/chain/chain-method.types.js +2 -0
- package/dist/chain/chain-method.types.mjs +1 -0
- package/dist/chain/chain-state.types.d.ts +47 -0
- package/dist/chain/chain-state.types.js +2 -0
- package/dist/chain/chain-state.types.mjs +1 -0
- package/dist/chain/collect-branch-rules.d.ts +18 -0
- package/dist/chain/collect-branch-rules.js +71 -0
- package/dist/chain/collect-branch-rules.mjs +65 -0
- package/dist/chain/collect-field-rules.d.ts +10 -0
- package/dist/chain/collect-field-rules.js +22 -0
- package/dist/chain/collect-field-rules.mjs +17 -0
- package/dist/chain/create-chain-node.d.ts +26 -0
- package/dist/chain/create-chain-node.js +103 -0
- package/dist/chain/create-chain-node.mjs +98 -0
- package/dist/chain/create-field-slots.d.ts +6 -0
- package/dist/chain/create-field-slots.js +37 -0
- package/dist/chain/create-field-slots.mjs +33 -0
- package/dist/chain/field-chain.types.d.ts +25 -0
- package/dist/chain/field-chain.types.js +2 -0
- package/dist/chain/field-chain.types.mjs +1 -0
- package/dist/chain/field-slots.types.d.ts +18 -0
- package/dist/chain/field-slots.types.js +2 -0
- package/dist/chain/field-slots.types.mjs +1 -0
- package/dist/chain/index.d.ts +13 -0
- package/dist/chain/index.js +26 -0
- package/dist/chain/index.mjs +9 -0
- package/dist/chain/marker-coverage.types.d.ts +56 -0
- package/dist/chain/marker-coverage.types.js +2 -0
- package/dist/chain/marker-coverage.types.mjs +1 -0
- package/dist/chain/plugin-bag.types.d.ts +9 -0
- package/dist/chain/plugin-bag.types.js +2 -0
- package/dist/chain/plugin-bag.types.mjs +1 -0
- package/dist/chain/refine-methods.types.d.ts +33 -0
- package/dist/chain/refine-methods.types.js +14 -0
- package/dist/chain/refine-methods.types.mjs +11 -0
- package/dist/chain/resolve-args.types.d.ts +28 -0
- package/dist/chain/resolve-args.types.js +2 -0
- package/dist/chain/resolve-args.types.mjs +1 -0
- package/dist/chain/slot-value.types.d.ts +14 -0
- package/dist/chain/slot-value.types.js +2 -0
- package/dist/chain/slot-value.types.mjs +1 -0
- package/dist/compile/branch-executor.port.d.ts +6 -0
- package/dist/compile/branch-executor.port.js +2 -0
- package/dist/compile/branch-executor.port.mjs +1 -0
- package/dist/compile/compile-array-node.d.ts +19 -0
- package/dist/compile/compile-array-node.js +50 -0
- package/dist/compile/compile-array-node.mjs +46 -0
- package/dist/compile/compile-composite.d.ts +18 -0
- package/dist/compile/compile-composite.js +30 -0
- package/dist/compile/compile-composite.mjs +27 -0
- package/dist/compile/compile-field.d.ts +31 -0
- package/dist/compile/compile-field.js +67 -0
- package/dist/compile/compile-field.mjs +62 -0
- package/dist/compile/compile-schema.d.ts +8 -0
- package/dist/compile/compile-schema.js +126 -0
- package/dist/compile/compile-schema.mjs +121 -0
- package/dist/compile/declared-child-keys.d.ts +15 -0
- package/dist/compile/declared-child-keys.js +70 -0
- package/dist/compile/declared-child-keys.mjs +66 -0
- package/dist/compile/group-array-fields.d.ts +39 -0
- package/dist/compile/group-array-fields.js +66 -0
- package/dist/compile/group-array-fields.mjs +63 -0
- package/dist/compile/index.d.ts +18 -0
- package/dist/compile/index.js +33 -0
- package/dist/compile/index.mjs +10 -0
- package/dist/compile/resolve-conditional-presence.d.ts +5 -0
- package/dist/compile/resolve-conditional-presence.js +42 -0
- package/dist/compile/resolve-conditional-presence.mjs +38 -0
- package/dist/compile/resolve-presence.d.ts +6 -0
- package/dist/compile/resolve-presence.js +63 -0
- package/dist/compile/resolve-presence.mjs +59 -0
- package/dist/compile/resolve-recursion.d.ts +10 -0
- package/dist/compile/resolve-recursion.js +33 -0
- package/dist/compile/resolve-recursion.mjs +28 -0
- package/dist/compile/split-rules-by-kind.d.ts +16 -0
- package/dist/compile/split-rules-by-kind.js +61 -0
- package/dist/compile/split-rules-by-kind.mjs +56 -0
- package/dist/compile/validation-plan.types.d.ts +123 -0
- package/dist/compile/validation-plan.types.js +2 -0
- package/dist/compile/validation-plan.types.mjs +1 -0
- package/dist/core/type-erasure.d.ts +42 -0
- package/dist/core/type-erasure.js +63 -0
- package/dist/core/type-erasure.mjs +57 -0
- package/dist/field-rule/create-field-rule.d.ts +11 -0
- package/dist/field-rule/create-field-rule.js +50 -0
- package/dist/field-rule/create-field-rule.mjs +46 -0
- package/dist/field-rule/create-plugin-registry.d.ts +2 -0
- package/dist/field-rule/create-plugin-registry.js +60 -0
- package/dist/field-rule/create-plugin-registry.mjs +57 -0
- package/dist/field-rule/field-rule.types.d.ts +38 -0
- package/dist/field-rule/field-rule.types.js +2 -0
- package/dist/field-rule/field-rule.types.mjs +1 -0
- package/dist/field-rule/index.d.ts +5 -0
- package/dist/field-rule/index.js +13 -0
- package/dist/field-rule/index.mjs +6 -0
- package/dist/field-rule/plugin-registry.types.d.ts +17 -0
- package/dist/field-rule/plugin-registry.types.js +2 -0
- package/dist/field-rule/plugin-registry.types.mjs +1 -0
- package/dist/field-rule/use-field.d.ts +6 -0
- package/dist/field-rule/use-field.js +6 -0
- package/dist/field-rule/use-field.mjs +3 -0
- package/dist/field-rule.d.ts +1 -0
- package/dist/field-rule.js +2 -0
- package/dist/field-rule.mjs +1 -0
- package/dist/index.d.ts +14 -72
- package/dist/index.js +48 -2
- package/dist/index.mjs +18 -2
- package/dist/json-schema/apply-keyword-binding.d.ts +20 -0
- package/dist/json-schema/apply-keyword-binding.js +7 -0
- package/dist/json-schema/apply-keyword-binding.mjs +4 -0
- package/dist/json-schema/bind-keyword.d.ts +7 -0
- package/dist/json-schema/bind-keyword.js +21 -0
- package/dist/json-schema/bind-keyword.mjs +16 -0
- package/dist/json-schema/build-from-schema.d.ts +23 -0
- package/dist/json-schema/build-from-schema.js +63 -0
- package/dist/json-schema/build-from-schema.mjs +56 -0
- package/dist/json-schema/collect-definitions.d.ts +51 -0
- package/dist/json-schema/collect-definitions.js +111 -0
- package/dist/json-schema/collect-definitions.mjs +101 -0
- package/dist/json-schema/collect-sub-schema-rules.d.ts +17 -0
- package/dist/json-schema/collect-sub-schema-rules.js +112 -0
- package/dist/json-schema/collect-sub-schema-rules.mjs +108 -0
- package/dist/json-schema/compose-conditional.d.ts +4 -0
- package/dist/json-schema/compose-conditional.js +17 -0
- package/dist/json-schema/compose-conditional.mjs +14 -0
- package/dist/json-schema/compose-keyword.d.ts +7 -0
- package/dist/json-schema/compose-keyword.js +127 -0
- package/dist/json-schema/compose-keyword.mjs +121 -0
- package/dist/json-schema/create-structural-context.d.ts +20 -0
- package/dist/json-schema/create-structural-context.js +117 -0
- package/dist/json-schema/create-structural-context.mjs +113 -0
- package/dist/json-schema/declare-additional-properties.d.ts +19 -0
- package/dist/json-schema/declare-additional-properties.js +42 -0
- package/dist/json-schema/declare-additional-properties.mjs +37 -0
- package/dist/json-schema/declare-object-keywords.d.ts +22 -0
- package/dist/json-schema/declare-object-keywords.js +133 -0
- package/dist/json-schema/declare-object-keywords.mjs +126 -0
- package/dist/json-schema/declare-presence.d.ts +18 -0
- package/dist/json-schema/declare-presence.js +52 -0
- package/dist/json-schema/declare-presence.mjs +49 -0
- package/dist/json-schema/declare-required-properties.d.ts +18 -0
- package/dist/json-schema/declare-required-properties.js +58 -0
- package/dist/json-schema/declare-required-properties.mjs +55 -0
- package/dist/json-schema/declare-scalar-keywords.d.ts +11 -0
- package/dist/json-schema/declare-scalar-keywords.js +110 -0
- package/dist/json-schema/declare-scalar-keywords.mjs +105 -0
- package/dist/json-schema/declare-value-keywords.d.ts +23 -0
- package/dist/json-schema/declare-value-keywords.js +120 -0
- package/dist/json-schema/declare-value-keywords.mjs +112 -0
- package/dist/json-schema/draft07-keyword-value.types.d.ts +61 -0
- package/dist/json-schema/draft07-keyword-value.types.js +2 -0
- package/dist/json-schema/draft07-keyword-value.types.mjs +1 -0
- package/dist/json-schema/draft07.types.d.ts +57 -0
- package/dist/json-schema/draft07.types.js +28 -0
- package/dist/json-schema/draft07.types.mjs +24 -0
- package/dist/json-schema/extensions/json-schema/index.d.ts +4 -0
- package/dist/json-schema/extensions/json-schema/index.js +27 -0
- package/dist/json-schema/extensions/json-schema/index.mjs +11 -0
- package/dist/json-schema/extensions/json-schema/json-schema.d.ts +33 -0
- package/dist/json-schema/extensions/json-schema/json-schema.js +108 -0
- package/dist/json-schema/extensions/json-schema/json-schema.mjs +104 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.d.ts +38 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.js +96 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.mjs +89 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.d.ts +7 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.js +107 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.mjs +104 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.d.ts +5 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.js +25 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.mjs +14 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.d.ts +24 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.js +66 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.mjs +62 -0
- package/dist/json-schema/flatten-array-schema.d.ts +25 -0
- package/dist/json-schema/flatten-array-schema.js +141 -0
- package/dist/json-schema/flatten-array-schema.mjs +134 -0
- package/dist/json-schema/flatten-schema.d.ts +20 -0
- package/dist/json-schema/flatten-schema.js +162 -0
- package/dist/json-schema/flatten-schema.mjs +157 -0
- package/dist/json-schema/follow-json-pointer.d.ts +23 -0
- package/dist/json-schema/follow-json-pointer.js +87 -0
- package/dist/json-schema/follow-json-pointer.mjs +82 -0
- package/dist/json-schema/format-map.d.ts +20 -0
- package/dist/json-schema/format-map.js +89 -0
- package/dist/json-schema/format-map.mjs +84 -0
- package/dist/json-schema/index.d.ts +24 -0
- package/dist/json-schema/index.js +65 -0
- package/dist/json-schema/index.mjs +22 -0
- package/dist/json-schema/json-schema-bag.types.d.ts +124 -0
- package/dist/json-schema/json-schema-bag.types.js +2 -0
- package/dist/json-schema/json-schema-bag.types.mjs +1 -0
- package/dist/json-schema/keyword-binding.types.d.ts +50 -0
- package/dist/json-schema/keyword-binding.types.js +2 -0
- package/dist/json-schema/keyword-binding.types.mjs +1 -0
- package/dist/json-schema/keyword-map-array.d.ts +13 -0
- package/dist/json-schema/keyword-map-array.js +37 -0
- package/dist/json-schema/keyword-map-array.mjs +34 -0
- package/dist/json-schema/keyword-map-core.d.ts +8 -0
- package/dist/json-schema/keyword-map-core.js +54 -0
- package/dist/json-schema/keyword-map-core.mjs +51 -0
- package/dist/json-schema/keyword-map-number.d.ts +13 -0
- package/dist/json-schema/keyword-map-number.js +33 -0
- package/dist/json-schema/keyword-map-number.mjs +30 -0
- package/dist/json-schema/keyword-map-object.d.ts +17 -0
- package/dist/json-schema/keyword-map-object.js +51 -0
- package/dist/json-schema/keyword-map-object.mjs +48 -0
- package/dist/json-schema/keyword-map-string.d.ts +20 -0
- package/dist/json-schema/keyword-map-string.js +44 -0
- package/dist/json-schema/keyword-map-string.mjs +41 -0
- package/dist/json-schema/keyword-map.d.ts +32 -0
- package/dist/json-schema/keyword-map.js +93 -0
- package/dist/json-schema/keyword-map.mjs +84 -0
- package/dist/json-schema/ref-resolution-error.d.ts +4 -0
- package/dist/json-schema/ref-resolution-error.js +20 -0
- package/dist/json-schema/ref-resolution-error.mjs +16 -0
- package/dist/json-schema/ref-scope.d.ts +18 -0
- package/dist/json-schema/ref-scope.js +37 -0
- package/dist/json-schema/ref-scope.mjs +33 -0
- package/dist/json-schema/resolve-ref.d.ts +21 -0
- package/dist/json-schema/resolve-ref.js +133 -0
- package/dist/json-schema/resolve-ref.mjs +128 -0
- package/dist/json-schema/schema-registry.d.ts +30 -0
- package/dist/json-schema/schema-registry.js +142 -0
- package/dist/json-schema/schema-registry.mjs +139 -0
- package/dist/json-schema/schema-to-declarations.d.ts +9 -0
- package/dist/json-schema/schema-to-declarations.js +123 -0
- package/dist/json-schema/schema-to-declarations.mjs +117 -0
- package/dist/json-schema/structural-expansion.types.d.ts +90 -0
- package/dist/json-schema/structural-expansion.types.js +22 -0
- package/dist/json-schema/structural-expansion.types.mjs +18 -0
- package/dist/json-schema/unsupported-keyword-error.d.ts +5 -0
- package/dist/json-schema/unsupported-keyword-error.js +24 -0
- package/dist/json-schema/unsupported-keyword-error.mjs +20 -0
- package/dist/json-schema/uri-reference.d.ts +29 -0
- package/dist/json-schema/uri-reference.js +118 -0
- package/dist/json-schema/uri-reference.mjs +111 -0
- package/dist/path/create-array-reader.d.ts +13 -0
- package/dist/path/create-array-reader.js +22 -0
- package/dist/path/create-array-reader.mjs +19 -0
- package/dist/path/create-value-reader.d.ts +26 -0
- package/dist/path/create-value-reader.js +71 -0
- package/dist/path/create-value-reader.mjs +65 -0
- package/dist/path/create-value-writer.d.ts +5 -0
- package/dist/path/create-value-writer.js +80 -0
- package/dist/path/create-value-writer.mjs +77 -0
- package/dist/path/element-of.types.d.ts +1 -0
- package/dist/path/element-of.types.js +2 -0
- package/dist/path/element-of.types.mjs +1 -0
- package/dist/path/field-path.types.d.ts +13 -0
- package/dist/path/field-path.types.js +2 -0
- package/dist/path/field-path.types.mjs +1 -0
- package/dist/path/format-issue-path.d.ts +15 -0
- package/dist/path/format-issue-path.js +34 -0
- package/dist/path/format-issue-path.mjs +31 -0
- package/dist/path/index.d.ts +18 -0
- package/dist/path/index.js +26 -0
- package/dist/path/index.mjs +7 -0
- package/dist/path/leaf-path.types.d.ts +16 -0
- package/dist/path/leaf-path.types.js +2 -0
- package/dist/path/leaf-path.types.mjs +1 -0
- package/dist/path/match-path-pattern.d.ts +9 -0
- package/dist/path/match-path-pattern.js +66 -0
- package/dist/path/match-path-pattern.mjs +63 -0
- package/dist/path/opaque-object.types.d.ts +5 -0
- package/dist/path/opaque-object.types.js +2 -0
- package/dist/path/opaque-object.types.mjs +1 -0
- package/dist/path/parse-field-path.d.ts +25 -0
- package/dist/path/parse-field-path.js +75 -0
- package/dist/path/parse-field-path.mjs +69 -0
- package/dist/path/path-depth.types.d.ts +4 -0
- package/dist/path/path-depth.types.js +2 -0
- package/dist/path/path-depth.types.mjs +1 -0
- package/dist/path/path-segment.types.d.ts +27 -0
- package/dist/path/path-segment.types.js +2 -0
- package/dist/path/path-segment.types.mjs +1 -0
- package/dist/path/property-value-of.types.d.ts +2 -0
- package/dist/path/property-value-of.types.js +2 -0
- package/dist/path/property-value-of.types.mjs +1 -0
- package/dist/path/reserved-segment.d.ts +46 -0
- package/dist/path/reserved-segment.js +88 -0
- package/dist/path/reserved-segment.mjs +82 -0
- package/dist/path/value-at-path.types.d.ts +25 -0
- package/dist/path/value-at-path.types.js +2 -0
- package/dist/path/value-at-path.types.mjs +1 -0
- package/dist/plugin-kit/compiled-rule.d.ts +112 -0
- package/dist/plugin-kit/compiled-rule.js +2 -0
- package/dist/plugin-kit/compiled-rule.mjs +1 -0
- package/dist/plugin-kit/create-conditional-presence.d.ts +25 -0
- package/dist/plugin-kit/create-conditional-presence.js +32 -0
- package/dist/plugin-kit/create-conditional-presence.mjs +28 -0
- package/dist/plugin-kit/create-rule.d.ts +59 -0
- package/dist/plugin-kit/create-rule.js +68 -0
- package/dist/plugin-kit/create-rule.mjs +58 -0
- package/dist/plugin-kit/external-context.d.ts +2 -0
- package/dist/plugin-kit/external-context.js +25 -0
- package/dist/plugin-kit/external-context.mjs +22 -0
- package/dist/plugin-kit/index.d.ts +11 -0
- package/dist/plugin-kit/index.js +39 -0
- package/dist/plugin-kit/index.mjs +23 -0
- package/dist/plugin-kit/is-json-value-equal.d.ts +10 -0
- package/dist/plugin-kit/is-json-value-equal.js +81 -0
- package/dist/plugin-kit/is-json-value-equal.mjs +77 -0
- package/dist/plugin-kit/marker.types.d.ts +114 -0
- package/dist/plugin-kit/marker.types.js +2 -0
- package/dist/plugin-kit/marker.types.mjs +1 -0
- package/dist/plugin-kit/plugin-definition.d.ts +55 -0
- package/dist/plugin-kit/plugin-definition.js +26 -0
- package/dist/plugin-kit/plugin-definition.mjs +21 -0
- package/dist/plugin-kit/rule-build-context.d.ts +27 -0
- package/dist/plugin-kit/rule-build-context.js +8 -0
- package/dist/plugin-kit/rule-build-context.mjs +5 -0
- package/dist/plugin-kit/runtime-args.types.d.ts +27 -0
- package/dist/plugin-kit/runtime-args.types.js +2 -0
- package/dist/plugin-kit/runtime-args.types.mjs +1 -0
- package/dist/plugin-kit.d.ts +1 -0
- package/dist/plugin-kit.js +2 -0
- package/dist/plugin-kit.mjs +1 -0
- package/dist/plugins/array-contains/array-contains.d.ts +22 -0
- package/dist/plugins/array-contains/array-contains.js +82 -0
- package/dist/plugins/array-contains/array-contains.mjs +79 -0
- package/dist/plugins/array-contains/index.d.ts +2 -0
- package/dist/plugins/array-contains/index.js +5 -0
- package/dist/plugins/array-contains/index.mjs +1 -0
- package/dist/plugins/array-each/array-each.d.ts +14 -0
- package/dist/plugins/array-each/array-each.js +51 -0
- package/dist/plugins/array-each/array-each.mjs +48 -0
- package/dist/plugins/array-each/index.d.ts +1 -0
- package/dist/plugins/array-each/index.js +5 -0
- package/dist/plugins/array-each/index.mjs +1 -0
- package/dist/plugins/array-includes/array-includes.d.ts +9 -0
- package/dist/plugins/array-includes/array-includes.js +26 -0
- package/dist/plugins/array-includes/array-includes.mjs +23 -0
- package/dist/plugins/array-includes/index.d.ts +2 -0
- package/dist/plugins/array-includes/index.js +5 -0
- package/dist/plugins/array-includes/index.mjs +1 -0
- package/dist/plugins/array-max-length/array-max-length.d.ts +10 -0
- package/dist/plugins/array-max-length/array-max-length.js +29 -0
- package/dist/plugins/array-max-length/array-max-length.mjs +26 -0
- package/dist/plugins/array-max-length/index.d.ts +2 -0
- package/dist/plugins/array-max-length/index.js +5 -0
- package/dist/plugins/array-max-length/index.mjs +1 -0
- package/dist/plugins/array-min-length/array-min-length.d.ts +10 -0
- package/dist/plugins/array-min-length/array-min-length.js +29 -0
- package/dist/plugins/array-min-length/array-min-length.mjs +26 -0
- package/dist/plugins/array-min-length/index.d.ts +2 -0
- package/dist/plugins/array-min-length/index.js +5 -0
- package/dist/plugins/array-min-length/index.mjs +1 -0
- package/dist/plugins/array-unique/array-unique.d.ts +7 -0
- package/dist/plugins/array-unique/array-unique.js +54 -0
- package/dist/plugins/array-unique/array-unique.mjs +51 -0
- package/dist/plugins/array-unique/index.d.ts +1 -0
- package/dist/plugins/array-unique/index.js +5 -0
- package/dist/plugins/array-unique/index.mjs +1 -0
- package/dist/plugins/arrayContains.d.ts +1 -37
- package/dist/plugins/arrayContains.js +2 -1
- package/dist/plugins/arrayContains.mjs +1 -1
- package/dist/plugins/arrayEach.d.ts +1 -0
- package/dist/plugins/arrayEach.js +2 -0
- package/dist/plugins/arrayEach.mjs +1 -0
- package/dist/plugins/arrayIncludes.d.ts +1 -42
- package/dist/plugins/arrayIncludes.js +2 -1
- package/dist/plugins/arrayIncludes.mjs +1 -1
- package/dist/plugins/arrayMaxLength.d.ts +1 -43
- package/dist/plugins/arrayMaxLength.js +2 -1
- package/dist/plugins/arrayMaxLength.mjs +1 -1
- package/dist/plugins/arrayMinLength.d.ts +1 -43
- package/dist/plugins/arrayMinLength.js +2 -1
- package/dist/plugins/arrayMinLength.mjs +1 -1
- package/dist/plugins/arrayUnique.d.ts +1 -41
- package/dist/plugins/arrayUnique.js +2 -1
- package/dist/plugins/arrayUnique.mjs +1 -1
- package/dist/plugins/boolean-falsy/boolean-falsy.d.ts +7 -0
- package/dist/plugins/boolean-falsy/boolean-falsy.js +24 -0
- package/dist/plugins/boolean-falsy/boolean-falsy.mjs +21 -0
- package/dist/plugins/boolean-falsy/index.d.ts +1 -0
- package/dist/plugins/boolean-falsy/index.js +5 -0
- package/dist/plugins/boolean-falsy/index.mjs +1 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.d.ts +7 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.js +24 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.mjs +21 -0
- package/dist/plugins/boolean-truthy/index.d.ts +1 -0
- package/dist/plugins/boolean-truthy/index.js +5 -0
- package/dist/plugins/boolean-truthy/index.mjs +1 -0
- package/dist/plugins/booleanFalsy.d.ts +1 -41
- package/dist/plugins/booleanFalsy.js +2 -1
- package/dist/plugins/booleanFalsy.mjs +1 -1
- package/dist/plugins/booleanTruthy.d.ts +1 -38
- package/dist/plugins/booleanTruthy.js +2 -1
- package/dist/plugins/booleanTruthy.mjs +1 -1
- package/dist/plugins/compare-field/compare-field.d.ts +13 -0
- package/dist/plugins/compare-field/compare-field.js +57 -0
- package/dist/plugins/compare-field/compare-field.mjs +54 -0
- package/dist/plugins/compare-field/index.d.ts +2 -0
- package/dist/plugins/compare-field/index.js +5 -0
- package/dist/plugins/compare-field/index.mjs +1 -0
- package/dist/plugins/compareField.d.ts +1 -58
- package/dist/plugins/compareField.js +2 -1
- package/dist/plugins/compareField.mjs +1 -1
- package/dist/plugins/conditional-schema/conditional-schema.d.ts +17 -0
- package/dist/plugins/conditional-schema/conditional-schema.js +87 -0
- package/dist/plugins/conditional-schema/conditional-schema.mjs +84 -0
- package/dist/plugins/conditional-schema/index.d.ts +2 -0
- package/dist/plugins/conditional-schema/index.js +5 -0
- package/dist/plugins/conditional-schema/index.mjs +1 -0
- package/dist/plugins/conditionalSchema.d.ts +1 -0
- package/dist/plugins/conditionalSchema.js +2 -0
- package/dist/plugins/conditionalSchema.mjs +1 -0
- package/dist/plugins/custom/custom.d.ts +12 -0
- package/dist/plugins/custom/custom.js +82 -0
- package/dist/plugins/custom/custom.mjs +79 -0
- package/dist/plugins/custom/index.d.ts +1 -0
- package/dist/plugins/custom/index.js +5 -0
- package/dist/plugins/custom/index.mjs +1 -0
- package/dist/plugins/custom.d.ts +1 -60
- package/dist/plugins/custom.js +2 -1
- package/dist/plugins/custom.mjs +1 -1
- package/dist/plugins/from-context/from-context.d.ts +28 -0
- package/dist/plugins/from-context/from-context.js +84 -0
- package/dist/plugins/from-context/from-context.mjs +81 -0
- package/dist/plugins/from-context/index.d.ts +2 -0
- package/dist/plugins/from-context/index.js +5 -0
- package/dist/plugins/from-context/index.mjs +1 -0
- package/dist/plugins/fromContext.d.ts +1 -0
- package/dist/plugins/fromContext.js +2 -0
- package/dist/plugins/fromContext.mjs +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.generated.d.ts +77 -0
- package/dist/plugins/index.generated.js +160 -0
- package/dist/plugins/index.generated.mjs +79 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.mjs +1 -0
- package/dist/plugins/jsonSchema.d.ts +1 -11
- package/dist/plugins/jsonSchema.js +2 -1
- package/dist/plugins/jsonSchema.mjs +1 -1
- package/dist/plugins/jsonSchemaFullFeature.d.ts +1 -31
- package/dist/plugins/jsonSchemaFullFeature.js +2 -1
- package/dist/plugins/jsonSchemaFullFeature.mjs +1 -1
- package/dist/plugins/literal/index.d.ts +1 -0
- package/dist/plugins/literal/index.js +5 -0
- package/dist/plugins/literal/index.mjs +1 -0
- package/dist/plugins/literal/literal.d.ts +10 -0
- package/dist/plugins/literal/literal.js +53 -0
- package/dist/plugins/literal/literal.mjs +50 -0
- package/dist/plugins/literal.d.ts +1 -40
- package/dist/plugins/literal.js +2 -1
- package/dist/plugins/literal.mjs +1 -1
- package/dist/plugins/manifest.generated.d.ts +8 -0
- package/dist/plugins/manifest.generated.js +83 -0
- package/dist/plugins/manifest.generated.mjs +80 -0
- package/dist/plugins/nullable/index.d.ts +1 -0
- package/dist/plugins/nullable/index.js +5 -0
- package/dist/plugins/nullable/index.mjs +1 -0
- package/dist/plugins/nullable/nullable.d.ts +7 -0
- package/dist/plugins/nullable/nullable.js +39 -0
- package/dist/plugins/nullable/nullable.mjs +36 -0
- package/dist/plugins/nullable.d.ts +1 -34
- package/dist/plugins/nullable.js +2 -1
- package/dist/plugins/nullable.mjs +1 -1
- package/dist/plugins/number-finite/index.d.ts +1 -0
- package/dist/plugins/number-finite/index.js +5 -0
- package/dist/plugins/number-finite/index.mjs +1 -0
- package/dist/plugins/number-finite/number-finite.d.ts +7 -0
- package/dist/plugins/number-finite/number-finite.js +21 -0
- package/dist/plugins/number-finite/number-finite.mjs +18 -0
- package/dist/plugins/number-integer/index.d.ts +1 -0
- package/dist/plugins/number-integer/index.js +5 -0
- package/dist/plugins/number-integer/index.mjs +1 -0
- package/dist/plugins/number-integer/number-integer.d.ts +7 -0
- package/dist/plugins/number-integer/number-integer.js +21 -0
- package/dist/plugins/number-integer/number-integer.mjs +18 -0
- package/dist/plugins/number-max/index.d.ts +2 -0
- package/dist/plugins/number-max/index.js +5 -0
- package/dist/plugins/number-max/index.mjs +1 -0
- package/dist/plugins/number-max/number-max.d.ts +11 -0
- package/dist/plugins/number-max/number-max.js +36 -0
- package/dist/plugins/number-max/number-max.mjs +33 -0
- package/dist/plugins/number-min/index.d.ts +2 -0
- package/dist/plugins/number-min/index.js +5 -0
- package/dist/plugins/number-min/index.mjs +1 -0
- package/dist/plugins/number-min/number-min.d.ts +11 -0
- package/dist/plugins/number-min/number-min.js +38 -0
- package/dist/plugins/number-min/number-min.mjs +35 -0
- package/dist/plugins/number-multiple-of/index.d.ts +2 -0
- package/dist/plugins/number-multiple-of/index.js +5 -0
- package/dist/plugins/number-multiple-of/index.mjs +1 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.d.ts +7 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.js +61 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.mjs +57 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.d.ts +9 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.js +27 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.mjs +24 -0
- package/dist/plugins/number-negative/index.d.ts +1 -0
- package/dist/plugins/number-negative/index.js +5 -0
- package/dist/plugins/number-negative/index.mjs +1 -0
- package/dist/plugins/number-negative/number-negative.d.ts +7 -0
- package/dist/plugins/number-negative/number-negative.js +21 -0
- package/dist/plugins/number-negative/number-negative.mjs +18 -0
- package/dist/plugins/number-positive/index.d.ts +1 -0
- package/dist/plugins/number-positive/index.js +5 -0
- package/dist/plugins/number-positive/index.mjs +1 -0
- package/dist/plugins/number-positive/number-positive.d.ts +7 -0
- package/dist/plugins/number-positive/number-positive.js +21 -0
- package/dist/plugins/number-positive/number-positive.mjs +18 -0
- package/dist/plugins/number-range/index.d.ts +2 -0
- package/dist/plugins/number-range/index.js +5 -0
- package/dist/plugins/number-range/index.mjs +1 -0
- package/dist/plugins/number-range/number-range.d.ts +11 -0
- package/dist/plugins/number-range/number-range.js +39 -0
- package/dist/plugins/number-range/number-range.mjs +36 -0
- package/dist/plugins/numberFinite.d.ts +1 -0
- package/dist/plugins/numberFinite.js +2 -0
- package/dist/plugins/numberFinite.mjs +1 -0
- package/dist/plugins/numberInteger.d.ts +1 -41
- package/dist/plugins/numberInteger.js +2 -1
- package/dist/plugins/numberInteger.mjs +1 -1
- package/dist/plugins/numberMax.d.ts +1 -49
- package/dist/plugins/numberMax.js +2 -1
- package/dist/plugins/numberMax.mjs +1 -1
- package/dist/plugins/numberMin.d.ts +1 -49
- package/dist/plugins/numberMin.js +2 -1
- package/dist/plugins/numberMin.mjs +1 -1
- package/dist/plugins/numberMultipleOf.d.ts +1 -42
- package/dist/plugins/numberMultipleOf.js +2 -1
- package/dist/plugins/numberMultipleOf.mjs +1 -1
- package/dist/plugins/numberNegative.d.ts +1 -41
- package/dist/plugins/numberNegative.js +2 -1
- package/dist/plugins/numberNegative.mjs +1 -1
- package/dist/plugins/numberPositive.d.ts +1 -41
- package/dist/plugins/numberPositive.js +2 -1
- package/dist/plugins/numberPositive.mjs +1 -1
- package/dist/plugins/numberRange.d.ts +1 -0
- package/dist/plugins/numberRange.js +2 -0
- package/dist/plugins/numberRange.mjs +1 -0
- package/dist/plugins/object/index.d.ts +2 -0
- package/dist/plugins/object/index.js +5 -0
- package/dist/plugins/object/index.mjs +1 -0
- package/dist/plugins/object/object.d.ts +9 -0
- package/dist/plugins/object/object.js +29 -0
- package/dist/plugins/object/object.mjs +26 -0
- package/dist/plugins/object-additional-properties/index.d.ts +3 -0
- package/dist/plugins/object-additional-properties/index.js +11 -0
- package/dist/plugins/object-additional-properties/index.mjs +6 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.d.ts +14 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.js +58 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.mjs +55 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.d.ts +9 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.js +42 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.mjs +39 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.d.ts +15 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.js +51 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.mjs +47 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.d.ts +7 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.js +45 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.mjs +40 -0
- package/dist/plugins/object-dependent-required/index.d.ts +3 -0
- package/dist/plugins/object-dependent-required/index.js +5 -0
- package/dist/plugins/object-dependent-required/index.mjs +1 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.d.ts +10 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.js +27 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.mjs +24 -0
- package/dist/plugins/object-dependent-schemas/index.d.ts +2 -0
- package/dist/plugins/object-dependent-schemas/index.js +5 -0
- package/dist/plugins/object-dependent-schemas/index.mjs +1 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.d.ts +16 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.js +47 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.mjs +44 -0
- package/dist/plugins/object-max-properties/index.d.ts +2 -0
- package/dist/plugins/object-max-properties/index.js +5 -0
- package/dist/plugins/object-max-properties/index.mjs +1 -0
- package/dist/plugins/object-max-properties/object-max-properties.d.ts +10 -0
- package/dist/plugins/object-max-properties/object-max-properties.js +32 -0
- package/dist/plugins/object-max-properties/object-max-properties.mjs +29 -0
- package/dist/plugins/object-min-properties/index.d.ts +2 -0
- package/dist/plugins/object-min-properties/index.js +5 -0
- package/dist/plugins/object-min-properties/index.mjs +1 -0
- package/dist/plugins/object-min-properties/object-min-properties.d.ts +10 -0
- package/dist/plugins/object-min-properties/object-min-properties.js +32 -0
- package/dist/plugins/object-min-properties/object-min-properties.mjs +29 -0
- package/dist/plugins/object-pattern-properties/index.d.ts +2 -0
- package/dist/plugins/object-pattern-properties/index.js +5 -0
- package/dist/plugins/object-pattern-properties/index.mjs +1 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.d.ts +16 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.js +57 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.mjs +54 -0
- package/dist/plugins/object-property-names/index.d.ts +2 -0
- package/dist/plugins/object-property-names/index.js +5 -0
- package/dist/plugins/object-property-names/index.mjs +1 -0
- package/dist/plugins/object-property-names/object-property-names.d.ts +16 -0
- package/dist/plugins/object-property-names/object-property-names.js +47 -0
- package/dist/plugins/object-property-names/object-property-names.mjs +44 -0
- package/dist/plugins/object-recursively/index.d.ts +2 -0
- package/dist/plugins/object-recursively/index.js +5 -0
- package/dist/plugins/object-recursively/index.mjs +1 -0
- package/dist/plugins/object-recursively/object-recursively.d.ts +11 -0
- package/dist/plugins/object-recursively/object-recursively.js +26 -0
- package/dist/plugins/object-recursively/object-recursively.mjs +23 -0
- package/dist/plugins/object.d.ts +1 -43
- package/dist/plugins/object.js +2 -1
- package/dist/plugins/object.mjs +1 -1
- package/dist/plugins/objectAdditionalProperties.d.ts +1 -51
- package/dist/plugins/objectAdditionalProperties.js +2 -1
- package/dist/plugins/objectAdditionalProperties.mjs +1 -1
- package/dist/plugins/objectDependentRequired.d.ts +1 -42
- package/dist/plugins/objectDependentRequired.js +2 -1
- package/dist/plugins/objectDependentRequired.mjs +1 -1
- package/dist/plugins/objectDependentSchemas.d.ts +1 -40
- package/dist/plugins/objectDependentSchemas.js +2 -1
- package/dist/plugins/objectDependentSchemas.mjs +1 -1
- package/dist/plugins/objectMaxProperties.d.ts +1 -42
- package/dist/plugins/objectMaxProperties.js +2 -1
- package/dist/plugins/objectMaxProperties.mjs +1 -1
- package/dist/plugins/objectMinProperties.d.ts +1 -42
- package/dist/plugins/objectMinProperties.js +2 -1
- package/dist/plugins/objectMinProperties.mjs +1 -1
- package/dist/plugins/objectPatternProperties.d.ts +1 -46
- package/dist/plugins/objectPatternProperties.js +2 -1
- package/dist/plugins/objectPatternProperties.mjs +1 -1
- package/dist/plugins/objectPropertyNames.d.ts +1 -36
- package/dist/plugins/objectPropertyNames.js +2 -1
- package/dist/plugins/objectPropertyNames.mjs +1 -1
- package/dist/plugins/objectRecursively.d.ts +1 -0
- package/dist/plugins/objectRecursively.js +2 -0
- package/dist/plugins/objectRecursively.mjs +1 -0
- package/dist/plugins/one-of/index.d.ts +1 -0
- package/dist/plugins/one-of/index.js +5 -0
- package/dist/plugins/one-of/index.mjs +1 -0
- package/dist/plugins/one-of/one-of.d.ts +7 -0
- package/dist/plugins/one-of/one-of.js +67 -0
- package/dist/plugins/one-of/one-of.mjs +64 -0
- package/dist/plugins/oneOf.d.ts +1 -44
- package/dist/plugins/oneOf.js +2 -1
- package/dist/plugins/oneOf.mjs +1 -1
- package/dist/plugins/optional/index.d.ts +1 -0
- package/dist/plugins/optional/index.js +5 -0
- package/dist/plugins/optional/index.mjs +1 -0
- package/dist/plugins/optional/optional.d.ts +7 -0
- package/dist/plugins/optional/optional.js +42 -0
- package/dist/plugins/optional/optional.mjs +39 -0
- package/dist/plugins/optional-if/index.d.ts +1 -0
- package/dist/plugins/optional-if/index.js +5 -0
- package/dist/plugins/optional-if/index.mjs +1 -0
- package/dist/plugins/optional-if/optional-if.d.ts +11 -0
- package/dist/plugins/optional-if/optional-if.js +31 -0
- package/dist/plugins/optional-if/optional-if.mjs +28 -0
- package/dist/plugins/optional.d.ts +1 -35
- package/dist/plugins/optional.js +2 -1
- package/dist/plugins/optional.mjs +1 -1
- package/dist/plugins/optionalIf.d.ts +1 -0
- package/dist/plugins/optionalIf.js +2 -0
- package/dist/plugins/optionalIf.mjs +1 -0
- package/dist/plugins/or-fail/index.d.ts +1 -0
- package/dist/plugins/or-fail/index.js +5 -0
- package/dist/plugins/or-fail/index.mjs +1 -0
- package/dist/plugins/or-fail/or-fail.d.ts +7 -0
- package/dist/plugins/or-fail/or-fail.js +44 -0
- package/dist/plugins/or-fail/or-fail.mjs +41 -0
- package/dist/plugins/orFail.d.ts +1 -0
- package/dist/plugins/orFail.js +2 -0
- package/dist/plugins/orFail.mjs +1 -0
- package/dist/plugins/read-only/index.d.ts +1 -0
- package/dist/plugins/read-only/index.js +5 -0
- package/dist/plugins/read-only/index.mjs +1 -0
- package/dist/plugins/read-only/read-only.d.ts +7 -0
- package/dist/plugins/read-only/read-only.js +52 -0
- package/dist/plugins/read-only/read-only.mjs +49 -0
- package/dist/plugins/readOnly.d.ts +1 -0
- package/dist/plugins/readOnly.js +2 -0
- package/dist/plugins/readOnly.mjs +1 -0
- package/dist/plugins/readOnlyWriteOnly.d.ts +1 -48
- package/dist/plugins/readOnlyWriteOnly.js +2 -1
- package/dist/plugins/readOnlyWriteOnly.mjs +1 -1
- package/dist/plugins/required/index.d.ts +1 -0
- package/dist/plugins/required/index.js +5 -0
- package/dist/plugins/required/index.mjs +1 -0
- package/dist/plugins/required/required.d.ts +7 -0
- package/dist/plugins/required/required.js +42 -0
- package/dist/plugins/required/required.mjs +39 -0
- package/dist/plugins/required-if/index.d.ts +1 -0
- package/dist/plugins/required-if/index.js +5 -0
- package/dist/plugins/required-if/index.mjs +1 -0
- package/dist/plugins/required-if/required-if.d.ts +11 -0
- package/dist/plugins/required-if/required-if.js +34 -0
- package/dist/plugins/required-if/required-if.mjs +31 -0
- package/dist/plugins/required.d.ts +1 -45
- package/dist/plugins/required.js +2 -1
- package/dist/plugins/required.mjs +1 -1
- package/dist/plugins/requiredIf.d.ts +1 -66
- package/dist/plugins/requiredIf.js +2 -1
- package/dist/plugins/requiredIf.mjs +1 -1
- package/dist/plugins/skip/index.d.ts +1 -0
- package/dist/plugins/skip/index.js +5 -0
- package/dist/plugins/skip/index.mjs +1 -0
- package/dist/plugins/skip/skip.d.ts +7 -0
- package/dist/plugins/skip/skip.js +22 -0
- package/dist/plugins/skip/skip.mjs +19 -0
- package/dist/plugins/skip.d.ts +1 -57
- package/dist/plugins/skip.js +2 -1
- package/dist/plugins/skip.mjs +1 -1
- package/dist/plugins/stitch/index.d.ts +2 -0
- package/dist/plugins/stitch/index.js +5 -0
- package/dist/plugins/stitch/index.mjs +1 -0
- package/dist/plugins/stitch/stitch.d.ts +30 -0
- package/dist/plugins/stitch/stitch.js +72 -0
- package/dist/plugins/stitch/stitch.mjs +69 -0
- package/dist/plugins/stitch.d.ts +1 -0
- package/dist/plugins/stitch.js +2 -0
- package/dist/plugins/stitch.mjs +1 -0
- package/dist/plugins/string-alphanumeric/index.d.ts +1 -0
- package/dist/plugins/string-alphanumeric/index.js +5 -0
- package/dist/plugins/string-alphanumeric/index.mjs +1 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.d.ts +8 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.js +39 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.mjs +36 -0
- package/dist/plugins/string-base64/index.d.ts +1 -0
- package/dist/plugins/string-base64/index.js +5 -0
- package/dist/plugins/string-base64/index.mjs +1 -0
- package/dist/plugins/string-base64/string-base64.d.ts +12 -0
- package/dist/plugins/string-base64/string-base64.js +40 -0
- package/dist/plugins/string-base64/string-base64.mjs +37 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.d.ts +4 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.js +67 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.mjs +64 -0
- package/dist/plugins/string-content-encoding/index.d.ts +2 -0
- package/dist/plugins/string-content-encoding/index.js +5 -0
- package/dist/plugins/string-content-encoding/index.mjs +1 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.d.ts +10 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.js +40 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.mjs +37 -0
- package/dist/plugins/string-content-media-type/index.d.ts +1 -0
- package/dist/plugins/string-content-media-type/index.js +5 -0
- package/dist/plugins/string-content-media-type/index.mjs +1 -0
- package/dist/plugins/string-content-media-type/media-type-checks.d.ts +3 -0
- package/dist/plugins/string-content-media-type/media-type-checks.js +46 -0
- package/dist/plugins/string-content-media-type/media-type-checks.mjs +43 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.d.ts +8 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.js +41 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.mjs +38 -0
- package/dist/plugins/string-date/calendar-date.d.ts +3 -0
- package/dist/plugins/string-date/calendar-date.js +24 -0
- package/dist/plugins/string-date/calendar-date.mjs +20 -0
- package/dist/plugins/string-date/index.d.ts +1 -0
- package/dist/plugins/string-date/index.js +5 -0
- package/dist/plugins/string-date/index.mjs +1 -0
- package/dist/plugins/string-date/string-date.d.ts +7 -0
- package/dist/plugins/string-date/string-date.js +42 -0
- package/dist/plugins/string-date/string-date.mjs +39 -0
- package/dist/plugins/string-datetime/calendar-date.d.ts +2 -0
- package/dist/plugins/string-datetime/calendar-date.js +24 -0
- package/dist/plugins/string-datetime/calendar-date.mjs +20 -0
- package/dist/plugins/string-datetime/index.d.ts +1 -0
- package/dist/plugins/string-datetime/index.js +5 -0
- package/dist/plugins/string-datetime/index.mjs +1 -0
- package/dist/plugins/string-datetime/string-datetime.d.ts +12 -0
- package/dist/plugins/string-datetime/string-datetime.js +67 -0
- package/dist/plugins/string-datetime/string-datetime.mjs +64 -0
- package/dist/plugins/string-duration/index.d.ts +1 -0
- package/dist/plugins/string-duration/index.js +5 -0
- package/dist/plugins/string-duration/index.mjs +1 -0
- package/dist/plugins/string-duration/string-duration.d.ts +7 -0
- package/dist/plugins/string-duration/string-duration.js +31 -0
- package/dist/plugins/string-duration/string-duration.mjs +28 -0
- package/dist/plugins/string-email/index.d.ts +1 -0
- package/dist/plugins/string-email/index.js +5 -0
- package/dist/plugins/string-email/index.mjs +1 -0
- package/dist/plugins/string-email/string-email.d.ts +14 -0
- package/dist/plugins/string-email/string-email.js +58 -0
- package/dist/plugins/string-email/string-email.mjs +55 -0
- package/dist/plugins/string-ends-with/index.d.ts +1 -0
- package/dist/plugins/string-ends-with/index.js +5 -0
- package/dist/plugins/string-ends-with/index.mjs +1 -0
- package/dist/plugins/string-ends-with/string-ends-with.d.ts +8 -0
- package/dist/plugins/string-ends-with/string-ends-with.js +30 -0
- package/dist/plugins/string-ends-with/string-ends-with.mjs +27 -0
- package/dist/plugins/string-exact-length/index.d.ts +1 -0
- package/dist/plugins/string-exact-length/index.js +5 -0
- package/dist/plugins/string-exact-length/index.mjs +1 -0
- package/dist/plugins/string-exact-length/string-exact-length.d.ts +11 -0
- package/dist/plugins/string-exact-length/string-exact-length.js +34 -0
- package/dist/plugins/string-exact-length/string-exact-length.mjs +31 -0
- package/dist/plugins/string-hostname/index.d.ts +1 -0
- package/dist/plugins/string-hostname/index.js +5 -0
- package/dist/plugins/string-hostname/index.mjs +1 -0
- package/dist/plugins/string-hostname/string-hostname.d.ts +7 -0
- package/dist/plugins/string-hostname/string-hostname.js +30 -0
- package/dist/plugins/string-hostname/string-hostname.mjs +27 -0
- package/dist/plugins/string-idn-email/idn-email.d.ts +1 -0
- package/dist/plugins/string-idn-email/idn-email.js +85 -0
- package/dist/plugins/string-idn-email/idn-email.mjs +82 -0
- package/dist/plugins/string-idn-email/index.d.ts +1 -0
- package/dist/plugins/string-idn-email/index.js +5 -0
- package/dist/plugins/string-idn-email/index.mjs +1 -0
- package/dist/plugins/string-idn-email/string-idn-email.d.ts +7 -0
- package/dist/plugins/string-idn-email/string-idn-email.js +29 -0
- package/dist/plugins/string-idn-email/string-idn-email.mjs +26 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.d.ts +1 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.js +72 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.mjs +69 -0
- package/dist/plugins/string-idn-hostname/index.d.ts +1 -0
- package/dist/plugins/string-idn-hostname/index.js +5 -0
- package/dist/plugins/string-idn-hostname/index.mjs +1 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.d.ts +7 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.js +31 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.mjs +28 -0
- package/dist/plugins/string-ipv4/index.d.ts +1 -0
- package/dist/plugins/string-ipv4/index.js +5 -0
- package/dist/plugins/string-ipv4/index.mjs +1 -0
- package/dist/plugins/string-ipv4/string-ipv4.d.ts +7 -0
- package/dist/plugins/string-ipv4/string-ipv4.js +32 -0
- package/dist/plugins/string-ipv4/string-ipv4.mjs +29 -0
- package/dist/plugins/string-ipv6/index.d.ts +1 -0
- package/dist/plugins/string-ipv6/index.js +5 -0
- package/dist/plugins/string-ipv6/index.mjs +1 -0
- package/dist/plugins/string-ipv6/ipv6-address.d.ts +2 -0
- package/dist/plugins/string-ipv6/ipv6-address.js +70 -0
- package/dist/plugins/string-ipv6/ipv6-address.mjs +67 -0
- package/dist/plugins/string-ipv6/string-ipv6.d.ts +7 -0
- package/dist/plugins/string-ipv6/string-ipv6.js +27 -0
- package/dist/plugins/string-ipv6/string-ipv6.mjs +24 -0
- package/dist/plugins/string-iri/control-character.d.ts +1 -0
- package/dist/plugins/string-iri/control-character.js +21 -0
- package/dist/plugins/string-iri/control-character.mjs +18 -0
- package/dist/plugins/string-iri/index.d.ts +1 -0
- package/dist/plugins/string-iri/index.js +5 -0
- package/dist/plugins/string-iri/index.mjs +1 -0
- package/dist/plugins/string-iri/string-iri.d.ts +7 -0
- package/dist/plugins/string-iri/string-iri.js +49 -0
- package/dist/plugins/string-iri/string-iri.mjs +46 -0
- package/dist/plugins/string-iri-reference/control-character.d.ts +1 -0
- package/dist/plugins/string-iri-reference/control-character.js +21 -0
- package/dist/plugins/string-iri-reference/control-character.mjs +18 -0
- package/dist/plugins/string-iri-reference/index.d.ts +1 -0
- package/dist/plugins/string-iri-reference/index.js +5 -0
- package/dist/plugins/string-iri-reference/index.mjs +1 -0
- package/dist/plugins/string-iri-reference/iri-reference.d.ts +1 -0
- package/dist/plugins/string-iri-reference/iri-reference.js +39 -0
- package/dist/plugins/string-iri-reference/iri-reference.mjs +36 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.d.ts +7 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.js +26 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.mjs +23 -0
- package/dist/plugins/string-json-pointer/index.d.ts +1 -0
- package/dist/plugins/string-json-pointer/index.js +5 -0
- package/dist/plugins/string-json-pointer/index.mjs +1 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.d.ts +7 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.js +35 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.mjs +32 -0
- package/dist/plugins/string-max/index.d.ts +1 -0
- package/dist/plugins/string-max/index.js +5 -0
- package/dist/plugins/string-max/index.mjs +1 -0
- package/dist/plugins/string-max/string-max.d.ts +11 -0
- package/dist/plugins/string-max/string-max.js +34 -0
- package/dist/plugins/string-max/string-max.mjs +31 -0
- package/dist/plugins/string-min/index.d.ts +1 -0
- package/dist/plugins/string-min/index.js +5 -0
- package/dist/plugins/string-min/index.mjs +1 -0
- package/dist/plugins/string-min/string-min.d.ts +11 -0
- package/dist/plugins/string-min/string-min.js +37 -0
- package/dist/plugins/string-min/string-min.mjs +34 -0
- package/dist/plugins/string-pattern/index.d.ts +1 -0
- package/dist/plugins/string-pattern/index.js +5 -0
- package/dist/plugins/string-pattern/index.mjs +1 -0
- package/dist/plugins/string-pattern/string-pattern.d.ts +8 -0
- package/dist/plugins/string-pattern/string-pattern.js +49 -0
- package/dist/plugins/string-pattern/string-pattern.mjs +46 -0
- package/dist/plugins/string-regex/index.d.ts +1 -0
- package/dist/plugins/string-regex/index.js +5 -0
- package/dist/plugins/string-regex/index.mjs +1 -0
- package/dist/plugins/string-regex/is-ecma262-regex.d.ts +2 -0
- package/dist/plugins/string-regex/is-ecma262-regex.js +25 -0
- package/dist/plugins/string-regex/is-ecma262-regex.mjs +22 -0
- package/dist/plugins/string-regex/string-regex.d.ts +7 -0
- package/dist/plugins/string-regex/string-regex.js +28 -0
- package/dist/plugins/string-regex/string-regex.mjs +25 -0
- package/dist/plugins/string-relative-json-pointer/index.d.ts +1 -0
- package/dist/plugins/string-relative-json-pointer/index.js +5 -0
- package/dist/plugins/string-relative-json-pointer/index.mjs +1 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.d.ts +7 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.js +42 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.mjs +39 -0
- package/dist/plugins/string-starts-with/index.d.ts +1 -0
- package/dist/plugins/string-starts-with/index.js +5 -0
- package/dist/plugins/string-starts-with/index.mjs +1 -0
- package/dist/plugins/string-starts-with/string-starts-with.d.ts +8 -0
- package/dist/plugins/string-starts-with/string-starts-with.js +30 -0
- package/dist/plugins/string-starts-with/string-starts-with.mjs +27 -0
- package/dist/plugins/string-time/index.d.ts +1 -0
- package/dist/plugins/string-time/index.js +5 -0
- package/dist/plugins/string-time/index.mjs +1 -0
- package/dist/plugins/string-time/string-time.d.ts +12 -0
- package/dist/plugins/string-time/string-time.js +37 -0
- package/dist/plugins/string-time/string-time.mjs +34 -0
- package/dist/plugins/string-uri-reference/index.d.ts +1 -0
- package/dist/plugins/string-uri-reference/index.js +5 -0
- package/dist/plugins/string-uri-reference/index.mjs +1 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.d.ts +7 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.js +28 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.mjs +25 -0
- package/dist/plugins/string-uri-reference/uri-reference.d.ts +1 -0
- package/dist/plugins/string-uri-reference/uri-reference.js +71 -0
- package/dist/plugins/string-uri-reference/uri-reference.mjs +68 -0
- package/dist/plugins/string-uri-template/index.d.ts +1 -0
- package/dist/plugins/string-uri-template/index.js +5 -0
- package/dist/plugins/string-uri-template/index.mjs +1 -0
- package/dist/plugins/string-uri-template/string-uri-template.d.ts +7 -0
- package/dist/plugins/string-uri-template/string-uri-template.js +26 -0
- package/dist/plugins/string-uri-template/string-uri-template.mjs +23 -0
- package/dist/plugins/string-uri-template/uri-template.d.ts +1 -0
- package/dist/plugins/string-uri-template/uri-template.js +59 -0
- package/dist/plugins/string-uri-template/uri-template.mjs +56 -0
- package/dist/plugins/string-url/index.d.ts +1 -0
- package/dist/plugins/string-url/index.js +5 -0
- package/dist/plugins/string-url/index.mjs +1 -0
- package/dist/plugins/string-url/string-url.d.ts +14 -0
- package/dist/plugins/string-url/string-url.js +55 -0
- package/dist/plugins/string-url/string-url.mjs +52 -0
- package/dist/plugins/stringAlphanumeric.d.ts +1 -0
- package/dist/plugins/stringAlphanumeric.js +2 -0
- package/dist/plugins/stringAlphanumeric.mjs +1 -0
- package/dist/plugins/stringBase64.d.ts +1 -119
- package/dist/plugins/stringBase64.js +2 -1
- package/dist/plugins/stringBase64.mjs +1 -1
- package/dist/plugins/stringContentEncoding.d.ts +1 -43
- package/dist/plugins/stringContentEncoding.js +2 -1
- package/dist/plugins/stringContentEncoding.mjs +1 -1
- package/dist/plugins/stringContentMediaType.d.ts +1 -47
- package/dist/plugins/stringContentMediaType.js +2 -1
- package/dist/plugins/stringContentMediaType.mjs +1 -1
- package/dist/plugins/stringDate.d.ts +1 -48
- package/dist/plugins/stringDate.js +2 -1
- package/dist/plugins/stringDate.mjs +1 -1
- package/dist/plugins/stringDatetime.d.ts +1 -108
- package/dist/plugins/stringDatetime.js +2 -1
- package/dist/plugins/stringDatetime.mjs +1 -1
- package/dist/plugins/stringDuration.d.ts +1 -41
- package/dist/plugins/stringDuration.js +2 -1
- package/dist/plugins/stringDuration.mjs +1 -1
- package/dist/plugins/stringEmail.d.ts +1 -81
- package/dist/plugins/stringEmail.js +2 -1
- package/dist/plugins/stringEmail.mjs +1 -1
- package/dist/plugins/stringEndsWith.d.ts +1 -0
- package/dist/plugins/stringEndsWith.js +2 -0
- package/dist/plugins/stringEndsWith.mjs +1 -0
- package/dist/plugins/stringExactLength.d.ts +1 -0
- package/dist/plugins/stringExactLength.js +2 -0
- package/dist/plugins/stringExactLength.mjs +1 -0
- package/dist/plugins/stringHostname.d.ts +1 -104
- package/dist/plugins/stringHostname.js +2 -1
- package/dist/plugins/stringHostname.mjs +1 -1
- package/dist/plugins/stringIdnEmail.d.ts +1 -0
- package/dist/plugins/stringIdnEmail.js +2 -0
- package/dist/plugins/stringIdnEmail.mjs +1 -0
- package/dist/plugins/stringIdnHostname.d.ts +1 -0
- package/dist/plugins/stringIdnHostname.js +2 -0
- package/dist/plugins/stringIdnHostname.mjs +1 -0
- package/dist/plugins/stringIpv4.d.ts +1 -85
- package/dist/plugins/stringIpv4.js +2 -1
- package/dist/plugins/stringIpv4.mjs +1 -1
- package/dist/plugins/stringIpv6.d.ts +1 -104
- package/dist/plugins/stringIpv6.js +2 -1
- package/dist/plugins/stringIpv6.mjs +1 -1
- package/dist/plugins/stringIri.d.ts +1 -117
- package/dist/plugins/stringIri.js +2 -1
- package/dist/plugins/stringIri.mjs +1 -1
- package/dist/plugins/stringIriReference.d.ts +1 -43
- package/dist/plugins/stringIriReference.js +2 -1
- package/dist/plugins/stringIriReference.mjs +1 -1
- package/dist/plugins/stringJsonPointer.d.ts +1 -107
- package/dist/plugins/stringJsonPointer.js +2 -1
- package/dist/plugins/stringJsonPointer.mjs +1 -1
- package/dist/plugins/stringMax.d.ts +1 -43
- package/dist/plugins/stringMax.js +2 -1
- package/dist/plugins/stringMax.mjs +1 -1
- package/dist/plugins/stringMin.d.ts +1 -43
- package/dist/plugins/stringMin.js +2 -1
- package/dist/plugins/stringMin.mjs +1 -1
- package/dist/plugins/stringPattern.d.ts +1 -40
- package/dist/plugins/stringPattern.js +2 -1
- package/dist/plugins/stringPattern.mjs +1 -1
- package/dist/plugins/stringRegex.d.ts +1 -0
- package/dist/plugins/stringRegex.js +2 -0
- package/dist/plugins/stringRegex.mjs +1 -0
- package/dist/plugins/stringRelativeJsonPointer.d.ts +1 -42
- package/dist/plugins/stringRelativeJsonPointer.js +2 -1
- package/dist/plugins/stringRelativeJsonPointer.mjs +1 -1
- package/dist/plugins/stringStartsWith.d.ts +1 -0
- package/dist/plugins/stringStartsWith.js +2 -0
- package/dist/plugins/stringStartsWith.mjs +1 -0
- package/dist/plugins/stringTime.d.ts +1 -39
- package/dist/plugins/stringTime.js +2 -1
- package/dist/plugins/stringTime.mjs +1 -1
- package/dist/plugins/stringUriReference.d.ts +1 -0
- package/dist/plugins/stringUriReference.js +2 -0
- package/dist/plugins/stringUriReference.mjs +1 -0
- package/dist/plugins/stringUriTemplate.d.ts +1 -43
- package/dist/plugins/stringUriTemplate.js +2 -1
- package/dist/plugins/stringUriTemplate.mjs +1 -1
- package/dist/plugins/stringUrl.d.ts +1 -97
- package/dist/plugins/stringUrl.js +2 -1
- package/dist/plugins/stringUrl.mjs +1 -1
- package/dist/plugins/transform/index.d.ts +1 -0
- package/dist/plugins/transform/index.js +5 -0
- package/dist/plugins/transform/index.mjs +1 -0
- package/dist/plugins/transform/transform.d.ts +7 -0
- package/dist/plugins/transform/transform.js +35 -0
- package/dist/plugins/transform/transform.mjs +32 -0
- package/dist/plugins/transform.d.ts +1 -35
- package/dist/plugins/transform.js +2 -1
- package/dist/plugins/transform.mjs +1 -1
- package/dist/plugins/tuple-builder/index.d.ts +2 -0
- package/dist/plugins/tuple-builder/index.js +5 -0
- package/dist/plugins/tuple-builder/index.mjs +1 -0
- package/dist/plugins/tuple-builder/tuple-builder.d.ts +21 -0
- package/dist/plugins/tuple-builder/tuple-builder.js +128 -0
- package/dist/plugins/tuple-builder/tuple-builder.mjs +125 -0
- package/dist/plugins/tupleBuilder.d.ts +1 -66
- package/dist/plugins/tupleBuilder.js +2 -1
- package/dist/plugins/tupleBuilder.mjs +1 -1
- package/dist/plugins/union-guard/index.d.ts +1 -0
- package/dist/plugins/union-guard/index.js +5 -0
- package/dist/plugins/union-guard/index.mjs +1 -0
- package/dist/plugins/union-guard/union-guard.d.ts +14 -0
- package/dist/plugins/union-guard/union-guard.js +56 -0
- package/dist/plugins/union-guard/union-guard.mjs +53 -0
- package/dist/plugins/unionGuard.d.ts +1 -0
- package/dist/plugins/unionGuard.js +2 -0
- package/dist/plugins/unionGuard.mjs +1 -0
- package/dist/plugins/uuid/index.d.ts +1 -0
- package/dist/plugins/uuid/index.js +5 -0
- package/dist/plugins/uuid/index.mjs +1 -0
- package/dist/plugins/uuid/uuid.d.ts +10 -0
- package/dist/plugins/uuid/uuid.js +56 -0
- package/dist/plugins/uuid/uuid.mjs +53 -0
- package/dist/plugins/uuid.d.ts +1 -95
- package/dist/plugins/uuid.js +2 -1
- package/dist/plugins/uuid.mjs +1 -1
- package/dist/plugins/validate-if/index.d.ts +1 -0
- package/dist/plugins/validate-if/index.js +5 -0
- package/dist/plugins/validate-if/index.mjs +1 -0
- package/dist/plugins/validate-if/validate-if.d.ts +7 -0
- package/dist/plugins/validate-if/validate-if.js +22 -0
- package/dist/plugins/validate-if/validate-if.mjs +19 -0
- package/dist/plugins/validateIf.d.ts +1 -57
- package/dist/plugins/validateIf.js +2 -1
- package/dist/plugins/validateIf.mjs +1 -1
- package/dist/plugins/write-only/index.d.ts +1 -0
- package/dist/plugins/write-only/index.js +5 -0
- package/dist/plugins/write-only/index.mjs +1 -0
- package/dist/plugins/write-only/write-only.d.ts +7 -0
- package/dist/plugins/write-only/write-only.js +48 -0
- package/dist/plugins/write-only/write-only.mjs +45 -0
- package/dist/plugins/writeOnly.d.ts +1 -0
- package/dist/plugins/writeOnly.js +2 -0
- package/dist/plugins/writeOnly.mjs +1 -0
- package/dist/result/index.d.ts +18 -0
- package/dist/result/index.js +44 -0
- package/dist/result/index.mjs +36 -0
- package/dist/result.d.ts +1 -0
- package/dist/result.js +2 -0
- package/dist/result.mjs +1 -0
- package/dist/runtime/create-field-validator.d.ts +12 -0
- package/dist/runtime/create-field-validator.js +74 -0
- package/dist/runtime/create-field-validator.mjs +71 -0
- package/dist/runtime/create-issue.d.ts +24 -0
- package/dist/runtime/create-issue.js +34 -0
- package/dist/runtime/create-issue.mjs +30 -0
- package/dist/runtime/create-validator.d.ts +19 -0
- package/dist/runtime/create-validator.js +70 -0
- package/dist/runtime/create-validator.mjs +65 -0
- package/dist/runtime/decide-presence.d.ts +5 -0
- package/dist/runtime/decide-presence.js +48 -0
- package/dist/runtime/decide-presence.mjs +45 -0
- package/dist/runtime/index-stack.d.ts +28 -0
- package/dist/runtime/index-stack.js +68 -0
- package/dist/runtime/index-stack.mjs +63 -0
- package/dist/runtime/index.d.ts +19 -0
- package/dist/runtime/index.js +48 -0
- package/dist/runtime/index.mjs +16 -0
- package/dist/runtime/issue-sink.d.ts +39 -0
- package/dist/runtime/issue-sink.js +61 -0
- package/dist/runtime/issue-sink.mjs +56 -0
- package/dist/runtime/output-writer.d.ts +38 -0
- package/dist/runtime/output-writer.js +59 -0
- package/dist/runtime/output-writer.mjs +52 -0
- package/dist/runtime/run-array-node.d.ts +9 -0
- package/dist/runtime/run-array-node.js +98 -0
- package/dist/runtime/run-array-node.mjs +95 -0
- package/dist/runtime/run-branch.d.ts +14 -0
- package/dist/runtime/run-branch.js +67 -0
- package/dist/runtime/run-branch.mjs +63 -0
- package/dist/runtime/run-field.d.ts +27 -0
- package/dist/runtime/run-field.js +88 -0
- package/dist/runtime/run-field.mjs +84 -0
- package/dist/runtime/run-plan.d.ts +28 -0
- package/dist/runtime/run-plan.js +50 -0
- package/dist/runtime/run-plan.mjs +46 -0
- package/dist/runtime/run-recursion.d.ts +17 -0
- package/dist/runtime/run-recursion.js +119 -0
- package/dist/runtime/run-recursion.mjs +115 -0
- package/dist/standard-schema/index.d.ts +6 -0
- package/dist/standard-schema/index.js +7 -0
- package/dist/standard-schema/index.mjs +2 -0
- package/dist/standard-schema/split-issue-path.d.ts +9 -0
- package/dist/standard-schema/split-issue-path.js +66 -0
- package/dist/standard-schema/split-issue-path.mjs +63 -0
- package/dist/standard-schema/standard-schema.types.d.ts +46 -0
- package/dist/standard-schema/standard-schema.types.js +13 -0
- package/dist/standard-schema/standard-schema.types.mjs +12 -0
- package/dist/standard-schema/to-standard-schema.d.ts +41 -0
- package/dist/standard-schema/to-standard-schema.js +60 -0
- package/dist/standard-schema/to-standard-schema.mjs +57 -0
- package/dist/standard-schema.d.ts +1 -0
- package/dist/standard-schema.js +2 -0
- package/dist/standard-schema.mjs +1 -0
- package/dist/subpath-aliases/read-only-write-only.d.ts +2 -0
- package/dist/subpath-aliases/read-only-write-only.js +16 -0
- package/dist/subpath-aliases/read-only-write-only.mjs +11 -0
- package/dist/types/global-config.d.ts +31 -0
- package/dist/types/global-config.js +36 -0
- package/dist/types/global-config.mjs +32 -0
- package/dist/types/index.d.ts +75 -69
- package/dist/types/index.js +46 -0
- package/dist/types/index.mjs +36 -0
- package/dist/types/validation-result.types.d.ts +22 -0
- package/dist/types/validation-result.types.js +2 -0
- package/dist/types/validation-result.types.mjs +1 -0
- package/package.json +523 -353
- package/dist/constants.d.ts +0 -27
- package/dist/core/async.experimental/async-context.d.ts +0 -60
- package/dist/core/builder/array-batch-optimizer.d.ts +0 -66
- package/dist/core/builder/context/field-context.d.ts +0 -31
- package/dist/core/builder/context/field-type-detector.d.ts +0 -19
- package/dist/core/builder/core/builder.d.ts +0 -10
- package/dist/core/builder/core/field-builder.d.ts +0 -13
- package/dist/core/builder/core/index.d.ts +0 -17
- package/dist/core/builder/index.d.ts +0 -24
- package/dist/core/builder/nested-array-processor.d.ts +0 -52
- package/dist/core/builder/plugins/composable-conditional-plugin.d.ts +0 -32
- package/dist/core/builder/plugins/composable-directly-plugin.d.ts +0 -32
- package/dist/core/builder/plugins/composable-plugin.d.ts +0 -242
- package/dist/core/builder/plugins/plugin-creator.d.ts +0 -38
- package/dist/core/builder/plugins/plugin-interfaces.d.ts +0 -343
- package/dist/core/builder/plugins/plugin-types.d.ts +0 -441
- package/dist/core/builder/raw-validator.d.ts +0 -22
- package/dist/core/builder/types/field-options.d.ts +0 -46
- package/dist/core/builder/types/types.d.ts +0 -319
- package/dist/core/builder/ultra-fast-validator.d.ts +0 -30
- package/dist/core/builder/validator-factory.d.ts +0 -29
- package/dist/core/global-config.d.ts +0 -27
- package/dist/core/index.d.ts +0 -36
- package/dist/core/optimization/array-batch-validator.d.ts +0 -68
- package/dist/core/optimization/core/field-utils.d.ts +0 -103
- package/dist/core/optimization/core/strategy-factory.d.ts +0 -84
- package/dist/core/optimization/core/validation-engine.d.ts +0 -107
- package/dist/core/optimization/execution-strategy-selector.d.ts +0 -23
- package/dist/core/optimization/unified-validator.d.ts +0 -45
- package/dist/core/plugin/__tests__/test-utils.d.ts +0 -1
- package/dist/core/plugin/arrayContains.d.ts +0 -37
- package/dist/core/plugin/arrayIncludes.d.ts +0 -42
- package/dist/core/plugin/arrayMaxLength.d.ts +0 -43
- package/dist/core/plugin/arrayMinLength.d.ts +0 -43
- package/dist/core/plugin/arrayUnique.d.ts +0 -41
- package/dist/core/plugin/booleanFalsy.d.ts +0 -41
- package/dist/core/plugin/booleanTruthy.d.ts +0 -38
- package/dist/core/plugin/compareField.d.ts +0 -58
- package/dist/core/plugin/conditionalSchema.d.ts +0 -24
- package/dist/core/plugin/custom.d.ts +0 -60
- package/dist/core/plugin/fromContext.d.ts +0 -150
- package/dist/core/plugin/index.d.ts +0 -71
- package/dist/core/plugin/jsonSchema/dsl-converter.d.ts +0 -22
- package/dist/core/plugin/jsonSchema/error-generation.d.ts +0 -14
- package/dist/core/plugin/jsonSchema/format-validators.d.ts +0 -20
- package/dist/core/plugin/jsonSchema/index.d.ts +0 -11
- package/dist/core/plugin/jsonSchema/plugin.d.ts +0 -35
- package/dist/core/plugin/jsonSchema/ref-resolver.d.ts +0 -14
- package/dist/core/plugin/jsonSchema/types.d.ts +0 -69
- package/dist/core/plugin/jsonSchema/validation-core.d.ts +0 -29
- package/dist/core/plugin/jsonSchemaFullFeature.d.ts +0 -31
- package/dist/core/plugin/literal.d.ts +0 -40
- package/dist/core/plugin/message-factories.d.ts +0 -9
- package/dist/core/plugin/nullable.d.ts +0 -34
- package/dist/core/plugin/numberFinite.d.ts +0 -41
- package/dist/core/plugin/numberInteger.d.ts +0 -41
- package/dist/core/plugin/numberMax.d.ts +0 -49
- package/dist/core/plugin/numberMin.d.ts +0 -49
- package/dist/core/plugin/numberMultipleOf.d.ts +0 -42
- package/dist/core/plugin/numberNegative.d.ts +0 -41
- package/dist/core/plugin/numberPositive.d.ts +0 -41
- package/dist/core/plugin/numberRange.d.ts +0 -48
- package/dist/core/plugin/object.d.ts +0 -43
- package/dist/core/plugin/objectAdditionalProperties.d.ts +0 -51
- package/dist/core/plugin/objectDependentRequired.d.ts +0 -42
- package/dist/core/plugin/objectDependentSchemas.d.ts +0 -40
- package/dist/core/plugin/objectMaxProperties.d.ts +0 -42
- package/dist/core/plugin/objectMinProperties.d.ts +0 -42
- package/dist/core/plugin/objectPatternProperties.d.ts +0 -46
- package/dist/core/plugin/objectPropertyNames.d.ts +0 -36
- package/dist/core/plugin/objectRecursively.d.ts +0 -81
- package/dist/core/plugin/oneOf.d.ts +0 -44
- package/dist/core/plugin/optional.d.ts +0 -35
- package/dist/core/plugin/optionalIf.d.ts +0 -42
- package/dist/core/plugin/orFail.d.ts +0 -132
- package/dist/core/plugin/readOnlyWriteOnly.d.ts +0 -48
- package/dist/core/plugin/required.d.ts +0 -45
- package/dist/core/plugin/requiredIf.d.ts +0 -66
- package/dist/core/plugin/shared-constants.d.ts +0 -45
- package/dist/core/plugin/shared.d.ts +0 -3
- package/dist/core/plugin/skip.d.ts +0 -57
- package/dist/core/plugin/stitch-typed.d.ts +0 -15
- package/dist/core/plugin/stitch.d.ts +0 -1
- package/dist/core/plugin/stitchSimple.d.ts +0 -4
- package/dist/core/plugin/stringAlphanumeric.d.ts +0 -42
- package/dist/core/plugin/stringBase64.d.ts +0 -119
- package/dist/core/plugin/stringContentEncoding.d.ts +0 -43
- package/dist/core/plugin/stringContentMediaType.d.ts +0 -47
- package/dist/core/plugin/stringDate.d.ts +0 -48
- package/dist/core/plugin/stringDatetime.d.ts +0 -108
- package/dist/core/plugin/stringDuration.d.ts +0 -41
- package/dist/core/plugin/stringEmail.d.ts +0 -81
- package/dist/core/plugin/stringEndsWith.d.ts +0 -42
- package/dist/core/plugin/stringExactLength.d.ts +0 -46
- package/dist/core/plugin/stringHostname.d.ts +0 -104
- package/dist/core/plugin/stringIpv4.d.ts +0 -85
- package/dist/core/plugin/stringIpv6.d.ts +0 -104
- package/dist/core/plugin/stringIri.d.ts +0 -117
- package/dist/core/plugin/stringIriReference.d.ts +0 -43
- package/dist/core/plugin/stringJsonPointer.d.ts +0 -107
- package/dist/core/plugin/stringMax.d.ts +0 -43
- package/dist/core/plugin/stringMin.d.ts +0 -43
- package/dist/core/plugin/stringPattern.d.ts +0 -40
- package/dist/core/plugin/stringRelativeJsonPointer.d.ts +0 -42
- package/dist/core/plugin/stringStartsWith.d.ts +0 -42
- package/dist/core/plugin/stringTime.d.ts +0 -39
- package/dist/core/plugin/stringUriTemplate.d.ts +0 -43
- package/dist/core/plugin/stringUrl.d.ts +0 -97
- package/dist/core/plugin/testUtils.d.ts +0 -15
- package/dist/core/plugin/transform-type-restrictions.d.ts +0 -61
- package/dist/core/plugin/transform.d.ts +0 -35
- package/dist/core/plugin/tupleBuilder.d.ts +0 -66
- package/dist/core/plugin/types.d.ts +0 -143
- package/dist/core/plugin/unionGuard.d.ts +0 -50
- package/dist/core/plugin/utils/field-accessor-optimized.d.ts +0 -50
- package/dist/core/plugin/utils/field-accessor.d.ts +0 -107
- package/dist/core/plugin/uuid.d.ts +0 -95
- package/dist/core/plugin/validateIf.d.ts +0 -57
- package/dist/core/registry/plugin-registry.d.ts +0 -116
- package/dist/core/registry.d.ts +0 -6
- package/dist/core/transform/index.d.ts +0 -1
- package/dist/core/transform/string/defaultValue.d.ts +0 -6
- package/dist/core/transform/string/index.d.ts +0 -3
- package/dist/core/transform/string/replace.d.ts +0 -14
- package/dist/core/transform/string/sanitize.d.ts +0 -6
- package/dist/core/utils/type-guards.d.ts +0 -68
- package/dist/index.js.map +0 -7
- package/dist/index.mjs.map +0 -7
- package/dist/types/array-type-analysis.d.ts +0 -115
- package/dist/types/indexed-result.d.ts +0 -44
- package/dist/types/result.d.ts +0 -159
- package/dist/types/stitch-types.d.ts +0 -118
- package/dist/types/util.d.ts +0 -19
- package/dist/types/valitator.d.ts +0 -10
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { TypeName } from "../types";
|
|
2
|
+
import type { ArgsOf, BindableMethod, BoundMethod, BoundPlugin, NameOf } from "./json-schema-bag.types";
|
|
3
|
+
import type { Draft07Keyword, Draft07KeywordValues } from "./draft07-keyword-value.types";
|
|
4
|
+
/**
|
|
5
|
+
* One JSON Schema keyword bound to one chain method.
|
|
6
|
+
*
|
|
7
|
+
* Nothing here is looked up in the plugin registry: every identifier arrives as
|
|
8
|
+
* a type argument, inferred by `bindKeyword` from the plugin object itself.
|
|
9
|
+
* `M extends BoundMethod<S>` is the ONLY registry contact, and it is a
|
|
10
|
+
* constraint (a gate), not a derivation (a computation) — which is what lets
|
|
11
|
+
* the type be written by hand and still be checked.
|
|
12
|
+
*/
|
|
13
|
+
export interface KeywordBinding<S extends TypeName, M extends BoundMethod<S>, TName extends string, TArgs extends readonly unknown[], V> {
|
|
14
|
+
readonly handling: "bind";
|
|
15
|
+
readonly slot: S;
|
|
16
|
+
readonly method: M;
|
|
17
|
+
readonly pluginName: TName;
|
|
18
|
+
toArguments(keywordValue: V): TArgs;
|
|
19
|
+
}
|
|
20
|
+
/** Consumer-side alias: S and M are concrete here, so the registry resolves. */
|
|
21
|
+
export type BindingForMethod<S extends TypeName, M extends BoundMethod<S>, V> = KeywordBinding<S, M, NameOf<BoundPlugin<S, M>>, ArgsOf<BoundPlugin<S, M>>, V>;
|
|
22
|
+
/** Any binding a Draft-07 keyword may legally hold: reachable and marker-free. */
|
|
23
|
+
export type AnyKeywordBinding<V = never> = {
|
|
24
|
+
[S in TypeName]: {
|
|
25
|
+
[M in BindableMethod<S> & BoundMethod<S>]: BindingForMethod<S, M, V>;
|
|
26
|
+
}[BindableMethod<S> & BoundMethod<S>];
|
|
27
|
+
}[TypeName];
|
|
28
|
+
/** The keyword shapes the CONVERTER handles itself (recursion, slot choice). */
|
|
29
|
+
export interface StructuralKeyword {
|
|
30
|
+
readonly handling: "structural";
|
|
31
|
+
readonly note: string;
|
|
32
|
+
}
|
|
33
|
+
/** Declared out of scope, in writing. The legacy code just ignored these. */
|
|
34
|
+
export interface UnsupportedKeyword {
|
|
35
|
+
readonly handling: "unsupported";
|
|
36
|
+
readonly reason: string;
|
|
37
|
+
}
|
|
38
|
+
export type KeywordHandlingFor<V> = AnyKeywordBinding<V> | StructuralKeyword | UnsupportedKeyword;
|
|
39
|
+
/** The one decision a keyword table may record, whatever the keyword. */
|
|
40
|
+
export type AnyKeywordHandling = KeywordHandlingFor<never>;
|
|
41
|
+
/**
|
|
42
|
+
* A category table: EVERY keyword of the category, each carrying a handling
|
|
43
|
+
* for that keyword's own normalised value type. Because the mapped type is
|
|
44
|
+
* total over `K`, a forgotten keyword is TS2739 and a keyword that is not in
|
|
45
|
+
* the Draft-07 vocabulary is an excess property — both compile errors, which
|
|
46
|
+
* is the whole point of writing the vocabulary down.
|
|
47
|
+
*/
|
|
48
|
+
export type KeywordTable<K extends Draft07Keyword> = {
|
|
49
|
+
readonly [Keyword in K]: KeywordHandlingFor<Draft07KeywordValues[Keyword]>;
|
|
50
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07ArrayKeyword } from "./draft07-keyword-value.types";
|
|
3
|
+
export declare const minItemsBinding: import("./keyword-binding.types").KeywordBinding<"array", "minLength", "arrayMinLength", readonly [min: number], number>;
|
|
4
|
+
export declare const maxItemsBinding: import("./keyword-binding.types").KeywordBinding<"array", "maxLength", "arrayMaxLength", readonly [max: number], number>;
|
|
5
|
+
/**
|
|
6
|
+
* The value type is `true`, not `boolean`. Draft-07 §6.4.3 defines
|
|
7
|
+
* `uniqueItems: false` as imposing no constraint, so applying this binding for
|
|
8
|
+
* `false` would add a rule the document does not state. The converter cannot
|
|
9
|
+
* reach the binding without narrowing to `true` first — the compiler, not a
|
|
10
|
+
* comment, is what enforces the no-op.
|
|
11
|
+
*/
|
|
12
|
+
export declare const uniqueItemsBinding: import("./keyword-binding.types").KeywordBinding<"array", "unique", "arrayUnique", readonly [], true>;
|
|
13
|
+
export declare const arrayKeywordMap: KeywordTable<Draft07ArrayKeyword>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrayKeywordMap = exports.uniqueItemsBinding = exports.maxItemsBinding = exports.minItemsBinding = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/keyword-map-array.ts — the six array keywords.
|
|
6
|
+
//
|
|
7
|
+
// THE C2 REGRESSION LIVES HERE, and is fixed by one word per entry: the
|
|
8
|
+
// Draft-07 keyword is `minItems`, the chain method is `minLength`. 1.x wrote
|
|
9
|
+
// `if (constraints.minItems !== undefined && chain.minItems) chain.minItems(n)`
|
|
10
|
+
// — `minItems` is not a chain method, the guard was false, and the constraint
|
|
11
|
+
// evaporated with no error at build time or run time. Writing "minItems" as
|
|
12
|
+
// the method below does not compile; the type test flips exactly that word.
|
|
13
|
+
// ===========================================================================
|
|
14
|
+
const bind_keyword_1 = require("./bind-keyword");
|
|
15
|
+
const array_min_length_1 = require("../plugins/array-min-length");
|
|
16
|
+
const array_max_length_1 = require("../plugins/array-max-length");
|
|
17
|
+
const array_unique_1 = require("../plugins/array-unique");
|
|
18
|
+
exports.minItemsBinding = (0, bind_keyword_1.bindKeyword)("array", "minLength", array_min_length_1.arrayMinLengthPlugin, (v) => [v]);
|
|
19
|
+
exports.maxItemsBinding = (0, bind_keyword_1.bindKeyword)("array", "maxLength", array_max_length_1.arrayMaxLengthPlugin, (v) => [v]);
|
|
20
|
+
/**
|
|
21
|
+
* The value type is `true`, not `boolean`. Draft-07 §6.4.3 defines
|
|
22
|
+
* `uniqueItems: false` as imposing no constraint, so applying this binding for
|
|
23
|
+
* `false` would add a rule the document does not state. The converter cannot
|
|
24
|
+
* reach the binding without narrowing to `true` first — the compiler, not a
|
|
25
|
+
* comment, is what enforces the no-op.
|
|
26
|
+
*/
|
|
27
|
+
exports.uniqueItemsBinding = (0, bind_keyword_1.bindKeyword)("array", "unique", array_unique_1.arrayUniquePlugin, (_v) => []);
|
|
28
|
+
exports.arrayKeywordMap = {
|
|
29
|
+
items: (0, bind_keyword_1.structural)("a single sub-schema becomes one sub-chain through .each(); the TUPLE " +
|
|
30
|
+
"form drives tupleBuilder's .builder(), whose method is `builder` and " +
|
|
31
|
+
"never `tupleBuilder` — the third name 1.x guessed wrong"),
|
|
32
|
+
additionalItems: (0, bind_keyword_1.structural)("the rest sub-chain of .builder(); meaningful only beside a tuple `items`"),
|
|
33
|
+
maxItems: exports.maxItemsBinding,
|
|
34
|
+
minItems: exports.minItemsBinding,
|
|
35
|
+
uniqueItems: exports.uniqueItemsBinding,
|
|
36
|
+
contains: (0, bind_keyword_1.structural)("a sub-chain applied existentially; arrayContains takes an ElementChain"),
|
|
37
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/keyword-map-array.ts — the six array keywords.
|
|
3
|
+
//
|
|
4
|
+
// THE C2 REGRESSION LIVES HERE, and is fixed by one word per entry: the
|
|
5
|
+
// Draft-07 keyword is `minItems`, the chain method is `minLength`. 1.x wrote
|
|
6
|
+
// `if (constraints.minItems !== undefined && chain.minItems) chain.minItems(n)`
|
|
7
|
+
// — `minItems` is not a chain method, the guard was false, and the constraint
|
|
8
|
+
// evaporated with no error at build time or run time. Writing "minItems" as
|
|
9
|
+
// the method below does not compile; the type test flips exactly that word.
|
|
10
|
+
// ===========================================================================
|
|
11
|
+
import { bindKeyword, structural } from "./bind-keyword.mjs";
|
|
12
|
+
import { arrayMinLengthPlugin } from "../plugins/array-min-length/index.mjs";
|
|
13
|
+
import { arrayMaxLengthPlugin } from "../plugins/array-max-length/index.mjs";
|
|
14
|
+
import { arrayUniquePlugin } from "../plugins/array-unique/index.mjs";
|
|
15
|
+
export const minItemsBinding = bindKeyword("array", "minLength", arrayMinLengthPlugin, (v) => [v]);
|
|
16
|
+
export const maxItemsBinding = bindKeyword("array", "maxLength", arrayMaxLengthPlugin, (v) => [v]);
|
|
17
|
+
/**
|
|
18
|
+
* The value type is `true`, not `boolean`. Draft-07 §6.4.3 defines
|
|
19
|
+
* `uniqueItems: false` as imposing no constraint, so applying this binding for
|
|
20
|
+
* `false` would add a rule the document does not state. The converter cannot
|
|
21
|
+
* reach the binding without narrowing to `true` first — the compiler, not a
|
|
22
|
+
* comment, is what enforces the no-op.
|
|
23
|
+
*/
|
|
24
|
+
export const uniqueItemsBinding = bindKeyword("array", "unique", arrayUniquePlugin, (_v) => []);
|
|
25
|
+
export const arrayKeywordMap = {
|
|
26
|
+
items: structural("a single sub-schema becomes one sub-chain through .each(); the TUPLE " +
|
|
27
|
+
"form drives tupleBuilder's .builder(), whose method is `builder` and " +
|
|
28
|
+
"never `tupleBuilder` — the third name 1.x guessed wrong"),
|
|
29
|
+
additionalItems: structural("the rest sub-chain of .builder(); meaningful only beside a tuple `items`"),
|
|
30
|
+
maxItems: maxItemsBinding,
|
|
31
|
+
minItems: minItemsBinding,
|
|
32
|
+
uniqueItems: uniqueItemsBinding,
|
|
33
|
+
contains: structural("a sub-chain applied existentially; arrayContains takes an ElementChain"),
|
|
34
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07CoreKeyword } from "./draft07-keyword-value.types";
|
|
3
|
+
/**
|
|
4
|
+
* `const` reaches every slot: literalPlugin's `slots` is the whole TypeName
|
|
5
|
+
* list, so `.literal()` is on the "any" chain as well as on each typed one.
|
|
6
|
+
*/
|
|
7
|
+
export declare const constBinding: import("./keyword-binding.types").KeywordBinding<"any", "literal", "literal", readonly [expected: unknown], unknown>;
|
|
8
|
+
export declare const coreKeywordMap: KeywordTable<Draft07CoreKeyword>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coreKeywordMap = exports.constBinding = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/keyword-map-core.ts — the 21 keywords that belong to no
|
|
6
|
+
// single Luq slot: document plumbing, annotations, the any-instance keywords
|
|
7
|
+
// and the applicators.
|
|
8
|
+
//
|
|
9
|
+
// Every entry is one of three written decisions and there is NO fall-through:
|
|
10
|
+
// bind a chain method, with the method name checked by the compiler.
|
|
11
|
+
// structural the CONVERTER expands it (it recurses, or it picks the slot).
|
|
12
|
+
// A sub-schema becomes a sub-CHAIN, which is a marker argument,
|
|
13
|
+
// so such a keyword can never be a binding — bindKeyword rejects
|
|
14
|
+
// it and the type test proves the rejection.
|
|
15
|
+
// unsupported out of scope, in writing, with the reason. 1.x stored eleven
|
|
16
|
+
// keywords it never read again; that is the failure this table
|
|
17
|
+
// exists to make impossible.
|
|
18
|
+
// ===========================================================================
|
|
19
|
+
const bind_keyword_1 = require("./bind-keyword");
|
|
20
|
+
const literal_1 = require("../plugins/literal");
|
|
21
|
+
const ANNOTATION_ONLY = "an annotation with no validation effect in Draft-07";
|
|
22
|
+
/**
|
|
23
|
+
* `const` reaches every slot: literalPlugin's `slots` is the whole TypeName
|
|
24
|
+
* list, so `.literal()` is on the "any" chain as well as on each typed one.
|
|
25
|
+
*/
|
|
26
|
+
exports.constBinding = (0, bind_keyword_1.bindKeyword)("any", "literal", literal_1.literalPlugin, (v) => [v]);
|
|
27
|
+
exports.coreKeywordMap = {
|
|
28
|
+
$schema: (0, bind_keyword_1.unsupported)("read and discarded: Luq targets Draft-07 and does not switch dialect"),
|
|
29
|
+
$id: (0, bind_keyword_1.unsupported)("no base-URI resolution; resolve-ref accepts local $ref only"),
|
|
30
|
+
$comment: (0, bind_keyword_1.unsupported)(ANNOTATION_ONLY),
|
|
31
|
+
$ref: (0, bind_keyword_1.structural)("resolved by resolve-ref before any keyword is read"),
|
|
32
|
+
definitions: (0, bind_keyword_1.structural)("a container of schemas, never a constraint itself"),
|
|
33
|
+
title: (0, bind_keyword_1.unsupported)(ANNOTATION_ONLY),
|
|
34
|
+
description: (0, bind_keyword_1.unsupported)(ANNOTATION_ONLY),
|
|
35
|
+
default: (0, bind_keyword_1.unsupported)("Luq never mutates the input it validates, so a default has nowhere to land"),
|
|
36
|
+
examples: (0, bind_keyword_1.unsupported)(ANNOTATION_ONLY),
|
|
37
|
+
readOnly: (0, bind_keyword_1.unsupported)(`${ANNOTATION_ONLY}; the readOnly plugin exists but is chain-only, because ` +
|
|
38
|
+
"Draft-07 gives readOnly no assertion behaviour"),
|
|
39
|
+
writeOnly: (0, bind_keyword_1.unsupported)(`${ANNOTATION_ONLY}; the writeOnly plugin exists but is chain-only`),
|
|
40
|
+
type: (0, bind_keyword_1.structural)("chooses the slot (b.string / b.number / ...), not a method on one; " +
|
|
41
|
+
"`integer` adds .integer() and a type ARRAY becomes nullable or a union"),
|
|
42
|
+
enum: (0, bind_keyword_1.structural)("the allowed-value list is typed against the FIELD (.oneOf() takes " +
|
|
43
|
+
"readonly SelfValue[]), so it carries a marker and cannot be a binding; " +
|
|
44
|
+
"the converter resolves the list and calls .oneOf() itself"),
|
|
45
|
+
const: exports.constBinding,
|
|
46
|
+
allOf: (0, bind_keyword_1.structural)("every sub-schema becomes a sub-chain the composite runs"),
|
|
47
|
+
anyOf: (0, bind_keyword_1.structural)("sub-chains combined existentially"),
|
|
48
|
+
oneOf: (0, bind_keyword_1.structural)("sub-chains counted; exactly one must pass. NB: the `enum` KEYWORD drives " +
|
|
49
|
+
"the .oneOf() METHOD, which is a different thing from this keyword"),
|
|
50
|
+
not: (0, bind_keyword_1.structural)("one negated sub-chain"),
|
|
51
|
+
if: (0, bind_keyword_1.structural)("the condition sub-chain of conditionalSchema"),
|
|
52
|
+
then: (0, bind_keyword_1.structural)("the then sub-chain of conditionalSchema"),
|
|
53
|
+
else: (0, bind_keyword_1.structural)("the else sub-chain of conditionalSchema"),
|
|
54
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/keyword-map-core.ts — the 21 keywords that belong to no
|
|
3
|
+
// single Luq slot: document plumbing, annotations, the any-instance keywords
|
|
4
|
+
// and the applicators.
|
|
5
|
+
//
|
|
6
|
+
// Every entry is one of three written decisions and there is NO fall-through:
|
|
7
|
+
// bind a chain method, with the method name checked by the compiler.
|
|
8
|
+
// structural the CONVERTER expands it (it recurses, or it picks the slot).
|
|
9
|
+
// A sub-schema becomes a sub-CHAIN, which is a marker argument,
|
|
10
|
+
// so such a keyword can never be a binding — bindKeyword rejects
|
|
11
|
+
// it and the type test proves the rejection.
|
|
12
|
+
// unsupported out of scope, in writing, with the reason. 1.x stored eleven
|
|
13
|
+
// keywords it never read again; that is the failure this table
|
|
14
|
+
// exists to make impossible.
|
|
15
|
+
// ===========================================================================
|
|
16
|
+
import { bindKeyword, structural, unsupported } from "./bind-keyword.mjs";
|
|
17
|
+
import { literalPlugin } from "../plugins/literal/index.mjs";
|
|
18
|
+
const ANNOTATION_ONLY = "an annotation with no validation effect in Draft-07";
|
|
19
|
+
/**
|
|
20
|
+
* `const` reaches every slot: literalPlugin's `slots` is the whole TypeName
|
|
21
|
+
* list, so `.literal()` is on the "any" chain as well as on each typed one.
|
|
22
|
+
*/
|
|
23
|
+
export const constBinding = bindKeyword("any", "literal", literalPlugin, (v) => [v]);
|
|
24
|
+
export const coreKeywordMap = {
|
|
25
|
+
$schema: unsupported("read and discarded: Luq targets Draft-07 and does not switch dialect"),
|
|
26
|
+
$id: unsupported("no base-URI resolution; resolve-ref accepts local $ref only"),
|
|
27
|
+
$comment: unsupported(ANNOTATION_ONLY),
|
|
28
|
+
$ref: structural("resolved by resolve-ref before any keyword is read"),
|
|
29
|
+
definitions: structural("a container of schemas, never a constraint itself"),
|
|
30
|
+
title: unsupported(ANNOTATION_ONLY),
|
|
31
|
+
description: unsupported(ANNOTATION_ONLY),
|
|
32
|
+
default: unsupported("Luq never mutates the input it validates, so a default has nowhere to land"),
|
|
33
|
+
examples: unsupported(ANNOTATION_ONLY),
|
|
34
|
+
readOnly: unsupported(`${ANNOTATION_ONLY}; the readOnly plugin exists but is chain-only, because ` +
|
|
35
|
+
"Draft-07 gives readOnly no assertion behaviour"),
|
|
36
|
+
writeOnly: unsupported(`${ANNOTATION_ONLY}; the writeOnly plugin exists but is chain-only`),
|
|
37
|
+
type: structural("chooses the slot (b.string / b.number / ...), not a method on one; " +
|
|
38
|
+
"`integer` adds .integer() and a type ARRAY becomes nullable or a union"),
|
|
39
|
+
enum: structural("the allowed-value list is typed against the FIELD (.oneOf() takes " +
|
|
40
|
+
"readonly SelfValue[]), so it carries a marker and cannot be a binding; " +
|
|
41
|
+
"the converter resolves the list and calls .oneOf() itself"),
|
|
42
|
+
const: constBinding,
|
|
43
|
+
allOf: structural("every sub-schema becomes a sub-chain the composite runs"),
|
|
44
|
+
anyOf: structural("sub-chains combined existentially"),
|
|
45
|
+
oneOf: structural("sub-chains counted; exactly one must pass. NB: the `enum` KEYWORD drives " +
|
|
46
|
+
"the .oneOf() METHOD, which is a different thing from this keyword"),
|
|
47
|
+
not: structural("one negated sub-chain"),
|
|
48
|
+
if: structural("the condition sub-chain of conditionalSchema"),
|
|
49
|
+
then: structural("the then sub-chain of conditionalSchema"),
|
|
50
|
+
else: structural("the else sub-chain of conditionalSchema"),
|
|
51
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07NumberKeyword } from "./draft07-keyword-value.types";
|
|
3
|
+
export declare const minimumBinding: import("./keyword-binding.types").KeywordBinding<"number", "min", "numberMin", readonly [min: number, exclusive?: boolean | undefined], number>;
|
|
4
|
+
export declare const maximumBinding: import("./keyword-binding.types").KeywordBinding<"number", "max", "numberMax", readonly [max: number, exclusive?: boolean | undefined], number>;
|
|
5
|
+
/** Draft-07 §6.2.5: the bound itself is excluded. Hence the trailing `true`. */
|
|
6
|
+
export declare const exclusiveMinimumBinding: import("./keyword-binding.types").KeywordBinding<"number", "min", "numberMin", readonly [min: number, exclusive?: boolean | undefined], number>;
|
|
7
|
+
export declare const exclusiveMaximumBinding: import("./keyword-binding.types").KeywordBinding<"number", "max", "numberMax", readonly [max: number, exclusive?: boolean | undefined], number>;
|
|
8
|
+
/**
|
|
9
|
+
* numberMultipleOf compares scaled integers, so `multipleOf: 0.1` accepts 0.3
|
|
10
|
+
* — the float-modulo answer 1.x gave here was wrong and is not reproduced.
|
|
11
|
+
*/
|
|
12
|
+
export declare const multipleOfBinding: import("./keyword-binding.types").KeywordBinding<"number", "multipleOf", "numberMultipleOf", readonly [divisor: number], number>;
|
|
13
|
+
export declare const numberKeywordMap: KeywordTable<Draft07NumberKeyword>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.numberKeywordMap = exports.multipleOfBinding = exports.exclusiveMaximumBinding = exports.exclusiveMinimumBinding = exports.maximumBinding = exports.minimumBinding = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/keyword-map-number.ts — the five numeric keywords.
|
|
6
|
+
//
|
|
7
|
+
// All five bind. Draft-07 spells the strict bounds as SEPARATE numeric
|
|
8
|
+
// keywords (`exclusiveMinimum: 5`), while numberMin/numberMax spell them as
|
|
9
|
+
// the same method with a second argument (`.min(5, true)`). That is the whole
|
|
10
|
+
// difference, and it is written once, here, rather than being re-decided at
|
|
11
|
+
// each call site the way 1.x re-decided it in three places.
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
const bind_keyword_1 = require("./bind-keyword");
|
|
14
|
+
const number_min_1 = require("../plugins/number-min");
|
|
15
|
+
const number_max_1 = require("../plugins/number-max");
|
|
16
|
+
const number_multiple_of_1 = require("../plugins/number-multiple-of");
|
|
17
|
+
exports.minimumBinding = (0, bind_keyword_1.bindKeyword)("number", "min", number_min_1.numberMinPlugin, (v) => [v]);
|
|
18
|
+
exports.maximumBinding = (0, bind_keyword_1.bindKeyword)("number", "max", number_max_1.numberMaxPlugin, (v) => [v]);
|
|
19
|
+
/** Draft-07 §6.2.5: the bound itself is excluded. Hence the trailing `true`. */
|
|
20
|
+
exports.exclusiveMinimumBinding = (0, bind_keyword_1.bindKeyword)("number", "min", number_min_1.numberMinPlugin, (v) => [v, true]);
|
|
21
|
+
exports.exclusiveMaximumBinding = (0, bind_keyword_1.bindKeyword)("number", "max", number_max_1.numberMaxPlugin, (v) => [v, true]);
|
|
22
|
+
/**
|
|
23
|
+
* numberMultipleOf compares scaled integers, so `multipleOf: 0.1` accepts 0.3
|
|
24
|
+
* — the float-modulo answer 1.x gave here was wrong and is not reproduced.
|
|
25
|
+
*/
|
|
26
|
+
exports.multipleOfBinding = (0, bind_keyword_1.bindKeyword)("number", "multipleOf", number_multiple_of_1.numberMultipleOfPlugin, (v) => [v]);
|
|
27
|
+
exports.numberKeywordMap = {
|
|
28
|
+
multipleOf: exports.multipleOfBinding,
|
|
29
|
+
maximum: exports.maximumBinding,
|
|
30
|
+
exclusiveMaximum: exports.exclusiveMaximumBinding,
|
|
31
|
+
minimum: exports.minimumBinding,
|
|
32
|
+
exclusiveMinimum: exports.exclusiveMinimumBinding,
|
|
33
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/keyword-map-number.ts — the five numeric keywords.
|
|
3
|
+
//
|
|
4
|
+
// All five bind. Draft-07 spells the strict bounds as SEPARATE numeric
|
|
5
|
+
// keywords (`exclusiveMinimum: 5`), while numberMin/numberMax spell them as
|
|
6
|
+
// the same method with a second argument (`.min(5, true)`). That is the whole
|
|
7
|
+
// difference, and it is written once, here, rather than being re-decided at
|
|
8
|
+
// each call site the way 1.x re-decided it in three places.
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
import { bindKeyword } from "./bind-keyword.mjs";
|
|
11
|
+
import { numberMinPlugin } from "../plugins/number-min/index.mjs";
|
|
12
|
+
import { numberMaxPlugin } from "../plugins/number-max/index.mjs";
|
|
13
|
+
import { numberMultipleOfPlugin } from "../plugins/number-multiple-of/index.mjs";
|
|
14
|
+
export const minimumBinding = bindKeyword("number", "min", numberMinPlugin, (v) => [v]);
|
|
15
|
+
export const maximumBinding = bindKeyword("number", "max", numberMaxPlugin, (v) => [v]);
|
|
16
|
+
/** Draft-07 §6.2.5: the bound itself is excluded. Hence the trailing `true`. */
|
|
17
|
+
export const exclusiveMinimumBinding = bindKeyword("number", "min", numberMinPlugin, (v) => [v, true]);
|
|
18
|
+
export const exclusiveMaximumBinding = bindKeyword("number", "max", numberMaxPlugin, (v) => [v, true]);
|
|
19
|
+
/**
|
|
20
|
+
* numberMultipleOf compares scaled integers, so `multipleOf: 0.1` accepts 0.3
|
|
21
|
+
* — the float-modulo answer 1.x gave here was wrong and is not reproduced.
|
|
22
|
+
*/
|
|
23
|
+
export const multipleOfBinding = bindKeyword("number", "multipleOf", numberMultipleOfPlugin, (v) => [v]);
|
|
24
|
+
export const numberKeywordMap = {
|
|
25
|
+
multipleOf: multipleOfBinding,
|
|
26
|
+
maximum: maximumBinding,
|
|
27
|
+
exclusiveMaximum: exclusiveMaximumBinding,
|
|
28
|
+
minimum: minimumBinding,
|
|
29
|
+
exclusiveMinimum: exclusiveMinimumBinding,
|
|
30
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07ObjectKeyword } from "./draft07-keyword-value.types";
|
|
3
|
+
export declare const minPropertiesBinding: import("./keyword-binding.types").KeywordBinding<"object", "minProperties", "objectMinProperties", readonly [min: number], number>;
|
|
4
|
+
export declare const maxPropertiesBinding: import("./keyword-binding.types").KeywordBinding<"object", "maxProperties", "objectMaxProperties", readonly [max: number], number>;
|
|
5
|
+
/**
|
|
6
|
+
* Slot "any": requiredPlugin's `slots` is the whole TypeName list, so
|
|
7
|
+
* `.required()` is reachable on every field chain, which is exactly what a
|
|
8
|
+
* presence flag needs — the parent does not know the child's slot.
|
|
9
|
+
*/
|
|
10
|
+
export declare const requiredBinding: import("./keyword-binding.types").KeywordBinding<"any", "required", "required", readonly [], true>;
|
|
11
|
+
/**
|
|
12
|
+
* The boolean form only. objectAdditionalProperties defaults its allowed set
|
|
13
|
+
* to the declared sibling keys, so `additionalProperties: false` no longer
|
|
14
|
+
* rejects every property the way 1.x's empty `allowedProperties` default did.
|
|
15
|
+
*/
|
|
16
|
+
export declare const additionalPropertiesBinding: import("./keyword-binding.types").KeywordBinding<"object", "additionalProperties", "objectAdditionalProperties", readonly [allowed: boolean, allowedProperties?: readonly string[] | undefined, allowedPatterns?: readonly string[] | undefined], boolean>;
|
|
17
|
+
export declare const objectKeywordMap: KeywordTable<Draft07ObjectKeyword>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectKeywordMap = exports.additionalPropertiesBinding = exports.requiredBinding = exports.maxPropertiesBinding = exports.minPropertiesBinding = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/keyword-map-object.ts — the eight object keywords.
|
|
6
|
+
//
|
|
7
|
+
// Two entries carry a normalisation the compiler enforces:
|
|
8
|
+
//
|
|
9
|
+
// required Draft-07 puts a string ARRAY on the PARENT. A
|
|
10
|
+
// binding applies to one field, so the converter
|
|
11
|
+
// resolves the array into one `true` per named child
|
|
12
|
+
// before it can reach this binding. The value type is
|
|
13
|
+
// `true`, so the unresolved array cannot be passed.
|
|
14
|
+
// additionalProperties Draft-07 allows a schema OR a boolean. The schema
|
|
15
|
+
// form is a sub-CHAIN (.additionalPropertiesSchema())
|
|
16
|
+
// and no binding can take one; the boolean form binds
|
|
17
|
+
// here. The value type is `boolean`, so the schema
|
|
18
|
+
// form cannot reach this entry by accident.
|
|
19
|
+
// ===========================================================================
|
|
20
|
+
const bind_keyword_1 = require("./bind-keyword");
|
|
21
|
+
const required_1 = require("../plugins/required");
|
|
22
|
+
const object_min_properties_1 = require("../plugins/object-min-properties");
|
|
23
|
+
const object_max_properties_1 = require("../plugins/object-max-properties");
|
|
24
|
+
const object_additional_properties_1 = require("../plugins/object-additional-properties");
|
|
25
|
+
exports.minPropertiesBinding = (0, bind_keyword_1.bindKeyword)("object", "minProperties", object_min_properties_1.objectMinPropertiesPlugin, (v) => [v]);
|
|
26
|
+
exports.maxPropertiesBinding = (0, bind_keyword_1.bindKeyword)("object", "maxProperties", object_max_properties_1.objectMaxPropertiesPlugin, (v) => [v]);
|
|
27
|
+
/**
|
|
28
|
+
* Slot "any": requiredPlugin's `slots` is the whole TypeName list, so
|
|
29
|
+
* `.required()` is reachable on every field chain, which is exactly what a
|
|
30
|
+
* presence flag needs — the parent does not know the child's slot.
|
|
31
|
+
*/
|
|
32
|
+
exports.requiredBinding = (0, bind_keyword_1.bindKeyword)("any", "required", required_1.requiredPlugin, (_v) => []);
|
|
33
|
+
/**
|
|
34
|
+
* The boolean form only. objectAdditionalProperties defaults its allowed set
|
|
35
|
+
* to the declared sibling keys, so `additionalProperties: false` no longer
|
|
36
|
+
* rejects every property the way 1.x's empty `allowedProperties` default did.
|
|
37
|
+
*/
|
|
38
|
+
exports.additionalPropertiesBinding = (0, bind_keyword_1.bindKeyword)("object", "additionalProperties", object_additional_properties_1.objectAdditionalPropertiesPlugin, (v) => [v]);
|
|
39
|
+
exports.objectKeywordMap = {
|
|
40
|
+
maxProperties: exports.maxPropertiesBinding,
|
|
41
|
+
minProperties: exports.minPropertiesBinding,
|
|
42
|
+
required: exports.requiredBinding,
|
|
43
|
+
properties: (0, bind_keyword_1.structural)("expanded into one .v() per declared path"),
|
|
44
|
+
patternProperties: (0, bind_keyword_1.structural)("one sub-chain per key pattern; EVERY matching pattern applies, which the " +
|
|
45
|
+
"break-after-first of 1.x did not do"),
|
|
46
|
+
additionalProperties: exports.additionalPropertiesBinding,
|
|
47
|
+
dependencies: (0, bind_keyword_1.structural)("both Draft-07 forms: a key list drives .dependentRequired(), a sub-schema " +
|
|
48
|
+
"drives .dependentSchemas(). One keyword, two chain methods, so the " +
|
|
49
|
+
"converter must branch and no single binding can express it"),
|
|
50
|
+
propertyNames: (0, bind_keyword_1.structural)("a sub-chain over property NAMES, not values"),
|
|
51
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/keyword-map-object.ts — the eight object keywords.
|
|
3
|
+
//
|
|
4
|
+
// Two entries carry a normalisation the compiler enforces:
|
|
5
|
+
//
|
|
6
|
+
// required Draft-07 puts a string ARRAY on the PARENT. A
|
|
7
|
+
// binding applies to one field, so the converter
|
|
8
|
+
// resolves the array into one `true` per named child
|
|
9
|
+
// before it can reach this binding. The value type is
|
|
10
|
+
// `true`, so the unresolved array cannot be passed.
|
|
11
|
+
// additionalProperties Draft-07 allows a schema OR a boolean. The schema
|
|
12
|
+
// form is a sub-CHAIN (.additionalPropertiesSchema())
|
|
13
|
+
// and no binding can take one; the boolean form binds
|
|
14
|
+
// here. The value type is `boolean`, so the schema
|
|
15
|
+
// form cannot reach this entry by accident.
|
|
16
|
+
// ===========================================================================
|
|
17
|
+
import { bindKeyword, structural } from "./bind-keyword.mjs";
|
|
18
|
+
import { requiredPlugin } from "../plugins/required/index.mjs";
|
|
19
|
+
import { objectMinPropertiesPlugin } from "../plugins/object-min-properties/index.mjs";
|
|
20
|
+
import { objectMaxPropertiesPlugin } from "../plugins/object-max-properties/index.mjs";
|
|
21
|
+
import { objectAdditionalPropertiesPlugin } from "../plugins/object-additional-properties/index.mjs";
|
|
22
|
+
export const minPropertiesBinding = bindKeyword("object", "minProperties", objectMinPropertiesPlugin, (v) => [v]);
|
|
23
|
+
export const maxPropertiesBinding = bindKeyword("object", "maxProperties", objectMaxPropertiesPlugin, (v) => [v]);
|
|
24
|
+
/**
|
|
25
|
+
* Slot "any": requiredPlugin's `slots` is the whole TypeName list, so
|
|
26
|
+
* `.required()` is reachable on every field chain, which is exactly what a
|
|
27
|
+
* presence flag needs — the parent does not know the child's slot.
|
|
28
|
+
*/
|
|
29
|
+
export const requiredBinding = bindKeyword("any", "required", requiredPlugin, (_v) => []);
|
|
30
|
+
/**
|
|
31
|
+
* The boolean form only. objectAdditionalProperties defaults its allowed set
|
|
32
|
+
* to the declared sibling keys, so `additionalProperties: false` no longer
|
|
33
|
+
* rejects every property the way 1.x's empty `allowedProperties` default did.
|
|
34
|
+
*/
|
|
35
|
+
export const additionalPropertiesBinding = bindKeyword("object", "additionalProperties", objectAdditionalPropertiesPlugin, (v) => [v]);
|
|
36
|
+
export const objectKeywordMap = {
|
|
37
|
+
maxProperties: maxPropertiesBinding,
|
|
38
|
+
minProperties: minPropertiesBinding,
|
|
39
|
+
required: requiredBinding,
|
|
40
|
+
properties: structural("expanded into one .v() per declared path"),
|
|
41
|
+
patternProperties: structural("one sub-chain per key pattern; EVERY matching pattern applies, which the " +
|
|
42
|
+
"break-after-first of 1.x did not do"),
|
|
43
|
+
additionalProperties: additionalPropertiesBinding,
|
|
44
|
+
dependencies: structural("both Draft-07 forms: a key list drives .dependentRequired(), a sub-schema " +
|
|
45
|
+
"drives .dependentSchemas(). One keyword, two chain methods, so the " +
|
|
46
|
+
"converter must branch and no single binding can express it"),
|
|
47
|
+
propertyNames: structural("a sub-chain over property NAMES, not values"),
|
|
48
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07StringKeyword } from "./draft07-keyword-value.types";
|
|
3
|
+
import { type ContentEncodingName } from "../plugins/string-content-encoding";
|
|
4
|
+
export declare const minLengthBinding: import("./keyword-binding.types").KeywordBinding<"string", "min", "stringMin", readonly [min: number], number>;
|
|
5
|
+
export declare const maxLengthBinding: import("./keyword-binding.types").KeywordBinding<"string", "max", "stringMax", readonly [max: number], number>;
|
|
6
|
+
/**
|
|
7
|
+
* Draft-07 spells `pattern` as an ECMA-262 SOURCE string; the plugin accepts a
|
|
8
|
+
* RegExp and only a RegExp, because 1.x's `new RegExp(source)` at the call site
|
|
9
|
+
* dropped flags silently and gave the caller no compile-time check. Compiling
|
|
10
|
+
* the schema's string therefore happens HERE, once, and nowhere else.
|
|
11
|
+
*/
|
|
12
|
+
export declare const patternBinding: import("./keyword-binding.types").KeywordBinding<"string", "pattern", "stringPattern", readonly [pattern: RegExp], string>;
|
|
13
|
+
/**
|
|
14
|
+
* The value type is `ContentEncodingName`, not `string`: an encoding the
|
|
15
|
+
* plugin does not know must be refused by the converter rather than accepted
|
|
16
|
+
* silently, and the compiler is what forces that narrowing to happen.
|
|
17
|
+
*/
|
|
18
|
+
export declare const contentEncodingBinding: import("./keyword-binding.types").KeywordBinding<"string", "contentEncoding", "stringContentEncoding", readonly [encoding: ContentEncodingName], ContentEncodingName>;
|
|
19
|
+
export declare const contentMediaTypeBinding: import("./keyword-binding.types").KeywordBinding<"string", "contentMediaType", "stringContentMediaType", readonly [mediaType: string], string>;
|
|
20
|
+
export declare const stringKeywordMap: KeywordTable<Draft07StringKeyword>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringKeywordMap = exports.contentMediaTypeBinding = exports.contentEncodingBinding = exports.patternBinding = exports.maxLengthBinding = exports.minLengthBinding = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/keyword-map-string.ts — the six string keywords.
|
|
6
|
+
//
|
|
7
|
+
// `format` is the only structural one, and it is structural for a reason worth
|
|
8
|
+
// stating: its VALUE selects the binding. One keyword, twenty possible chain
|
|
9
|
+
// methods. The selection lives in format-map.ts, which is the single format
|
|
10
|
+
// table in this repository — 1.x shipped three of them and they disagreed
|
|
11
|
+
// (docs/legacy-spec/json-schema-mapping.md records the disagreements).
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
const bind_keyword_1 = require("./bind-keyword");
|
|
14
|
+
const string_min_1 = require("../plugins/string-min");
|
|
15
|
+
const string_max_1 = require("../plugins/string-max");
|
|
16
|
+
const string_pattern_1 = require("../plugins/string-pattern");
|
|
17
|
+
const string_content_encoding_1 = require("../plugins/string-content-encoding");
|
|
18
|
+
const string_content_media_type_1 = require("../plugins/string-content-media-type");
|
|
19
|
+
exports.minLengthBinding = (0, bind_keyword_1.bindKeyword)("string", "min", string_min_1.stringMinPlugin, (v) => [v]);
|
|
20
|
+
exports.maxLengthBinding = (0, bind_keyword_1.bindKeyword)("string", "max", string_max_1.stringMaxPlugin, (v) => [v]);
|
|
21
|
+
/**
|
|
22
|
+
* Draft-07 spells `pattern` as an ECMA-262 SOURCE string; the plugin accepts a
|
|
23
|
+
* RegExp and only a RegExp, because 1.x's `new RegExp(source)` at the call site
|
|
24
|
+
* dropped flags silently and gave the caller no compile-time check. Compiling
|
|
25
|
+
* the schema's string therefore happens HERE, once, and nowhere else.
|
|
26
|
+
*/
|
|
27
|
+
exports.patternBinding = (0, bind_keyword_1.bindKeyword)("string", "pattern", string_pattern_1.stringPatternPlugin, (v) => [new RegExp(v)]);
|
|
28
|
+
/**
|
|
29
|
+
* The value type is `ContentEncodingName`, not `string`: an encoding the
|
|
30
|
+
* plugin does not know must be refused by the converter rather than accepted
|
|
31
|
+
* silently, and the compiler is what forces that narrowing to happen.
|
|
32
|
+
*/
|
|
33
|
+
exports.contentEncodingBinding = (0, bind_keyword_1.bindKeyword)("string", "contentEncoding", string_content_encoding_1.stringContentEncodingPlugin, (v) => [v]);
|
|
34
|
+
exports.contentMediaTypeBinding = (0, bind_keyword_1.bindKeyword)("string", "contentMediaType", string_content_media_type_1.stringContentMediaTypePlugin, (v) => [v]);
|
|
35
|
+
exports.stringKeywordMap = {
|
|
36
|
+
maxLength: exports.maxLengthBinding,
|
|
37
|
+
minLength: exports.minLengthBinding,
|
|
38
|
+
pattern: exports.patternBinding,
|
|
39
|
+
format: (0, bind_keyword_1.structural)("the keyword's VALUE selects which of the sixteen format plugins runs; " +
|
|
40
|
+
"see format-map.ts, the only format table in src. An unknown format " +
|
|
41
|
+
"name is an annotation and passes, which is what Draft-07 §7.2 requires"),
|
|
42
|
+
contentEncoding: exports.contentEncodingBinding,
|
|
43
|
+
contentMediaType: exports.contentMediaTypeBinding,
|
|
44
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/keyword-map-string.ts — the six string keywords.
|
|
3
|
+
//
|
|
4
|
+
// `format` is the only structural one, and it is structural for a reason worth
|
|
5
|
+
// stating: its VALUE selects the binding. One keyword, twenty possible chain
|
|
6
|
+
// methods. The selection lives in format-map.ts, which is the single format
|
|
7
|
+
// table in this repository — 1.x shipped three of them and they disagreed
|
|
8
|
+
// (docs/legacy-spec/json-schema-mapping.md records the disagreements).
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
import { bindKeyword, structural } from "./bind-keyword.mjs";
|
|
11
|
+
import { stringMinPlugin } from "../plugins/string-min/index.mjs";
|
|
12
|
+
import { stringMaxPlugin } from "../plugins/string-max/index.mjs";
|
|
13
|
+
import { stringPatternPlugin } from "../plugins/string-pattern/index.mjs";
|
|
14
|
+
import { stringContentEncodingPlugin, } from "../plugins/string-content-encoding/index.mjs";
|
|
15
|
+
import { stringContentMediaTypePlugin } from "../plugins/string-content-media-type/index.mjs";
|
|
16
|
+
export const minLengthBinding = bindKeyword("string", "min", stringMinPlugin, (v) => [v]);
|
|
17
|
+
export const maxLengthBinding = bindKeyword("string", "max", stringMaxPlugin, (v) => [v]);
|
|
18
|
+
/**
|
|
19
|
+
* Draft-07 spells `pattern` as an ECMA-262 SOURCE string; the plugin accepts a
|
|
20
|
+
* RegExp and only a RegExp, because 1.x's `new RegExp(source)` at the call site
|
|
21
|
+
* dropped flags silently and gave the caller no compile-time check. Compiling
|
|
22
|
+
* the schema's string therefore happens HERE, once, and nowhere else.
|
|
23
|
+
*/
|
|
24
|
+
export const patternBinding = bindKeyword("string", "pattern", stringPatternPlugin, (v) => [new RegExp(v)]);
|
|
25
|
+
/**
|
|
26
|
+
* The value type is `ContentEncodingName`, not `string`: an encoding the
|
|
27
|
+
* plugin does not know must be refused by the converter rather than accepted
|
|
28
|
+
* silently, and the compiler is what forces that narrowing to happen.
|
|
29
|
+
*/
|
|
30
|
+
export const contentEncodingBinding = bindKeyword("string", "contentEncoding", stringContentEncodingPlugin, (v) => [v]);
|
|
31
|
+
export const contentMediaTypeBinding = bindKeyword("string", "contentMediaType", stringContentMediaTypePlugin, (v) => [v]);
|
|
32
|
+
export const stringKeywordMap = {
|
|
33
|
+
maxLength: maxLengthBinding,
|
|
34
|
+
minLength: minLengthBinding,
|
|
35
|
+
pattern: patternBinding,
|
|
36
|
+
format: structural("the keyword's VALUE selects which of the sixteen format plugins runs; " +
|
|
37
|
+
"see format-map.ts, the only format table in src. An unknown format " +
|
|
38
|
+
"name is an annotation and passes, which is what Draft-07 §7.2 requires"),
|
|
39
|
+
contentEncoding: contentEncodingBinding,
|
|
40
|
+
contentMediaType: contentMediaTypeBinding,
|
|
41
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AnyKeywordHandling, KeywordTable } from "./keyword-binding.types";
|
|
2
|
+
import type { Draft07Keyword } from "./draft07-keyword-value.types";
|
|
3
|
+
export declare const draft07KeywordMap: KeywordTable<Draft07Keyword>;
|
|
4
|
+
/**
|
|
5
|
+
* Keywords Luq recognises the NAME of but which are not Draft-07. They are
|
|
6
|
+
* listed so that "we did not implement it" and "it is not in this dialect"
|
|
7
|
+
* stay different answers. `$defs` is the one exception that still does
|
|
8
|
+
* something: resolve-ref follows it, because a 2019-09 document's pointers
|
|
9
|
+
* would otherwise dangle.
|
|
10
|
+
*/
|
|
11
|
+
export declare const NON_DRAFT07_KEYWORDS: Readonly<Record<string, string>>;
|
|
12
|
+
export declare function isDraft07Keyword(keyword: string): keyword is Draft07Keyword;
|
|
13
|
+
/** Every keyword the table decides on. No assertion; the guard narrows. */
|
|
14
|
+
export declare function listDraft07Keywords(): readonly Draft07Keyword[];
|
|
15
|
+
/** `undefined` = not a Draft-07 keyword at all. See NON_DRAFT07_KEYWORDS. */
|
|
16
|
+
export declare function findKeywordHandling(keyword: string): AnyKeywordHandling | undefined;
|
|
17
|
+
/** Throws for a keyword the table declares out of scope. Never silent. */
|
|
18
|
+
export declare function assertKeywordSupported(keyword: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Every plugin the two tables bind, de-duplicated and sorted. Step 26 GENERATES
|
|
21
|
+
* the full-feature bundle's use() list from this, so the bundle cannot name a
|
|
22
|
+
* plugin that is not bound, and cannot omit one that is.
|
|
23
|
+
*/
|
|
24
|
+
export declare function listBoundPluginNames(): readonly string[];
|
|
25
|
+
export interface KeywordHandlingCounts {
|
|
26
|
+
readonly bind: number;
|
|
27
|
+
readonly structural: number;
|
|
28
|
+
readonly unsupported: number;
|
|
29
|
+
readonly total: number;
|
|
30
|
+
}
|
|
31
|
+
/** Counted, never asserted: the published numbers come from this function. */
|
|
32
|
+
export declare function countKeywordHandlings(table: Readonly<Record<string, AnyKeywordHandling>>): KeywordHandlingCounts;
|