@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,23 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// src/plugin-kit/index.ts — THE ./plugin-kit SUBPATH.
|
|
3
|
+
//
|
|
4
|
+
// Everything a plugin author may import, and nothing else. A plugin under
|
|
5
|
+
// src/plugins/** imports these modules by relative path; a plugin published
|
|
6
|
+
// OUTSIDE this repository imports this subpath. The two must name the same
|
|
7
|
+
// set, so this barrel re-exports exactly the modules the isolation gate
|
|
8
|
+
// permits an isolated-tier plugin to reach: plugin-kit itself, the L0
|
|
9
|
+
// vocabulary, and the L1 path vocabulary.
|
|
10
|
+
//
|
|
11
|
+
// Re-exports only; nothing is defined here.
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
export * from "./compiled-rule.mjs";
|
|
14
|
+
export * from "./create-conditional-presence.mjs";
|
|
15
|
+
export * from "./create-rule.mjs";
|
|
16
|
+
export * from "./external-context.mjs";
|
|
17
|
+
export * from "./is-json-value-equal.mjs";
|
|
18
|
+
export * from "./marker.types.mjs";
|
|
19
|
+
export * from "./plugin-definition.mjs";
|
|
20
|
+
export * from "./rule-build-context.mjs";
|
|
21
|
+
export * from "./runtime-args.types.mjs";
|
|
22
|
+
// ---- the vocabulary a rule reads its value and its context with -----------
|
|
23
|
+
export * from "../types/index.mjs";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
|
|
2
|
+
export declare function isSameValueZero(left: unknown, right: unknown): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
|
|
5
|
+
* Map or a class instance compares by identity, because reading their own
|
|
6
|
+
* enumerable keys would call every one of them equal to every other — a RegExp
|
|
7
|
+
* has none at all. JSON has none of those shapes, so nothing that came out of
|
|
8
|
+
* JSON.parse is affected.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isJsonValueEqual(left: unknown, right: unknown): boolean;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ===========================================================================
|
|
3
|
+
// L2 src/plugin-kit/is-json-value-equal.ts
|
|
4
|
+
// THE single definition of "these two values are the same JSON value".
|
|
5
|
+
//
|
|
6
|
+
// It lives in plugin-kit because FOUR callers need the same answer and a plugin
|
|
7
|
+
// may not import a sibling plugin: `unique` (array-unique), `oneOf`, `literal`,
|
|
8
|
+
// and through the last two the Draft-07 `enum` and `const` keywords. Every one
|
|
9
|
+
// of those keywords is defined by JSON Schema §4.2.3 in terms of the JSON data
|
|
10
|
+
// model, where equality is STRUCTURAL — `{"a":1}` equals `{"a":1}` however many
|
|
11
|
+
// times it was parsed — so three separate `===` tests were three ways of being
|
|
12
|
+
// wrong at once. Measured on the official suite: reference equality cost 17 of
|
|
13
|
+
// the 929 draft7 cases before this module existed.
|
|
14
|
+
//
|
|
15
|
+
// docs/legacy-spec/plugin-catalog-structural.md records two defects this closes
|
|
16
|
+
// for `unique`, and they are the reason the implementation looks the way it does:
|
|
17
|
+
// * 1.x switched from a `===` double loop to a Set at length 11, so [NaN, NaN]
|
|
18
|
+
// was a duplicate in a long array and not in a short one. One definition is
|
|
19
|
+
// used here at every length.
|
|
20
|
+
// * the rewrite's first draft keyed on JSON.stringify, which is ORDER
|
|
21
|
+
// dependent: {a:1,b:2} and {b:2,a:1} are the same value and were reported as
|
|
22
|
+
// distinct. Keys are compared as a set, so order cannot matter.
|
|
23
|
+
//
|
|
24
|
+
// Leaves compare with SameValueZero (NaN equals NaN, +0 equals -0), which is the
|
|
25
|
+
// definition `Set` and `Array.prototype.includes` already use, so `unique`,
|
|
26
|
+
// `includes`, `oneOf` and `literal` all agree about what "the same value" means.
|
|
27
|
+
// ===========================================================================
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.isSameValueZero = isSameValueZero;
|
|
30
|
+
exports.isJsonValueEqual = isJsonValueEqual;
|
|
31
|
+
/** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
|
|
32
|
+
function isSameValueZero(left, right) {
|
|
33
|
+
return left === right || (left !== left && right !== right);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
|
|
37
|
+
* Map or a class instance compares by identity, because reading their own
|
|
38
|
+
* enumerable keys would call every one of them equal to every other — a RegExp
|
|
39
|
+
* has none at all. JSON has none of those shapes, so nothing that came out of
|
|
40
|
+
* JSON.parse is affected.
|
|
41
|
+
*/
|
|
42
|
+
function isJsonValueEqual(left, right) {
|
|
43
|
+
if (isSameValueZero(left, right))
|
|
44
|
+
return true;
|
|
45
|
+
if (Array.isArray(left) || Array.isArray(right)) {
|
|
46
|
+
return (Array.isArray(left) &&
|
|
47
|
+
Array.isArray(right) &&
|
|
48
|
+
areElementsEqual(left, right));
|
|
49
|
+
}
|
|
50
|
+
if (!isPlainRecord(left) || !isPlainRecord(right))
|
|
51
|
+
return false;
|
|
52
|
+
return areEntriesEqual(left, right);
|
|
53
|
+
}
|
|
54
|
+
function areElementsEqual(left, right) {
|
|
55
|
+
if (left.length !== right.length)
|
|
56
|
+
return false;
|
|
57
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
58
|
+
if (!isJsonValueEqual(left[index], right[index]))
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
function areEntriesEqual(left, right) {
|
|
64
|
+
const leftKeys = Object.keys(left);
|
|
65
|
+
if (leftKeys.length !== Object.keys(right).length)
|
|
66
|
+
return false;
|
|
67
|
+
for (const key of leftKeys) {
|
|
68
|
+
if (!Object.prototype.hasOwnProperty.call(right, key))
|
|
69
|
+
return false;
|
|
70
|
+
if (!isJsonValueEqual(left[key], right[key]))
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
/** Object.prototype or a null prototype: anything else keeps its identity. */
|
|
76
|
+
function isPlainRecord(value) {
|
|
77
|
+
if (typeof value !== "object" || value === null)
|
|
78
|
+
return false;
|
|
79
|
+
const prototype = Object.getPrototypeOf(value);
|
|
80
|
+
return prototype === Object.prototype || prototype === null;
|
|
81
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L2 src/plugin-kit/is-json-value-equal.ts
|
|
3
|
+
// THE single definition of "these two values are the same JSON value".
|
|
4
|
+
//
|
|
5
|
+
// It lives in plugin-kit because FOUR callers need the same answer and a plugin
|
|
6
|
+
// may not import a sibling plugin: `unique` (array-unique), `oneOf`, `literal`,
|
|
7
|
+
// and through the last two the Draft-07 `enum` and `const` keywords. Every one
|
|
8
|
+
// of those keywords is defined by JSON Schema §4.2.3 in terms of the JSON data
|
|
9
|
+
// model, where equality is STRUCTURAL — `{"a":1}` equals `{"a":1}` however many
|
|
10
|
+
// times it was parsed — so three separate `===` tests were three ways of being
|
|
11
|
+
// wrong at once. Measured on the official suite: reference equality cost 17 of
|
|
12
|
+
// the 929 draft7 cases before this module existed.
|
|
13
|
+
//
|
|
14
|
+
// docs/legacy-spec/plugin-catalog-structural.md records two defects this closes
|
|
15
|
+
// for `unique`, and they are the reason the implementation looks the way it does:
|
|
16
|
+
// * 1.x switched from a `===` double loop to a Set at length 11, so [NaN, NaN]
|
|
17
|
+
// was a duplicate in a long array and not in a short one. One definition is
|
|
18
|
+
// used here at every length.
|
|
19
|
+
// * the rewrite's first draft keyed on JSON.stringify, which is ORDER
|
|
20
|
+
// dependent: {a:1,b:2} and {b:2,a:1} are the same value and were reported as
|
|
21
|
+
// distinct. Keys are compared as a set, so order cannot matter.
|
|
22
|
+
//
|
|
23
|
+
// Leaves compare with SameValueZero (NaN equals NaN, +0 equals -0), which is the
|
|
24
|
+
// definition `Set` and `Array.prototype.includes` already use, so `unique`,
|
|
25
|
+
// `includes`, `oneOf` and `literal` all agree about what "the same value" means.
|
|
26
|
+
// ===========================================================================
|
|
27
|
+
/** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
|
|
28
|
+
export function isSameValueZero(left, right) {
|
|
29
|
+
return left === right || (left !== left && right !== right);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
|
|
33
|
+
* Map or a class instance compares by identity, because reading their own
|
|
34
|
+
* enumerable keys would call every one of them equal to every other — a RegExp
|
|
35
|
+
* has none at all. JSON has none of those shapes, so nothing that came out of
|
|
36
|
+
* JSON.parse is affected.
|
|
37
|
+
*/
|
|
38
|
+
export function isJsonValueEqual(left, right) {
|
|
39
|
+
if (isSameValueZero(left, right))
|
|
40
|
+
return true;
|
|
41
|
+
if (Array.isArray(left) || Array.isArray(right)) {
|
|
42
|
+
return (Array.isArray(left) &&
|
|
43
|
+
Array.isArray(right) &&
|
|
44
|
+
areElementsEqual(left, right));
|
|
45
|
+
}
|
|
46
|
+
if (!isPlainRecord(left) || !isPlainRecord(right))
|
|
47
|
+
return false;
|
|
48
|
+
return areEntriesEqual(left, right);
|
|
49
|
+
}
|
|
50
|
+
function areElementsEqual(left, right) {
|
|
51
|
+
if (left.length !== right.length)
|
|
52
|
+
return false;
|
|
53
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
54
|
+
if (!isJsonValueEqual(left[index], right[index]))
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
function areEntriesEqual(left, right) {
|
|
60
|
+
const leftKeys = Object.keys(left);
|
|
61
|
+
if (leftKeys.length !== Object.keys(right).length)
|
|
62
|
+
return false;
|
|
63
|
+
for (const key of leftKeys) {
|
|
64
|
+
if (!Object.prototype.hasOwnProperty.call(right, key))
|
|
65
|
+
return false;
|
|
66
|
+
if (!isJsonValueEqual(left[key], right[key]))
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
/** Object.prototype or a null prototype: anything else keeps its identity. */
|
|
72
|
+
function isPlainRecord(value) {
|
|
73
|
+
if (typeof value !== "object" || value === null)
|
|
74
|
+
return false;
|
|
75
|
+
const prototype = Object.getPrototypeOf(value);
|
|
76
|
+
return prototype === Object.prototype || prototype === null;
|
|
77
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
declare const MARKER: unique symbol;
|
|
2
|
+
export interface FieldRef {
|
|
3
|
+
readonly [MARKER]: "fieldRef";
|
|
4
|
+
}
|
|
5
|
+
export interface FieldRefs {
|
|
6
|
+
readonly [MARKER]: "fieldRefs";
|
|
7
|
+
}
|
|
8
|
+
export interface RootPredicate {
|
|
9
|
+
readonly [MARKER]: "rootPredicate";
|
|
10
|
+
}
|
|
11
|
+
export interface RootReader<R> {
|
|
12
|
+
readonly [MARKER]: "rootReader";
|
|
13
|
+
readonly read: R;
|
|
14
|
+
}
|
|
15
|
+
export interface SelfReader<R> {
|
|
16
|
+
readonly [MARKER]: "selfReader";
|
|
17
|
+
readonly read: R;
|
|
18
|
+
}
|
|
19
|
+
export interface SelfValue {
|
|
20
|
+
readonly [MARKER]: "selfValue";
|
|
21
|
+
}
|
|
22
|
+
export interface ElementChain {
|
|
23
|
+
readonly [MARKER]: "elementChain";
|
|
24
|
+
}
|
|
25
|
+
export interface SelfGuard {
|
|
26
|
+
readonly [MARKER]: "selfGuard";
|
|
27
|
+
}
|
|
28
|
+
export interface NarrowedChain {
|
|
29
|
+
readonly [MARKER]: "narrowedChain";
|
|
30
|
+
}
|
|
31
|
+
/** A sub-chain over the VALUE behind any property key of the subject object. */
|
|
32
|
+
export interface PropertyValueChain {
|
|
33
|
+
readonly [MARKER]: "propertyValueChain";
|
|
34
|
+
}
|
|
35
|
+
/** A sub-chain over the property KEY itself, which is always a string. */
|
|
36
|
+
export interface PropertyKeyChain {
|
|
37
|
+
readonly [MARKER]: "propertyKeyChain";
|
|
38
|
+
}
|
|
39
|
+
export interface Unchanged {
|
|
40
|
+
readonly [MARKER]: "unchanged";
|
|
41
|
+
}
|
|
42
|
+
export interface TransformOut {
|
|
43
|
+
readonly [MARKER]: "transformOut";
|
|
44
|
+
}
|
|
45
|
+
export interface GuardOut {
|
|
46
|
+
readonly [MARKER]: "guardOut";
|
|
47
|
+
}
|
|
48
|
+
export type PresenceShiftKind = "excludeMissing" | "excludeUndefined" | "excludeNull" | "allowNull";
|
|
49
|
+
export interface PresenceShift<K extends PresenceShiftKind> {
|
|
50
|
+
readonly [MARKER]: "presence";
|
|
51
|
+
readonly shift: K;
|
|
52
|
+
}
|
|
53
|
+
declare const PROBE: unique symbol;
|
|
54
|
+
/** A type no resolver can produce by accident, used to spot an unresolved marker. */
|
|
55
|
+
export interface MarkerProbe {
|
|
56
|
+
readonly [PROBE]: true;
|
|
57
|
+
}
|
|
58
|
+
/** THE registry of argument markers. Both resolvers are proved exhaustive
|
|
59
|
+
* against it by src/chain/marker-coverage.types.ts. */
|
|
60
|
+
export interface ArgumentMarkerRegistry {
|
|
61
|
+
readonly fieldRef: FieldRef;
|
|
62
|
+
readonly fieldRefs: FieldRefs;
|
|
63
|
+
readonly rootPredicate: RootPredicate;
|
|
64
|
+
readonly rootReader: RootReader<MarkerProbe>;
|
|
65
|
+
readonly selfReader: SelfReader<MarkerProbe>;
|
|
66
|
+
readonly selfValue: SelfValue;
|
|
67
|
+
readonly elementChain: ElementChain;
|
|
68
|
+
readonly selfGuard: SelfGuard;
|
|
69
|
+
readonly narrowedChain: NarrowedChain;
|
|
70
|
+
readonly propertyValueChain: PropertyValueChain;
|
|
71
|
+
readonly propertyKeyChain: PropertyKeyChain;
|
|
72
|
+
}
|
|
73
|
+
export type ArgumentMarkerKind = keyof ArgumentMarkerRegistry;
|
|
74
|
+
export interface OutputMarkerRegistry {
|
|
75
|
+
readonly unchanged: Unchanged;
|
|
76
|
+
readonly transformOut: TransformOut;
|
|
77
|
+
readonly guardOut: GuardOut;
|
|
78
|
+
readonly excludeMissing: PresenceShift<"excludeMissing">;
|
|
79
|
+
readonly excludeUndefined: PresenceShift<"excludeUndefined">;
|
|
80
|
+
readonly excludeNull: PresenceShift<"excludeNull">;
|
|
81
|
+
readonly allowNull: PresenceShift<"allowNull">;
|
|
82
|
+
}
|
|
83
|
+
export type OutputMarkerKind = keyof OutputMarkerRegistry;
|
|
84
|
+
export type ArgumentMarker = ArgumentMarkerRegistry[ArgumentMarkerKind];
|
|
85
|
+
export type AnyMarker = ArgumentMarker | OutputMarkerRegistry[OutputMarkerKind];
|
|
86
|
+
/**
|
|
87
|
+
* A record whose every value is an argument marker. `patternProperties` and
|
|
88
|
+
* `dependentSchemas` take one sub-chain PER KEY, and a key set is not a tuple,
|
|
89
|
+
* so neither resolver's array recursion reached them. Both resolvers now
|
|
90
|
+
* recurse into exactly this shape and leave every other object argument (e.g.
|
|
91
|
+
* `{ maxDepth?: number }`) untouched, so the recursion cannot silently rewrite
|
|
92
|
+
* an ordinary options bag.
|
|
93
|
+
*/
|
|
94
|
+
export type MarkerRecord = Readonly<Record<string, ArgumentMarker>>;
|
|
95
|
+
export type AssertNever<T extends never> = T;
|
|
96
|
+
export type BrandOf<M> = M extends {
|
|
97
|
+
readonly [MARKER]: infer K extends string;
|
|
98
|
+
} ? K : never;
|
|
99
|
+
type UnbrandedArgumentEntry = {
|
|
100
|
+
[K in ArgumentMarkerKind]: [BrandOf<ArgumentMarkerRegistry[K]>] extends [
|
|
101
|
+
never
|
|
102
|
+
] ? K : never;
|
|
103
|
+
}[ArgumentMarkerKind];
|
|
104
|
+
type UnbrandedOutputEntry = {
|
|
105
|
+
[K in OutputMarkerKind]: [BrandOf<OutputMarkerRegistry[K]>] extends [never] ? K : never;
|
|
106
|
+
}[OutputMarkerKind];
|
|
107
|
+
export type MarkerRegistryProof = [
|
|
108
|
+
AssertNever<UnbrandedArgumentEntry>,
|
|
109
|
+
AssertNever<UnbrandedOutputEntry>
|
|
110
|
+
];
|
|
111
|
+
type MarkerInOne<A> = [Extract<A, ArgumentMarker>] extends [never] ? [A] extends [readonly unknown[]] ? MarkerInUnion<A[number]> : [A] extends [MarkerRecord] ? true : false : true;
|
|
112
|
+
type MarkerInUnion<A> = A extends unknown ? MarkerInOne<A> : never;
|
|
113
|
+
export type IsMarkerFree<A extends readonly unknown[]> = true extends MarkerInUnion<A[number]> ? false : true;
|
|
114
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MessageContextExtra, TypeName } from "../types";
|
|
2
|
+
import type { RuleForOut, RuntimeArgs } from "./runtime-args.types";
|
|
3
|
+
import type { RuleBuildContext } from "./rule-build-context";
|
|
4
|
+
/** TOut defaults to `unknown`, NOT to `Unchanged`. */
|
|
5
|
+
export interface PluginSignature<TArgs extends readonly unknown[] = readonly unknown[], TOut = unknown, TContext extends MessageContextExtra = MessageContextExtra> {
|
|
6
|
+
readonly args: TArgs;
|
|
7
|
+
readonly out: TOut;
|
|
8
|
+
readonly context: TContext;
|
|
9
|
+
}
|
|
10
|
+
export type PluginBuild<TSig extends PluginSignature> = (ctx: RuleBuildContext<TSig["context"]>, ...args: RuntimeArgs<TSig["args"]>) => RuleForOut<TSig["out"]>;
|
|
11
|
+
export interface PluginDefinition<TName extends string, TMethod extends string, TSlots extends readonly TypeName[], TSig extends PluginSignature> {
|
|
12
|
+
readonly name: TName;
|
|
13
|
+
readonly method: TMethod;
|
|
14
|
+
readonly slots: TSlots;
|
|
15
|
+
build(ctx: RuleBuildContext<TSig["context"]>, ...args: RuntimeArgs<TSig["args"]>): RuleForOut<TSig["out"]>;
|
|
16
|
+
/**
|
|
17
|
+
* Which argument POSITIONS carry a sub-chain. Absent on a plugin that takes
|
|
18
|
+
* none. It cannot be recovered from the signature at run time — a
|
|
19
|
+
* NarrowedChain and a RootPredicate are both plain functions once the types
|
|
20
|
+
* are erased — so a composite declares it, and src/chain/collect-branch-rules
|
|
21
|
+
* resolves exactly those positions to `readonly Rule[]` before build() runs.
|
|
22
|
+
*/
|
|
23
|
+
readonly subChainArguments?: readonly number[];
|
|
24
|
+
readonly signature?: TSig;
|
|
25
|
+
}
|
|
26
|
+
export type AnyPlugin = PluginDefinition<string, string, readonly TypeName[], PluginSignature>;
|
|
27
|
+
export interface PluginSpec<TName extends string, TMethod extends string, TSlots extends readonly TypeName[], TSig extends PluginSignature> {
|
|
28
|
+
readonly name: TName;
|
|
29
|
+
readonly method: TMethod;
|
|
30
|
+
readonly slots: TSlots;
|
|
31
|
+
readonly build: PluginBuild<TSig>;
|
|
32
|
+
readonly subChainArguments?: readonly number[];
|
|
33
|
+
}
|
|
34
|
+
/** Curried: the signature is explicit, the identity literals are inferred. */
|
|
35
|
+
export declare function definePlugin<TSig extends PluginSignature>(): <TName extends string, TMethod extends string, TSlots extends readonly TypeName[]>(spec: PluginSpec<TName, TMethod, TSlots, TSig>) => PluginDefinition<TName, TMethod, TSlots, TSig>;
|
|
36
|
+
export type PluginArgs<P> = P extends PluginDefinition<string, string, readonly TypeName[], infer Sig> ? Sig["args"] : never;
|
|
37
|
+
export type PluginOut<P> = P extends PluginDefinition<string, string, readonly TypeName[], infer Sig> ? Sig["out"] : never;
|
|
38
|
+
export declare class PluginArgumentError extends Error {
|
|
39
|
+
constructor(pluginName: string, argumentName: string, received: unknown);
|
|
40
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PluginArgumentError = void 0;
|
|
4
|
+
exports.definePlugin = definePlugin;
|
|
5
|
+
/** Curried: the signature is explicit, the identity literals are inferred. */
|
|
6
|
+
function definePlugin() {
|
|
7
|
+
return (spec) => ({
|
|
8
|
+
name: spec.name,
|
|
9
|
+
method: spec.method,
|
|
10
|
+
slots: spec.slots,
|
|
11
|
+
build: spec.build,
|
|
12
|
+
// Only present when the plugin declared one, so a plugin that takes no
|
|
13
|
+
// sub-chain keeps exactly the four members it always had.
|
|
14
|
+
...(spec.subChainArguments === undefined
|
|
15
|
+
? {}
|
|
16
|
+
: { subChainArguments: spec.subChainArguments }),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
class PluginArgumentError extends Error {
|
|
20
|
+
constructor(pluginName, argumentName, received) {
|
|
21
|
+
super(`${pluginName}: invalid argument "${argumentName}": ${String(received)}`);
|
|
22
|
+
this.name = "PluginArgumentError";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.PluginArgumentError = PluginArgumentError;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Curried: the signature is explicit, the identity literals are inferred. */
|
|
2
|
+
export function definePlugin() {
|
|
3
|
+
return (spec) => ({
|
|
4
|
+
name: spec.name,
|
|
5
|
+
method: spec.method,
|
|
6
|
+
slots: spec.slots,
|
|
7
|
+
build: spec.build,
|
|
8
|
+
// Only present when the plugin declared one, so a plugin that takes no
|
|
9
|
+
// sub-chain keeps exactly the four members it always had.
|
|
10
|
+
...(spec.subChainArguments === undefined
|
|
11
|
+
? {}
|
|
12
|
+
: { subChainArguments: spec.subChainArguments }),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export class PluginArgumentError extends Error {
|
|
16
|
+
constructor(pluginName, argumentName, received) {
|
|
17
|
+
super(`${pluginName}: invalid argument "${argumentName}": ${String(received)}`);
|
|
18
|
+
this.name = "PluginArgumentError";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IssueSeverity, MessageContext, MessageContextExtra, MessageFactory } from "../types";
|
|
2
|
+
import type { ResolvedGlobalConfig } from "../types/global-config";
|
|
3
|
+
export interface RuleBuildContext<C extends MessageContextExtra = MessageContextExtra> {
|
|
4
|
+
/** Identity of the plugin whose build() is running. */
|
|
5
|
+
readonly pluginName: string;
|
|
6
|
+
/** Error code already resolved from options.code, falling back to pluginName. */
|
|
7
|
+
readonly code: string;
|
|
8
|
+
/** Message factory already resolved from options.messageFactory. */
|
|
9
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
10
|
+
/**
|
|
11
|
+
* Already resolved from options.severity, falling back to
|
|
12
|
+
* config.defaultSeverity. Resolved ONCE, here, for the same reason
|
|
13
|
+
* options.code is: two resolution sites is how an override stops working.
|
|
14
|
+
*/
|
|
15
|
+
readonly severity: IssueSeverity;
|
|
16
|
+
/**
|
|
17
|
+
* The effective GlobalConfig for the builder that is building this rule.
|
|
18
|
+
* This is the ONLY way a plugin sees it; nothing reads a process-wide
|
|
19
|
+
* singleton at validation time.
|
|
20
|
+
*/
|
|
21
|
+
readonly config: ResolvedGlobalConfig;
|
|
22
|
+
/** The field this rule is attached to, in L1 grammar. */
|
|
23
|
+
readonly fieldPath: string;
|
|
24
|
+
/** Immediate child object keys declared underneath fieldPath, frozen by L4. */
|
|
25
|
+
readonly declaredSiblingKeys: readonly string[];
|
|
26
|
+
}
|
|
27
|
+
export declare function renderMessage<C extends MessageContextExtra>(factory: MessageFactory<C> | undefined, ctx: MessageContext, extra: C, fallback: string): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderMessage = renderMessage;
|
|
4
|
+
function renderMessage(factory, ctx, extra, fallback) {
|
|
5
|
+
return factory === undefined
|
|
6
|
+
? fallback
|
|
7
|
+
: factory(Object.assign({}, ctx, extra));
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ElementChain, FieldRef, FieldRefs, MarkerRecord, NarrowedChain, PresenceShift, PresenceShiftKind, PropertyKeyChain, PropertyValueChain, RootPredicate, RootReader, SelfGuard, SelfReader, SelfValue, TransformOut } from "./marker.types";
|
|
2
|
+
import type { ArrayItemContext } from "../types";
|
|
3
|
+
import type { PresenceRule, Rule, TransformRule } from "./compiled-rule";
|
|
4
|
+
export type RootPredicateFn = (root: unknown, item?: ArrayItemContext) => boolean;
|
|
5
|
+
export type RootReaderFn<R> = (root: unknown) => R;
|
|
6
|
+
export type SelfReaderFn<R> = (value: unknown) => R;
|
|
7
|
+
export type SelfGuardFn = (value: unknown) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* An OPTIONAL tuple element makes `A[I]` be `M | undefined`, which matches no
|
|
10
|
+
* marker branch. Undefined is stripped before matching and re-added afterwards.
|
|
11
|
+
*/
|
|
12
|
+
export type RuntimeArg<A> = [undefined] extends [A] ? ResolveRuntimeArg<Exclude<A, undefined>> | undefined : ResolveRuntimeArg<A>;
|
|
13
|
+
type ResolveRuntimeArg<A> = [A] extends [FieldRef] ? string : [A] extends [FieldRefs] ? readonly string[] : [A] extends [RootPredicate] ? RootPredicateFn : [A] extends [RootReader<infer R>] ? RootReaderFn<R> : [A] extends [SelfReader<infer R>] ? SelfReaderFn<R> : [A] extends [SelfGuard] ? SelfGuardFn : [A] extends [SelfValue] ? unknown : [A] extends [ElementChain] ? readonly Rule[] : [A] extends [NarrowedChain] ? readonly Rule[] : [A] extends [PropertyValueChain] ? readonly Rule[] : [A] extends [PropertyKeyChain] ? readonly Rule[] : [
|
|
14
|
+
A
|
|
15
|
+
] extends [readonly unknown[]] ? {
|
|
16
|
+
[I in keyof A]: RuntimeArg<A[I]>;
|
|
17
|
+
} : [
|
|
18
|
+
A
|
|
19
|
+
] extends [MarkerRecord] ? {
|
|
20
|
+
readonly [K in keyof A]: RuntimeArg<A[K]>;
|
|
21
|
+
} : A;
|
|
22
|
+
export type RuntimeArgs<A extends readonly unknown[]> = {
|
|
23
|
+
[I in keyof A]: RuntimeArg<A[I]>;
|
|
24
|
+
};
|
|
25
|
+
/** The runtime counterpart of the OUTPUT markers. */
|
|
26
|
+
export type RuleForOut<O> = [O] extends [TransformOut] ? TransformRule : [O] extends [PresenceShift<PresenceShiftKind>] ? PresenceRule : Rule;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./plugin-kit/index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./plugin-kit/index.mjs";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ElementChain, Unchanged } from "../../plugin-kit/marker.types";
|
|
2
|
+
export interface ArrayContainsBounds {
|
|
3
|
+
readonly min?: number;
|
|
4
|
+
readonly max?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ArrayContainsContext {
|
|
7
|
+
readonly matched: number;
|
|
8
|
+
readonly min: number;
|
|
9
|
+
readonly max: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* WHICH argument positions carry a sub-chain cannot be recovered from a
|
|
13
|
+
* plugin's type at run time — a NarrowedChain and a RootPredicate are both
|
|
14
|
+
* plain functions once erased — so src/chain/collect-branch-rules.ts reads it
|
|
15
|
+
* from this declared field. definePlugin's spec does not carry it yet (see
|
|
16
|
+
* needsFromOthers), which is why it is spread on rather than passed in.
|
|
17
|
+
*/
|
|
18
|
+
export declare const arrayContainsPlugin: import("../../plugin-kit/plugin-definition").PluginDefinition<"arrayContains", "contains", readonly ["array", "tuple"], {
|
|
19
|
+
args: readonly [element: ElementChain, bounds?: ArrayContainsBounds];
|
|
20
|
+
out: Unchanged;
|
|
21
|
+
context: ArrayContainsContext;
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrayContainsPlugin = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// L7 src/plugins/array-contains/array-contains.ts
|
|
6
|
+
// Draft-07 `contains` / `minContains` / `maxContains`.
|
|
7
|
+
//
|
|
8
|
+
// A COMPOSITE, not a check: the element schema arrives as an ElementChain that
|
|
9
|
+
// the chain has already collected into rules, becomes ONE branch, and the
|
|
10
|
+
// engine turns that branch into a runner. The plugin never touches a Rule, so
|
|
11
|
+
// there is no second execution path here — only counting.
|
|
12
|
+
//
|
|
13
|
+
// Legacy replaced (docs/legacy-spec/plugin-catalog-structural.md#arrayContainsPlugin):
|
|
14
|
+
// * three argument shapes (a value, a {validator}, a JSONSchema7) and a
|
|
15
|
+
// private mini schema evaluator: all three collapse into the sub-chain,
|
|
16
|
+
// which is the same engine every other rule runs on;
|
|
17
|
+
// * a non-array returned FALSE, alone among the array plugins. It passes
|
|
18
|
+
// here, because the array type guard owns type errors;
|
|
19
|
+
// * the code was the only SCREAMING_SNAKE in the catalog and no options bag
|
|
20
|
+
// was accepted. Both now follow the one rule: code defaults to the plugin
|
|
21
|
+
// name and options.code / options.messageFactory work.
|
|
22
|
+
// ===========================================================================
|
|
23
|
+
const types_1 = require("../../types");
|
|
24
|
+
const create_rule_1 = require("../../plugin-kit/create-rule");
|
|
25
|
+
const plugin_definition_1 = require("../../plugin-kit/plugin-definition");
|
|
26
|
+
/**
|
|
27
|
+
* Counting stops as soon as the count passes `max`: a further match cannot
|
|
28
|
+
* change the answer, and the array may be long.
|
|
29
|
+
*/
|
|
30
|
+
function countMatchingElements(runners, min, max) {
|
|
31
|
+
const matcher = runners[0];
|
|
32
|
+
return (value, ctx) => {
|
|
33
|
+
if (matcher === undefined || !(0, types_1.isArray)(value))
|
|
34
|
+
return types_1.PASS;
|
|
35
|
+
let matched = 0;
|
|
36
|
+
for (const element of value) {
|
|
37
|
+
if (matcher.run(element, ctx).ok)
|
|
38
|
+
matched += 1;
|
|
39
|
+
if (matched > max)
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
return matched < min || matched > max
|
|
43
|
+
? (0, types_1.fail)({ expected: min, actual: matched, branch: matcher.label })
|
|
44
|
+
: types_1.PASS;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* WHICH argument positions carry a sub-chain cannot be recovered from a
|
|
49
|
+
* plugin's type at run time — a NarrowedChain and a RootPredicate are both
|
|
50
|
+
* plain functions once erased — so src/chain/collect-branch-rules.ts reads it
|
|
51
|
+
* from this declared field. definePlugin's spec does not carry it yet (see
|
|
52
|
+
* needsFromOthers), which is why it is spread on rather than passed in.
|
|
53
|
+
*/
|
|
54
|
+
exports.arrayContainsPlugin = (0, plugin_definition_1.definePlugin)()({
|
|
55
|
+
name: "arrayContains",
|
|
56
|
+
method: "contains",
|
|
57
|
+
slots: ["array", "tuple"],
|
|
58
|
+
build: (ctx, element, bounds) => {
|
|
59
|
+
const min = bounds?.min ?? 1;
|
|
60
|
+
const max = bounds?.max ?? Number.POSITIVE_INFINITY;
|
|
61
|
+
if (!(0, types_1.isNumber)(min) || Number.isNaN(min) || min < 0) {
|
|
62
|
+
throw new plugin_definition_1.PluginArgumentError(ctx.pluginName, "bounds.min", min);
|
|
63
|
+
}
|
|
64
|
+
if (!(0, types_1.isNumber)(max) || Number.isNaN(max) || max < min) {
|
|
65
|
+
throw new plugin_definition_1.PluginArgumentError(ctx.pluginName, "bounds.max", max);
|
|
66
|
+
}
|
|
67
|
+
return (0, create_rule_1.composite)({
|
|
68
|
+
code: ctx.code,
|
|
69
|
+
messageFactory: ctx.messageFactory,
|
|
70
|
+
severity: ctx.severity,
|
|
71
|
+
branches: [(0, create_rule_1.branch)("contains", element)],
|
|
72
|
+
combine: (runners) => countMatchingElements(runners, min, max),
|
|
73
|
+
describe: (detail) => `Array must contain at least ${String(min)} matching element(s), but got ${String(detail.actual)}`,
|
|
74
|
+
buildMessageContext: (detail) => ({
|
|
75
|
+
matched: (0, types_1.isNumber)(detail.actual) ? detail.actual : 0,
|
|
76
|
+
min,
|
|
77
|
+
max,
|
|
78
|
+
}),
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
subChainArguments: [0],
|
|
82
|
+
});
|