@modulify/validator 0.2.1 → 0.3.1

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.
Files changed (88) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/README.md +12 -2
  3. package/dist/assert.cjs +99 -63
  4. package/dist/assert.d.cts +37 -0
  5. package/dist/assert.d.mts +37 -0
  6. package/dist/assert.d.ts +24 -3
  7. package/dist/assert.mjs +94 -64
  8. package/dist/assertions.cjs +283 -178
  9. package/dist/assertions.d.cts +56 -0
  10. package/dist/assertions.d.mts +56 -0
  11. package/dist/assertions.d.ts +43 -45
  12. package/dist/assertions.mjs +274 -201
  13. package/dist/checkers.cjs +23 -0
  14. package/dist/checkers.d.cts +8 -0
  15. package/dist/checkers.d.mts +8 -0
  16. package/dist/checkers.d.ts +1 -1
  17. package/dist/checkers.mjs +16 -0
  18. package/dist/combinators.cjs +305 -304
  19. package/dist/combinators.d.cts +16 -0
  20. package/dist/combinators.d.mts +16 -0
  21. package/dist/combinators.d.ts +15 -16
  22. package/dist/combinators.mjs +305 -314
  23. package/dist/constraints.cjs +23 -0
  24. package/dist/constraints.d.cts +4 -0
  25. package/dist/constraints.d.mts +4 -0
  26. package/dist/constraints.d.ts +2 -2
  27. package/dist/constraints.mjs +21 -0
  28. package/dist/extractors.cjs +6 -0
  29. package/dist/extractors.d.cts +2 -0
  30. package/dist/extractors.d.mts +2 -0
  31. package/dist/extractors.mjs +5 -0
  32. package/dist/index.cjs +140 -219
  33. package/dist/index.d.cts +12 -0
  34. package/dist/index.d.mts +12 -0
  35. package/dist/index.d.ts +9 -9
  36. package/dist/index.mjs +93 -222
  37. package/dist/json-schema.cjs +364 -489
  38. package/dist/json-schema.d.cts +14 -0
  39. package/dist/json-schema.d.mts +14 -0
  40. package/dist/json-schema.d.ts +3 -3
  41. package/dist/json-schema.mjs +365 -492
  42. package/dist/metadata.cjs +98 -7
  43. package/dist/metadata.d.cts +8 -0
  44. package/dist/metadata.d.mts +8 -0
  45. package/dist/metadata.d.ts +2 -2
  46. package/dist/metadata.mjs +93 -7
  47. package/dist/predicates.cjs +98 -41
  48. package/dist/predicates.d.cts +77 -0
  49. package/dist/predicates.d.mts +77 -0
  50. package/dist/predicates.d.ts +25 -4
  51. package/dist/predicates.mjs +92 -66
  52. package/dist/types/index.d.cts +984 -0
  53. package/dist/types/index.d.mts +984 -0
  54. package/dist/types/index.d.ts +984 -0
  55. package/dist/types/json-schema.d.cts +75 -0
  56. package/dist/types/json-schema.d.mts +75 -0
  57. package/dist/types/json-schema.d.ts +75 -0
  58. package/dist/violations.cjs +81 -0
  59. package/dist/violations.d.cts +29 -0
  60. package/dist/violations.d.mts +29 -0
  61. package/dist/violations.d.ts +1 -1
  62. package/dist/violations.mjs +80 -0
  63. package/docs/RELEASING.md +66 -0
  64. package/docs/en/00-index.md +2 -0
  65. package/docs/en/01-shape-api.md +35 -10
  66. package/docs/en/02-metadata-and-introspection.md +2 -1
  67. package/docs/en/03-violations.md +1 -1
  68. package/docs/en/04-json-schema-export.md +5 -0
  69. package/docs/en/05-public-api.md +35 -3
  70. package/docs/en/06-common-recipes.md +2 -1
  71. package/docs/en/07-ai-reference.md +5 -2
  72. package/docs/en/08-violation-code-types.md +28 -2
  73. package/docs/en/09-migration.md +75 -0
  74. package/docs/ru/00-index.md +2 -0
  75. package/docs/ru/01-shape-api.md +35 -10
  76. package/docs/ru/02-metadata-and-introspection.md +2 -1
  77. package/docs/ru/03-violations.md +1 -1
  78. package/docs/ru/04-json-schema-export.md +5 -0
  79. package/docs/ru/05-public-api.md +35 -3
  80. package/docs/ru/06-common-recipes.md +2 -1
  81. package/docs/ru/07-ai-reference.md +5 -2
  82. package/docs/ru/08-violation-code-types.md +28 -2
  83. package/docs/ru/09-migration.md +76 -0
  84. package/docs/ru/README.md +10 -2
  85. package/package.json +63 -37
  86. package/types/index.d.ts +275 -115
  87. package/dist/metadata.cjs.js +0 -130
  88. package/dist/metadata.es.js +0 -131
