sibyl-ts 0.1.0 → 0.3.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +1 -3
  3. package/dist/cjs/validators/object/index.d.ts +4 -0
  4. package/dist/cjs/validators/object/index.d.ts.map +1 -0
  5. package/dist/cjs/validators/object/index.js +20 -0
  6. package/dist/cjs/validators/object/index.js.map +1 -0
  7. package/dist/cjs/validators/{object.d.ts → object/object.d.ts} +1 -1
  8. package/dist/cjs/validators/object/object.d.ts.map +1 -0
  9. package/dist/cjs/validators/{object.js → object/object.js} +3 -3
  10. package/dist/cjs/validators/object/object.js.map +1 -0
  11. package/dist/cjs/validators/object/omit.d.ts +5 -0
  12. package/dist/cjs/validators/object/omit.d.ts.map +1 -0
  13. package/dist/cjs/validators/object/omit.js +46 -0
  14. package/dist/cjs/validators/object/omit.js.map +1 -0
  15. package/dist/cjs/validators/object/partial.d.ts +3 -0
  16. package/dist/cjs/validators/object/partial.d.ts.map +1 -0
  17. package/dist/cjs/validators/object/partial.js +38 -0
  18. package/dist/cjs/validators/object/partial.js.map +1 -0
  19. package/dist/cjs/validators/record.d.ts.map +1 -1
  20. package/dist/cjs/validators/record.js +1 -3
  21. package/dist/cjs/validators/record.js.map +1 -1
  22. package/dist/cjs/validators/string/email.d.ts.map +1 -1
  23. package/dist/cjs/validators/string/email.js +1 -3
  24. package/dist/cjs/validators/string/email.js.map +1 -1
  25. package/dist/cjs/validators/string/ip.d.ts.map +1 -1
  26. package/dist/cjs/validators/string/ip.js +1 -3
  27. package/dist/cjs/validators/string/ip.js.map +1 -1
  28. package/dist/cjs/validators/string/url.d.ts.map +1 -1
  29. package/dist/cjs/validators/string/url.js +1 -3
  30. package/dist/cjs/validators/string/url.js.map +1 -1
  31. package/dist/cjs/validators/string/uuid.d.ts.map +1 -1
  32. package/dist/cjs/validators/string/uuid.js +1 -3
  33. package/dist/cjs/validators/string/uuid.js.map +1 -1
  34. package/dist/esm/validators/object/index.d.ts +4 -0
  35. package/dist/esm/validators/object/index.d.ts.map +1 -0
  36. package/dist/esm/validators/object/index.js +4 -0
  37. package/dist/esm/validators/object/index.js.map +1 -0
  38. package/dist/esm/validators/{object.d.ts → object/object.d.ts} +1 -1
  39. package/dist/esm/validators/object/object.d.ts.map +1 -0
  40. package/dist/esm/validators/{object.js → object/object.js} +3 -3
  41. package/dist/esm/validators/object/object.js.map +1 -0
  42. package/dist/esm/validators/object/omit.d.ts +5 -0
  43. package/dist/esm/validators/object/omit.d.ts.map +1 -0
  44. package/dist/esm/validators/object/omit.js +42 -0
  45. package/dist/esm/validators/object/omit.js.map +1 -0
  46. package/dist/esm/validators/object/partial.d.ts +3 -0
  47. package/dist/esm/validators/object/partial.d.ts.map +1 -0
  48. package/dist/esm/validators/object/partial.js +34 -0
  49. package/dist/esm/validators/object/partial.js.map +1 -0
  50. package/dist/esm/validators/record.d.ts.map +1 -1
  51. package/dist/esm/validators/record.js +1 -3
  52. package/dist/esm/validators/record.js.map +1 -1
  53. package/dist/esm/validators/string/email.d.ts.map +1 -1
  54. package/dist/esm/validators/string/email.js +1 -3
  55. package/dist/esm/validators/string/email.js.map +1 -1
  56. package/dist/esm/validators/string/ip.d.ts.map +1 -1
  57. package/dist/esm/validators/string/ip.js +1 -3
  58. package/dist/esm/validators/string/ip.js.map +1 -1
  59. package/dist/esm/validators/string/url.d.ts.map +1 -1
  60. package/dist/esm/validators/string/url.js +1 -3
  61. package/dist/esm/validators/string/url.js.map +1 -1
  62. package/dist/esm/validators/string/uuid.d.ts.map +1 -1
  63. package/dist/esm/validators/string/uuid.js +1 -3
  64. package/dist/esm/validators/string/uuid.js.map +1 -1
  65. package/package.json +1 -1
  66. package/dist/cjs/validators/object.d.ts.map +0 -1
  67. package/dist/cjs/validators/object.js.map +0 -1
  68. package/dist/esm/validators/object.d.ts.map +0 -1
  69. package/dist/esm/validators/object.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.0] - 2026-01-14
