@warlock.js/seal 3.0.20 → 3.0.22

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 (73) hide show
  1. package/cjs/factory/validators.d.ts +7 -5
  2. package/cjs/factory/validators.d.ts.map +1 -1
  3. package/cjs/factory/validators.js +5 -8
  4. package/cjs/factory/validators.js.map +1 -1
  5. package/cjs/index.js +1 -1
  6. package/cjs/rules/conditional/forbidden-if-rules.d.ts +54 -0
  7. package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
  8. package/cjs/rules/conditional/forbidden-if-rules.js +112 -0
  9. package/cjs/rules/conditional/forbidden-if-rules.js.map +1 -0
  10. package/cjs/rules/conditional/index.d.ts +1 -0
  11. package/cjs/rules/conditional/index.d.ts.map +1 -1
  12. package/cjs/validators/base-validator.d.ts +57 -0
  13. package/cjs/validators/base-validator.d.ts.map +1 -1
  14. package/cjs/validators/base-validator.js +140 -3
  15. package/cjs/validators/base-validator.js.map +1 -1
  16. package/cjs/validators/index.d.ts +2 -0
  17. package/cjs/validators/index.d.ts.map +1 -1
  18. package/cjs/validators/number-validator.d.ts.map +1 -1
  19. package/cjs/validators/number-validator.js +1 -2
  20. package/cjs/validators/number-validator.js.map +1 -1
  21. package/cjs/validators/object-validator.d.ts +1 -1
  22. package/cjs/validators/object-validator.d.ts.map +1 -1
  23. package/cjs/validators/object-validator.js +6 -2
  24. package/cjs/validators/object-validator.js.map +1 -1
  25. package/cjs/validators/record-validator.d.ts +33 -0
  26. package/cjs/validators/record-validator.d.ts.map +1 -0
  27. package/cjs/validators/record-validator.js +70 -0
  28. package/cjs/validators/record-validator.js.map +1 -0
  29. package/cjs/validators/scalar-validator.d.ts +4 -0
  30. package/cjs/validators/scalar-validator.d.ts.map +1 -1
  31. package/cjs/validators/scalar-validator.js +8 -0
  32. package/cjs/validators/scalar-validator.js.map +1 -1
  33. package/cjs/validators/tuple-validator.d.ts +34 -0
  34. package/cjs/validators/tuple-validator.d.ts.map +1 -0
  35. package/cjs/validators/tuple-validator.js +79 -0
  36. package/cjs/validators/tuple-validator.js.map +1 -0
  37. package/esm/factory/validators.d.ts +7 -5
  38. package/esm/factory/validators.d.ts.map +1 -1
  39. package/esm/factory/validators.js +5 -8
  40. package/esm/factory/validators.js.map +1 -1
  41. package/esm/index.js +1 -1
  42. package/esm/rules/conditional/forbidden-if-rules.d.ts +54 -0
  43. package/esm/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
  44. package/esm/rules/conditional/forbidden-if-rules.js +112 -0
  45. package/esm/rules/conditional/forbidden-if-rules.js.map +1 -0
  46. package/esm/rules/conditional/index.d.ts +1 -0
  47. package/esm/rules/conditional/index.d.ts.map +1 -1
  48. package/esm/validators/base-validator.d.ts +57 -0
  49. package/esm/validators/base-validator.d.ts.map +1 -1
  50. package/esm/validators/base-validator.js +140 -3
  51. package/esm/validators/base-validator.js.map +1 -1
  52. package/esm/validators/index.d.ts +2 -0
  53. package/esm/validators/index.d.ts.map +1 -1
  54. package/esm/validators/number-validator.d.ts.map +1 -1
  55. package/esm/validators/number-validator.js +1 -2
  56. package/esm/validators/number-validator.js.map +1 -1
  57. package/esm/validators/object-validator.d.ts +1 -1
  58. package/esm/validators/object-validator.d.ts.map +1 -1
  59. package/esm/validators/object-validator.js +6 -2
  60. package/esm/validators/object-validator.js.map +1 -1
  61. package/esm/validators/record-validator.d.ts +33 -0
  62. package/esm/validators/record-validator.d.ts.map +1 -0
  63. package/esm/validators/record-validator.js +70 -0
  64. package/esm/validators/record-validator.js.map +1 -0
  65. package/esm/validators/scalar-validator.d.ts +4 -0
  66. package/esm/validators/scalar-validator.d.ts.map +1 -1
  67. package/esm/validators/scalar-validator.js +8 -0
  68. package/esm/validators/scalar-validator.js.map +1 -1
  69. package/esm/validators/tuple-validator.d.ts +34 -0
  70. package/esm/validators/tuple-validator.d.ts.map +1 -0
  71. package/esm/validators/tuple-validator.js +79 -0
  72. package/esm/validators/tuple-validator.js.map +1 -0
  73. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-validator.js","sources":["../../src/validators/scalar-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","scalarRule","numberMutator","acceptedRule","acceptedIfRule","acceptedUnlessRule","acceptedIfRequiredRule","acceptedIfPresentRule","acceptedWithoutRule","declinedRule","declinedIfRule","declinedUnlessRule","declinedIfRequiredRule","declinedIfPresentRule","declinedWithoutRule","enumRule","inRule","allowedValuesRule","notAllowedValuesRule"],"mappings":"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"}
