@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,105 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/declare-scalar-keywords.ts — the keywords that BIND.
|
|
3
|
+
//
|
|
4
|
+
// Every call below goes through applyKeywordBinding, so the chain method a
|
|
5
|
+
// keyword drives is checked by the compiler against the plugin that declares
|
|
6
|
+
// it. That is the whole reason step 24 exists: 1.x wrote
|
|
7
|
+
// `chain.minItems && chain.minItems(n)` and the constraint evaporated.
|
|
8
|
+
//
|
|
9
|
+
// The slot chains are built and driven here, but a slot is NOT a filter: every
|
|
10
|
+
// bound plugin in the bag passes a wrong-typed value on purpose (see
|
|
11
|
+
// string-min.ts: "a wrong-typed value PASSES"), which is exactly Draft-07 §6 —
|
|
12
|
+
// `minLength` says nothing about a number. So the converter applies the string
|
|
13
|
+
// keywords AND the number keywords whenever they appear, without first deciding
|
|
14
|
+
// what the value will be, and `type` (declare-value-keywords.ts) is the only rule
|
|
15
|
+
// that judges the type. That is also what makes `type: ["string","number"]`
|
|
16
|
+
// with a `minLength` correct rather than approximated.
|
|
17
|
+
// ===========================================================================
|
|
18
|
+
import { readChainRules } from "../chain/create-chain-node.mjs";
|
|
19
|
+
import { createFieldSlots } from "../chain/create-field-slots.mjs";
|
|
20
|
+
import { applyKeywordBinding } from "./apply-keyword-binding.mjs";
|
|
21
|
+
import { findFormatHandling } from "./format-map.mjs";
|
|
22
|
+
import { exclusiveMaximumBinding, exclusiveMinimumBinding, maximumBinding, minimumBinding, multipleOfBinding, } from "./keyword-map-number.mjs";
|
|
23
|
+
import { contentEncodingBinding, contentMediaTypeBinding, maxLengthBinding, minLengthBinding, patternBinding, } from "./keyword-map-string.mjs";
|
|
24
|
+
import { UnsupportedKeywordError } from "./unsupported-keyword-error.mjs";
|
|
25
|
+
const NO_RULES = Object.freeze([]);
|
|
26
|
+
/** Total over the plugin's own union, so a new encoding breaks THIS line. */
|
|
27
|
+
const CONTENT_ENCODING_NAMES = {
|
|
28
|
+
base64: true,
|
|
29
|
+
base32: true,
|
|
30
|
+
binary: true,
|
|
31
|
+
"7bit": true,
|
|
32
|
+
"8bit": true,
|
|
33
|
+
"quoted-printable": true,
|
|
34
|
+
};
|
|
35
|
+
function isContentEncodingName(name) {
|
|
36
|
+
return Object.prototype.hasOwnProperty.call(CONTENT_ENCODING_NAMES, name);
|
|
37
|
+
}
|
|
38
|
+
function readRules(chain) {
|
|
39
|
+
return readChainRules(chain) ?? NO_RULES;
|
|
40
|
+
}
|
|
41
|
+
function emptyStringChain(bag, context) {
|
|
42
|
+
return createFieldSlots(bag, context.build)
|
|
43
|
+
.string;
|
|
44
|
+
}
|
|
45
|
+
export function declareStringRules(schema, context) {
|
|
46
|
+
let chain = emptyStringChain(context.bag, context);
|
|
47
|
+
if (schema.minLength !== undefined) {
|
|
48
|
+
chain = applyKeywordBinding(chain, minLengthBinding, schema.minLength);
|
|
49
|
+
}
|
|
50
|
+
if (schema.maxLength !== undefined) {
|
|
51
|
+
chain = applyKeywordBinding(chain, maxLengthBinding, schema.maxLength);
|
|
52
|
+
}
|
|
53
|
+
if (schema.pattern !== undefined) {
|
|
54
|
+
chain = applyKeywordBinding(chain, patternBinding, schema.pattern);
|
|
55
|
+
}
|
|
56
|
+
if (schema.contentMediaType !== undefined) {
|
|
57
|
+
chain = applyKeywordBinding(chain, contentMediaTypeBinding, schema.contentMediaType);
|
|
58
|
+
}
|
|
59
|
+
const encoding = schema.contentEncoding;
|
|
60
|
+
if (encoding !== undefined) {
|
|
61
|
+
if (!isContentEncodingName(encoding)) {
|
|
62
|
+
throw new UnsupportedKeywordError("contentEncoding", `"${encoding}" is not one of the encodings stringContentEncoding ` +
|
|
63
|
+
"recognises; 1.x accepted every unknown name and validated nothing");
|
|
64
|
+
}
|
|
65
|
+
chain = applyKeywordBinding(chain, contentEncodingBinding, encoding);
|
|
66
|
+
}
|
|
67
|
+
return readRules(chain);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Draft-07 §7.2: an unknown format is an ANNOTATION and passes. A format the
|
|
71
|
+
* table declares out of scope is a different answer and throws — 1.x confused
|
|
72
|
+
* the two and its validator and its error generator disagreed about which.
|
|
73
|
+
*/
|
|
74
|
+
export function declareFormatRules(schema, context) {
|
|
75
|
+
const format = schema.format;
|
|
76
|
+
if (format === undefined)
|
|
77
|
+
return NO_RULES;
|
|
78
|
+
const handling = findFormatHandling(format);
|
|
79
|
+
if (handling === undefined)
|
|
80
|
+
return NO_RULES;
|
|
81
|
+
if (handling.handling === "unsupported") {
|
|
82
|
+
throw new UnsupportedKeywordError(`format: ${format}`, handling.reason);
|
|
83
|
+
}
|
|
84
|
+
const chain = emptyStringChain(context.bag, context);
|
|
85
|
+
return readRules(applyKeywordBinding(chain, handling, "format"));
|
|
86
|
+
}
|
|
87
|
+
export function declareNumberRules(schema, context) {
|
|
88
|
+
let chain = createFieldSlots(context.bag, context.build).number;
|
|
89
|
+
if (schema.minimum !== undefined) {
|
|
90
|
+
chain = applyKeywordBinding(chain, minimumBinding, schema.minimum);
|
|
91
|
+
}
|
|
92
|
+
if (schema.maximum !== undefined) {
|
|
93
|
+
chain = applyKeywordBinding(chain, maximumBinding, schema.maximum);
|
|
94
|
+
}
|
|
95
|
+
if (schema.exclusiveMinimum !== undefined) {
|
|
96
|
+
chain = applyKeywordBinding(chain, exclusiveMinimumBinding, schema.exclusiveMinimum);
|
|
97
|
+
}
|
|
98
|
+
if (schema.exclusiveMaximum !== undefined) {
|
|
99
|
+
chain = applyKeywordBinding(chain, exclusiveMaximumBinding, schema.exclusiveMaximum);
|
|
100
|
+
}
|
|
101
|
+
if (schema.multipleOf !== undefined) {
|
|
102
|
+
chain = applyKeywordBinding(chain, multipleOfBinding, schema.multipleOf);
|
|
103
|
+
}
|
|
104
|
+
return readRules(chain);
|
|
105
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Rule } from "../plugin-kit/compiled-rule";
|
|
2
|
+
import type { Draft07SchemaObject, Draft07TypeKeyword } from "./draft07.types";
|
|
3
|
+
import type { StructuralContext } from "./structural-expansion.types";
|
|
4
|
+
/** The declared names, always as a list, with unknown names rejected loudly. */
|
|
5
|
+
export declare function readDeclaredTypes(schema: Draft07SchemaObject): readonly Draft07TypeKeyword[];
|
|
6
|
+
/** True when the document permits an explicit null at this position. */
|
|
7
|
+
export declare function permitsNull(schema: Draft07SchemaObject): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* One check for the whole list: `type: ["string","number"]` is a union, and
|
|
10
|
+
* running one rule per member would report a failure per member for a value
|
|
11
|
+
* that fails all of them.
|
|
12
|
+
*/
|
|
13
|
+
export declare function declareTypeRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
14
|
+
/** `type: "integer"` is the only `type` member that adds a chain method. */
|
|
15
|
+
export declare function declareIntegerRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
16
|
+
export declare function declareConstRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
17
|
+
/**
|
|
18
|
+
* `enum` drives the `.oneOf()` METHOD, which is a different thing from the
|
|
19
|
+
* `oneOf` KEYWORD. The list is typed against the FIELD (readonly SelfValue[]),
|
|
20
|
+
* so it carries a marker and can never be a keyword binding; the converter
|
|
21
|
+
* resolves the list and calls the plugin itself, exactly as the table says.
|
|
22
|
+
*/
|
|
23
|
+
export declare function declareEnumRules(schema: Draft07SchemaObject, context: StructuralContext): readonly Rule[];
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readDeclaredTypes = readDeclaredTypes;
|
|
4
|
+
exports.permitsNull = permitsNull;
|
|
5
|
+
exports.declareTypeRules = declareTypeRules;
|
|
6
|
+
exports.declareIntegerRules = declareIntegerRules;
|
|
7
|
+
exports.declareConstRules = declareConstRules;
|
|
8
|
+
exports.declareEnumRules = declareEnumRules;
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
// L8 src/json-schema/declare-value-keywords.ts — the keywords
|
|
11
|
+
// that judge the VALUE ITSELF: `type`, `enum` and `const`.
|
|
12
|
+
//
|
|
13
|
+
// The keyword table calls `type` structural because it "chooses the slot".
|
|
14
|
+
// Choosing a slot is a TYPE-LEVEL act and asserts nothing at run time, so a
|
|
15
|
+
// converter that only chose a slot would accept `42` for `{"type":"string"}` —
|
|
16
|
+
// which is precisely what 1.x did (docs/legacy-spec/json-schema-mapping.md).
|
|
17
|
+
// The slot choice is still made, in declare-scalar-keywords; the RULE is made
|
|
18
|
+
// here, from create-rule, because no plugin in JsonSchemaBag asserts a
|
|
19
|
+
// primitive type (`object` is the only type plugin in the catalogue and it is
|
|
20
|
+
// not in the bag).
|
|
21
|
+
//
|
|
22
|
+
// `null` never reaches a check — src/runtime/decide-presence.ts settles absence
|
|
23
|
+
// first — so `type: "null"` reads as "every value that got this far is wrong",
|
|
24
|
+
// which is exactly right: the only null-shaped value was already accepted by
|
|
25
|
+
// the nullable presence rule this module's neighbour declares.
|
|
26
|
+
// ===========================================================================
|
|
27
|
+
const create_chain_node_1 = require("../chain/create-chain-node");
|
|
28
|
+
const create_field_slots_1 = require("../chain/create-field-slots");
|
|
29
|
+
const create_rule_1 = require("../plugin-kit/create-rule");
|
|
30
|
+
const types_1 = require("../types");
|
|
31
|
+
const apply_keyword_binding_1 = require("./apply-keyword-binding");
|
|
32
|
+
const keyword_map_core_1 = require("./keyword-map-core");
|
|
33
|
+
const NO_RULES = Object.freeze([]);
|
|
34
|
+
/** Every Draft-07 `type` name, so an unknown one is a build-time refusal. */
|
|
35
|
+
const JSON_TYPE_TESTS = {
|
|
36
|
+
string: types_1.isString,
|
|
37
|
+
number: (value) => typeof value === "number",
|
|
38
|
+
integer: (value) => typeof value === "number" && Number.isInteger(value),
|
|
39
|
+
boolean: (value) => typeof value === "boolean",
|
|
40
|
+
array: types_1.isArray,
|
|
41
|
+
object: types_1.isPlainObject,
|
|
42
|
+
null: (value) => value === null,
|
|
43
|
+
};
|
|
44
|
+
function isTypeKeyword(name) {
|
|
45
|
+
return Object.prototype.hasOwnProperty.call(JSON_TYPE_TESTS, name);
|
|
46
|
+
}
|
|
47
|
+
/** The declared names, always as a list, with unknown names rejected loudly. */
|
|
48
|
+
function readDeclaredTypes(schema) {
|
|
49
|
+
const declared = schema.type;
|
|
50
|
+
if (declared === undefined)
|
|
51
|
+
return Object.freeze([]);
|
|
52
|
+
const names = (0, types_1.isArray)(declared) ? declared : [declared];
|
|
53
|
+
return Object.freeze(names.filter((name) => isTypeKeyword(name)));
|
|
54
|
+
}
|
|
55
|
+
/** True when the document permits an explicit null at this position. */
|
|
56
|
+
function permitsNull(schema) {
|
|
57
|
+
const declared = readDeclaredTypes(schema);
|
|
58
|
+
return declared.length === 0 || declared.includes("null");
|
|
59
|
+
}
|
|
60
|
+
function describeActual(value) {
|
|
61
|
+
if (value === null)
|
|
62
|
+
return "null";
|
|
63
|
+
if ((0, types_1.isArray)(value))
|
|
64
|
+
return "array";
|
|
65
|
+
return typeof value;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* One check for the whole list: `type: ["string","number"]` is a union, and
|
|
69
|
+
* running one rule per member would report a failure per member for a value
|
|
70
|
+
* that fails all of them.
|
|
71
|
+
*/
|
|
72
|
+
function declareTypeRules(schema, context) {
|
|
73
|
+
const declared = readDeclaredTypes(schema);
|
|
74
|
+
if (declared.length === 0)
|
|
75
|
+
return NO_RULES;
|
|
76
|
+
const tests = declared.map((name) => JSON_TYPE_TESTS[name]);
|
|
77
|
+
const rendered = declared.join(" or ");
|
|
78
|
+
return Object.freeze([
|
|
79
|
+
(0, create_rule_1.check)({
|
|
80
|
+
code: "type",
|
|
81
|
+
severity: context.build.config.defaultSeverity,
|
|
82
|
+
run: (value) => tests.some((test) => test(value))
|
|
83
|
+
? types_1.PASS
|
|
84
|
+
: (0, types_1.fail)({ expected: rendered, actual: describeActual(value) }),
|
|
85
|
+
describe: (detail) => `Value must be of type ${rendered}, but got ${String(detail.actual)}`,
|
|
86
|
+
buildMessageContext: () => ({}),
|
|
87
|
+
}),
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
/** `type: "integer"` is the only `type` member that adds a chain method. */
|
|
91
|
+
function declareIntegerRules(schema, context) {
|
|
92
|
+
if (!readDeclaredTypes(schema).includes("integer"))
|
|
93
|
+
return NO_RULES;
|
|
94
|
+
const plugin = context.bag.numberInteger;
|
|
95
|
+
return Object.freeze([
|
|
96
|
+
plugin.build(context.ruleContextFor(plugin.name, "type")),
|
|
97
|
+
]);
|
|
98
|
+
}
|
|
99
|
+
function declareConstRules(schema, context) {
|
|
100
|
+
if (!Object.prototype.hasOwnProperty.call(schema, "const"))
|
|
101
|
+
return NO_RULES;
|
|
102
|
+
const chain = (0, create_field_slots_1.createFieldSlots)(context.bag, context.build).any;
|
|
103
|
+
const applied = (0, apply_keyword_binding_1.applyKeywordBinding)(chain, keyword_map_core_1.constBinding, schema.const);
|
|
104
|
+
return (0, create_chain_node_1.readChainRules)(applied) ?? NO_RULES;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* `enum` drives the `.oneOf()` METHOD, which is a different thing from the
|
|
108
|
+
* `oneOf` KEYWORD. The list is typed against the FIELD (readonly SelfValue[]),
|
|
109
|
+
* so it carries a marker and can never be a keyword binding; the converter
|
|
110
|
+
* resolves the list and calls the plugin itself, exactly as the table says.
|
|
111
|
+
*/
|
|
112
|
+
function declareEnumRules(schema, context) {
|
|
113
|
+
const allowed = schema.enum;
|
|
114
|
+
if (allowed === undefined || allowed.length === 0)
|
|
115
|
+
return NO_RULES;
|
|
116
|
+
const plugin = context.bag.oneOf;
|
|
117
|
+
return Object.freeze([
|
|
118
|
+
plugin.build(context.ruleContextFor(plugin.name, "enum"), allowed),
|
|
119
|
+
]);
|
|
120
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/declare-value-keywords.ts — the keywords
|
|
3
|
+
// that judge the VALUE ITSELF: `type`, `enum` and `const`.
|
|
4
|
+
//
|
|
5
|
+
// The keyword table calls `type` structural because it "chooses the slot".
|
|
6
|
+
// Choosing a slot is a TYPE-LEVEL act and asserts nothing at run time, so a
|
|
7
|
+
// converter that only chose a slot would accept `42` for `{"type":"string"}` —
|
|
8
|
+
// which is precisely what 1.x did (docs/legacy-spec/json-schema-mapping.md).
|
|
9
|
+
// The slot choice is still made, in declare-scalar-keywords; the RULE is made
|
|
10
|
+
// here, from create-rule, because no plugin in JsonSchemaBag asserts a
|
|
11
|
+
// primitive type (`object` is the only type plugin in the catalogue and it is
|
|
12
|
+
// not in the bag).
|
|
13
|
+
//
|
|
14
|
+
// `null` never reaches a check — src/runtime/decide-presence.ts settles absence
|
|
15
|
+
// first — so `type: "null"` reads as "every value that got this far is wrong",
|
|
16
|
+
// which is exactly right: the only null-shaped value was already accepted by
|
|
17
|
+
// the nullable presence rule this module's neighbour declares.
|
|
18
|
+
// ===========================================================================
|
|
19
|
+
import { readChainRules } from "../chain/create-chain-node.mjs";
|
|
20
|
+
import { createFieldSlots } from "../chain/create-field-slots.mjs";
|
|
21
|
+
import { check } from "../plugin-kit/create-rule.mjs";
|
|
22
|
+
import { PASS, fail, isArray, isPlainObject, isString } from "../types/index.mjs";
|
|
23
|
+
import { applyKeywordBinding } from "./apply-keyword-binding.mjs";
|
|
24
|
+
import { constBinding } from "./keyword-map-core.mjs";
|
|
25
|
+
const NO_RULES = Object.freeze([]);
|
|
26
|
+
/** Every Draft-07 `type` name, so an unknown one is a build-time refusal. */
|
|
27
|
+
const JSON_TYPE_TESTS = {
|
|
28
|
+
string: isString,
|
|
29
|
+
number: (value) => typeof value === "number",
|
|
30
|
+
integer: (value) => typeof value === "number" && Number.isInteger(value),
|
|
31
|
+
boolean: (value) => typeof value === "boolean",
|
|
32
|
+
array: isArray,
|
|
33
|
+
object: isPlainObject,
|
|
34
|
+
null: (value) => value === null,
|
|
35
|
+
};
|
|
36
|
+
function isTypeKeyword(name) {
|
|
37
|
+
return Object.prototype.hasOwnProperty.call(JSON_TYPE_TESTS, name);
|
|
38
|
+
}
|
|
39
|
+
/** The declared names, always as a list, with unknown names rejected loudly. */
|
|
40
|
+
export function readDeclaredTypes(schema) {
|
|
41
|
+
const declared = schema.type;
|
|
42
|
+
if (declared === undefined)
|
|
43
|
+
return Object.freeze([]);
|
|
44
|
+
const names = isArray(declared) ? declared : [declared];
|
|
45
|
+
return Object.freeze(names.filter((name) => isTypeKeyword(name)));
|
|
46
|
+
}
|
|
47
|
+
/** True when the document permits an explicit null at this position. */
|
|
48
|
+
export function permitsNull(schema) {
|
|
49
|
+
const declared = readDeclaredTypes(schema);
|
|
50
|
+
return declared.length === 0 || declared.includes("null");
|
|
51
|
+
}
|
|
52
|
+
function describeActual(value) {
|
|
53
|
+
if (value === null)
|
|
54
|
+
return "null";
|
|
55
|
+
if (isArray(value))
|
|
56
|
+
return "array";
|
|
57
|
+
return typeof value;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* One check for the whole list: `type: ["string","number"]` is a union, and
|
|
61
|
+
* running one rule per member would report a failure per member for a value
|
|
62
|
+
* that fails all of them.
|
|
63
|
+
*/
|
|
64
|
+
export function declareTypeRules(schema, context) {
|
|
65
|
+
const declared = readDeclaredTypes(schema);
|
|
66
|
+
if (declared.length === 0)
|
|
67
|
+
return NO_RULES;
|
|
68
|
+
const tests = declared.map((name) => JSON_TYPE_TESTS[name]);
|
|
69
|
+
const rendered = declared.join(" or ");
|
|
70
|
+
return Object.freeze([
|
|
71
|
+
check({
|
|
72
|
+
code: "type",
|
|
73
|
+
severity: context.build.config.defaultSeverity,
|
|
74
|
+
run: (value) => tests.some((test) => test(value))
|
|
75
|
+
? PASS
|
|
76
|
+
: fail({ expected: rendered, actual: describeActual(value) }),
|
|
77
|
+
describe: (detail) => `Value must be of type ${rendered}, but got ${String(detail.actual)}`,
|
|
78
|
+
buildMessageContext: () => ({}),
|
|
79
|
+
}),
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
/** `type: "integer"` is the only `type` member that adds a chain method. */
|
|
83
|
+
export function declareIntegerRules(schema, context) {
|
|
84
|
+
if (!readDeclaredTypes(schema).includes("integer"))
|
|
85
|
+
return NO_RULES;
|
|
86
|
+
const plugin = context.bag.numberInteger;
|
|
87
|
+
return Object.freeze([
|
|
88
|
+
plugin.build(context.ruleContextFor(plugin.name, "type")),
|
|
89
|
+
]);
|
|
90
|
+
}
|
|
91
|
+
export function declareConstRules(schema, context) {
|
|
92
|
+
if (!Object.prototype.hasOwnProperty.call(schema, "const"))
|
|
93
|
+
return NO_RULES;
|
|
94
|
+
const chain = createFieldSlots(context.bag, context.build).any;
|
|
95
|
+
const applied = applyKeywordBinding(chain, constBinding, schema.const);
|
|
96
|
+
return readChainRules(applied) ?? NO_RULES;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* `enum` drives the `.oneOf()` METHOD, which is a different thing from the
|
|
100
|
+
* `oneOf` KEYWORD. The list is typed against the FIELD (readonly SelfValue[]),
|
|
101
|
+
* so it carries a marker and can never be a keyword binding; the converter
|
|
102
|
+
* resolves the list and calls the plugin itself, exactly as the table says.
|
|
103
|
+
*/
|
|
104
|
+
export function declareEnumRules(schema, context) {
|
|
105
|
+
const allowed = schema.enum;
|
|
106
|
+
if (allowed === undefined || allowed.length === 0)
|
|
107
|
+
return NO_RULES;
|
|
108
|
+
const plugin = context.bag.oneOf;
|
|
109
|
+
return Object.freeze([
|
|
110
|
+
plugin.build(context.ruleContextFor(plugin.name, "enum"), allowed),
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { ContentEncodingName } from "../plugins/string-content-encoding";
|
|
2
|
+
import type { Draft07Schema, Draft07TypeKeyword } from "./draft07.types";
|
|
3
|
+
export type Draft07CoreKeyword = "$schema" | "$id" | "$ref" | "$comment" | "definitions" | "title" | "description" | "default" | "examples" | "readOnly" | "writeOnly" | "type" | "enum" | "const" | "allOf" | "anyOf" | "oneOf" | "not" | "if" | "then" | "else";
|
|
4
|
+
export type Draft07NumberKeyword = "multipleOf" | "maximum" | "exclusiveMaximum" | "minimum" | "exclusiveMinimum";
|
|
5
|
+
export type Draft07StringKeyword = "maxLength" | "minLength" | "pattern" | "format" | "contentEncoding" | "contentMediaType";
|
|
6
|
+
export type Draft07ArrayKeyword = "items" | "additionalItems" | "maxItems" | "minItems" | "uniqueItems" | "contains";
|
|
7
|
+
export type Draft07ObjectKeyword = "maxProperties" | "minProperties" | "required" | "properties" | "patternProperties" | "additionalProperties" | "dependencies" | "propertyNames";
|
|
8
|
+
/** All 46 Draft-07 keywords. Written by hand; checked against the record. */
|
|
9
|
+
export type Draft07Keyword = Draft07CoreKeyword | Draft07NumberKeyword | Draft07StringKeyword | Draft07ArrayKeyword | Draft07ObjectKeyword;
|
|
10
|
+
export interface Draft07KeywordValues {
|
|
11
|
+
readonly $schema: string;
|
|
12
|
+
readonly $id: string;
|
|
13
|
+
readonly $ref: string;
|
|
14
|
+
readonly $comment: string;
|
|
15
|
+
readonly definitions: Readonly<Record<string, Draft07Schema>>;
|
|
16
|
+
readonly title: string;
|
|
17
|
+
readonly description: string;
|
|
18
|
+
readonly default: unknown;
|
|
19
|
+
readonly examples: readonly unknown[];
|
|
20
|
+
readonly readOnly: boolean;
|
|
21
|
+
readonly writeOnly: boolean;
|
|
22
|
+
readonly type: Draft07TypeKeyword | readonly Draft07TypeKeyword[];
|
|
23
|
+
readonly enum: readonly unknown[];
|
|
24
|
+
readonly const: unknown;
|
|
25
|
+
readonly allOf: readonly Draft07Schema[];
|
|
26
|
+
readonly anyOf: readonly Draft07Schema[];
|
|
27
|
+
readonly oneOf: readonly Draft07Schema[];
|
|
28
|
+
readonly not: Draft07Schema;
|
|
29
|
+
readonly if: Draft07Schema;
|
|
30
|
+
readonly then: Draft07Schema;
|
|
31
|
+
readonly else: Draft07Schema;
|
|
32
|
+
readonly multipleOf: number;
|
|
33
|
+
readonly maximum: number;
|
|
34
|
+
readonly exclusiveMaximum: number;
|
|
35
|
+
readonly minimum: number;
|
|
36
|
+
readonly exclusiveMinimum: number;
|
|
37
|
+
readonly maxLength: number;
|
|
38
|
+
readonly minLength: number;
|
|
39
|
+
readonly pattern: string;
|
|
40
|
+
readonly format: string;
|
|
41
|
+
/** Normalised: an unknown encoding name never reaches the binding. */
|
|
42
|
+
readonly contentEncoding: ContentEncodingName;
|
|
43
|
+
readonly contentMediaType: string;
|
|
44
|
+
readonly items: Draft07Schema | readonly Draft07Schema[];
|
|
45
|
+
readonly additionalItems: Draft07Schema;
|
|
46
|
+
readonly maxItems: number;
|
|
47
|
+
readonly minItems: number;
|
|
48
|
+
/** Normalised: `uniqueItems: false` is a no-op and is dropped first. */
|
|
49
|
+
readonly uniqueItems: true;
|
|
50
|
+
readonly contains: Draft07Schema;
|
|
51
|
+
readonly maxProperties: number;
|
|
52
|
+
readonly minProperties: number;
|
|
53
|
+
/** Normalised: the parent's array, resolved to one flag per child. */
|
|
54
|
+
readonly required: true;
|
|
55
|
+
readonly properties: Readonly<Record<string, Draft07Schema>>;
|
|
56
|
+
readonly patternProperties: Readonly<Record<string, Draft07Schema>>;
|
|
57
|
+
/** Normalised: only the boolean form binds; the schema form is structural. */
|
|
58
|
+
readonly additionalProperties: boolean;
|
|
59
|
+
readonly dependencies: Readonly<Record<string, Draft07Schema | readonly string[]>>;
|
|
60
|
+
readonly propertyNames: Draft07Schema;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** The seven values Draft-07 allows in `type`. `integer` is NOT a Luq slot. */
|
|
2
|
+
export type Draft07TypeKeyword = "string" | "number" | "integer" | "boolean" | "array" | "object" | "null";
|
|
3
|
+
export type Draft07Schema = boolean | Draft07SchemaObject;
|
|
4
|
+
export interface Draft07SchemaObject {
|
|
5
|
+
readonly $id?: string;
|
|
6
|
+
readonly $schema?: string;
|
|
7
|
+
readonly $ref?: string;
|
|
8
|
+
readonly $comment?: string;
|
|
9
|
+
readonly definitions?: Readonly<Record<string, Draft07Schema>>;
|
|
10
|
+
/** 2019-09 spelling. Not a Draft-07 keyword; only the RESOLVER accepts it. */
|
|
11
|
+
readonly $defs?: Readonly<Record<string, Draft07Schema>>;
|
|
12
|
+
readonly title?: string;
|
|
13
|
+
readonly description?: string;
|
|
14
|
+
readonly default?: unknown;
|
|
15
|
+
readonly readOnly?: boolean;
|
|
16
|
+
readonly writeOnly?: boolean;
|
|
17
|
+
readonly examples?: readonly unknown[];
|
|
18
|
+
readonly type?: Draft07TypeKeyword | readonly Draft07TypeKeyword[];
|
|
19
|
+
readonly enum?: readonly unknown[];
|
|
20
|
+
readonly const?: unknown;
|
|
21
|
+
readonly format?: string;
|
|
22
|
+
readonly multipleOf?: number;
|
|
23
|
+
readonly maximum?: number;
|
|
24
|
+
readonly exclusiveMaximum?: number;
|
|
25
|
+
readonly minimum?: number;
|
|
26
|
+
readonly exclusiveMinimum?: number;
|
|
27
|
+
readonly maxLength?: number;
|
|
28
|
+
readonly minLength?: number;
|
|
29
|
+
readonly pattern?: string;
|
|
30
|
+
readonly contentMediaType?: string;
|
|
31
|
+
readonly contentEncoding?: string;
|
|
32
|
+
readonly items?: Draft07Schema | readonly Draft07Schema[];
|
|
33
|
+
readonly additionalItems?: Draft07Schema;
|
|
34
|
+
readonly maxItems?: number;
|
|
35
|
+
readonly minItems?: number;
|
|
36
|
+
readonly uniqueItems?: boolean;
|
|
37
|
+
readonly contains?: Draft07Schema;
|
|
38
|
+
readonly maxProperties?: number;
|
|
39
|
+
readonly minProperties?: number;
|
|
40
|
+
readonly required?: readonly string[];
|
|
41
|
+
readonly properties?: Readonly<Record<string, Draft07Schema>>;
|
|
42
|
+
readonly patternProperties?: Readonly<Record<string, Draft07Schema>>;
|
|
43
|
+
readonly additionalProperties?: Draft07Schema;
|
|
44
|
+
readonly dependencies?: Readonly<Record<string, Draft07Schema | readonly string[]>>;
|
|
45
|
+
readonly propertyNames?: Draft07Schema;
|
|
46
|
+
readonly allOf?: readonly Draft07Schema[];
|
|
47
|
+
readonly anyOf?: readonly Draft07Schema[];
|
|
48
|
+
readonly oneOf?: readonly Draft07Schema[];
|
|
49
|
+
readonly not?: Draft07Schema;
|
|
50
|
+
readonly if?: Draft07Schema;
|
|
51
|
+
readonly then?: Draft07Schema;
|
|
52
|
+
readonly else?: Draft07Schema;
|
|
53
|
+
}
|
|
54
|
+
/** Narrows away the boolean form of §4.4 without an assertion. */
|
|
55
|
+
export declare function isSchemaObject(schema: Draft07Schema): schema is Draft07SchemaObject;
|
|
56
|
+
/** The one entry gate for untyped JSON. `null` is NOT a schema. */
|
|
57
|
+
export declare function isDraft07Schema(value: unknown): value is Draft07Schema;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSchemaObject = isSchemaObject;
|
|
4
|
+
exports.isDraft07Schema = isDraft07Schema;
|
|
5
|
+
// ===========================================================================
|
|
6
|
+
// L8 src/json-schema/draft07.types.ts — the DOCUMENT shape.
|
|
7
|
+
//
|
|
8
|
+
// This is what a Draft-07 JSON document is allowed to say, keyword for
|
|
9
|
+
// keyword, straight from the draft-07 meta-schema's `properties` (46 keys).
|
|
10
|
+
// It is deliberately NOT the same thing as `Draft07KeywordValues`: this type
|
|
11
|
+
// is as wide as the specification, while the value types next door are as
|
|
12
|
+
// narrow as the handling can accept, so the converter is FORCED by the
|
|
13
|
+
// compiler to normalise (`uniqueItems: boolean` -> `true`, a `required` array
|
|
14
|
+
// -> a per-field flag) instead of quietly passing the wide form through.
|
|
15
|
+
//
|
|
16
|
+
// A schema may also be a bare boolean — Draft-07 §4.4 — and 1.x's converter
|
|
17
|
+
// could not represent that at all (it tested `typeof x === "object"` and
|
|
18
|
+
// dropped the rest), so it is in the union here from the start.
|
|
19
|
+
// ===========================================================================
|
|
20
|
+
const types_1 = require("../types");
|
|
21
|
+
/** Narrows away the boolean form of §4.4 without an assertion. */
|
|
22
|
+
function isSchemaObject(schema) {
|
|
23
|
+
return typeof schema !== "boolean";
|
|
24
|
+
}
|
|
25
|
+
/** The one entry gate for untyped JSON. `null` is NOT a schema. */
|
|
26
|
+
function isDraft07Schema(value) {
|
|
27
|
+
return typeof value === "boolean" || (0, types_1.isPlainObject)(value);
|
|
28
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L8 src/json-schema/draft07.types.ts — the DOCUMENT shape.
|
|
3
|
+
//
|
|
4
|
+
// This is what a Draft-07 JSON document is allowed to say, keyword for
|
|
5
|
+
// keyword, straight from the draft-07 meta-schema's `properties` (46 keys).
|
|
6
|
+
// It is deliberately NOT the same thing as `Draft07KeywordValues`: this type
|
|
7
|
+
// is as wide as the specification, while the value types next door are as
|
|
8
|
+
// narrow as the handling can accept, so the converter is FORCED by the
|
|
9
|
+
// compiler to normalise (`uniqueItems: boolean` -> `true`, a `required` array
|
|
10
|
+
// -> a per-field flag) instead of quietly passing the wide form through.
|
|
11
|
+
//
|
|
12
|
+
// A schema may also be a bare boolean — Draft-07 §4.4 — and 1.x's converter
|
|
13
|
+
// could not represent that at all (it tested `typeof x === "object"` and
|
|
14
|
+
// dropped the rest), so it is in the union here from the start.
|
|
15
|
+
// ===========================================================================
|
|
16
|
+
import { isPlainObject } from "../types/index.mjs";
|
|
17
|
+
/** Narrows away the boolean form of §4.4 without an assertion. */
|
|
18
|
+
export function isSchemaObject(schema) {
|
|
19
|
+
return typeof schema !== "boolean";
|
|
20
|
+
}
|
|
21
|
+
/** The one entry gate for untyped JSON. `null` is NOT a schema. */
|
|
22
|
+
export function isDraft07Schema(value) {
|
|
23
|
+
return typeof value === "boolean" || isPlainObject(value);
|
|
24
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { SCHEMA_BRANCH_LABEL, collectDocumentRules, jsonSchemaPlugin, } from "./json-schema";
|
|
2
|
+
export { NotASchemaError, UnsupportedKeywordError, RefResolutionError, buildFieldEntries, buildFromSchema, fromJsonSchema, isDraft07Schema, listBoundPluginNames, listDraft07Keywords, listFormatNames, } from "../../index";
|
|
3
|
+
export type { Draft07Schema, Draft07SchemaObject, JsonSchemaBag, } from "../../index";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listFormatNames = exports.listDraft07Keywords = exports.listBoundPluginNames = exports.isDraft07Schema = exports.fromJsonSchema = exports.buildFromSchema = exports.buildFieldEntries = exports.RefResolutionError = exports.UnsupportedKeywordError = exports.NotASchemaError = exports.jsonSchemaPlugin = exports.collectDocumentRules = exports.SCHEMA_BRANCH_LABEL = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// The public subpath `@maroonedog/luq/plugins/jsonSchema`. Re-exports only.
|
|
6
|
+
//
|
|
7
|
+
// 1.x published this subpath as "the jsonSchema barrel": the plugin plus the
|
|
8
|
+
// module's named helpers. The same shape is kept — the plugin, the conversion
|
|
9
|
+
// front door, and the errors a caller has to be able to catch by identity —
|
|
10
|
+
// with ONE deliberate omission: no plugin entry file is imported from here, so
|
|
11
|
+
// a consumer of this subpath pays only for the plugins they import themselves.
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
var json_schema_1 = require("./json-schema");
|
|
14
|
+
Object.defineProperty(exports, "SCHEMA_BRANCH_LABEL", { enumerable: true, get: function () { return json_schema_1.SCHEMA_BRANCH_LABEL; } });
|
|
15
|
+
Object.defineProperty(exports, "collectDocumentRules", { enumerable: true, get: function () { return json_schema_1.collectDocumentRules; } });
|
|
16
|
+
Object.defineProperty(exports, "jsonSchemaPlugin", { enumerable: true, get: function () { return json_schema_1.jsonSchemaPlugin; } });
|
|
17
|
+
var index_1 = require("../../index");
|
|
18
|
+
Object.defineProperty(exports, "NotASchemaError", { enumerable: true, get: function () { return index_1.NotASchemaError; } });
|
|
19
|
+
Object.defineProperty(exports, "UnsupportedKeywordError", { enumerable: true, get: function () { return index_1.UnsupportedKeywordError; } });
|
|
20
|
+
Object.defineProperty(exports, "RefResolutionError", { enumerable: true, get: function () { return index_1.RefResolutionError; } });
|
|
21
|
+
Object.defineProperty(exports, "buildFieldEntries", { enumerable: true, get: function () { return index_1.buildFieldEntries; } });
|
|
22
|
+
Object.defineProperty(exports, "buildFromSchema", { enumerable: true, get: function () { return index_1.buildFromSchema; } });
|
|
23
|
+
Object.defineProperty(exports, "fromJsonSchema", { enumerable: true, get: function () { return index_1.fromJsonSchema; } });
|
|
24
|
+
Object.defineProperty(exports, "isDraft07Schema", { enumerable: true, get: function () { return index_1.isDraft07Schema; } });
|
|
25
|
+
Object.defineProperty(exports, "listBoundPluginNames", { enumerable: true, get: function () { return index_1.listBoundPluginNames; } });
|
|
26
|
+
Object.defineProperty(exports, "listDraft07Keywords", { enumerable: true, get: function () { return index_1.listDraft07Keywords; } });
|
|
27
|
+
Object.defineProperty(exports, "listFormatNames", { enumerable: true, get: function () { return index_1.listFormatNames; } });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// The public subpath `@maroonedog/luq/plugins/jsonSchema`. Re-exports only.
|
|
3
|
+
//
|
|
4
|
+
// 1.x published this subpath as "the jsonSchema barrel": the plugin plus the
|
|
5
|
+
// module's named helpers. The same shape is kept — the plugin, the conversion
|
|
6
|
+
// front door, and the errors a caller has to be able to catch by identity —
|
|
7
|
+
// with ONE deliberate omission: no plugin entry file is imported from here, so
|
|
8
|
+
// a consumer of this subpath pays only for the plugins they import themselves.
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
export { SCHEMA_BRANCH_LABEL, collectDocumentRules, jsonSchemaPlugin, } from "./json-schema.mjs";
|
|
11
|
+
export { NotASchemaError, UnsupportedKeywordError, RefResolutionError, buildFieldEntries, buildFromSchema, fromJsonSchema, isDraft07Schema, listBoundPluginNames, listDraft07Keywords, listFormatNames, } from "../../index.mjs";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Rule } from "../../../plugin-kit/compiled-rule";
|
|
2
|
+
import { type MessageContextExtra, type TypeName } from "../../../types";
|
|
3
|
+
import type { RuleBuildContext } from "../../../plugin-kit/rule-build-context";
|
|
4
|
+
import type { Unchanged } from "../../../plugin-kit/marker.types";
|
|
5
|
+
import { type JsonSchemaBag } from "../../index";
|
|
6
|
+
/** The label the whole document carries inside the composite it becomes. */
|
|
7
|
+
export declare const SCHEMA_BRANCH_LABEL = "schema";
|
|
8
|
+
/**
|
|
9
|
+
* The document as a rule list over ONE subject. Exported because it is the
|
|
10
|
+
* only part of this plugin the full-feature bundle needs, and because a test
|
|
11
|
+
* can then count the rules a document produces without building a validator.
|
|
12
|
+
*/
|
|
13
|
+
export declare function collectDocumentRules(ctx: RuleBuildContext<MessageContextExtra>, document: unknown, bag: JsonSchemaBag): readonly Rule[];
|
|
14
|
+
export declare const jsonSchemaPlugin: import("../../../plugin-kit/plugin-definition").PluginDefinition<"jsonSchema", "jsonSchema", readonly TypeName[], {
|
|
15
|
+
args: readonly [document: unknown, bag: JsonSchemaBag];
|
|
16
|
+
out: Unchanged;
|
|
17
|
+
context: MessageContextExtra;
|
|
18
|
+
}>;
|