@maroonedog/luq 0.1.2-alpha → 2.0.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 +389 -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 +82 -0
- package/dist/chain/create-chain-node.mjs +77 -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 +41 -0
- package/dist/compile/resolve-conditional-presence.mjs +37 -0
- package/dist/compile/resolve-presence.d.ts +6 -0
- package/dist/compile/resolve-presence.js +59 -0
- package/dist/compile/resolve-presence.mjs +55 -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 +113 -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 +64 -0
- package/dist/json-schema/build-from-schema.mjs +57 -0
- package/dist/json-schema/collect-definitions.d.ts +21 -0
- package/dist/json-schema/collect-definitions.js +67 -0
- package/dist/json-schema/collect-definitions.mjs +59 -0
- package/dist/json-schema/collect-sub-schema-rules.d.ts +6 -0
- package/dist/json-schema/collect-sub-schema-rules.js +82 -0
- package/dist/json-schema/collect-sub-schema-rules.mjs +78 -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 +10 -0
- package/dist/json-schema/create-structural-context.js +51 -0
- package/dist/json-schema/create-structural-context.mjs +48 -0
- package/dist/json-schema/declare-object-keywords.d.ts +24 -0
- package/dist/json-schema/declare-object-keywords.js +140 -0
- package/dist/json-schema/declare-object-keywords.mjs +132 -0
- package/dist/json-schema/declare-presence.d.ts +12 -0
- package/dist/json-schema/declare-presence.js +46 -0
- package/dist/json-schema/declare-presence.mjs +43 -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 +3 -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 +18 -0
- package/dist/json-schema/extensions/json-schema/json-schema.js +100 -0
- package/dist/json-schema/extensions/json-schema/json-schema.mjs +96 -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 +4 -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 +23 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.js +64 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.mjs +60 -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/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 +19 -0
- package/dist/json-schema/index.js +57 -0
- package/dist/json-schema/index.mjs +19 -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/resolve-ref.d.ts +16 -0
- package/dist/json-schema/resolve-ref.js +103 -0
- package/dist/json-schema/resolve-ref.mjs +97 -0
- package/dist/json-schema/schema-to-declarations.d.ts +9 -0
- package/dist/json-schema/schema-to-declarations.js +122 -0
- package/dist/json-schema/schema-to-declarations.mjs +116 -0
- package/dist/json-schema/structural-expansion.types.d.ts +83 -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/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 +55 -0
- package/dist/path/create-value-writer.mjs +52 -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 +28 -0
- package/dist/path/reserved-segment.js +68 -0
- package/dist/path/reserved-segment.mjs +62 -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 +99 -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 +48 -0
- package/dist/plugin-kit/create-rule.js +67 -0
- package/dist/plugin-kit/create-rule.mjs +57 -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 +40 -0
- package/dist/plugin-kit/plugin-definition.js +25 -0
- package/dist/plugin-kit/plugin-definition.mjs +20 -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 +56 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.mjs +53 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.d.ts +9 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.js +40 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.mjs +37 -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 +47 -0
- package/dist/runtime/decide-presence.mjs +44 -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/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 +64 -70
- package/dist/types/index.js +28 -0
- package/dist/types/index.mjs +19 -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 +516 -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,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.declareObjectRules = declareObjectRules;
|
|
4
|
+
exports.declareAdditionalPropertiesSchema = declareAdditionalPropertiesSchema;
|
|
5
|
+
exports.declarePatternProperties = declarePatternProperties;
|
|
6
|
+
exports.declarePropertyNames = declarePropertyNames;
|
|
7
|
+
exports.declareDependencies = declareDependencies;
|
|
8
|
+
exports.readPropertyChildren = readPropertyChildren;
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
// L8 src/json-schema/declare-object-keywords.ts — the object keywords: the
|
|
11
|
+
// three that bind, and the four object shapes that expand.
|
|
12
|
+
//
|
|
13
|
+
// THE NORMALISATIONS THE COMPILER FORCES (draft07-keyword-value.types.ts):
|
|
14
|
+
// additionalProperties a schema is a sub-CHAIN and only the boolean form
|
|
15
|
+
// binds. `declaredSiblingKeys` on the chain context is
|
|
16
|
+
// set by schema-to-declarations to THIS schema's own
|
|
17
|
+
// `properties` keys, so the plugin's allowed set is the
|
|
18
|
+
// draft's — 1.x defaulted it to the empty list and
|
|
19
|
+
// `additionalProperties: false` rejected every property.
|
|
20
|
+
// dependencies one keyword, two chain methods: a key list drives
|
|
21
|
+
// .dependentRequired(), a sub-schema .dependentSchemas().
|
|
22
|
+
// ===========================================================================
|
|
23
|
+
const create_chain_node_1 = require("../chain/create-chain-node");
|
|
24
|
+
const create_field_slots_1 = require("../chain/create-field-slots");
|
|
25
|
+
const types_1 = require("../types");
|
|
26
|
+
const apply_keyword_binding_1 = require("./apply-keyword-binding");
|
|
27
|
+
const collect_definitions_1 = require("./collect-definitions");
|
|
28
|
+
const keyword_map_object_1 = require("./keyword-map-object");
|
|
29
|
+
const NO_RULES = Object.freeze([]);
|
|
30
|
+
function readRules(chain) {
|
|
31
|
+
return (0, create_chain_node_1.readChainRules)(chain) ?? NO_RULES;
|
|
32
|
+
}
|
|
33
|
+
function declareObjectRules(schema, context) {
|
|
34
|
+
let chain = (0, create_field_slots_1.createFieldSlots)(context.bag, context.build).object;
|
|
35
|
+
if (schema.minProperties !== undefined) {
|
|
36
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_object_1.minPropertiesBinding, schema.minProperties);
|
|
37
|
+
}
|
|
38
|
+
if (schema.maxProperties !== undefined) {
|
|
39
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_object_1.maxPropertiesBinding, schema.maxProperties);
|
|
40
|
+
}
|
|
41
|
+
const additional = schema.additionalProperties;
|
|
42
|
+
if (typeof additional === "boolean") {
|
|
43
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_object_1.additionalPropertiesBinding, additional);
|
|
44
|
+
}
|
|
45
|
+
return readRules(chain);
|
|
46
|
+
}
|
|
47
|
+
/** The SCHEMA form of `additionalProperties`: every undeclared value obeys it. */
|
|
48
|
+
function declareAdditionalPropertiesSchema(schema, context) {
|
|
49
|
+
const additional = schema.additionalProperties;
|
|
50
|
+
if (additional === undefined || typeof additional === "boolean") {
|
|
51
|
+
return NO_RULES;
|
|
52
|
+
}
|
|
53
|
+
const plugin = context.bag.objectAdditionalPropertiesSchema;
|
|
54
|
+
return Object.freeze([
|
|
55
|
+
plugin.build(context.ruleContextFor(plugin.name, "additionalProperties"), context.collectSubSchemaRules(additional)),
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
/** EVERY matching pattern applies; 1.x broke after the first match. */
|
|
59
|
+
function declarePatternProperties(schema, context) {
|
|
60
|
+
const patterns = schema.patternProperties;
|
|
61
|
+
if (patterns === undefined)
|
|
62
|
+
return NO_RULES;
|
|
63
|
+
const byPattern = {};
|
|
64
|
+
for (const [pattern, member] of Object.entries(patterns)) {
|
|
65
|
+
byPattern[pattern] = context.collectSubSchemaRules(member);
|
|
66
|
+
}
|
|
67
|
+
const plugin = context.bag.objectPatternProperties;
|
|
68
|
+
return Object.freeze([
|
|
69
|
+
plugin.build(context.ruleContextFor(plugin.name, "patternProperties"), Object.freeze(byPattern)),
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
/** A sub-chain over the property NAMES, which are always strings. */
|
|
73
|
+
function declarePropertyNames(schema, context) {
|
|
74
|
+
const names = schema.propertyNames;
|
|
75
|
+
if (names === undefined)
|
|
76
|
+
return NO_RULES;
|
|
77
|
+
const plugin = context.bag.objectPropertyNames;
|
|
78
|
+
return Object.freeze([
|
|
79
|
+
plugin.build(context.ruleContextFor(plugin.name, "propertyNames"), context.collectSubSchemaRules(names)),
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
function splitDependencies(dependencies) {
|
|
83
|
+
const required = {};
|
|
84
|
+
const schemas = {};
|
|
85
|
+
for (const [key, dependency] of Object.entries(dependencies)) {
|
|
86
|
+
if ((0, types_1.isStringArray)(dependency)) {
|
|
87
|
+
required[key] = dependency;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
schemas[key] = (0, collect_definitions_1.toSchemaObject)(dependency);
|
|
91
|
+
}
|
|
92
|
+
return { required, schemas };
|
|
93
|
+
}
|
|
94
|
+
function declareDependencies(schema, context) {
|
|
95
|
+
const dependencies = schema.dependencies;
|
|
96
|
+
if (dependencies === undefined)
|
|
97
|
+
return NO_RULES;
|
|
98
|
+
const split = splitDependencies(dependencies);
|
|
99
|
+
const rules = [];
|
|
100
|
+
if (Object.keys(split.required).length > 0) {
|
|
101
|
+
const plugin = context.bag.objectDependentRequired;
|
|
102
|
+
rules.push(plugin.build(context.ruleContextFor(plugin.name, "dependencies"), Object.freeze(split.required)));
|
|
103
|
+
}
|
|
104
|
+
const schemaKeys = Object.keys(split.schemas);
|
|
105
|
+
if (schemaKeys.length > 0) {
|
|
106
|
+
const byKey = {};
|
|
107
|
+
for (const key of schemaKeys) {
|
|
108
|
+
const member = split.schemas[key];
|
|
109
|
+
if (member === undefined)
|
|
110
|
+
continue;
|
|
111
|
+
byKey[key] = context.collectSubSchemaRules(member);
|
|
112
|
+
}
|
|
113
|
+
const plugin = context.bag.objectDependentSchemas;
|
|
114
|
+
rules.push(plugin.build(context.ruleContextFor(plugin.name, "dependencies"), Object.freeze(byKey)));
|
|
115
|
+
}
|
|
116
|
+
return Object.freeze(rules);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* `properties` becomes one declared path per key; see flatten-schema.ts.
|
|
120
|
+
*
|
|
121
|
+
* Every child is declared NOT required here: requiredness belongs to the object
|
|
122
|
+
* (declareRequiredProperties). A name in `required` with no `properties` entry
|
|
123
|
+
* still gets a path on the empty schema, because §6.5.3 makes the two keywords
|
|
124
|
+
* independent and the root distribution needs the path to exist.
|
|
125
|
+
*/
|
|
126
|
+
function readPropertyChildren(schema) {
|
|
127
|
+
const properties = schema.properties ?? {};
|
|
128
|
+
const required = schema.required ?? [];
|
|
129
|
+
const children = Object.entries(properties).map(([key, member]) => ({
|
|
130
|
+
step: key,
|
|
131
|
+
schema: member,
|
|
132
|
+
isRequired: false,
|
|
133
|
+
}));
|
|
134
|
+
for (const key of required) {
|
|
135
|
+
if (Object.prototype.hasOwnProperty.call(properties, key))
|
|
136
|
+
continue;
|
|
137
|
+
children.push({ step: key, schema: true, isRequired: false });
|
|
138
|
+
}
|
|
139
|
+
return Object.freeze(children);
|
|
140
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/declare-object-keywords.ts — the object keywords: the
|
|
3
|
+
// three that bind, and the four object shapes that expand.
|
|
4
|
+
//
|
|
5
|
+
// THE NORMALISATIONS THE COMPILER FORCES (draft07-keyword-value.types.ts):
|
|
6
|
+
// additionalProperties a schema is a sub-CHAIN and only the boolean form
|
|
7
|
+
// binds. `declaredSiblingKeys` on the chain context is
|
|
8
|
+
// set by schema-to-declarations to THIS schema's own
|
|
9
|
+
// `properties` keys, so the plugin's allowed set is the
|
|
10
|
+
// draft's — 1.x defaulted it to the empty list and
|
|
11
|
+
// `additionalProperties: false` rejected every property.
|
|
12
|
+
// dependencies one keyword, two chain methods: a key list drives
|
|
13
|
+
// .dependentRequired(), a sub-schema .dependentSchemas().
|
|
14
|
+
// ===========================================================================
|
|
15
|
+
import { readChainRules } from "../chain/create-chain-node.mjs";
|
|
16
|
+
import { createFieldSlots } from "../chain/create-field-slots.mjs";
|
|
17
|
+
import { isStringArray } from "../types/index.mjs";
|
|
18
|
+
import { applyKeywordBinding } from "./apply-keyword-binding.mjs";
|
|
19
|
+
import { toSchemaObject } from "./collect-definitions.mjs";
|
|
20
|
+
import { additionalPropertiesBinding, maxPropertiesBinding, minPropertiesBinding, } from "./keyword-map-object.mjs";
|
|
21
|
+
const NO_RULES = Object.freeze([]);
|
|
22
|
+
function readRules(chain) {
|
|
23
|
+
return readChainRules(chain) ?? NO_RULES;
|
|
24
|
+
}
|
|
25
|
+
export function declareObjectRules(schema, context) {
|
|
26
|
+
let chain = createFieldSlots(context.bag, context.build).object;
|
|
27
|
+
if (schema.minProperties !== undefined) {
|
|
28
|
+
chain = applyKeywordBinding(chain, minPropertiesBinding, schema.minProperties);
|
|
29
|
+
}
|
|
30
|
+
if (schema.maxProperties !== undefined) {
|
|
31
|
+
chain = applyKeywordBinding(chain, maxPropertiesBinding, schema.maxProperties);
|
|
32
|
+
}
|
|
33
|
+
const additional = schema.additionalProperties;
|
|
34
|
+
if (typeof additional === "boolean") {
|
|
35
|
+
chain = applyKeywordBinding(chain, additionalPropertiesBinding, additional);
|
|
36
|
+
}
|
|
37
|
+
return readRules(chain);
|
|
38
|
+
}
|
|
39
|
+
/** The SCHEMA form of `additionalProperties`: every undeclared value obeys it. */
|
|
40
|
+
export function declareAdditionalPropertiesSchema(schema, context) {
|
|
41
|
+
const additional = schema.additionalProperties;
|
|
42
|
+
if (additional === undefined || typeof additional === "boolean") {
|
|
43
|
+
return NO_RULES;
|
|
44
|
+
}
|
|
45
|
+
const plugin = context.bag.objectAdditionalPropertiesSchema;
|
|
46
|
+
return Object.freeze([
|
|
47
|
+
plugin.build(context.ruleContextFor(plugin.name, "additionalProperties"), context.collectSubSchemaRules(additional)),
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
/** EVERY matching pattern applies; 1.x broke after the first match. */
|
|
51
|
+
export function declarePatternProperties(schema, context) {
|
|
52
|
+
const patterns = schema.patternProperties;
|
|
53
|
+
if (patterns === undefined)
|
|
54
|
+
return NO_RULES;
|
|
55
|
+
const byPattern = {};
|
|
56
|
+
for (const [pattern, member] of Object.entries(patterns)) {
|
|
57
|
+
byPattern[pattern] = context.collectSubSchemaRules(member);
|
|
58
|
+
}
|
|
59
|
+
const plugin = context.bag.objectPatternProperties;
|
|
60
|
+
return Object.freeze([
|
|
61
|
+
plugin.build(context.ruleContextFor(plugin.name, "patternProperties"), Object.freeze(byPattern)),
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
/** A sub-chain over the property NAMES, which are always strings. */
|
|
65
|
+
export function declarePropertyNames(schema, context) {
|
|
66
|
+
const names = schema.propertyNames;
|
|
67
|
+
if (names === undefined)
|
|
68
|
+
return NO_RULES;
|
|
69
|
+
const plugin = context.bag.objectPropertyNames;
|
|
70
|
+
return Object.freeze([
|
|
71
|
+
plugin.build(context.ruleContextFor(plugin.name, "propertyNames"), context.collectSubSchemaRules(names)),
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
function splitDependencies(dependencies) {
|
|
75
|
+
const required = {};
|
|
76
|
+
const schemas = {};
|
|
77
|
+
for (const [key, dependency] of Object.entries(dependencies)) {
|
|
78
|
+
if (isStringArray(dependency)) {
|
|
79
|
+
required[key] = dependency;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
schemas[key] = toSchemaObject(dependency);
|
|
83
|
+
}
|
|
84
|
+
return { required, schemas };
|
|
85
|
+
}
|
|
86
|
+
export function declareDependencies(schema, context) {
|
|
87
|
+
const dependencies = schema.dependencies;
|
|
88
|
+
if (dependencies === undefined)
|
|
89
|
+
return NO_RULES;
|
|
90
|
+
const split = splitDependencies(dependencies);
|
|
91
|
+
const rules = [];
|
|
92
|
+
if (Object.keys(split.required).length > 0) {
|
|
93
|
+
const plugin = context.bag.objectDependentRequired;
|
|
94
|
+
rules.push(plugin.build(context.ruleContextFor(plugin.name, "dependencies"), Object.freeze(split.required)));
|
|
95
|
+
}
|
|
96
|
+
const schemaKeys = Object.keys(split.schemas);
|
|
97
|
+
if (schemaKeys.length > 0) {
|
|
98
|
+
const byKey = {};
|
|
99
|
+
for (const key of schemaKeys) {
|
|
100
|
+
const member = split.schemas[key];
|
|
101
|
+
if (member === undefined)
|
|
102
|
+
continue;
|
|
103
|
+
byKey[key] = context.collectSubSchemaRules(member);
|
|
104
|
+
}
|
|
105
|
+
const plugin = context.bag.objectDependentSchemas;
|
|
106
|
+
rules.push(plugin.build(context.ruleContextFor(plugin.name, "dependencies"), Object.freeze(byKey)));
|
|
107
|
+
}
|
|
108
|
+
return Object.freeze(rules);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* `properties` becomes one declared path per key; see flatten-schema.ts.
|
|
112
|
+
*
|
|
113
|
+
* Every child is declared NOT required here: requiredness belongs to the object
|
|
114
|
+
* (declareRequiredProperties). A name in `required` with no `properties` entry
|
|
115
|
+
* still gets a path on the empty schema, because §6.5.3 makes the two keywords
|
|
116
|
+
* independent and the root distribution needs the path to exist.
|
|
117
|
+
*/
|
|
118
|
+
export function readPropertyChildren(schema) {
|
|
119
|
+
const properties = schema.properties ?? {};
|
|
120
|
+
const required = schema.required ?? [];
|
|
121
|
+
const children = Object.entries(properties).map(([key, member]) => ({
|
|
122
|
+
step: key,
|
|
123
|
+
schema: member,
|
|
124
|
+
isRequired: false,
|
|
125
|
+
}));
|
|
126
|
+
for (const key of required) {
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(properties, key))
|
|
128
|
+
continue;
|
|
129
|
+
children.push({ step: key, schema: true, isRequired: false });
|
|
130
|
+
}
|
|
131
|
+
return Object.freeze(children);
|
|
132
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Rule } from "../plugin-kit/compiled-rule";
|
|
2
|
+
import type { IssueSeverity } from "../types";
|
|
3
|
+
export interface PresenceDeclaration {
|
|
4
|
+
readonly isRequired: boolean;
|
|
5
|
+
readonly allowsNull: boolean;
|
|
6
|
+
readonly severity: IssueSeverity;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A field that may be absent AND may be null needs no rule at all: that is
|
|
10
|
+
* OPEN_PRESENCE, the policy a field with no presence rule already carries.
|
|
11
|
+
*/
|
|
12
|
+
export declare function declarePresenceRules(declaration: PresenceDeclaration): readonly Rule[];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.declarePresenceRules = declarePresenceRules;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/declare-presence.ts — is this property allowed to be
|
|
6
|
+
// ABSENT, and is it allowed to be NULL?
|
|
7
|
+
//
|
|
8
|
+
// Draft-07 answers with two different keywords in two different places: the
|
|
9
|
+
// PARENT's `required` array decides absence, and the child's own `type` decides
|
|
10
|
+
// null (a `type` that omits "null" forbids it; NO `type` at all forbids
|
|
11
|
+
// nothing). Luq answers with one merged PresencePolicy per field, so the two
|
|
12
|
+
// have to be resolved together — which is also why this is not the `required`
|
|
13
|
+
// KEYWORD BINDING from keyword-map-object.ts.
|
|
14
|
+
//
|
|
15
|
+
// WHY NOT `.required()` (measured, and a deliberate deviation): requiredPlugin
|
|
16
|
+
// declares `emptyStringIsMissing: true`, carried over verbatim from 1.x's
|
|
17
|
+
// form-oriented emptiness, and src/compile/resolve-presence.ts merges that flag
|
|
18
|
+
// with `.some()`, so no companion rule can switch it back off. Under
|
|
19
|
+
// `.required()` the document `{"name": ""}` therefore FAILS `required: ["name"]`,
|
|
20
|
+
// which Draft-07 §6.5.3 permits — the keyword is about the property being
|
|
21
|
+
// PRESENT, not about it being non-empty. The policy below is the same rule kind
|
|
22
|
+
// from the same factory with `emptyStringIsMissing: false`.
|
|
23
|
+
// ===========================================================================
|
|
24
|
+
const create_rule_1 = require("../plugin-kit/create-rule");
|
|
25
|
+
/**
|
|
26
|
+
* A field that may be absent AND may be null needs no rule at all: that is
|
|
27
|
+
* OPEN_PRESENCE, the policy a field with no presence rule already carries.
|
|
28
|
+
*/
|
|
29
|
+
function declarePresenceRules(declaration) {
|
|
30
|
+
if (!declaration.isRequired && declaration.allowsNull) {
|
|
31
|
+
return Object.freeze([]);
|
|
32
|
+
}
|
|
33
|
+
return Object.freeze([
|
|
34
|
+
(0, create_rule_1.presence)({
|
|
35
|
+
code: declaration.isRequired ? "required" : "type",
|
|
36
|
+
severity: declaration.severity,
|
|
37
|
+
allowUndefined: !declaration.isRequired,
|
|
38
|
+
allowNull: declaration.allowsNull,
|
|
39
|
+
emptyStringIsMissing: false,
|
|
40
|
+
describe: (messageContext) => declaration.isRequired
|
|
41
|
+
? `${messageContext.path} is required`
|
|
42
|
+
: `${messageContext.path} must not be null`,
|
|
43
|
+
buildMessageContext: () => ({}),
|
|
44
|
+
}),
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/declare-presence.ts — is this property allowed to be
|
|
3
|
+
// ABSENT, and is it allowed to be NULL?
|
|
4
|
+
//
|
|
5
|
+
// Draft-07 answers with two different keywords in two different places: the
|
|
6
|
+
// PARENT's `required` array decides absence, and the child's own `type` decides
|
|
7
|
+
// null (a `type` that omits "null" forbids it; NO `type` at all forbids
|
|
8
|
+
// nothing). Luq answers with one merged PresencePolicy per field, so the two
|
|
9
|
+
// have to be resolved together — which is also why this is not the `required`
|
|
10
|
+
// KEYWORD BINDING from keyword-map-object.ts.
|
|
11
|
+
//
|
|
12
|
+
// WHY NOT `.required()` (measured, and a deliberate deviation): requiredPlugin
|
|
13
|
+
// declares `emptyStringIsMissing: true`, carried over verbatim from 1.x's
|
|
14
|
+
// form-oriented emptiness, and src/compile/resolve-presence.ts merges that flag
|
|
15
|
+
// with `.some()`, so no companion rule can switch it back off. Under
|
|
16
|
+
// `.required()` the document `{"name": ""}` therefore FAILS `required: ["name"]`,
|
|
17
|
+
// which Draft-07 §6.5.3 permits — the keyword is about the property being
|
|
18
|
+
// PRESENT, not about it being non-empty. The policy below is the same rule kind
|
|
19
|
+
// from the same factory with `emptyStringIsMissing: false`.
|
|
20
|
+
// ===========================================================================
|
|
21
|
+
import { presence } from "../plugin-kit/create-rule.mjs";
|
|
22
|
+
/**
|
|
23
|
+
* A field that may be absent AND may be null needs no rule at all: that is
|
|
24
|
+
* OPEN_PRESENCE, the policy a field with no presence rule already carries.
|
|
25
|
+
*/
|
|
26
|
+
export function declarePresenceRules(declaration) {
|
|
27
|
+
if (!declaration.isRequired && declaration.allowsNull) {
|
|
28
|
+
return Object.freeze([]);
|
|
29
|
+
}
|
|
30
|
+
return Object.freeze([
|
|
31
|
+
presence({
|
|
32
|
+
code: declaration.isRequired ? "required" : "type",
|
|
33
|
+
severity: declaration.severity,
|
|
34
|
+
allowUndefined: !declaration.isRequired,
|
|
35
|
+
allowNull: declaration.allowsNull,
|
|
36
|
+
emptyStringIsMissing: false,
|
|
37
|
+
describe: (messageContext) => declaration.isRequired
|
|
38
|
+
? `${messageContext.path} is required`
|
|
39
|
+
: `${messageContext.path} must not be null`,
|
|
40
|
+
buildMessageContext: () => ({}),
|
|
41
|
+
}),
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Rule } from "../plugin-kit/compiled-rule";
|
|
2
|
+
import type { Draft07SchemaObject } from "./draft07.types";
|
|
3
|
+
import type { StructuralContext } from "./structural-expansion.types";
|
|
4
|
+
/**
|
|
5
|
+
* `required` as a rule on the OBJECT, not as a presence rule on each child.
|
|
6
|
+
*
|
|
7
|
+
* The difference decides a verdict. A child's presence rule fires whenever the
|
|
8
|
+
* child reads `undefined`, which includes the case where the PARENT is absent —
|
|
9
|
+
* so `{properties:{a:{properties:{b:{}},required:["b"]}}}` would refuse `{}`,
|
|
10
|
+
* although Draft-07 applies a sub-schema only to a value that is there. Asking
|
|
11
|
+
* the object itself asks the question the draft asks, and §6.5.3 also says a
|
|
12
|
+
* NON-object is none of `required`'s business, which is why a non-object passes.
|
|
13
|
+
*
|
|
14
|
+
* The document ROOT is the exception and is handled in flatten-schema.ts: it has
|
|
15
|
+
* no declarable path to carry this rule, and it is always present anyway
|
|
16
|
+
* (src/runtime/create-validator.ts refuses a missing root before the plan runs).
|
|
17
|
+
*/
|
|
18
|
+
export declare function declareRequiredProperties(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.declareRequiredProperties = declareRequiredProperties;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L8 src/json-schema/declare-required-properties.ts — `required`, as a rule on
|
|
6
|
+
// the OBJECT rather than on each named child.
|
|
7
|
+
//
|
|
8
|
+
// The distinction decides verdicts, so it is worth a file of its own. See the
|
|
9
|
+
// doc comment below; the short version is that a child's presence rule cannot
|
|
10
|
+
// tell "the property is missing from an object that IS there" from "the whole
|
|
11
|
+
// object is absent", and Draft-07 applies a sub-schema only to a value that is
|
|
12
|
+
// there.
|
|
13
|
+
//
|
|
14
|
+
// This is also the reason the `required` KEYWORD BINDING in keyword-map-object.ts
|
|
15
|
+
// is not the mechanism here: `.required()` is a presence rule on ONE field, and
|
|
16
|
+
// it additionally treats "" as absent (1.x's form emptiness), which §6.5.3 does
|
|
17
|
+
// not. The binding stays as the type-checked record that `required` maps to
|
|
18
|
+
// `.required()`; the converter needs the object-level question instead.
|
|
19
|
+
// ===========================================================================
|
|
20
|
+
const create_rule_1 = require("../plugin-kit/create-rule");
|
|
21
|
+
const types_1 = require("../types");
|
|
22
|
+
const NO_RULES = Object.freeze([]);
|
|
23
|
+
/**
|
|
24
|
+
* `required` as a rule on the OBJECT, not as a presence rule on each child.
|
|
25
|
+
*
|
|
26
|
+
* The difference decides a verdict. A child's presence rule fires whenever the
|
|
27
|
+
* child reads `undefined`, which includes the case where the PARENT is absent —
|
|
28
|
+
* so `{properties:{a:{properties:{b:{}},required:["b"]}}}` would refuse `{}`,
|
|
29
|
+
* although Draft-07 applies a sub-schema only to a value that is there. Asking
|
|
30
|
+
* the object itself asks the question the draft asks, and §6.5.3 also says a
|
|
31
|
+
* NON-object is none of `required`'s business, which is why a non-object passes.
|
|
32
|
+
*
|
|
33
|
+
* The document ROOT is the exception and is handled in flatten-schema.ts: it has
|
|
34
|
+
* no declarable path to carry this rule, and it is always present anyway
|
|
35
|
+
* (src/runtime/create-validator.ts refuses a missing root before the plan runs).
|
|
36
|
+
*/
|
|
37
|
+
function declareRequiredProperties(schema, context) {
|
|
38
|
+
const required = schema.required;
|
|
39
|
+
if (required === undefined || required.length === 0)
|
|
40
|
+
return NO_RULES;
|
|
41
|
+
const missingOf = (value) => required.filter((key) => !Object.prototype.hasOwnProperty.call(value, key));
|
|
42
|
+
return Object.freeze([
|
|
43
|
+
(0, create_rule_1.check)({
|
|
44
|
+
code: "required",
|
|
45
|
+
severity: context.build.config.defaultSeverity,
|
|
46
|
+
run: (value) => {
|
|
47
|
+
if (!(0, types_1.isPlainObject)(value))
|
|
48
|
+
return types_1.PASS;
|
|
49
|
+
const missing = missingOf(value);
|
|
50
|
+
return missing.length === 0
|
|
51
|
+
? types_1.PASS
|
|
52
|
+
: (0, types_1.fail)({ expected: required, actual: missing });
|
|
53
|
+
},
|
|
54
|
+
describe: (detail) => `Missing required propert${(0, types_1.isArray)(detail.actual) && detail.actual.length === 1 ? "y" : "ies"}: ${String(detail.actual)}`,
|
|
55
|
+
buildMessageContext: () => ({}),
|
|
56
|
+
}),
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/declare-required-properties.ts — `required`, as a rule on
|
|
3
|
+
// the OBJECT rather than on each named child.
|
|
4
|
+
//
|
|
5
|
+
// The distinction decides verdicts, so it is worth a file of its own. See the
|
|
6
|
+
// doc comment below; the short version is that a child's presence rule cannot
|
|
7
|
+
// tell "the property is missing from an object that IS there" from "the whole
|
|
8
|
+
// object is absent", and Draft-07 applies a sub-schema only to a value that is
|
|
9
|
+
// there.
|
|
10
|
+
//
|
|
11
|
+
// This is also the reason the `required` KEYWORD BINDING in keyword-map-object.ts
|
|
12
|
+
// is not the mechanism here: `.required()` is a presence rule on ONE field, and
|
|
13
|
+
// it additionally treats "" as absent (1.x's form emptiness), which §6.5.3 does
|
|
14
|
+
// not. The binding stays as the type-checked record that `required` maps to
|
|
15
|
+
// `.required()`; the converter needs the object-level question instead.
|
|
16
|
+
// ===========================================================================
|
|
17
|
+
import { check } from "../plugin-kit/create-rule.mjs";
|
|
18
|
+
import { PASS, fail, isArray, isPlainObject } from "../types/index.mjs";
|
|
19
|
+
const NO_RULES = Object.freeze([]);
|
|
20
|
+
/**
|
|
21
|
+
* `required` as a rule on the OBJECT, not as a presence rule on each child.
|
|
22
|
+
*
|
|
23
|
+
* The difference decides a verdict. A child's presence rule fires whenever the
|
|
24
|
+
* child reads `undefined`, which includes the case where the PARENT is absent —
|
|
25
|
+
* so `{properties:{a:{properties:{b:{}},required:["b"]}}}` would refuse `{}`,
|
|
26
|
+
* although Draft-07 applies a sub-schema only to a value that is there. Asking
|
|
27
|
+
* the object itself asks the question the draft asks, and §6.5.3 also says a
|
|
28
|
+
* NON-object is none of `required`'s business, which is why a non-object passes.
|
|
29
|
+
*
|
|
30
|
+
* The document ROOT is the exception and is handled in flatten-schema.ts: it has
|
|
31
|
+
* no declarable path to carry this rule, and it is always present anyway
|
|
32
|
+
* (src/runtime/create-validator.ts refuses a missing root before the plan runs).
|
|
33
|
+
*/
|
|
34
|
+
export function declareRequiredProperties(schema, context) {
|
|
35
|
+
const required = schema.required;
|
|
36
|
+
if (required === undefined || required.length === 0)
|
|
37
|
+
return NO_RULES;
|
|
38
|
+
const missingOf = (value) => required.filter((key) => !Object.prototype.hasOwnProperty.call(value, key));
|
|
39
|
+
return Object.freeze([
|
|
40
|
+
check({
|
|
41
|
+
code: "required",
|
|
42
|
+
severity: context.build.config.defaultSeverity,
|
|
43
|
+
run: (value) => {
|
|
44
|
+
if (!isPlainObject(value))
|
|
45
|
+
return PASS;
|
|
46
|
+
const missing = missingOf(value);
|
|
47
|
+
return missing.length === 0
|
|
48
|
+
? PASS
|
|
49
|
+
: fail({ expected: required, actual: missing });
|
|
50
|
+
},
|
|
51
|
+
describe: (detail) => `Missing required propert${isArray(detail.actual) && detail.actual.length === 1 ? "y" : "ies"}: ${String(detail.actual)}`,
|
|
52
|
+
buildMessageContext: () => ({}),
|
|
53
|
+
}),
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Rule } from "../plugin-kit/compiled-rule";
|
|
2
|
+
import type { Draft07SchemaObject } from "./draft07.types";
|
|
3
|
+
import type { StructuralContext } from "./structural-expansion.types";
|
|
4
|
+
export declare function declareStringRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
5
|
+
/**
|
|
6
|
+
* Draft-07 §7.2: an unknown format is an ANNOTATION and passes. A format the
|
|
7
|
+
* table declares out of scope is a different answer and throws — 1.x confused
|
|
8
|
+
* the two and its validator and its error generator disagreed about which.
|
|
9
|
+
*/
|
|
10
|
+
export declare function declareFormatRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
11
|
+
export declare function declareNumberRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.declareStringRules = declareStringRules;
|
|
4
|
+
exports.declareFormatRules = declareFormatRules;
|
|
5
|
+
exports.declareNumberRules = declareNumberRules;
|
|
6
|
+
// ===========================================================================
|
|
7
|
+
// L8 src/json-schema/declare-scalar-keywords.ts — the keywords that BIND.
|
|
8
|
+
//
|
|
9
|
+
// Every call below goes through applyKeywordBinding, so the chain method a
|
|
10
|
+
// keyword drives is checked by the compiler against the plugin that declares
|
|
11
|
+
// it. That is the whole reason step 24 exists: 1.x wrote
|
|
12
|
+
// `chain.minItems && chain.minItems(n)` and the constraint evaporated.
|
|
13
|
+
//
|
|
14
|
+
// The slot chains are built and driven here, but a slot is NOT a filter: every
|
|
15
|
+
// bound plugin in the bag passes a wrong-typed value on purpose (see
|
|
16
|
+
// string-min.ts: "a wrong-typed value PASSES"), which is exactly Draft-07 §6 —
|
|
17
|
+
// `minLength` says nothing about a number. So the converter applies the string
|
|
18
|
+
// keywords AND the number keywords whenever they appear, without first deciding
|
|
19
|
+
// what the value will be, and `type` (declare-value-keywords.ts) is the only rule
|
|
20
|
+
// that judges the type. That is also what makes `type: ["string","number"]`
|
|
21
|
+
// with a `minLength` correct rather than approximated.
|
|
22
|
+
// ===========================================================================
|
|
23
|
+
const create_chain_node_1 = require("../chain/create-chain-node");
|
|
24
|
+
const create_field_slots_1 = require("../chain/create-field-slots");
|
|
25
|
+
const apply_keyword_binding_1 = require("./apply-keyword-binding");
|
|
26
|
+
const format_map_1 = require("./format-map");
|
|
27
|
+
const keyword_map_number_1 = require("./keyword-map-number");
|
|
28
|
+
const keyword_map_string_1 = require("./keyword-map-string");
|
|
29
|
+
const unsupported_keyword_error_1 = require("./unsupported-keyword-error");
|
|
30
|
+
const NO_RULES = Object.freeze([]);
|
|
31
|
+
/** Total over the plugin's own union, so a new encoding breaks THIS line. */
|
|
32
|
+
const CONTENT_ENCODING_NAMES = {
|
|
33
|
+
base64: true,
|
|
34
|
+
base32: true,
|
|
35
|
+
binary: true,
|
|
36
|
+
"7bit": true,
|
|
37
|
+
"8bit": true,
|
|
38
|
+
"quoted-printable": true,
|
|
39
|
+
};
|
|
40
|
+
function isContentEncodingName(name) {
|
|
41
|
+
return Object.prototype.hasOwnProperty.call(CONTENT_ENCODING_NAMES, name);
|
|
42
|
+
}
|
|
43
|
+
function readRules(chain) {
|
|
44
|
+
return (0, create_chain_node_1.readChainRules)(chain) ?? NO_RULES;
|
|
45
|
+
}
|
|
46
|
+
function emptyStringChain(bag, context) {
|
|
47
|
+
return (0, create_field_slots_1.createFieldSlots)(bag, context.build)
|
|
48
|
+
.string;
|
|
49
|
+
}
|
|
50
|
+
function declareStringRules(schema, context) {
|
|
51
|
+
let chain = emptyStringChain(context.bag, context);
|
|
52
|
+
if (schema.minLength !== undefined) {
|
|
53
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_string_1.minLengthBinding, schema.minLength);
|
|
54
|
+
}
|
|
55
|
+
if (schema.maxLength !== undefined) {
|
|
56
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_string_1.maxLengthBinding, schema.maxLength);
|
|
57
|
+
}
|
|
58
|
+
if (schema.pattern !== undefined) {
|
|
59
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_string_1.patternBinding, schema.pattern);
|
|
60
|
+
}
|
|
61
|
+
if (schema.contentMediaType !== undefined) {
|
|
62
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_string_1.contentMediaTypeBinding, schema.contentMediaType);
|
|
63
|
+
}
|
|
64
|
+
const encoding = schema.contentEncoding;
|
|
65
|
+
if (encoding !== undefined) {
|
|
66
|
+
if (!isContentEncodingName(encoding)) {
|
|
67
|
+
throw new unsupported_keyword_error_1.UnsupportedKeywordError("contentEncoding", `"${encoding}" is not one of the encodings stringContentEncoding ` +
|
|
68
|
+
"recognises; 1.x accepted every unknown name and validated nothing");
|
|
69
|
+
}
|
|
70
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_string_1.contentEncodingBinding, encoding);
|
|
71
|
+
}
|
|
72
|
+
return readRules(chain);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Draft-07 §7.2: an unknown format is an ANNOTATION and passes. A format the
|
|
76
|
+
* table declares out of scope is a different answer and throws — 1.x confused
|
|
77
|
+
* the two and its validator and its error generator disagreed about which.
|
|
78
|
+
*/
|
|
79
|
+
function declareFormatRules(schema, context) {
|
|
80
|
+
const format = schema.format;
|
|
81
|
+
if (format === undefined)
|
|
82
|
+
return NO_RULES;
|
|
83
|
+
const handling = (0, format_map_1.findFormatHandling)(format);
|
|
84
|
+
if (handling === undefined)
|
|
85
|
+
return NO_RULES;
|
|
86
|
+
if (handling.handling === "unsupported") {
|
|
87
|
+
throw new unsupported_keyword_error_1.UnsupportedKeywordError(`format: ${format}`, handling.reason);
|
|
88
|
+
}
|
|
89
|
+
const chain = emptyStringChain(context.bag, context);
|
|
90
|
+
return readRules((0, apply_keyword_binding_1.applyKeywordBinding)(chain, handling, "format"));
|
|
91
|
+
}
|
|
92
|
+
function declareNumberRules(schema, context) {
|
|
93
|
+
let chain = (0, create_field_slots_1.createFieldSlots)(context.bag, context.build).number;
|
|
94
|
+
if (schema.minimum !== undefined) {
|
|
95
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_number_1.minimumBinding, schema.minimum);
|
|
96
|
+
}
|
|
97
|
+
if (schema.maximum !== undefined) {
|
|
98
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_number_1.maximumBinding, schema.maximum);
|
|
99
|
+
}
|
|
100
|
+
if (schema.exclusiveMinimum !== undefined) {
|
|
101
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_number_1.exclusiveMinimumBinding, schema.exclusiveMinimum);
|
|
102
|
+
}
|
|
103
|
+
if (schema.exclusiveMaximum !== undefined) {
|
|
104
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_number_1.exclusiveMaximumBinding, schema.exclusiveMaximum);
|
|
105
|
+
}
|
|
106
|
+
if (schema.multipleOf !== undefined) {
|
|
107
|
+
chain = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_number_1.multipleOfBinding, schema.multipleOf);
|
|
108
|
+
}
|
|
109
|
+
return readRules(chain);
|
|
110
|
+
}
|