@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,46 @@
|
|
|
1
|
+
import { joinIssuePath } from "./index-stack.mjs";
|
|
2
|
+
import { runArrayNodes } from "./run-array-node.mjs";
|
|
3
|
+
import { runField } from "./run-field.mjs";
|
|
4
|
+
import { NO_WRITE_TARGETS, writeFieldValue } from "./output-writer.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* `targets` mirrors `plan.arrays` by position and defaults to empty, which is
|
|
7
|
+
* the honest description of every run that produces no output: a validate(),
|
|
8
|
+
* a branch, a recursive re-entry.
|
|
9
|
+
*
|
|
10
|
+
* Each field reads from `current`, the subject as earlier fields in this plan
|
|
11
|
+
* left it, so a rule on `a.b` sees a transform that rewrote `a`. `context.root`
|
|
12
|
+
* is NOT advanced: cross-field rules are written against the input the caller
|
|
13
|
+
* passed, and moving the root under them would make their answer depend on
|
|
14
|
+
* declaration order.
|
|
15
|
+
*/
|
|
16
|
+
export function runPlan(plan, subject, context, targets = NO_WRITE_TARGETS) {
|
|
17
|
+
let current = subject;
|
|
18
|
+
for (const field of plan.fields) {
|
|
19
|
+
const outcome = runField(field, current, context);
|
|
20
|
+
current = writeFieldValue(field, current, outcome, context.shouldApplyTransforms);
|
|
21
|
+
if (context.sink.shouldStopPlan())
|
|
22
|
+
return current;
|
|
23
|
+
}
|
|
24
|
+
return runArrayNodes(plan.arrays, current, context, targets);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Re-bases the issues of a NESTED plan onto the path of the rule that entered
|
|
28
|
+
* it. A branch's fields and a recursive re-entry's fields are both declared
|
|
29
|
+
* relative to their own subject, so their issues come back as `name`; the
|
|
30
|
+
* enclosing rule knows the subject sits at `user`, and the consumer must read
|
|
31
|
+
* `user.name`.
|
|
32
|
+
*
|
|
33
|
+
* It lives here because both callers already depend on this module and neither
|
|
34
|
+
* may depend on the other — run-branch creates a recursion runner, so
|
|
35
|
+
* run-recursion could not own it without a cycle.
|
|
36
|
+
*/
|
|
37
|
+
export function prefixIssuePaths(prefix, issues) {
|
|
38
|
+
if (prefix === "")
|
|
39
|
+
return issues;
|
|
40
|
+
return issues.map((issue) => Object.freeze({
|
|
41
|
+
path: joinIssuePath(prefix, issue.path),
|
|
42
|
+
code: issue.code,
|
|
43
|
+
message: issue.message,
|
|
44
|
+
severity: issue.severity,
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IssueSink } from "./issue-sink";
|
|
2
|
+
import type { AbortPolicy } from "./issue-sink";
|
|
3
|
+
import type { RecursionRunner } from "./run-field";
|
|
4
|
+
/**
|
|
5
|
+
* Legacy contract, kept: fields do not abort each other inside a recursive
|
|
6
|
+
* re-entry. A descent that stopped at its first issue would report one leaf of
|
|
7
|
+
* a tree and hide the rest, and the caller's abortEarly still decides whether
|
|
8
|
+
* the OUTER plan continues once these issues are merged back.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RECURSION_ABORT_POLICY: AbortPolicy;
|
|
11
|
+
/** Everything a re-entry needs that is not the policy or the value. */
|
|
12
|
+
export interface RecursionHost {
|
|
13
|
+
readonly root: unknown;
|
|
14
|
+
readonly sink: IssueSink;
|
|
15
|
+
readonly external?: Readonly<Record<string, unknown>>;
|
|
16
|
+
}
|
|
17
|
+
export declare function createRecursionRunner(host: RecursionHost): RecursionRunner;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RECURSION_ABORT_POLICY = void 0;
|
|
4
|
+
exports.createRecursionRunner = createRecursionRunner;
|
|
5
|
+
// ===========================================================================
|
|
6
|
+
// L5 src/runtime/run-recursion.ts
|
|
7
|
+
// `objectRecursively` executed: the SAME plan, re-entered against a nested
|
|
8
|
+
// value, with a depth counter and a cycle guard.
|
|
9
|
+
//
|
|
10
|
+
// Two terminations, and they are not the same event:
|
|
11
|
+
// * a CYCLE ends the descent silently. The object is already being validated
|
|
12
|
+
// further up this very path, so re-validating it can only repeat issues
|
|
13
|
+
// that are already in the sink — and never terminate.
|
|
14
|
+
// * MAX DEPTH is reported, under the recursive rule's own code and severity.
|
|
15
|
+
// Legacy truncated at maxDepth as a SUCCESS, which meant a structure deeper
|
|
16
|
+
// than the limit silently skipped every rule below it.
|
|
17
|
+
//
|
|
18
|
+
// The nested plan runs into its OWN sink and its OWN index stack, and its
|
|
19
|
+
// issues are re-based onto the entering field's path afterwards. That is what
|
|
20
|
+
// makes `node.child.name` come out right: the plan's fields are declared
|
|
21
|
+
// relative to the plan's subject and know nothing about where they were
|
|
22
|
+
// re-entered from.
|
|
23
|
+
//
|
|
24
|
+
// A re-entry never writes. RecursionRunner returns void by contract, so there
|
|
25
|
+
// is nowhere for a transformed subtree to go; recursion is validation, and
|
|
26
|
+
// `shouldApplyTransforms` is false for everything below it.
|
|
27
|
+
// ===========================================================================
|
|
28
|
+
const types_1 = require("../types");
|
|
29
|
+
const create_issue_1 = require("./create-issue");
|
|
30
|
+
const index_stack_1 = require("./index-stack");
|
|
31
|
+
const issue_sink_1 = require("./issue-sink");
|
|
32
|
+
const run_plan_1 = require("./run-plan");
|
|
33
|
+
/**
|
|
34
|
+
* Legacy contract, kept: fields do not abort each other inside a recursive
|
|
35
|
+
* re-entry. A descent that stopped at its first issue would report one leaf of
|
|
36
|
+
* a tree and hide the rest, and the caller's abortEarly still decides whether
|
|
37
|
+
* the OUTER plan continues once these issues are merged back.
|
|
38
|
+
*/
|
|
39
|
+
exports.RECURSION_ABORT_POLICY = Object.freeze({
|
|
40
|
+
abortEarly: false,
|
|
41
|
+
abortEarlyOnEachField: false,
|
|
42
|
+
});
|
|
43
|
+
function createRecursionRunner(host) {
|
|
44
|
+
return bindRecursionRunner(host, {
|
|
45
|
+
depth: 0,
|
|
46
|
+
visited: new WeakSet(),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Re-binding at each descent is what makes a recursion two levels down come
|
|
51
|
+
* back as `child.child.name`. A single runner bound to the top sink would add
|
|
52
|
+
* the inner issues straight to it, prefixed only by the inner path, and the
|
|
53
|
+
* intermediate hop would vanish.
|
|
54
|
+
*/
|
|
55
|
+
function bindRecursionRunner(host, progress) {
|
|
56
|
+
const runRecursion = (policy, value, ruleContext) => {
|
|
57
|
+
if (policy.target === "element") {
|
|
58
|
+
enterElements(policy, value, ruleContext.path);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
enterPlan(policy, value, ruleContext.path);
|
|
62
|
+
};
|
|
63
|
+
function enterElements(policy, value, path) {
|
|
64
|
+
if (!(0, types_1.isArray)(value))
|
|
65
|
+
return;
|
|
66
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
67
|
+
enterPlan(policy, value[index], `${path}[${index}]`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function enterPlan(policy, value, path) {
|
|
71
|
+
if (progress.depth >= policy.maxDepth) {
|
|
72
|
+
host.sink.add(describeDepthLimit(policy, value, path, progress.depth));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const tracked = isTrackableObject(value) ? value : null;
|
|
76
|
+
if (tracked !== null && progress.visited.has(tracked))
|
|
77
|
+
return;
|
|
78
|
+
if (tracked !== null)
|
|
79
|
+
progress.visited.add(tracked);
|
|
80
|
+
progress.depth += 1;
|
|
81
|
+
collectInto(policy, value, path);
|
|
82
|
+
progress.depth -= 1;
|
|
83
|
+
if (tracked !== null)
|
|
84
|
+
progress.visited.delete(tracked);
|
|
85
|
+
}
|
|
86
|
+
function collectInto(policy, value, path) {
|
|
87
|
+
const nested = new issue_sink_1.IssueSink(exports.RECURSION_ABORT_POLICY);
|
|
88
|
+
(0, run_plan_1.runPlan)(policy.plan.resolve(), value, {
|
|
89
|
+
root: host.root,
|
|
90
|
+
sink: nested,
|
|
91
|
+
indices: new index_stack_1.IndexStack(),
|
|
92
|
+
shouldApplyTransforms: false,
|
|
93
|
+
runRecursion: bindRecursionRunner({ ...host, sink: nested }, progress),
|
|
94
|
+
external: host.external,
|
|
95
|
+
});
|
|
96
|
+
for (const issue of (0, run_plan_1.prefixIssuePaths)(path, nested.issues)) {
|
|
97
|
+
host.sink.add(issue);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return runRecursion;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The depth issue carries the limit as `expected` and the depth actually
|
|
104
|
+
* reached as `actual`, so a plugin's message can name both without the runtime
|
|
105
|
+
* formatting anything itself.
|
|
106
|
+
*/
|
|
107
|
+
function describeDepthLimit(policy, value, path, depth) {
|
|
108
|
+
return (0, create_issue_1.createIssue)({
|
|
109
|
+
path,
|
|
110
|
+
code: policy.code,
|
|
111
|
+
severity: policy.severity,
|
|
112
|
+
value,
|
|
113
|
+
render: (messageContext) => policy.describe({ expected: policy.maxDepth, actual: depth }, messageContext),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** A WeakSet holds objects only; a primitive cannot be part of a cycle. */
|
|
117
|
+
function isTrackableObject(value) {
|
|
118
|
+
return typeof value === "object" && value !== null;
|
|
119
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L5 src/runtime/run-recursion.ts
|
|
3
|
+
// `objectRecursively` executed: the SAME plan, re-entered against a nested
|
|
4
|
+
// value, with a depth counter and a cycle guard.
|
|
5
|
+
//
|
|
6
|
+
// Two terminations, and they are not the same event:
|
|
7
|
+
// * a CYCLE ends the descent silently. The object is already being validated
|
|
8
|
+
// further up this very path, so re-validating it can only repeat issues
|
|
9
|
+
// that are already in the sink — and never terminate.
|
|
10
|
+
// * MAX DEPTH is reported, under the recursive rule's own code and severity.
|
|
11
|
+
// Legacy truncated at maxDepth as a SUCCESS, which meant a structure deeper
|
|
12
|
+
// than the limit silently skipped every rule below it.
|
|
13
|
+
//
|
|
14
|
+
// The nested plan runs into its OWN sink and its OWN index stack, and its
|
|
15
|
+
// issues are re-based onto the entering field's path afterwards. That is what
|
|
16
|
+
// makes `node.child.name` come out right: the plan's fields are declared
|
|
17
|
+
// relative to the plan's subject and know nothing about where they were
|
|
18
|
+
// re-entered from.
|
|
19
|
+
//
|
|
20
|
+
// A re-entry never writes. RecursionRunner returns void by contract, so there
|
|
21
|
+
// is nowhere for a transformed subtree to go; recursion is validation, and
|
|
22
|
+
// `shouldApplyTransforms` is false for everything below it.
|
|
23
|
+
// ===========================================================================
|
|
24
|
+
import { isArray } from "../types/index.mjs";
|
|
25
|
+
import { createIssue } from "./create-issue.mjs";
|
|
26
|
+
import { IndexStack } from "./index-stack.mjs";
|
|
27
|
+
import { IssueSink } from "./issue-sink.mjs";
|
|
28
|
+
import { prefixIssuePaths, runPlan } from "./run-plan.mjs";
|
|
29
|
+
/**
|
|
30
|
+
* Legacy contract, kept: fields do not abort each other inside a recursive
|
|
31
|
+
* re-entry. A descent that stopped at its first issue would report one leaf of
|
|
32
|
+
* a tree and hide the rest, and the caller's abortEarly still decides whether
|
|
33
|
+
* the OUTER plan continues once these issues are merged back.
|
|
34
|
+
*/
|
|
35
|
+
export const RECURSION_ABORT_POLICY = Object.freeze({
|
|
36
|
+
abortEarly: false,
|
|
37
|
+
abortEarlyOnEachField: false,
|
|
38
|
+
});
|
|
39
|
+
export function createRecursionRunner(host) {
|
|
40
|
+
return bindRecursionRunner(host, {
|
|
41
|
+
depth: 0,
|
|
42
|
+
visited: new WeakSet(),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Re-binding at each descent is what makes a recursion two levels down come
|
|
47
|
+
* back as `child.child.name`. A single runner bound to the top sink would add
|
|
48
|
+
* the inner issues straight to it, prefixed only by the inner path, and the
|
|
49
|
+
* intermediate hop would vanish.
|
|
50
|
+
*/
|
|
51
|
+
function bindRecursionRunner(host, progress) {
|
|
52
|
+
const runRecursion = (policy, value, ruleContext) => {
|
|
53
|
+
if (policy.target === "element") {
|
|
54
|
+
enterElements(policy, value, ruleContext.path);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
enterPlan(policy, value, ruleContext.path);
|
|
58
|
+
};
|
|
59
|
+
function enterElements(policy, value, path) {
|
|
60
|
+
if (!isArray(value))
|
|
61
|
+
return;
|
|
62
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
63
|
+
enterPlan(policy, value[index], `${path}[${index}]`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function enterPlan(policy, value, path) {
|
|
67
|
+
if (progress.depth >= policy.maxDepth) {
|
|
68
|
+
host.sink.add(describeDepthLimit(policy, value, path, progress.depth));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const tracked = isTrackableObject(value) ? value : null;
|
|
72
|
+
if (tracked !== null && progress.visited.has(tracked))
|
|
73
|
+
return;
|
|
74
|
+
if (tracked !== null)
|
|
75
|
+
progress.visited.add(tracked);
|
|
76
|
+
progress.depth += 1;
|
|
77
|
+
collectInto(policy, value, path);
|
|
78
|
+
progress.depth -= 1;
|
|
79
|
+
if (tracked !== null)
|
|
80
|
+
progress.visited.delete(tracked);
|
|
81
|
+
}
|
|
82
|
+
function collectInto(policy, value, path) {
|
|
83
|
+
const nested = new IssueSink(RECURSION_ABORT_POLICY);
|
|
84
|
+
runPlan(policy.plan.resolve(), value, {
|
|
85
|
+
root: host.root,
|
|
86
|
+
sink: nested,
|
|
87
|
+
indices: new IndexStack(),
|
|
88
|
+
shouldApplyTransforms: false,
|
|
89
|
+
runRecursion: bindRecursionRunner({ ...host, sink: nested }, progress),
|
|
90
|
+
external: host.external,
|
|
91
|
+
});
|
|
92
|
+
for (const issue of prefixIssuePaths(path, nested.issues)) {
|
|
93
|
+
host.sink.add(issue);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return runRecursion;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The depth issue carries the limit as `expected` and the depth actually
|
|
100
|
+
* reached as `actual`, so a plugin's message can name both without the runtime
|
|
101
|
+
* formatting anything itself.
|
|
102
|
+
*/
|
|
103
|
+
function describeDepthLimit(policy, value, path, depth) {
|
|
104
|
+
return createIssue({
|
|
105
|
+
path,
|
|
106
|
+
code: policy.code,
|
|
107
|
+
severity: policy.severity,
|
|
108
|
+
value,
|
|
109
|
+
render: (messageContext) => policy.describe({ expected: policy.maxDepth, actual: depth }, messageContext),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/** A WeakSet holds objects only; a primitive cannot be part of a cycle. */
|
|
113
|
+
function isTrackableObject(value) {
|
|
114
|
+
return typeof value === "object" && value !== null;
|
|
115
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writeOnlyPlugin = exports.readOnlyPlugin = void 0;
|
|
4
|
+
// ===========================================================================
|
|
5
|
+
// src/subpath-aliases/read-only-write-only.ts
|
|
6
|
+
// The 1.x subpath `@maroonedog/luq/plugins/readOnlyWriteOnly` kept alive.
|
|
7
|
+
//
|
|
8
|
+
// It has no plugin directory of its own — readOnly and writeOnly are two
|
|
9
|
+
// directories now — so it lives here, where the catalog does not look for
|
|
10
|
+
// plugins, and SUBPATH_ALIASES publishes it only because this file exists.
|
|
11
|
+
// Deprecated: import ./plugins/readOnly and ./plugins/writeOnly instead.
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
var index_1 = require("../plugins/read-only/index");
|
|
14
|
+
Object.defineProperty(exports, "readOnlyPlugin", { enumerable: true, get: function () { return index_1.readOnlyPlugin; } });
|
|
15
|
+
var index_2 = require("../plugins/write-only/index");
|
|
16
|
+
Object.defineProperty(exports, "writeOnlyPlugin", { enumerable: true, get: function () { return index_2.writeOnlyPlugin; } });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// src/subpath-aliases/read-only-write-only.ts
|
|
3
|
+
// The 1.x subpath `@maroonedog/luq/plugins/readOnlyWriteOnly` kept alive.
|
|
4
|
+
//
|
|
5
|
+
// It has no plugin directory of its own — readOnly and writeOnly are two
|
|
6
|
+
// directories now — so it lives here, where the catalog does not look for
|
|
7
|
+
// plugins, and SUBPATH_ALIASES publishes it only because this file exists.
|
|
8
|
+
// Deprecated: import ./plugins/readOnly and ./plugins/writeOnly instead.
|
|
9
|
+
// ===========================================================================
|
|
10
|
+
export { readOnlyPlugin } from "../plugins/read-only/index.mjs";
|
|
11
|
+
export { writeOnlyPlugin } from "../plugins/write-only/index.mjs";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IssueSeverity } from "./index";
|
|
2
|
+
export type ValueTransform = (value: unknown) => unknown;
|
|
3
|
+
export interface NumberFormat {
|
|
4
|
+
readonly decimalSeparator: string;
|
|
5
|
+
readonly thousandSeparator: string;
|
|
6
|
+
}
|
|
7
|
+
/** Every member optional: this is what a caller supplies. */
|
|
8
|
+
export interface GlobalConfig {
|
|
9
|
+
readonly messageKeyPrefix?: string;
|
|
10
|
+
readonly toBooleanTruthyValues?: readonly string[];
|
|
11
|
+
readonly numberFormat?: Partial<NumberFormat>;
|
|
12
|
+
readonly dateFormat?: string;
|
|
13
|
+
readonly trimStrings?: boolean;
|
|
14
|
+
readonly caseSensitive?: boolean;
|
|
15
|
+
readonly customTransforms?: Readonly<Record<string, ValueTransform>>;
|
|
16
|
+
/** Severity a rule emits when neither the rule nor the call names one. */
|
|
17
|
+
readonly defaultSeverity?: IssueSeverity;
|
|
18
|
+
}
|
|
19
|
+
/** Every member present: this is what a plugin reads. */
|
|
20
|
+
export interface ResolvedGlobalConfig {
|
|
21
|
+
readonly messageKeyPrefix: string;
|
|
22
|
+
readonly toBooleanTruthyValues: readonly string[];
|
|
23
|
+
readonly numberFormat: NumberFormat;
|
|
24
|
+
readonly dateFormat: string;
|
|
25
|
+
readonly trimStrings: boolean;
|
|
26
|
+
readonly caseSensitive: boolean;
|
|
27
|
+
readonly customTransforms: Readonly<Record<string, ValueTransform>>;
|
|
28
|
+
readonly defaultSeverity: IssueSeverity;
|
|
29
|
+
}
|
|
30
|
+
export declare const DEFAULT_GLOBAL_CONFIG: ResolvedGlobalConfig;
|
|
31
|
+
export declare function resolveGlobalConfig(overrides: GlobalConfig | undefined, base?: ResolvedGlobalConfig): ResolvedGlobalConfig;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_GLOBAL_CONFIG = void 0;
|
|
4
|
+
exports.resolveGlobalConfig = resolveGlobalConfig;
|
|
5
|
+
exports.DEFAULT_GLOBAL_CONFIG = Object.freeze({
|
|
6
|
+
messageKeyPrefix: "",
|
|
7
|
+
toBooleanTruthyValues: Object.freeze(["true", "1", "yes", "on"]),
|
|
8
|
+
numberFormat: Object.freeze({
|
|
9
|
+
decimalSeparator: ".",
|
|
10
|
+
thousandSeparator: ",",
|
|
11
|
+
}),
|
|
12
|
+
dateFormat: "YYYY-MM-DD",
|
|
13
|
+
trimStrings: false,
|
|
14
|
+
caseSensitive: true,
|
|
15
|
+
customTransforms: Object.freeze({}),
|
|
16
|
+
defaultSeverity: "error",
|
|
17
|
+
});
|
|
18
|
+
function resolveGlobalConfig(overrides, base = exports.DEFAULT_GLOBAL_CONFIG) {
|
|
19
|
+
if (overrides === undefined)
|
|
20
|
+
return base;
|
|
21
|
+
return Object.freeze({
|
|
22
|
+
messageKeyPrefix: overrides.messageKeyPrefix ?? base.messageKeyPrefix,
|
|
23
|
+
toBooleanTruthyValues: overrides.toBooleanTruthyValues ?? base.toBooleanTruthyValues,
|
|
24
|
+
numberFormat: Object.freeze({
|
|
25
|
+
decimalSeparator: overrides.numberFormat?.decimalSeparator ??
|
|
26
|
+
base.numberFormat.decimalSeparator,
|
|
27
|
+
thousandSeparator: overrides.numberFormat?.thousandSeparator ??
|
|
28
|
+
base.numberFormat.thousandSeparator,
|
|
29
|
+
}),
|
|
30
|
+
dateFormat: overrides.dateFormat ?? base.dateFormat,
|
|
31
|
+
trimStrings: overrides.trimStrings ?? base.trimStrings,
|
|
32
|
+
caseSensitive: overrides.caseSensitive ?? base.caseSensitive,
|
|
33
|
+
customTransforms: overrides.customTransforms ?? base.customTransforms,
|
|
34
|
+
defaultSeverity: overrides.defaultSeverity ?? base.defaultSeverity,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const DEFAULT_GLOBAL_CONFIG = Object.freeze({
|
|
2
|
+
messageKeyPrefix: "",
|
|
3
|
+
toBooleanTruthyValues: Object.freeze(["true", "1", "yes", "on"]),
|
|
4
|
+
numberFormat: Object.freeze({
|
|
5
|
+
decimalSeparator: ".",
|
|
6
|
+
thousandSeparator: ",",
|
|
7
|
+
}),
|
|
8
|
+
dateFormat: "YYYY-MM-DD",
|
|
9
|
+
trimStrings: false,
|
|
10
|
+
caseSensitive: true,
|
|
11
|
+
customTransforms: Object.freeze({}),
|
|
12
|
+
defaultSeverity: "error",
|
|
13
|
+
});
|
|
14
|
+
export function resolveGlobalConfig(overrides, base = DEFAULT_GLOBAL_CONFIG) {
|
|
15
|
+
if (overrides === undefined)
|
|
16
|
+
return base;
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
messageKeyPrefix: overrides.messageKeyPrefix ?? base.messageKeyPrefix,
|
|
19
|
+
toBooleanTruthyValues: overrides.toBooleanTruthyValues ?? base.toBooleanTruthyValues,
|
|
20
|
+
numberFormat: Object.freeze({
|
|
21
|
+
decimalSeparator: overrides.numberFormat?.decimalSeparator ??
|
|
22
|
+
base.numberFormat.decimalSeparator,
|
|
23
|
+
thousandSeparator: overrides.numberFormat?.thousandSeparator ??
|
|
24
|
+
base.numberFormat.thousandSeparator,
|
|
25
|
+
}),
|
|
26
|
+
dateFormat: overrides.dateFormat ?? base.dateFormat,
|
|
27
|
+
trimStrings: overrides.trimStrings ?? base.trimStrings,
|
|
28
|
+
caseSensitive: overrides.caseSensitive ?? base.caseSensitive,
|
|
29
|
+
customTransforms: overrides.customTransforms ?? base.customTransforms,
|
|
30
|
+
defaultSeverity: overrides.defaultSeverity ?? base.defaultSeverity,
|
|
31
|
+
});
|
|
32
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,74 +1,68 @@
|
|
|
1
|
+
export type TypeName = "string" | "number" | "boolean" | "date" | "array" | "tuple" | "object" | "union" | "any";
|
|
2
|
+
/** The extra members a plugin contributes to its own message context. */
|
|
3
|
+
export type MessageContextExtra = object;
|
|
4
|
+
export interface MessageContext {
|
|
5
|
+
readonly path: string;
|
|
6
|
+
readonly value: unknown;
|
|
7
|
+
readonly code: string;
|
|
8
|
+
}
|
|
9
|
+
export type MessageFactory<C extends MessageContextExtra = MessageContextExtra> = (context: MessageContext & C) => string;
|
|
1
10
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
import { NestedKeyOf, TypeOfPath, ElementType } from "./util";
|
|
6
|
-
import { Result, LuqValidationException } from "./result";
|
|
7
|
-
export { Result, LuqValidationException };
|
|
8
|
-
/**
|
|
9
|
-
* Validation result interface - used in builder/types.ts
|
|
10
|
-
*/
|
|
11
|
-
export type ValidationResult<T> = {
|
|
12
|
-
valid: boolean;
|
|
13
|
-
value: T | null;
|
|
14
|
-
errors: ValidationError[];
|
|
15
|
-
originalValue?: T;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Validation error interface - used in plugin-registry.ts
|
|
19
|
-
*/
|
|
20
|
-
export type ValidationError = {
|
|
21
|
-
path: string;
|
|
22
|
-
message: string;
|
|
23
|
-
code: string;
|
|
24
|
-
paths(): string[];
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Message factory type - used in reporter.ts and plugin/types.ts
|
|
28
|
-
* Import from plugin/types for consistent definition
|
|
29
|
-
*/
|
|
30
|
-
import type { MessageFactory } from "../core/plugin/types";
|
|
31
|
-
export type { MessageFactory };
|
|
32
|
-
/**
|
|
33
|
-
* Validation options - used in registry and plugin-types
|
|
34
|
-
*/
|
|
35
|
-
export type ValidationOptions = {
|
|
36
|
-
/** Abort validation on first error (default: true) */
|
|
37
|
-
abortEarly?: boolean;
|
|
38
|
-
/** Abort validation on each field's first error (default: true) */
|
|
39
|
-
abortEarlyOnEachField?: boolean;
|
|
40
|
-
/** Custom message factory for error messages */
|
|
41
|
-
messageFactory?: MessageFactory;
|
|
42
|
-
/** Translation function for i18n support */
|
|
43
|
-
translate?: (key: string, params?: Record<string, any>) => string;
|
|
44
|
-
/** Context data passed to validators */
|
|
45
|
-
context?: Record<string, any>;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Parse options - used in registry and plugin-types
|
|
11
|
+
* User decision 8 keeps severity. The legacy three-level SEVERITY
|
|
12
|
+
* (INFO / WARN / ERROR) is carried over verbatim in meaning, spelled
|
|
13
|
+
* lower-case to match every other string vocabulary in L0.
|
|
49
14
|
*/
|
|
50
|
-
export type
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
|
|
15
|
+
export type IssueSeverity = "error" | "warning" | "info";
|
|
16
|
+
export interface RuleOptions<C extends MessageContextExtra = MessageContextExtra> {
|
|
17
|
+
readonly code?: string;
|
|
18
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
19
|
+
/** Per-call override. Legacy ValidationOptions.severity, same meaning. */
|
|
20
|
+
readonly severity?: IssueSeverity;
|
|
21
|
+
}
|
|
22
|
+
export interface ValidationIssue {
|
|
23
|
+
readonly path: string;
|
|
24
|
+
readonly code: string;
|
|
25
|
+
readonly message: string;
|
|
26
|
+
/** Never optional: the chain resolves it once at build time, so a reader
|
|
27
|
+
* never has to re-implement the "absent means error" fallback. */
|
|
28
|
+
readonly severity: IssueSeverity;
|
|
29
|
+
}
|
|
30
|
+
/** branch / index / causes let a composite failure explain itself. */
|
|
31
|
+
export interface IssueDetail {
|
|
32
|
+
readonly expected?: unknown;
|
|
33
|
+
readonly actual?: unknown;
|
|
34
|
+
readonly branch?: string;
|
|
35
|
+
readonly index?: number;
|
|
36
|
+
readonly causes?: readonly ValidationIssue[];
|
|
37
|
+
}
|
|
38
|
+
export type CheckOutcome = {
|
|
39
|
+
readonly ok: true;
|
|
40
|
+
} | {
|
|
41
|
+
readonly ok: false;
|
|
42
|
+
readonly detail: IssueDetail;
|
|
63
43
|
};
|
|
64
|
-
export
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
44
|
+
export declare const PASS: CheckOutcome;
|
|
45
|
+
export declare function fail(detail: IssueDetail): CheckOutcome;
|
|
46
|
+
export interface ArrayItemContext {
|
|
47
|
+
readonly index: number;
|
|
48
|
+
readonly item: unknown;
|
|
49
|
+
readonly array: readonly unknown[];
|
|
50
|
+
}
|
|
51
|
+
export interface RuleContext {
|
|
52
|
+
readonly root: unknown;
|
|
53
|
+
readonly path: string;
|
|
54
|
+
readonly item?: ArrayItemContext;
|
|
55
|
+
/** The ONE channel a pre-resolved async context arrives on. */
|
|
56
|
+
readonly external?: Readonly<Record<string, unknown>>;
|
|
57
|
+
}
|
|
58
|
+
/** L0 keeps only the two presence flags. L3 extends it with guard coverage. */
|
|
59
|
+
export interface PresenceState {
|
|
60
|
+
readonly undefinedAllowed: boolean;
|
|
61
|
+
readonly nullAllowed: boolean;
|
|
74
62
|
}
|
|
63
|
+
export type Present<T, S extends PresenceState> = Exclude<T, (S["undefinedAllowed"] extends false ? undefined : never) | (S["nullAllowed"] extends false ? null : never)>;
|
|
64
|
+
export declare function isString(value: unknown): value is string;
|
|
65
|
+
export declare function isNumber(value: unknown): value is number;
|
|
66
|
+
export declare function isArray(value: unknown): value is readonly unknown[];
|
|
67
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
68
|
+
export declare function isStringArray(value: unknown): value is readonly string[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PASS = void 0;
|
|
4
|
+
exports.fail = fail;
|
|
5
|
+
exports.isString = isString;
|
|
6
|
+
exports.isNumber = isNumber;
|
|
7
|
+
exports.isArray = isArray;
|
|
8
|
+
exports.isPlainObject = isPlainObject;
|
|
9
|
+
exports.isStringArray = isStringArray;
|
|
10
|
+
exports.PASS = { ok: true };
|
|
11
|
+
function fail(detail) {
|
|
12
|
+
return { ok: false, detail };
|
|
13
|
+
}
|
|
14
|
+
function isString(value) {
|
|
15
|
+
return typeof value === "string";
|
|
16
|
+
}
|
|
17
|
+
function isNumber(value) {
|
|
18
|
+
return typeof value === "number";
|
|
19
|
+
}
|
|
20
|
+
function isArray(value) {
|
|
21
|
+
return Array.isArray(value);
|
|
22
|
+
}
|
|
23
|
+
function isPlainObject(value) {
|
|
24
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
25
|
+
}
|
|
26
|
+
function isStringArray(value) {
|
|
27
|
+
return isArray(value) && value.every(isString);
|
|
28
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const PASS = { ok: true };
|
|
2
|
+
export function fail(detail) {
|
|
3
|
+
return { ok: false, detail };
|
|
4
|
+
}
|
|
5
|
+
export function isString(value) {
|
|
6
|
+
return typeof value === "string";
|
|
7
|
+
}
|
|
8
|
+
export function isNumber(value) {
|
|
9
|
+
return typeof value === "number";
|
|
10
|
+
}
|
|
11
|
+
export function isArray(value) {
|
|
12
|
+
return Array.isArray(value);
|
|
13
|
+
}
|
|
14
|
+
export function isPlainObject(value) {
|
|
15
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16
|
+
}
|
|
17
|
+
export function isStringArray(value) {
|
|
18
|
+
return isArray(value) && value.every(isString);
|
|
19
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ValidationIssue } from "./index";
|
|
2
|
+
export interface ValidationSuccess<T> {
|
|
3
|
+
readonly valid: true;
|
|
4
|
+
readonly data: T;
|
|
5
|
+
readonly issues: readonly ValidationIssue[];
|
|
6
|
+
}
|
|
7
|
+
export interface ValidationRejection {
|
|
8
|
+
readonly valid: false;
|
|
9
|
+
readonly issues: readonly ValidationIssue[];
|
|
10
|
+
}
|
|
11
|
+
/** Narrows on `valid` with no cast: `data` exists only on the success branch. */
|
|
12
|
+
export type ValidationResult<T> = ValidationSuccess<T> | ValidationRejection;
|
|
13
|
+
/**
|
|
14
|
+
* The second argument of validate() / parse(). `external` is the ONE channel a
|
|
15
|
+
* pre-resolved async context arrives on; see l9-async-validator.ts. It lands in
|
|
16
|
+
* RuleContext.external unchanged, so L5 needs no async-specific branch.
|
|
17
|
+
*/
|
|
18
|
+
export interface ValidateOptions {
|
|
19
|
+
readonly abortEarly?: boolean;
|
|
20
|
+
readonly abortEarlyOnEachField?: boolean;
|
|
21
|
+
readonly external?: Readonly<Record<string, unknown>>;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|