@@ -0,0 +1,16 @@
1
+ import { CompatibleConstraints, CompatibleShapeDescriptor, Constraint, DiscriminatedUnionValidator, EachValidator, MaybeMany, NullableValidator, NullishValidator, ObjectShape, OptionalValidator, RecordValidator, ShapeDescriptor, TupleValidator, UnionValidator, Guard } from './types/index.cjs';
2
+ export type { AsyncObjectShapeRuleDescriptor, ObjectShape, ShapeDescriptor, ShapeFieldSelector, ShapeRefinement, ShapeRefineMethod, ShapeRefineMethodSync, ShapeRefinementViolationInput, SyncObjectShapeRuleDescriptor, SyncShapeRefinement, UnknownKeysMode, } from './types/index.cjs';
3
+ type VariantMap = Record<PropertyKey, MaybeMany<Constraint>>;
4
+ type CompatibleConstraintTupleInputs<T extends readonly MaybeMany<Constraint>[]> = {
5
+ readonly [K in keyof T]: CompatibleConstraints<T[K]>;
6
+ };
7
+ export declare const each: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => EachValidator<C>;
8
+ export declare const tuple: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => TupleValidator<T>;
9
+ export declare const union: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => UnionValidator<T>;
10
+ export declare const discriminatedUnion: <const K extends PropertyKey, const T extends VariantMap>(key: K, variants: CompatibleShapeDescriptor<T>) => DiscriminatedUnionValidator<K, T>;
11
+ export declare const record: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => RecordValidator<C>;
12
+ export declare const shape: <const D extends ShapeDescriptor>(descriptor: CompatibleShapeDescriptor<D>) => ObjectShape<D, "passthrough", [], never>;
13
+ export declare const exact: <const T>(value: T) => Guard<T, [], "value.exact", readonly [T], "exact">;
14
+ export declare const optional: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => OptionalValidator<C>;
15
+ export declare const nullable: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullableValidator<C>;
16
+ export declare const nullish: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullishValidator<C>;
@@ -0,0 +1,16 @@
1
+ import { CompatibleConstraints, CompatibleShapeDescriptor, Constraint, DiscriminatedUnionValidator, EachValidator, MaybeMany, NullableValidator, NullishValidator, ObjectShape, OptionalValidator, RecordValidator, ShapeDescriptor, TupleValidator, UnionValidator, Guard } from './types/index.mjs';
2
+ export type { AsyncObjectShapeRuleDescriptor, ObjectShape, ShapeDescriptor, ShapeFieldSelector, ShapeRefinement, ShapeRefineMethod, ShapeRefineMethodSync, ShapeRefinementViolationInput, SyncObjectShapeRuleDescriptor, SyncShapeRefinement, UnknownKeysMode, } from './types/index.mjs';
3
+ type VariantMap = Record<PropertyKey, MaybeMany<Constraint>>;
4
+ type CompatibleConstraintTupleInputs<T extends readonly MaybeMany<Constraint>[]> = {
5
+ readonly [K in keyof T]: CompatibleConstraints<T[K]>;
6
+ };
7
+ export declare const each: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => EachValidator<C>;
8
+ export declare const tuple: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => TupleValidator<T>;
9
+ export declare const union: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => UnionValidator<T>;
10
+ export declare const discriminatedUnion: <const K extends PropertyKey, const T extends VariantMap>(key: K, variants: CompatibleShapeDescriptor<T>) => DiscriminatedUnionValidator<K, T>;
11
+ export declare const record: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => RecordValidator<C>;
12
+ export declare const shape: <const D extends ShapeDescriptor>(descriptor: CompatibleShapeDescriptor<D>) => ObjectShape<D, "passthrough", [], never>;
13
+ export declare const exact: <const T>(value: T) => Guard<T, [], "value.exact", readonly [T], "exact">;
14
+ export declare const optional: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => OptionalValidator<C>;
15
+ export declare const nullable: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullableValidator<C>;
16
+ export declare const nullish: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullishValidator<C>;
@@ -1,17 +1,16 @@
1
- import { Constraint, DiscriminatedUnionValidator, EachValidator, InferConstraints, MaybeMany, NullableValidator, NullishValidator, ObjectShape, OptionalValidator, RecordValidator, TupleValidator, UnionValidator, Assertion } from '../types';
2
- export type ShapeDescriptor = Record<PropertyKey, MaybeMany<Constraint>>;
3
- export type InferShape<D extends ShapeDescriptor> = {
4
- [K in keyof D]: InferConstraints<D[K]>;
5
- };
6
- export type { ObjectShapeFieldSelector, ObjectShape, ObjectShapeRefinement, ObjectShapeRefinementIssue, UnknownKeysMode, } from '../types';
1
+ import { CompatibleConstraints, CompatibleShapeDescriptor, Constraint, DiscriminatedUnionValidator, EachValidator, MaybeMany, NullableValidator, NullishValidator, ObjectShape, OptionalValidator, RecordValidator, ShapeDescriptor, TupleValidator, UnionValidator, Guard } from './types/index.js';
2
+ export type { AsyncObjectShapeRuleDescriptor, ObjectShape, ShapeDescriptor, ShapeFieldSelector, ShapeRefinement, ShapeRefineMethod, ShapeRefineMethodSync, ShapeRefinementViolationInput, SyncObjectShapeRuleDescriptor, SyncShapeRefinement, UnknownKeysMode, } from './types/index.js';
7
3
  type VariantMap = Record<PropertyKey, MaybeMany<Constraint>>;