1
+ {"version":3,"file":"scalar-validator.js","sources":["../../src/validators/scalar-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","scalarRule","numberMutator","acceptedRule","acceptedIfRule","acceptedUnlessRule","acceptedIfRequiredRule","acceptedIfPresentRule","acceptedWithoutRule","declinedRule","declinedIfRule","declinedUnlessRule","declinedIfRequiredRule","declinedIfPresentRule","declinedWithoutRule","enumRule","inRule","allowedValuesRule","notAllowedValuesRule"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { SchemaContext, ValidationResult } from "../types";
2
+ import { BaseValidator } from "./base-validator";
3
+ /**
4
+ * Tuple validator class - validates fixed-length arrays with position-specific types
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * // RGB color tuple
9
+ * v.tuple([v.number(), v.number(), v.number()])
10
+ * // Valid: [255, 128, 0]
11
+ * // Invalid: [255, 128] (too short)
12
+ *
13
+ * // Mixed types
14
+ * v.tuple([v.string(), v.int(), v.boolean()])
15
+ * // Valid: ["John", 25, true]
16
+ * ```
17
+ */
18
+ export declare class TupleValidator extends BaseValidator {
19
+ validators: BaseValidator[];
20
+ constructor(validators: BaseValidator[], errorMessage?: string);
21
+ /**
22
+ * Check if value is an array type
23
+ */
24
+ matchesType(value: any): boolean;
25
+ /**
26
+ * Clone the validator
27
+ */
28
+ clone(): this;
29
+ /**
30
+ * Validate tuple - check length then validate each position
31
+ */
32
+ validate(data: any, context: SchemaContext): Promise<ValidationResult>;
33
+ }
34
+ //# sourceMappingURL=tuple-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple-validator.d.ts","sourceRoot":"","sources":["../../src/validators/tuple-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,UAAU,EAAE,aAAa,EAAE;gBAA3B,UAAU,EAAE,aAAa,EAAE,EAClC,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAM7B;;OAEG;IACU,QAAQ,CACnB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC;CAkD7B"}
@@ -0,0 +1,79 @@
1
+ 'use strict';require('@mongez/reinforcements');var pathHelpers=require('../helpers/path-helpers.js');require('@mongez/supportive-is'),require('net');var typeRules=require('../rules/common/type-rules.js'),baseValidator=require('./base-validator.js');/**
2
+ * Tuple validator class - validates fixed-length arrays with position-specific types
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * // RGB color tuple
7
+ * v.tuple([v.number(), v.number(), v.number()])
8
+ * // Valid: [255, 128, 0]
9
+ * // Invalid: [255, 128] (too short)
10
+ *
11
+ * // Mixed types
12
+ * v.tuple([v.string(), v.int(), v.boolean()])
13
+ * // Valid: ["John", 25, true]
14
+ * ```
15
+ */
16
+ class TupleValidator extends baseValidator.BaseValidator {
17
+ validators;
18
+ constructor(validators, errorMessage) {
19
+ super();
20
+ this.validators = validators;
21
+ this.addRule(typeRules.arrayRule, errorMessage);
22
+ }
23
+ /**
24
+ * Check if value is an array type
25
+ */
26
+ matchesType(value) {
27
+ return Array.isArray(value);
28
+ }
29
+ /**
30
+ * Clone the validator
31
+ */
32
+ clone() {
33
+ const cloned = super.clone();
34
+ cloned.validators = this.validators.map(v => v.clone());
35
+ return cloned;
36
+ }
37
+ /**
38
+ * Validate tuple - check length then validate each position
39
+ */
40
+ async validate(data, context) {
41
+ const mutatedData = (await this.mutate(data, context)) || [];
42
+ const result = await super.validate(data, context);
43
+ if (result.isValid === false)
44
+ return result;
45
+ const errors = [];
46
+ // Tuple-specific: length validation
47
+ if (mutatedData.length !== this.validators.length) {
48
+ errors.push({
49
+ type: "tuple",
50
+ input: context.key || "value",
51
+ error: `Expected exactly ${this.validators.length} items, but got ${mutatedData.length}`,
52
+ });
53
+ return { isValid: false, errors, data: mutatedData };
54
+ }
55
+ // Validate each position with its specific validator in parallel
56
+ const validationPromises = this.validators.map(async (validator, index) => {
57
+ const childContext = {
58
+ ...context,
59
+ parent: mutatedData,
60
+ value: mutatedData[index],
61
+ key: index.toString(),
62
+ path: pathHelpers.setKeyPath(context.path, index.toString()),
63
+ };
64
+ const childResult = await validator.validate(mutatedData[index], childContext);
65
+ // Update mutated data with validated result
66
+ mutatedData[index] = childResult.data;
67
+ // Collect errors from this element
68
+ if (childResult.isValid === false) {
69
+ errors.push(...childResult.errors);
70
+ }
71
+ });
72
+ await Promise.all(validationPromises);
73
+ return {
74
+ isValid: errors.length === 0,
75
+ errors,
76
+ data: await this.startTransformationPipeline(mutatedData, context),
77
+ };
78
+ }
79
+ }exports.TupleValidator=TupleValidator;//# sourceMappingURL=tuple-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple-validator.js","sources":["../../src/validators/tuple-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","arrayRule","setKeyPath"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Schema, ValidationResult } from "../types";
2
2
  import type { BaseValidator } from "../validators";
3
- import { AnyValidator, ArrayValidator, BooleanValidator, DateValidator, FloatValidator, IntValidator, NumberValidator, ObjectValidator, ScalarValidator, StringValidator, UnionValidator } from "../validators";
3
+ import { AnyValidator, ArrayValidator, BooleanValidator, DateValidator, FloatValidator, IntValidator, NumberValidator, ObjectValidator, RecordValidator, ScalarValidator, StringValidator, TupleValidator, UnionValidator } from "../validators";
4
4
  /**
5
5
  * Seal factory object - creates instances of validators
6
6
  *
@@ -12,10 +12,15 @@ export interface ValidatorV {
12
12
  schema: T;
13
13
  };
14
14
  any: () => AnyValidator;
15
- forbidden: () => AnyValidator;
16
15
  array: <T extends BaseValidator>(validator: T, errorMessage?: string) => ArrayValidator & {
17
16
  validator: T;
18
17
  };
18
+ record: <T extends BaseValidator>(validator: T, errorMessage?: string) => RecordValidator & {
19
+ valueValidator: T;
20
+ };
21
+ tuple: <T extends BaseValidator[]>(validators: T, errorMessage?: string) => TupleValidator & {
22
+ validators: T;
23
+ };
19
24
  date: (errorMessage?: string) => DateValidator;
20
25
  string: (errorMessage?: string) => StringValidator;
21
26
  enum: (values: any, errorMessage?: string) => ScalarValidator;
@@ -24,9 +29,6 @@ export interface ValidatorV {
24
29
  float: (errorMessage?: string) => FloatValidator;
25
30
  boolean: (errorMessage?: string) => BooleanValidator;
26
31
  scalar: (errorMessage?: string) => ScalarValidator;
27
- localized: (valueValidator?: BaseValidator, errorMessage?: string) => ArrayValidator & {
28
- validator: BaseValidator;
29
- };
30
32
  union: (validators: BaseValidator[], errorMessage?: string) => UnionValidator;
31
33
  validate: <T extends BaseValidator>(schema: T, data: any) => Promise<ValidationResult>;
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/factory/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,eAAO,MAAM,CAAC,EAAE,UA4DU,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EACvB,MAAM,EAAE,CAAC,EACT,YAAY,CAAC,EAAE,MAAM,KAClB,eAAe,GAAG;QACrB,MAAM,EAAE,CAAC,CAAC;KACX,CAAC;IACF,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,SAAS,aAAa,EAC7B,SAAS,EAAE,CAAC,EACZ,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,SAAS,EAAE,CAAC,CAAC;KACd,CAAC;IACF,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/C,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IAC9D,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACrD,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,SAAS,EAAE,CACT,cAAc,CAAC,EAAE,aAAa,EAC9B,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,SAAS,EAAE,aAAa,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,SAAS,aAAa,EAChC,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,GAAG,KACN,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/factory/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACf,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,eAAO,MAAM,CAAC,EAAE,UA2DU,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EACvB,MAAM,EAAE,CAAC,EACT,YAAY,CAAC,EAAE,MAAM,KAClB,eAAe,GAAG;QACrB,MAAM,EAAE,CAAC,CAAC;KACX,CAAC;IACF,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,SAAS,aAAa,EAC7B,SAAS,EAAE,CAAC,EACZ,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,SAAS,EAAE,CAAC,CAAC;KACd,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,SAAS,aAAa,EAC9B,SAAS,EAAE,CAAC,EACZ,YAAY,CAAC,EAAE,MAAM,KAClB,eAAe,GAAG;QACrB,cAAc,EAAE,CAAC,CAAC;KACnB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,SAAS,aAAa,EAAE,EAC/B,UAAU,EAAE,CAAC,EACb,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,UAAU,EAAE,CAAC,CAAC;KACf,CAAC;IACF,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/C,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IAC9D,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACrD,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,KAAK,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,SAAS,aAAa,EAChC,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,GAAG,KACN,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC"}
@@ -1,4 +1,4 @@
1
- import {AnyValidator}from'../validators/any-validator.js';import {ArrayValidator}from'../validators/array-validator.js';import'@mongez/reinforcements';import'@mongez/supportive-is';import'net';import {BooleanValidator}from'../validators/boolean-validator.js';import {DateValidator}from'../validators/date-validator.js';import {FloatValidator}from'../validators/float-validator.js';import {IntValidator}from'../validators/int-validator.js';import {NumberValidator}from'../validators/number-validator.js';import {ObjectValidator}from'../validators/object-validator.js';import {ScalarValidator}from'../validators/scalar-validator.js';import {StringValidator}from'../validators/string-validator.js';import {UnionValidator}from'../validators/union-validator.js';import {validate}from'./validate.js';/**
1
+ import {AnyValidator}from'../validators/any-validator.js';import {ArrayValidator}from'../validators/array-validator.js';import'@mongez/reinforcements';import'@mongez/supportive-is';import'net';import {BooleanValidator}from'../validators/boolean-validator.js';import {DateValidator}from'../validators/date-validator.js';import {FloatValidator}from'../validators/float-validator.js';import {IntValidator}from'../validators/int-validator.js';import {NumberValidator}from'../validators/number-validator.js';import {ObjectValidator}from'../validators/object-validator.js';import {RecordValidator}from'../validators/record-validator.js';import {ScalarValidator}from'../validators/scalar-validator.js';import {StringValidator}from'../validators/string-validator.js';import {TupleValidator}from'../validators/tuple-validator.js';import {UnionValidator}from'../validators/union-validator.js';import {validate}from'./validate.js';/**
2
2
  * Seal factory object - creates instances of validators
3
3
  *
4
4
  * Use 'v' to create validation schemas (seals) for your data
@@ -8,10 +8,12 @@ const v = {
8
8
  object: (schema, errorMessage) => new ObjectValidator(schema, errorMessage),
9
9
  /** Create an any validator */
10
10
  any: () => new AnyValidator(),
11
- /** Create a forbidden validator */
12
- forbidden: () => v.any().forbidden(),
13
11
  /** Create an array validator */
14
12
  array: (validator, errorMessage) => new ArrayValidator(validator, errorMessage),
13
+ /** Create a record validator - object with dynamic keys and consistent value types */
14
+ record: (validator, errorMessage) => new RecordValidator(validator, errorMessage),
15
+ /** Create a tuple validator - fixed-length array with position-specific types */
16
+ tuple: (validators, errorMessage) => new TupleValidator(validators, errorMessage),
15
17
  /** Create a date validator */
16
18
  date: (errorMessage) => new DateValidator(errorMessage),
17
19
  /** Create a string validator */
@@ -28,11 +30,6 @@ const v = {
28
30
  boolean: (errorMessage) => new BooleanValidator(errorMessage),
29
31
  /** Create a scalar validator */
30
32
  scalar: (errorMessage) => new ScalarValidator(errorMessage),
31
- /** Create a localized array validator */
32
- localized: (valueValidator, errorMessage) => v.array(v.object({
33
- localeCode: v.string().required(),
34
- value: (valueValidator || v.string()).required(),
35
- }), errorMessage),
36
33
  /** Create a union validator - validates against multiple types */
37
34
  union: (validators, errorMessage) => new UnionValidator().union(validators, errorMessage),
38
35
  /** Validate data against a schema */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["validateFunction"],"mappings":"0xBAiBA;;;;AAIG;AACU,MAAA,CAAC,GAAe;;AAE3B,IAAA,MAAM,EAAE,CAAmB,MAAS,EAAE,YAAqB,KACzD,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAEvC;;AAGH,IAAA,GAAG,EAAE,MAAM,IAAI,YAAY,EAAE;;IAG7B,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;;AAGpC,IAAA,KAAK,EAAE,CAA0B,SAAY,EAAE,YAAqB,KAClE,IAAI,cAAc,CAAC,SAAS,EAAE,YAAY,CAEzC;;IAGH,IAAI,EAAE,CAAC,YAAqB,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC;;IAGhE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,IAAI,EAAE,CAAC,MAAW,EAAE,YAAqB,KACvC,IAAI,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;IAGlD,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;IAGpE,GAAG,EAAE,CAAC,YAAqB,KAAK,IAAI,YAAY,CAAC,YAAY,CAAC;;IAG9D,KAAK,EAAE,CAAC,YAAqB,KAAK,IAAI,cAAc,CAAC,YAAY,CAAC;;IAGlE,OAAO,EAAE,CAAC,YAAqB,KAAK,IAAI,gBAAgB,CAAC,YAAY,CAAC;;IAGtE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,SAAS,EAAE,CAAC,cAA8B,EAAE,YAAqB,KAC/D,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;AACP,QAAA,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE;KACjD,CAAC,EACF,YAAY,CACb;;AAGH,IAAA,KAAK,EAAE,CAAC,UAA2B,EAAE,YAAqB,KACxD,IAAI,cAAc,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;;AAGtD,IAAA,QAAQ,EAAEA,QAAgB;"}
1
+ {"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["validateFunction"],"mappings":"w5BAmBA;;;;AAIG;AACU,MAAA,CAAC,GAAe;;AAE3B,IAAA,MAAM,EAAE,CAAmB,MAAS,EAAE,YAAqB,KACzD,IAAI,eAAe,CAAC,MAAM,EAAE,YAAY,CAEvC;;AAGH,IAAA,GAAG,EAAE,MAAM,IAAI,YAAY,EAAE;;AAG7B,IAAA,KAAK,EAAE,CAA0B,SAAY,EAAE,YAAqB,KAClE,IAAI,cAAc,CAAC,SAAS,EAAE,YAAY,CAEzC;;AAGH,IAAA,MAAM,EAAE,CAA0B,SAAY,EAAE,YAAqB,KACnE,IAAI,eAAe,CAAC,SAAS,EAAE,YAAY,CAE1C;;AAGH,IAAA,KAAK,EAAE,CAA4B,UAAa,EAAE,YAAqB,KACrE,IAAI,cAAc,CAAC,UAAU,EAAE,YAAY,CAE1C;;IAGH,IAAI,EAAE,CAAC,YAAqB,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC;;IAGhE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,IAAI,EAAE,CAAC,MAAW,EAAE,YAAqB,KACvC,IAAI,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;IAGlD,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;IAGpE,GAAG,EAAE,CAAC,YAAqB,KAAK,IAAI,YAAY,CAAC,YAAY,CAAC;;IAG9D,KAAK,EAAE,CAAC,YAAqB,KAAK,IAAI,cAAc,CAAC,YAAY,CAAC;;IAGlE,OAAO,EAAE,CAAC,YAAqB,KAAK,IAAI,gBAAgB,CAAC,YAAY,CAAC;;IAGtE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,KAAK,EAAE,CAAC,UAA2B,EAAE,YAAqB,KACxD,IAAI,cAAc,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;;AAGtD,IAAA,QAAQ,EAAEA,QAAgB;"}
package/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{AnyValidator}from'./validators/any-validator.js';export{ArrayValidator}from'./validators/array-validator.js';export{BaseValidator}from'./validators/base-validator.js';export{BooleanValidator}from'./validators/boolean-validator.js';export{DateValidator}from'./validators/date-validator.js';export{FloatValidator}from'./validators/float-validator.js';export{IntValidator}from'./validators/int-validator.js';export{NumberValidator}from'./validators/number-validator.js';export{ObjectValidator}from'./validators/object-validator.js';export{ScalarValidator}from'./validators/scalar-validator.js';export{StringValidator}from'./validators/string-validator.js';export{UnionValidator}from'./validators/union-validator.js';export{WEEK_DAYS}from'./types/date-types.js';export{isDateValue}from'./helpers/date-helpers.js';export{getFieldValue}from'./helpers/get-field-value.js';export{setKeyPath}from'./helpers/path-helpers.js';export{VALID_RULE,invalidRule}from'./helpers/validation-helpers.js';export{flipArrayMutator,removeEmptyArrayElementsMutator,reverseArrayMutator,sortArrayMutator,uniqueArrayMutator}from'./mutators/array-mutators.js';export{addDaysMutator,addHoursMutator,addMonthsMutator,addYearsMutator,dateMutator,toDateOnlyMutator,toEndOfDayMutator,toEndOfMonthMutator,toEndOfYearMutator,toFormatMutator,toISOStringMutator,toStartOfDayMutator,toStartOfMonthMutator,toStartOfYearMutator,toTimeOnlyMutator,toTimestampMutator,toUTCMutator}from'./mutators/date-mutators.js';export{booleanMutator,numberMutator,roundNumberMutator}from'./mutators/number-mutators.js';export{jsonMutator,objectTrimMutator,stripUnknownMutator}from'./mutators/object-mutators.js';export{stringMutator}from'./mutators/scalar-mutators.js';export{alphaOnlyMutator,alphanumericOnlyMutator,appendMutator,base64DecodeMutator,base64EncodeMutator,camelCaseMutator,capitalizeMutator,htmlEscapeMutator,kebabCaseMutator,lowercaseMutator,ltrimMutator,maskMutator,padEndMutator,padStartMutator,pascalCaseMutator,prependMutator,removeNumbersMutator,removeSpecialCharactersMutator,repeatMutator,replaceAllMutator,replaceMutator,reverseMutator,rtrimMutator,safeHtmlMutator,slugMutator,snakeCaseMutator,stringifyMutator,titleCaseMutator,trimMultipleWhitespaceMutator,trimMutator,truncateMutator,unescapeHtmlMutator,uppercaseMutator,urlDecodeMutator,urlEncodeMutator}from'./mutators/string-mutators.js';export{equalRule}from'./rules/core/equal.js';export{forbiddenRule}from'./rules/core/forbidden.js';export{presentRule,requiredRule}from'./rules/core/required.js';export{unionRule}from'./rules/core/union.js';export{whenRule}from'./rules/core/when.js';export{alphaNumericRule,alphaRule,isNumericRule}from'./rules/string/alpha.js';export{isCreditCardRule}from'./rules/string/credit-card.js';export{emailRule}from'./rules/string/email.js';export{ip4Rule,ip6Rule,ipRule}from'./rules/string/ip.js';export{matchesRule}from'./rules/string/matches.js';export{patternRule}from'./rules/string/pattern.js';export{containsRule,endsWithRule,notContainsRule,startsWithRule}from'./rules/string/string-comparison.js';export{strongPasswordRule}from'./rules/string/strong-password-rule.js';export{urlRule}from'./rules/string/url.js';export{withoutWhitespaceRule}from'./rules/string/without-whitespace.js';export{betweenNumbersRule,evenRule,greaterThanRule,lessThanRule,maxRule,minRule,moduloRule,negativeRule,oddRule,positiveRule}from'./rules/number/number-rules.js';export{betweenLengthRule,lengthRule,maxLengthRule,maxWordsRule,minLengthRule,minWordsRule,wordsRule}from'./rules/length/length-rules.js';export{sortedArrayRule,uniqueArrayRule}from'./rules/array/array-rules.js';export{ageRule,beforeHourRule,beforeMinuteRule,beforeTodayRule,betweenHoursRule,betweenMinutesRule,dateRule,fromHourRule,fromMinuteRule,fromTodayRule,maxAgeRule,maxDateRule,minAgeRule,minDateRule,weekDayRule}from'./rules/date/date.js';export{afterTodayRule,betweenDatesRule,futureRule,pastRule,todayRule}from'./rules/date/date-comparison-rules.js';export{businessDayRule,weekdayRule,weekdaysRule,weekendRule}from'./rules/date/date-day-rules.js';export{afterFieldRule,beforeFieldRule,sameAsFieldDateRule}from'./rules/date/date-field-comparison-rules.js';export{betweenDaysRule,betweenMonthsRule,betweenTimesRule,betweenYearsRule,maxDayRule,maxMonthRule,maxYearRule,minDayRule,minMonthRule,minYearRule,monthRule,quarterRule,yearRule}from'./rules/date/date-period-rules.js';export{withinDaysRule,withinFutureDaysRule,withinPastDaysRule}from'./rules/date/date-relative-rules.js';export{betweenAgeRule,birthdayRule,leapYearRule}from'./rules/date/date-special-rules.js';export{maxHeightRule,maxWidthRule,minHeightRule,minWidthRule}from'./rules/file/dimensions.js';export{maxFileSizeRule,minFileSizeRule}from'./rules/file/file-size.js';export{colorRule,darkColorRule,hexColorRule,hslColorRule,lightColorRule,rgbColorRule,rgbaColorRule}from'./rules/color/color-rules.js';export{requiredIfEmptyRule,requiredIfInRule,requiredIfNotEmptyRule,requiredIfNotInRule,requiredIfRule}from'./rules/conditional/required-if-rules.js';export{requiredUnlessRule}from'./rules/conditional/required-unless-rules.js';export{requiredWithAllRule,requiredWithAnyRule,requiredWithRule}from'./rules/conditional/required-with-rules.js';export{requiredWithoutAllRule,requiredWithoutAnyRule,requiredWithoutRule}from'./rules/conditional/required-without-rules.js';export{presentIfEmptyRule,presentIfInRule,presentIfNotEmptyRule,presentIfNotInRule,presentIfRule}from'./rules/conditional/present-if-rules.js';export{presentUnlessRule}from'./rules/conditional/present-unless-rules.js';export{presentWithAllRule,presentWithAnyRule,presentWithRule}from'./rules/conditional/present-with-rules.js';export{presentWithoutAllRule,presentWithoutAnyRule,presentWithoutRule}from'./rules/conditional/present-without-rules.js';export{allowedValuesRule,enumRule,inRule,notAllowedValuesRule}from'./rules/common/enum.js';export{equalsFieldRule,notEqualsFieldRule}from'./rules/common/equals-field-rules.js';export{arrayRule,booleanRule,floatRule,intRule,numberRule,objectRule,scalarRule,stringRule}from'./rules/common/type-rules.js';export{unknownKeyRule}from'./rules/common/unknown-key.js';export{validate}from'./factory/validate.js';export{v}from'./factory/validators.js';export{getInstalledPlugins,hasPlugin,registerPlugin,unregisterPlugin}from'./plugins/plugin-system.js';export{configureSeal,getSealConfig,resetSealConfig}from'./config.js';//# sourceMappingURL=index.js.map
1
+ export{AnyValidator}from'./validators/any-validator.js';export{ArrayValidator}from'./validators/array-validator.js';export{BaseValidator}from'./validators/base-validator.js';export{BooleanValidator}from'./validators/boolean-validator.js';export{DateValidator}from'./validators/date-validator.js';export{FloatValidator}from'./validators/float-validator.js';export{IntValidator}from'./validators/int-validator.js';export{NumberValidator}from'./validators/number-validator.js';export{ObjectValidator}from'./validators/object-validator.js';export{RecordValidator}from'./validators/record-validator.js';export{ScalarValidator}from'./validators/scalar-validator.js';export{StringValidator}from'./validators/string-validator.js';export{TupleValidator}from'./validators/tuple-validator.js';export{UnionValidator}from'./validators/union-validator.js';export{WEEK_DAYS}from'./types/date-types.js';export{isDateValue}from'./helpers/date-helpers.js';export{getFieldValue}from'./helpers/get-field-value.js';export{setKeyPath}from'./helpers/path-helpers.js';export{VALID_RULE,invalidRule}from'./helpers/validation-helpers.js';export{flipArrayMutator,removeEmptyArrayElementsMutator,reverseArrayMutator,sortArrayMutator,uniqueArrayMutator}from'./mutators/array-mutators.js';export{addDaysMutator,addHoursMutator,addMonthsMutator,addYearsMutator,dateMutator,toDateOnlyMutator,toEndOfDayMutator,toEndOfMonthMutator,toEndOfYearMutator,toFormatMutator,toISOStringMutator,toStartOfDayMutator,toStartOfMonthMutator,toStartOfYearMutator,toTimeOnlyMutator,toTimestampMutator,toUTCMutator}from'./mutators/date-mutators.js';export{booleanMutator,numberMutator,roundNumberMutator}from'./mutators/number-mutators.js';export{jsonMutator,objectTrimMutator,stripUnknownMutator}from'./mutators/object-mutators.js';export{stringMutator}from'./mutators/scalar-mutators.js';export{alphaOnlyMutator,alphanumericOnlyMutator,appendMutator,base64DecodeMutator,base64EncodeMutator,camelCaseMutator,capitalizeMutator,htmlEscapeMutator,kebabCaseMutator,lowercaseMutator,ltrimMutator,maskMutator,padEndMutator,padStartMutator,pascalCaseMutator,prependMutator,removeNumbersMutator,removeSpecialCharactersMutator,repeatMutator,replaceAllMutator,replaceMutator,reverseMutator,rtrimMutator,safeHtmlMutator,slugMutator,snakeCaseMutator,stringifyMutator,titleCaseMutator,trimMultipleWhitespaceMutator,trimMutator,truncateMutator,unescapeHtmlMutator,uppercaseMutator,urlDecodeMutator,urlEncodeMutator}from'./mutators/string-mutators.js';export{equalRule}from'./rules/core/equal.js';export{forbiddenRule}from'./rules/core/forbidden.js';export{presentRule,requiredRule}from'./rules/core/required.js';export{unionRule}from'./rules/core/union.js';export{whenRule}from'./rules/core/when.js';export{alphaNumericRule,alphaRule,isNumericRule}from'./rules/string/alpha.js';export{isCreditCardRule}from'./rules/string/credit-card.js';export{emailRule}from'./rules/string/email.js';export{ip4Rule,ip6Rule,ipRule}from'./rules/string/ip.js';export{matchesRule}from'./rules/string/matches.js';export{patternRule}from'./rules/string/pattern.js';export{containsRule,endsWithRule,notContainsRule,startsWithRule}from'./rules/string/string-comparison.js';export{strongPasswordRule}from'./rules/string/strong-password-rule.js';export{urlRule}from'./rules/string/url.js';export{withoutWhitespaceRule}from'./rules/string/without-whitespace.js';export{betweenNumbersRule,evenRule,greaterThanRule,lessThanRule,maxRule,minRule,moduloRule,negativeRule,oddRule,positiveRule}from'./rules/number/number-rules.js';export{betweenLengthRule,lengthRule,maxLengthRule,maxWordsRule,minLengthRule,minWordsRule,wordsRule}from'./rules/length/length-rules.js';export{sortedArrayRule,uniqueArrayRule}from'./rules/array/array-rules.js';export{ageRule,beforeHourRule,beforeMinuteRule,beforeTodayRule,betweenHoursRule,betweenMinutesRule,dateRule,fromHourRule,fromMinuteRule,fromTodayRule,maxAgeRule,maxDateRule,minAgeRule,minDateRule,weekDayRule}from'./rules/date/date.js';export{afterTodayRule,betweenDatesRule,futureRule,pastRule,todayRule}from'./rules/date/date-comparison-rules.js';export{businessDayRule,weekdayRule,weekdaysRule,weekendRule}from'./rules/date/date-day-rules.js';export{afterFieldRule,beforeFieldRule,sameAsFieldDateRule}from'./rules/date/date-field-comparison-rules.js';export{betweenDaysRule,betweenMonthsRule,betweenTimesRule,betweenYearsRule,maxDayRule,maxMonthRule,maxYearRule,minDayRule,minMonthRule,minYearRule,monthRule,quarterRule,yearRule}from'./rules/date/date-period-rules.js';export{withinDaysRule,withinFutureDaysRule,withinPastDaysRule}from'./rules/date/date-relative-rules.js';export{betweenAgeRule,birthdayRule,leapYearRule}from'./rules/date/date-special-rules.js';export{maxHeightRule,maxWidthRule,minHeightRule,minWidthRule}from'./rules/file/dimensions.js';export{maxFileSizeRule,minFileSizeRule}from'./rules/file/file-size.js';export{colorRule,darkColorRule,hexColorRule,hslColorRule,lightColorRule,rgbColorRule,rgbaColorRule}from'./rules/color/color-rules.js';export{requiredIfEmptyRule,requiredIfInRule,requiredIfNotEmptyRule,requiredIfNotInRule,requiredIfRule}from'./rules/conditional/required-if-rules.js';export{requiredUnlessRule}from'./rules/conditional/required-unless-rules.js';export{requiredWithAllRule,requiredWithAnyRule,requiredWithRule}from'./rules/conditional/required-with-rules.js';export{requiredWithoutAllRule,requiredWithoutAnyRule,requiredWithoutRule}from'./rules/conditional/required-without-rules.js';export{presentIfEmptyRule,presentIfInRule,presentIfNotEmptyRule,presentIfNotInRule,presentIfRule}from'./rules/conditional/present-if-rules.js';export{presentUnlessRule}from'./rules/conditional/present-unless-rules.js';export{presentWithAllRule,presentWithAnyRule,presentWithRule}from'./rules/conditional/present-with-rules.js';export{presentWithoutAllRule,presentWithoutAnyRule,presentWithoutRule}from'./rules/conditional/present-without-rules.js';export{forbiddenIfEmptyRule,forbiddenIfInRule,forbiddenIfNotEmptyRule,forbiddenIfNotInRule,forbiddenIfNotRule,forbiddenIfRule}from'./rules/conditional/forbidden-if-rules.js';export{allowedValuesRule,enumRule,inRule,notAllowedValuesRule}from'./rules/common/enum.js';export{equalsFieldRule,notEqualsFieldRule}from'./rules/common/equals-field-rules.js';export{arrayRule,booleanRule,floatRule,intRule,numberRule,objectRule,scalarRule,stringRule}from'./rules/common/type-rules.js';export{unknownKeyRule}from'./rules/common/unknown-key.js';export{validate}from'./factory/validate.js';export{v}from'./factory/validators.js';export{getInstalledPlugins,hasPlugin,registerPlugin,unregisterPlugin}from'./plugins/plugin-system.js';export{configureSeal,getSealConfig,resetSealConfig}from'./config.js';//# sourceMappingURL=index.js.map
@@ -0,0 +1,54 @@
1
+ import type { SchemaRule } from "../../types";
2
+ /**
3
+ * Forbidden if rule - field is forbidden if another field equals a specific value
4
+ * Supports both global and sibling scope
5
+ */
6
+ export declare const forbiddenIfRule: SchemaRule<{
7
+ field: string;
8
+ value: any;
9
+ scope?: "global" | "sibling";
10
+ }>;
11
+ /**
12
+ * Forbidden if not rule - field is forbidden if another field does NOT equal a specific value
13
+ * Supports both global and sibling scope
14
+ */
15
+ export declare const forbiddenIfNotRule: SchemaRule<{
16
+ field: string;
17
+ value: any;
18
+ scope?: "global" | "sibling";
19
+ }>;
20
+ /**
21
+ * Forbidden if empty rule - field is forbidden if another field is empty
22
+ * Supports both global and sibling scope
23
+ */
24
+ export declare const forbiddenIfEmptyRule: SchemaRule<{
25
+ field: string;
26
+ scope?: "global" | "sibling";
27
+ }>;
28
+ /**
29
+ * Forbidden if not empty rule - field is forbidden if another field is not empty
30
+ * Supports both global and sibling scope
31
+ */
32
+ export declare const forbiddenIfNotEmptyRule: SchemaRule<{
33
+ field: string;
34
+ scope?: "global" | "sibling";
35
+ }>;
36
+ /**
37
+ * Forbidden if in rule - field is forbidden if another field's value is in the given array
38
+ * Supports both global and sibling scope
39
+ */
40
+ export declare const forbiddenIfInRule: SchemaRule<{
41
+ field: string;
42
+ values: any[];
43
+ scope?: "global" | "sibling";
44
+ }>;
45
+ /**
46
+ * Forbidden if not in rule - field is forbidden if another field's value is NOT in the given array
47
+ * Supports both global and sibling scope
48
+ */
49
+ export declare const forbiddenIfNotInRule: SchemaRule<{
50
+ field: string;
51
+ values: any[];
52
+ scope?: "global" | "sibling";
53
+ }>;
54
+ //# sourceMappingURL=forbidden-if-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forbidden-if-rules.d.ts","sourceRoot":"","sources":["../../../src/rules/conditional/forbidden-if-rules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAiBA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAiBA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAeA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,UAAU,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAeA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAAU,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAiBA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAiBA,CAAC"}
@@ -0,0 +1,112 @@
1
+ import {isEmpty}from'@mongez/supportive-is';import {getFieldValue}from'../../helpers/get-field-value.js';import {invalidRule,VALID_RULE}from'../../helpers/validation-helpers.js';/**
2
+ * Forbidden if rule - field is forbidden if another field equals a specific value
3
+ * Supports both global and sibling scope
4
+ */
5
+ const forbiddenIfRule = {
6
+ name: "forbiddenIf",
7
+ description: "The field is forbidden if another field equals a specific value",
8
+ sortOrder: -2,
9
+ defaultErrorMessage: "The :input is forbidden",
10
+ async validate(value, context) {
11
+ const { value: expectedValue } = this.context.options;
12
+ const fieldValue = getFieldValue(this, context);
13
+ // Field is forbidden if it has a value and the other field equals the expected value
14
+ if (!isEmpty(value) && fieldValue === expectedValue) {
15
+ return invalidRule(this, context);
16
+ }
17
+ return VALID_RULE;
18
+ },
19
+ };
20
+ /**
21
+ * Forbidden if not rule - field is forbidden if another field does NOT equal a specific value
22
+ * Supports both global and sibling scope
23
+ */
24
+ const forbiddenIfNotRule = {
25
+ name: "forbiddenIfNot",
26
+ description: "The field is forbidden if another field does NOT equal a specific value",
27
+ sortOrder: -2,
28
+ defaultErrorMessage: "The :input is forbidden",
29
+ async validate(value, context) {
30
+ const { value: expectedValue } = this.context.options;
31
+ const fieldValue = getFieldValue(this, context);
32
+ // Field is forbidden if it has a value and the other field does NOT equal the expected value
33
+ if (!isEmpty(value) && fieldValue !== expectedValue) {
34
+ return invalidRule(this, context);
35
+ }
36
+ return VALID_RULE;
37
+ },
38
+ };
39
+ /**
40
+ * Forbidden if empty rule - field is forbidden if another field is empty
41
+ * Supports both global and sibling scope
42
+ */
43
+ const forbiddenIfEmptyRule = {
44
+ name: "forbiddenIfEmpty",
45
+ description: "The field is forbidden if another field is empty",
46
+ sortOrder: -2,
47
+ defaultErrorMessage: "The :input is forbidden",
48
+ async validate(value, context) {
49
+ const fieldValue = getFieldValue(this, context);
50
+ // Field is forbidden if it has a value and the other field is empty
51
+ if (!isEmpty(value) && isEmpty(fieldValue)) {
52
+ return invalidRule(this, context);
53
+ }
54
+ return VALID_RULE;
55
+ },
56
+ };
57
+ /**
58
+ * Forbidden if not empty rule - field is forbidden if another field is not empty
59
+ * Supports both global and sibling scope
60
+ */
61
+ const forbiddenIfNotEmptyRule = {
62
+ name: "forbiddenIfNotEmpty",
63
+ description: "The field is forbidden if another field is not empty",
64
+ sortOrder: -2,
65
+ defaultErrorMessage: "The :input is forbidden",
66
+ async validate(value, context) {
67
+ const fieldValue = getFieldValue(this, context);
68
+ // Field is forbidden if it has a value and the other field is not empty
69
+ if (!isEmpty(value) && !isEmpty(fieldValue)) {
70
+ return invalidRule(this, context);
71
+ }
72
+ return VALID_RULE;
73
+ },
74
+ };
75
+ /**
76
+ * Forbidden if in rule - field is forbidden if another field's value is in the given array
77
+ * Supports both global and sibling scope
78
+ */
79
+ const forbiddenIfInRule = {
80
+ name: "forbiddenIfIn",
81
+ description: "The field is forbidden if another field's value is in the given array",
82
+ sortOrder: -2,
83
+ defaultErrorMessage: "The :input is forbidden",
84
+ async validate(value, context) {
85
+ const { values } = this.context.options;
86
+ const fieldValue = getFieldValue(this, context);
87
+ // Field is forbidden if it has a value and the other field's value is in the array
88
+ if (!isEmpty(value) && values.includes(fieldValue)) {
89
+ return invalidRule(this, context);
90
+ }
91
+ return VALID_RULE;
92
+ },
93
+ };
94
+ /**
95
+ * Forbidden if not in rule - field is forbidden if another field's value is NOT in the given array
96
+ * Supports both global and sibling scope
97
+ */
98
+ const forbiddenIfNotInRule = {
99
+ name: "forbiddenIfNotIn",
100
+ description: "The field is forbidden if another field's value is NOT in the given array",
101
+ sortOrder: -2,
102
+ defaultErrorMessage: "The :input is forbidden",
103
+ async validate(value, context) {
104
+ const { values } = this.context.options;
105
+ const fieldValue = getFieldValue(this, context);
106
+ // Field is forbidden if it has a value and the other field's value is NOT in the array
107
+ if (!isEmpty(value) && !values.includes(fieldValue)) {
108
+ return invalidRule(this, context);
109
+ }
110
+ return VALID_RULE;
111
+ },
112
+ };export{forbiddenIfEmptyRule,forbiddenIfInRule,forbiddenIfNotEmptyRule,forbiddenIfNotInRule,forbiddenIfNotRule,forbiddenIfRule};//# sourceMappingURL=forbidden-if-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forbidden-if-rules.js","sources":["../../../src/rules/conditional/forbidden-if-rules.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export * from "./present-if-rules";
6
6
  export * from "./present-unless-rules";
7
7
  export * from "./present-with-rules";
8
8
  export * from "./present-without-rules";
9
+ export * from "./forbidden-if-rules";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/conditional/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/conditional/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC"}
@@ -8,6 +8,7 @@ export declare class BaseValidator {
8
8
  protected defaultValue: any;
9
9
  protected description?: string;
10
10
  protected shouldOmit: boolean;
11
+ protected isNullable: boolean;
11
12
  /**
12
13
  * Pipeline to transform the mutated/original data before returning it
13
14
  */
@@ -22,6 +23,14 @@ export declare class BaseValidator {
22
23
  * Get the default value
23
24
  */
24
25
  getDefaultValue(): any;
26
+ /**
27
+ * Determine if value accepts null value
28
+ */
29
+ nullable(): this;
30
+ /**
31
+ * Explicitly disallow null values after calling nullable
32
+ */
33
+ notNullable(): this;
25
34
  /**
26
35
  * Add transformer with optional options
27
36
  *
@@ -466,6 +475,54 @@ export declare class BaseValidator {
466
475
  * Value is forbidden to be present
467
476
  */
468
477
  forbidden(errorMessage?: string): this;
478
+ /**
479
+ * Value is forbidden if another field equals a specific value (global scope)
480
+ */
481
+ forbiddenIf(field: string, value: any, errorMessage?: string): this;
482
+ /**
483
+ * Value is forbidden if another field equals a specific value (sibling scope)
484
+ */
485
+ forbiddenIfSibling(field: string, value: any, errorMessage?: string): this;
486
+ /**
487
+ * Value is forbidden if another field does NOT equal a specific value (global scope)
488
+ */
489
+ forbiddenIfNot(field: string, value: any, errorMessage?: string): this;
490
+ /**
491
+ * Value is forbidden if another field does NOT equal a specific value (sibling scope)
492
+ */
493
+ forbiddenIfNotSibling(field: string, value: any, errorMessage?: string): this;
494
+ /**
495
+ * Value is forbidden if another field is empty (global scope)
496
+ */
497
+ forbiddenIfEmpty(field: string, errorMessage?: string): this;
498
+ /**
499
+ * Value is forbidden if another field is empty (sibling scope)
500
+ */
501
+ forbiddenIfEmptySibling(field: string, errorMessage?: string): this;
502
+ /**
503
+ * Value is forbidden if another field is not empty (global scope)
504
+ */
505
+ forbiddenIfNotEmpty(field: string, errorMessage?: string): this;
506
+ /**
507
+ * Value is forbidden if another field is not empty (sibling scope)
508
+ */
509
+ forbiddenIfNotEmptySibling(field: string, errorMessage?: string): this;
510
+ /**
511
+ * Value is forbidden if another field's value is in the given array (global scope)
512
+ */
513
+ forbiddenIfIn(field: string, values: any[], errorMessage?: string): this;
514
+ /**
515
+ * Value is forbidden if another field's value is in the given array (sibling scope)
516
+ */
517
+ forbiddenIfInSibling(field: string, values: any[], errorMessage?: string): this;
518
+ /**
519
+ * Value is forbidden if another field's value is NOT in the given array (global scope)
520
+ */
521
+ forbiddenIfNotIn(field: string, values: any[], errorMessage?: string): this;
522
+ /**
523
+ * Value is forbidden if another field's value is NOT in the given array (sibling scope)
524
+ */
525
+ forbiddenIfNotInSibling(field: string, values: any[], errorMessage?: string): this;
469
526
  /**
470
527
  * Apply different validation rules based on another field's value (global scope)
471
528
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}