9
+
10
+ ### Added
11
+
12
+ - `omit()` validator for creating validators with specific object properties omitted
13
+ - GitHub Actions CI workflow for automated build and test validation
14
+
15
+ ### Fixed
16
+
17
+ - ESLint configuration now properly excludes test files to prevent parsing errors
18
+ - Code formatting issues
19
+
20
+ ## [0.2.0] - 2026-01-13
21
+
22
+ ### Added
23
+
24
+ - `partial()` validator for creating validators with optional object properties
25
+ - Playground directory for testing and experimenting with validators
26
+ - Object validators now organized in dedicated `object/` folder (matching string validators structure)
27
+
28
+ ### Changed
29
+
30
+ - Moved `obj()` validator to `src/validators/object/object.ts`
31
+ - Updated exports to maintain backward compatibility
32
+
8
33
  ## [0.1.0] - 2026-01-11
9
34
 
10
35
  ### Added
package/README.md CHANGED
@@ -132,8 +132,6 @@ try {
132
132
  - `judge()` - When you want exceptions thrown (typical validation)
133
133
  - `tryJudge()` - When you want to handle errors gracefully (user input, APIs)
134
134
 
135
- ````
136
-
137
135
  ### Union Types
138
136
 
139
137
  ```typescript
@@ -149,7 +147,7 @@ const dominatorModeValidator = union([
149
147
  dominatorModeValidator.judge('paralyzer'); // OK
150
148
  dominatorModeValidator.judge('eliminator'); // OK
151
149
  dominatorModeValidator.judge('stun'); // Error!
152
- ````
150
+ ```
153
151
 
154
152
  ### Optional and Nullable
155
153
 
@@ -0,0 +1,4 @@
1
+ export * from './object';
2
+ export * from './partial';
3
+ export * from './omit';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./object"), exports);
18
+ __exportStar(require("./partial"), exports);
19
+ __exportStar(require("./omit"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validators/object/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB"}
@@ -1,4 +1,4 @@
1
- import type { Validator } from '../common';
1
+ import type { Validator } from '../../common';
2
2
  export type InferObjectType<Schema extends Record<string, Validator>> = {
3
3
  [K in keyof Schema]: Schema[K] extends Validator<infer T> ? T : never;
4
4
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACtE,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,KAAG,SAAS,CAAC,CAAC,CA6Dd,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.obj = void 0;
4
- const withTryJudge_1 = require("../withTryJudge");
5
- const error_1 = require("../error");
6
- const getValueType_1 = require("../getValueType");
4
+ const withTryJudge_1 = require("../../withTryJudge");
5
+ const error_1 = require("../../error");
6
+ const getValueType_1 = require("../../getValueType");
7
7
  const obj = (schema) => {
8
8
  return (0, withTryJudge_1.withTryJudge)({
9
9
  judge(value) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/validators/object/object.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAAgE;AAChE,qDAAkD;AAO3C,MAAM,GAAG,GAAG,CAAoC,MAEtD,EAAgB,EAAE;IACjB,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAItD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAkC,EAAE,EAAE;gBACzD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAC;gBAEpD,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAChD,OAAO;wBACL,GAAG,GAAG;wBACN,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE;qBAC9C,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,qBAAa,EAAE,CAAC;wBACnC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClD,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gCACd,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAC1B,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE;oCACvB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;gCAC1B,CAAC,CAAC,GAAG;yBACR,CAAC,CAAC,CAAC;wBACJ,OAAO;4BACL,GAAG,GAAG;4BACN,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC;yBAC3C,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA/DW,QAAA,GAAG,OA+Dd"}
@@ -0,0 +1,5 @@
1
+ import { Validator } from '../../common';
2
+ type ArrToLiteral<T extends readonly unknown[]> = T[number];
3
+ export declare const omit: <T extends Record<string, unknown>, K extends readonly (keyof T)[]>(validator: Validator<T>, keys: K) => Validator<Omit<T, ArrToLiteral<K>>>;
4
+ export {};
5
+ //# sourceMappingURL=omit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EACpF,WAAW,SAAS,CAAC,CAAC,CAAC,EACvB,MAAM,CAAC,KACN,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAiDpC,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.omit = void 0;
4
+ const error_1 = require("../../error");
5
+ const getValueType_1 = require("../../getValueType");
6
+ const withTryJudge_1 = require("../../withTryJudge");
7
+ const omit = (validator, keys) => {
8
+ const keysSet = new Set(keys);
9
+ return (0, withTryJudge_1.withTryJudge)({
10
+ judge(value) {
11
+ if (value === null ||
12
+ value === undefined ||
13
+ typeof value !== 'object' ||
14
+ Array.isArray(value) ||
15
+ value instanceof Date) {
16
+ const valueType = (0, getValueType_1.getValueType)(value);
17
+ throw new error_1.JudgmentError([
18
+ {
19
+ message: `Value is ${valueType}, expected object`,
20
+ path: '',
21
+ },
22
+ ]);
23
+ }
24
+ const result = validator.tryJudge(value);
25
+ if (result.type === 'success') {
26
+ // Functional approach: filter entries and rebuild object (O(n) performance)
27
+ const filtered = Object.fromEntries(Object.entries(result.data).filter(([key]) => !keysSet.has(key)));
28
+ return filtered;
29
+ }
30
+ // Filter out errors for omitted keys
31
+ const nonOmittedErrors = result.issues.filter((issue) => {
32
+ // Extract the root key from the path (e.g., "user.name" -> "user", "age" -> "age")
33
+ const rootKey = issue.path.split('.')[0].split('[')[0];
34
+ return !keysSet.has(rootKey);
35
+ });
36
+ if (nonOmittedErrors.length > 0) {
37
+ throw new error_1.JudgmentError(nonOmittedErrors);
38
+ }
39
+ // All errors were for omitted keys, so filter those out and return
40
+ const filtered = Object.fromEntries(Object.entries(value).filter(([key]) => !keysSet.has(key)));
41
+ return filtered;
42
+ },
43
+ });
44
+ };
45
+ exports.omit = omit;
46
+ //# sourceMappingURL=omit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.js","sourceRoot":"","sources":["../../../../src/validators/object/omit.ts"],"names":[],"mappings":";;;AACA,uCAA4C;AAC5C,qDAAkD;AAClD,qDAAkD;AAI3C,MAAM,IAAI,GAAG,CAClB,SAAuB,EACvB,IAAO,EAC8B,EAAE;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAyB,CAAC,CAAC;IAEnD,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,4EAA4E;gBAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;gBACF,OAAO,QAAoC,CAAC;YAC9C,CAAC;YAED,qCAAqC;YACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtD,mFAAmF;gBACnF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,qBAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5C,CAAC;YAED,mEAAmE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAC3D,CAAC;YACF,OAAO,QAAoC,CAAC;QAC9C,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AApDW,QAAA,IAAI,QAoDf"}
@@ -0,0 +1,3 @@
1
+ import type { Validator } from '../../common';
2
+ export declare const partial: <T extends Record<string, unknown>>(validator: Validator<T>) => Validator<Partial<T>>;
3
+ //# sourceMappingURL=partial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/partial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,WAAW,SAAS,CAAC,CAAC,CAAC,KACtB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAoCtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.partial = void 0;
4
+ const withTryJudge_1 = require("../../withTryJudge");
5
+ const error_1 = require("../../error");
6
+ const getValueType_1 = require("../../getValueType");
7
+ const partial = (validator) => {
8
+ return (0, withTryJudge_1.withTryJudge)({
9
+ judge(value) {
10
+ if (value === null ||
11
+ value === undefined ||
12
+ typeof value !== 'object' ||
13
+ Array.isArray(value) ||
14
+ value instanceof Date) {
15
+ const valueType = (0, getValueType_1.getValueType)(value);
16
+ throw new error_1.JudgmentError([
17
+ {
18
+ message: `Value is ${valueType}, expected object`,
19
+ path: '',
20
+ },
21
+ ]);
22
+ }
23
+ const result = validator.tryJudge(value);
24
+ if (result.type === 'success') {
25
+ return result.data;
26
+ }
27
+ const nonUndefinedErrors = result.issues.filter((issue) => {
28
+ return !issue.message.includes('Value is undefined');
29
+ });
30
+ if (nonUndefinedErrors.length > 0) {
31
+ throw new error_1.JudgmentError(nonUndefinedErrors);
32
+ }
33
+ return value;
34
+ },
35
+ });
36
+ };
37
+ exports.partial = partial;
38
+ //# sourceMappingURL=partial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial.js","sourceRoot":"","sources":["../../../../src/validators/object/partial.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,OAAO,GAAG,CACrB,SAAuB,EACA,EAAE;IACzB,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,qBAAa,CAAC,kBAAkB,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,KAAmB,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAtCW,QAAA,OAAO,WAsClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK3C,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,EAC7C,cAAc,SAAS,CAAC,CAAC,CAAC,EAC1B,gBAAgB,SAAS,CAAC,CAAC,CAAC,KAC3B,eAAe,CAAC,CAAC,EAAE,CAAC,CAyEtB,CAAC"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK3C,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,EAC7C,cAAc,SAAS,CAAC,CAAC,CAAC,EAC1B,gBAAgB,SAAS,CAAC,CAAC,CAAC,KAC3B,eAAe,CAAC,CAAC,EAAE,CAAC,CAuEtB,CAAC"}
@@ -13,9 +13,7 @@ const record = (keyValidator, valueValidator) => {
13
13
  Array.isArray(value) ||
14
14
  value instanceof Date) {
15
15
  const valueType = (0, getValueType_1.getValueType)(value);
16
- throw new error_1.JudgmentError([
17
- { message: `Value is ${valueType}, expected object`, path: '' },
18
- ]);
16
+ throw new error_1.JudgmentError([{ message: `Value is ${valueType}, expected object`, path: '' }]);
19
17
  }
20
18
  const { result, issues } = Object.entries(value).reduce((acc, [key, val]) => {
21
19
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,KAAK,QAAO,SAAS,CAAC,MAAM,CAqBxC,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,KAAK,QAAO,SAAS,CAAC,MAAM,CAmBxC,CAAC"}
@@ -9,9 +9,7 @@ const email = () => {
9
9
  judge(value) {
10
10
  if (typeof value !== 'string') {
11
11
  const valueType = (0, getValueType_1.getValueType)(value);
12
- throw new error_1.JudgmentError([
13
- { message: `Value is ${valueType}, expected string`, path: '' },
14
- ]);
12
+ throw new error_1.JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
15
13
  }
16
14
  // Simple, robust Email regex (requires TLD)
17
15
  const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,KAAK,GAAG,GAAsB,EAAE;IAC3C,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,4CAA4C;YAC5C,MAAM,UAAU,GACd,sIAAsI,CAAC;YAEzI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,KAAK,SAqBhB"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,KAAK,GAAG,GAAsB,EAAE;IAC3C,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,4CAA4C;YAC5C,MAAM,UAAU,GACd,sIAAsI,CAAC;YAEzI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,KAAK,SAmBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACrB,CAAC;AAOF,eAAO,MAAM,EAAE,GAAI,OAAO,kBAAkB,KAAG,SAAS,CAAC,MAAM,CAyB9D,CAAC"}
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACrB,CAAC;AAOF,eAAO,MAAM,EAAE,GAAI,OAAO,kBAAkB,KAAG,SAAS,CAAC,MAAM,CAuB9D,CAAC"}
@@ -11,9 +11,7 @@ const ip = (opts) => {
11
11
  judge(value) {
12
12
  if (typeof value !== 'string') {
13
13
  const valueType = (0, getValueType_1.getValueType)(value);
14
- throw new error_1.JudgmentError([
15
- { message: `Value is ${valueType}, expected string`, path: '' },
16
- ]);
14
+ throw new error_1.JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
17
15
  }
18
16
  if (opts?.version === '4' && !ipv4Regex.test(value)) {
19
17
  throw new error_1.JudgmentError([{ message: 'Invalid IPv4 address', path: '' }]);
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAMlD,MAAM,SAAS,GACb,6FAA6F,CAAC;AAChG,MAAM,SAAS,GACb,upBAAupB,CAAC;AAEnpB,MAAM,EAAE,GAAG,CAAC,IAAyB,EAAqB,EAAE;IACjE,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,EAAE,MAyBb"}
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAMlD,MAAM,SAAS,GACb,6FAA6F,CAAC;AAChG,MAAM,SAAS,GACb,upBAAupB,CAAC;AAEnpB,MAAM,EAAE,GAAG,CAAC,IAAyB,EAAqB,EAAE;IACjE,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAvBW,QAAA,EAAE,MAuBb"}
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,GAAG,QAAO,SAAS,CAAC,MAAM,CAkBtC,CAAC"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,GAAG,QAAO,SAAS,CAAC,MAAM,CAgBtC,CAAC"}
@@ -9,9 +9,7 @@ const url = () => {
9
9
  judge(value) {
10
10
  if (typeof value !== 'string') {
11
11
  const valueType = (0, getValueType_1.getValueType)(value);
12
- throw new error_1.JudgmentError([
13
- { message: `Value is ${valueType}, expected string`, path: '' },
14
- ]);
12
+ throw new error_1.JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
15
13
  }
16
14
  try {
17
15
  new URL(value);
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,GAAG,GAAG,GAAsB,EAAE;IACzC,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,GAAG,OAkBd"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,GAAG,GAAG,GAAsB,EAAE;IACzC,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,GAAG,OAgBd"}
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,IAAI,QAAO,SAAS,CAAC,MAAM,CAmBvC,CAAC"}
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,IAAI,QAAO,SAAS,CAAC,MAAM,CAiBvC,CAAC"}
@@ -9,9 +9,7 @@ const uuid = () => {
9
9
  judge(value) {
10
10
  if (typeof value !== 'string') {
11
11
  const valueType = (0, getValueType_1.getValueType)(value);
12
- throw new error_1.JudgmentError([
13
- { message: `Value is ${valueType}, expected string`, path: '' },
14
- ]);
12
+ throw new error_1.JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
15
13
  }
16
14
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
17
15
  if (!uuidRegex.test(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,IAAI,GAAG,GAAsB,EAAE;IAC1C,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;YAEpF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,IAAI,QAmBf"}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAClD,uCAA4C;AAC5C,qDAAkD;AAE3C,MAAM,IAAI,GAAG,GAAsB,EAAE;IAC1C,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;YAEpF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,qBAAa,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,IAAI,QAiBf"}
@@ -0,0 +1,4 @@
1
+ export * from './object';
2
+ export * from './partial';
3
+ export * from './omit';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './object';
2
+ export * from './partial';
3
+ export * from './omit';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validators/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Validator } from '../common';
1
+ import type { Validator } from '../../common';
2
2
  export type InferObjectType<Schema extends Record<string, Validator>> = {
3
3
  [K in keyof Schema]: Schema[K] extends Validator<infer T> ? T : never;
4
4
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACtE,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,KAAG,SAAS,CAAC,CAAC,CA6Dd,CAAC"}
@@ -1,6 +1,6 @@
1
- import { withTryJudge } from '../withTryJudge';
2
- import { JudgmentError } from '../error';
3
- import { getValueType } from '../getValueType';
1
+ import { withTryJudge } from '../../withTryJudge';
2
+ import { JudgmentError } from '../../error';
3
+ import { getValueType } from '../../getValueType';
4
4
  export const obj = (schema) => {
5
5
  return withTryJudge({
6
6
  judge(value) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/validators/object/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAoC,MAEtD,EAAgB,EAAE;IACjB,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAItD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAkC,EAAE,EAAE;gBACzD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAC;gBAEpD,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAChD,OAAO;wBACL,GAAG,GAAG;wBACN,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE;qBAC9C,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;wBACnC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClD,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gCACd,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAC1B,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE;oCACvB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;gCAC1B,CAAC,CAAC,GAAG;yBACR,CAAC,CAAC,CAAC;wBACJ,OAAO;4BACL,GAAG,GAAG;4BACN,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC;yBAC3C,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Validator } from '../../common';
2
+ type ArrToLiteral<T extends readonly unknown[]> = T[number];
3
+ export declare const omit: <T extends Record<string, unknown>, K extends readonly (keyof T)[]>(validator: Validator<T>, keys: K) => Validator<Omit<T, ArrToLiteral<K>>>;
4
+ export {};
5
+ //# sourceMappingURL=omit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EACpF,WAAW,SAAS,CAAC,CAAC,CAAC,EACvB,MAAM,CAAC,KACN,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAiDpC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { JudgmentError } from '../../error';
2
+ import { getValueType } from '../../getValueType';
3
+ import { withTryJudge } from '../../withTryJudge';
4
+ export const omit = (validator, keys) => {
5
+ const keysSet = new Set(keys);
6
+ return withTryJudge({
7
+ judge(value) {
8
+ if (value === null ||
9
+ value === undefined ||
10
+ typeof value !== 'object' ||
11
+ Array.isArray(value) ||
12
+ value instanceof Date) {
13
+ const valueType = getValueType(value);
14
+ throw new JudgmentError([
15
+ {
16
+ message: `Value is ${valueType}, expected object`,
17
+ path: '',
18
+ },
19
+ ]);
20
+ }
21
+ const result = validator.tryJudge(value);
22
+ if (result.type === 'success') {
23
+ // Functional approach: filter entries and rebuild object (O(n) performance)
24
+ const filtered = Object.fromEntries(Object.entries(result.data).filter(([key]) => !keysSet.has(key)));
25
+ return filtered;
26
+ }
27
+ // Filter out errors for omitted keys
28
+ const nonOmittedErrors = result.issues.filter((issue) => {
29
+ // Extract the root key from the path (e.g., "user.name" -> "user", "age" -> "age")
30
+ const rootKey = issue.path.split('.')[0].split('[')[0];
31
+ return !keysSet.has(rootKey);
32
+ });
33
+ if (nonOmittedErrors.length > 0) {
34
+ throw new JudgmentError(nonOmittedErrors);
35
+ }
36
+ // All errors were for omitted keys, so filter those out and return
37
+ const filtered = Object.fromEntries(Object.entries(value).filter(([key]) => !keysSet.has(key)));
38
+ return filtered;
39
+ },
40
+ });
41
+ };
42
+ //# sourceMappingURL=omit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.js","sourceRoot":"","sources":["../../../../src/validators/object/omit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,SAAuB,EACvB,IAAO,EAC8B,EAAE;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAyB,CAAC,CAAC;IAEnD,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,4EAA4E;gBAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;gBACF,OAAO,QAAoC,CAAC;YAC9C,CAAC;YAED,qCAAqC;YACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtD,mFAAmF;gBACnF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5C,CAAC;YAED,mEAAmE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAC3D,CAAC;YACF,OAAO,QAAoC,CAAC;QAC9C,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Validator } from '../../common';
2
+ export declare const partial: <T extends Record<string, unknown>>(validator: Validator<T>) => Validator<Partial<T>>;
3
+ //# sourceMappingURL=partial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../../../../src/validators/object/partial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,WAAW,SAAS,CAAC,CAAC,CAAC,KACtB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAoCtB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { withTryJudge } from '../../withTryJudge';
2
+ import { JudgmentError } from '../../error';
3
+ import { getValueType } from '../../getValueType';
4
+ export const partial = (validator) => {
5
+ return withTryJudge({
6
+ judge(value) {
7
+ if (value === null ||
8
+ value === undefined ||
9
+ typeof value !== 'object' ||
10
+ Array.isArray(value) ||
11
+ value instanceof Date) {
12
+ const valueType = getValueType(value);
13
+ throw new JudgmentError([
14
+ {
15
+ message: `Value is ${valueType}, expected object`,
16
+ path: '',
17
+ },
18
+ ]);
19
+ }
20
+ const result = validator.tryJudge(value);
21
+ if (result.type === 'success') {
22
+ return result.data;
23
+ }
24
+ const nonUndefinedErrors = result.issues.filter((issue) => {
25
+ return !issue.message.includes('Value is undefined');
26
+ });
27
+ if (nonUndefinedErrors.length > 0) {
28
+ throw new JudgmentError(nonUndefinedErrors);
29
+ }
30
+ return value;
31
+ },
32
+ });
33
+ };
34
+ //# sourceMappingURL=partial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial.js","sourceRoot":"","sources":["../../../../src/validators/object/partial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,SAAuB,EACA,EAAE;IACzB,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,KAAmB,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK3C,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,EAC7C,cAAc,SAAS,CAAC,CAAC,CAAC,EAC1B,gBAAgB,SAAS,CAAC,CAAC,CAAC,KAC3B,eAAe,CAAC,CAAC,EAAE,CAAC,CAyEtB,CAAC"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK3C,KAAK,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,EAC7C,cAAc,SAAS,CAAC,CAAC,CAAC,EAC1B,gBAAgB,SAAS,CAAC,CAAC,CAAC,KAC3B,eAAe,CAAC,CAAC,EAAE,CAAC,CAuEtB,CAAC"}
@@ -10,9 +10,7 @@ export const record = (keyValidator, valueValidator) => {
10
10
  Array.isArray(value) ||
11
11
  value instanceof Date) {
12
12
  const valueType = getValueType(value);
13
- throw new JudgmentError([
14
- { message: `Value is ${valueType}, expected object`, path: '' },
15
- ]);
13
+ throw new JudgmentError([{ message: `Value is ${valueType}, expected object`, path: '' }]);
16
14
  }
17
15
  const { result, issues } = Object.entries(value).reduce((acc, [key, val]) => {
18
16
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/validators/record.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,KAAK,QAAO,SAAS,CAAC,MAAM,CAqBxC,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,KAAK,QAAO,SAAS,CAAC,MAAM,CAmBxC,CAAC"}
@@ -6,9 +6,7 @@ export const email = () => {
6
6
  judge(value) {
7
7
  if (typeof value !== 'string') {
8
8
  const valueType = getValueType(value);
9
- throw new JudgmentError([
10
- { message: `Value is ${valueType}, expected string`, path: '' },
11
- ]);
9
+ throw new JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
12
10
  }
13
11
  // Simple, robust Email regex (requires TLD)
14
12
  const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,GAAsB,EAAE;IAC3C,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,4CAA4C;YAC5C,MAAM,UAAU,GACd,sIAAsI,CAAC;YAEzI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validators/string/email.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,GAAsB,EAAE;IAC3C,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,4CAA4C;YAC5C,MAAM,UAAU,GACd,sIAAsI,CAAC;YAEzI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACrB,CAAC;AAOF,eAAO,MAAM,EAAE,GAAI,OAAO,kBAAkB,KAAG,SAAS,CAAC,MAAM,CAyB9D,CAAC"}
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACrB,CAAC;AAOF,eAAO,MAAM,EAAE,GAAI,OAAO,kBAAkB,KAAG,SAAS,CAAC,MAAM,CAuB9D,CAAC"}
@@ -8,9 +8,7 @@ export const ip = (opts) => {
8
8
  judge(value) {
9
9
  if (typeof value !== 'string') {
10
10
  const valueType = getValueType(value);
11
- throw new JudgmentError([
12
- { message: `Value is ${valueType}, expected string`, path: '' },
13
- ]);
11
+ throw new JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
14
12
  }
15
13
  if (opts?.version === '4' && !ipv4Regex.test(value)) {
16
14
  throw new JudgmentError([{ message: 'Invalid IPv4 address', path: '' }]);
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,SAAS,GACb,6FAA6F,CAAC;AAChG,MAAM,SAAS,GACb,upBAAupB,CAAC;AAE1pB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAyB,EAAqB,EAAE;IACjE,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../src/validators/string/ip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,SAAS,GACb,6FAA6F,CAAC;AAChG,MAAM,SAAS,GACb,upBAAupB,CAAC;AAE1pB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAyB,EAAqB,EAAE;IACjE,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,GAAG,QAAO,SAAS,CAAC,MAAM,CAkBtC,CAAC"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,GAAG,QAAO,SAAS,CAAC,MAAM,CAgBtC,CAAC"}
@@ -6,9 +6,7 @@ export const url = () => {
6
6
  judge(value) {
7
7
  if (typeof value !== 'string') {
8
8
  const valueType = getValueType(value);
9
- throw new JudgmentError([
10
- { message: `Value is ${valueType}, expected string`, path: '' },
11
- ]);
9
+ throw new JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
12
10
  }
13
11
  try {
14
12
  new URL(value);
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,GAAG,GAAG,GAAsB,EAAE;IACzC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/validators/string/url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,GAAG,GAAG,GAAsB,EAAE;IACzC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,IAAI,QAAO,SAAS,CAAC,MAAM,CAmBvC,CAAC"}
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,IAAI,QAAO,SAAS,CAAC,MAAM,CAiBvC,CAAC"}
@@ -6,9 +6,7 @@ export const uuid = () => {
6
6
  judge(value) {
7
7
  if (typeof value !== 'string') {
8
8
  const valueType = getValueType(value);
9
- throw new JudgmentError([
10
- { message: `Value is ${valueType}, expected string`, path: '' },
11
- ]);
9
+ throw new JudgmentError([{ message: `Value is ${valueType}, expected string`, path: '' }]);
12
10
  }
13
11
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
14
12
  if (!uuidRegex.test(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAsB,EAAE;IAC1C,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;YAEpF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/validators/string/uuid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAsB,EAAE;IAC1C,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,SAAS,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;YAEpF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sibyl-ts",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript validation library with type-safe validators",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/validators/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAM3C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACtE,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,KAAG,SAAS,CAAC,CAAC,CA6Dd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/validators/object.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAC/C,oCAA6D;AAC7D,kDAA+C;AAOxC,MAAM,GAAG,GAAG,CAAoC,MAEtD,EAAgB,EAAE;IACjB,OAAO,IAAA,2BAAY,EAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAItD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAC;gBAEpD,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAChD,OAAO;wBACL,GAAG,GAAG;wBACN,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE;qBAC9C,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,qBAAa,EAAE,CAAC;wBACnC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClD,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gCACd,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAC1B,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE;oCACvB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;gCAC1B,CAAC,CAAC,GAAG;yBACR,CAAC,CAAC,CAAC;wBACJ,OAAO;4BACL,GAAG,GAAG;4BACN,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC;yBAC3C,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA/DW,QAAA,GAAG,OA+Dd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/validators/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAM3C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACtE,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,KAAG,SAAS,CAAC,CAAC,CA6Dd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/validators/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAoC,MAEtD,EAAgB,EAAE;IACjB,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,KAAK;YACT,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,YAAY,IAAI,EACrB,CAAC;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,aAAa,CAAC;oBACtB;wBACE,OAAO,EAAE,YAAY,SAAS,mBAAmB;wBACjD,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAItD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAC;gBAEpD,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAChD,OAAO;wBACL,GAAG,GAAG;wBACN,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE;qBAC9C,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;wBACnC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClD,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gCACd,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oCAC1B,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE;oCACvB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;gCAC1B,CAAC,CAAC,GAAG;yBACR,CAAC,CAAC,CAAC;wBACJ,OAAO;4BACL,GAAG,GAAG;4BACN,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC;yBAC3C,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}