8
- export declare const each: <const C extends MaybeMany<Constraint>>(constraints: C) => EachValidator<C>;
9
- export declare const tuple: <const T extends readonly MaybeMany<Constraint>[]>(constraints: T) => TupleValidator<T>;
10
- export declare const union: <const T extends readonly MaybeMany<Constraint>[]>(constraints: T) => UnionValidator<T>;
11
- export declare const discriminatedUnion: <const K extends PropertyKey, const T extends VariantMap>(key: K, variants: T) => DiscriminatedUnionValidator<K, T>;
12
- export declare const record: <const C extends MaybeMany<Constraint>>(constraints: C) => RecordValidator<C>;
13
- export declare const shape: <const D extends ShapeDescriptor>(descriptor: D) => ObjectShape<D, "passthrough", [], never>;
14
- export declare const exact: <const T>(value: T) => Assertion<T, [], "value.exact", readonly [T], "exact">;
15
- export declare const optional: <const C extends MaybeMany<Constraint>>(constraints: C) => OptionalValidator<C>;
16
- export declare const nullable: <const C extends MaybeMany<Constraint>>(constraints: C) => NullableValidator<C>;
17
- export declare const nullish: <const C extends MaybeMany<Constraint>>(constraints: C) => NullishValidator<C>;
4
+ type CompatibleConstraintTupleInputs<T extends readonly MaybeMany<Constraint>[]> = {
5
+ readonly [K in keyof T]: CompatibleConstraints<T[K]>;
6
+ };
7
+ export declare const each: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => EachValidator<C>;
8
+ export declare const tuple: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => TupleValidator<T>;
9
+ export declare const union: <const T extends readonly MaybeMany<Constraint>[]>(constraints: CompatibleConstraintTupleInputs<T>) => UnionValidator<T>;
10
+ export declare const discriminatedUnion: <const K extends PropertyKey, const T extends VariantMap>(key: K, variants: CompatibleShapeDescriptor<T>) => DiscriminatedUnionValidator<K, T>;
11
+ export declare const record: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => RecordValidator<C>;
12
+ export declare const shape: <const D extends ShapeDescriptor>(descriptor: CompatibleShapeDescriptor<D>) => ObjectShape<D, "passthrough", [], never>;
13
+ export declare const exact: <const T>(value: T) => Guard<T, [], "value.exact", readonly [T], "exact">;
14
+ export declare const optional: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => OptionalValidator<C>;
15
+ export declare const nullable: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullableValidator<C>;
16
+ export declare const nullish: <const C extends MaybeMany<Constraint>>(constraints: CompatibleConstraints<C>) => NullishValidator<C>;