@forklaunch/validator 0.3.1 → 0.3.3

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/lib/eslint.config.d.mts +3 -0
  3. package/lib/eslint.config.d.mts.map +1 -0
  4. package/lib/eslint.config.mjs +10 -0
  5. package/lib/index.d.ts +2 -0
  6. package/lib/index.d.ts.map +1 -0
  7. package/lib/index.js +1 -0
  8. package/lib/jest.config.d.ts +4 -0
  9. package/lib/jest.config.d.ts.map +1 -0
  10. package/lib/jest.config.js +19 -0
  11. package/{dist → lib/src/shared}/types/schema.types.d.ts +47 -7
  12. package/lib/src/shared/types/schema.types.d.ts.map +1 -0
  13. package/lib/src/typebox/index.d.ts +3 -0
  14. package/lib/src/typebox/index.d.ts.map +1 -0
  15. package/lib/src/typebox/index.js +1 -0
  16. package/lib/src/typebox/staticSchemaValidator.d.ts +93 -0
  17. package/lib/src/typebox/staticSchemaValidator.d.ts.map +1 -0
  18. package/lib/src/typebox/staticSchemaValidator.js +91 -0
  19. package/lib/src/typebox/typeboxSchemaValidator.d.ts +110 -0
  20. package/lib/src/typebox/typeboxSchemaValidator.d.ts.map +1 -0
  21. package/lib/src/typebox/typeboxSchemaValidator.js +343 -0
  22. package/{dist/typebox/types/typebox.schema.types.d.ts → lib/src/typebox/types/schema.types.d.ts} +9 -13
  23. package/lib/src/typebox/types/schema.types.d.ts.map +1 -0
  24. package/lib/src/zod/index.d.ts +3 -0
  25. package/lib/src/zod/index.d.ts.map +1 -0
  26. package/lib/src/zod/index.js +1 -0
  27. package/lib/src/zod/staticSchemaValidator.d.ts +93 -0
  28. package/lib/src/zod/staticSchemaValidator.d.ts.map +1 -0
  29. package/lib/src/zod/staticSchemaValidator.js +91 -0
  30. package/{dist/zod/types/zod.schema.types.d.ts → lib/src/zod/types/schema.types.d.ts} +3 -2
  31. package/lib/src/zod/types/schema.types.d.ts.map +1 -0
  32. package/lib/src/zod/types/schema.types.js +1 -0
  33. package/lib/src/zod/zodSchemaValidator.d.ts +98 -0
  34. package/lib/src/zod/zodSchemaValidator.d.ts.map +1 -0
  35. package/lib/src/zod/zodSchemaValidator.js +179 -0
  36. package/lib/tests/typebox/advancedParse.test.d.ts +2 -0
  37. package/lib/tests/typebox/advancedParse.test.d.ts.map +1 -0
  38. package/lib/tests/typebox/advancedParse.test.js +514 -0
  39. package/lib/tests/typebox/largeSchema.test.d.ts +2 -0
  40. package/lib/tests/typebox/largeSchema.test.d.ts.map +1 -0
  41. package/{dist → lib}/tests/typebox/largeSchema.test.js +46 -49
  42. package/lib/tests/typebox/schemaValidator.test.d.ts +2 -0
  43. package/lib/tests/typebox/schemaValidator.test.d.ts.map +1 -0
  44. package/lib/tests/typebox/schemaValidator.test.js +219 -0
  45. package/{dist/tests/typebox/equality.test.d.ts → lib/tests/typebox/typeEquality.test.d.ts} +1 -0
  46. package/lib/tests/typebox/typeEquality.test.d.ts.map +1 -0
  47. package/lib/tests/typebox/typeEquality.test.js +100 -0
  48. package/lib/tests/utils/compare.d.ts +2 -0
  49. package/lib/tests/utils/compare.d.ts.map +1 -0
  50. package/lib/tests/utils/compare.js +8 -0
  51. package/{dist/tests → lib/tests/utils}/mockSchemaValidator.d.ts +14 -8
  52. package/lib/tests/utils/mockSchemaValidator.d.ts.map +1 -0
  53. package/lib/tests/utils/mockSchemaValidator.js +72 -0
  54. package/lib/tests/zod/advancedParse.test.d.ts +2 -0
  55. package/lib/tests/zod/advancedParse.test.d.ts.map +1 -0
  56. package/lib/tests/zod/advancedParse.test.js +514 -0
  57. package/lib/tests/zod/largeSchema.test.d.ts +2 -0
  58. package/lib/tests/zod/largeSchema.test.d.ts.map +1 -0
  59. package/{dist → lib}/tests/zod/largeSchema.test.js +43 -46
  60. package/lib/tests/zod/schemaValidator.test.d.ts +2 -0
  61. package/lib/tests/zod/schemaValidator.test.d.ts.map +1 -0
  62. package/lib/tests/zod/schemaValidator.test.js +179 -0
  63. package/{dist/tests/zod/equality.test.d.ts → lib/tests/zod/typeEquality.test.d.ts} +1 -0
  64. package/lib/tests/zod/typeEquality.test.d.ts.map +1 -0
  65. package/lib/tests/zod/typeEquality.test.js +100 -0
  66. package/lib/tsconfig.tsbuildinfo +1 -0
  67. package/lib/vitest.config.d.ts +3 -0
  68. package/lib/vitest.config.d.ts.map +1 -0
  69. package/lib/vitest.config.js +7 -0
  70. package/package.json +35 -39
  71. package/dist/index.d.ts +0 -1
  72. package/dist/index.js +0 -18
  73. package/dist/index.js.map +0 -1
  74. package/dist/jest.config.d.ts +0 -3
  75. package/dist/jest.config.js +0 -10
  76. package/dist/jest.config.js.map +0 -1
  77. package/dist/tests/mockSchemaValidator.js +0 -60
  78. package/dist/tests/mockSchemaValidator.js.map +0 -1
  79. package/dist/tests/typebox/equality.test.js +0 -234
  80. package/dist/tests/typebox/equality.test.js.map +0 -1
  81. package/dist/tests/typebox/largeSchema.test.js.map +0 -1
  82. package/dist/tests/zod/equality.test.js +0 -238
  83. package/dist/tests/zod/equality.test.js.map +0 -1
  84. package/dist/tests/zod/largeSchema.test.js.map +0 -1
  85. package/dist/typebox/index.d.ts +0 -1
  86. package/dist/typebox/index.js +0 -18
  87. package/dist/typebox/index.js.map +0 -1
  88. package/dist/typebox/typebox.schemaValidator.d.ts +0 -150
  89. package/dist/typebox/typebox.schemaValidator.js +0 -203
  90. package/dist/typebox/typebox.schemaValidator.js.map +0 -1
  91. package/dist/typebox/types/typebox.schema.types.js +0 -3
  92. package/dist/typebox/types/typebox.schema.types.js.map +0 -1
  93. package/dist/types/index.d.ts +0 -1
  94. package/dist/types/index.js +0 -18
  95. package/dist/types/index.js.map +0 -1
  96. package/dist/types/schema.types.js +0 -3
  97. package/dist/types/schema.types.js.map +0 -1
  98. package/dist/zod/index.d.ts +0 -1
  99. package/dist/zod/index.js +0 -18
  100. package/dist/zod/index.js.map +0 -1
  101. package/dist/zod/types/zod.schema.types.js +0 -3
  102. package/dist/zod/types/zod.schema.types.js.map +0 -1
  103. package/dist/zod/zod.schemaValidator.d.ts +0 -147
  104. package/dist/zod/zod.schemaValidator.js +0 -196
  105. package/dist/zod/zod.schemaValidator.js.map +0 -1
  106. /package/{dist/tests/typebox/largeSchema.test.d.ts → lib/src/shared/types/schema.types.js} +0 -0
  107. /package/{dist/tests/zod/largeSchema.test.d.ts → lib/src/typebox/types/schema.types.js} +0 -0
package/package.json CHANGED
@@ -1,22 +1,14 @@
1
1
  {
2
2
  "name": "@forklaunch/validator",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Schema validator for ForkLaunch components.",
5
5
  "files": [
6
- "dist"
6
+ "lib"
7
7
  ],
8
- "types": "dist/index.d.ts",
8
+ "types": "lib/index.d.ts",
9
9
  "directories": {
10
10
  "test": "tests"
11
11
  },
12
- "scripts": {
13
- "test": "jest",
14
- "build": "tsc",
15
- "docs": "typedoc --out docs *",
16
- "lint": "eslint . -c eslint.config.mjs",
17
- "lint:fix": "eslint . -c eslint.config.mjs --fix",
18
- "format": "prettier --ignore-path=.prettierignore --config .prettierrc '**/*.ts' --write"
19
- },
20
12
  "repository": {
21
13
  "type": "git",
22
14
  "url": "git+https://github.com/forklaunch/forklaunch-js.git"
@@ -29,53 +21,57 @@
29
21
  "homepage": "https://github.com/forklaunch/forklaunch-js#readme",
30
22
  "dependencies": {
31
23
  "@anatine/zod-openapi": "^2.2.6",
32
- "@forklaunch/common": "^0.1.2",
33
- "@sinclair/typebox": "^0.32.34",
34
- "zod": "^3.23.8"
24
+ "@sinclair/typebox": "^0.33.7",
25
+ "zod": "^3.23.8",
26
+ "@forklaunch/common": "0.1.5"
35
27
  },
36
28
  "devDependencies": {
37
- "@eslint/js": "^9.6.0",
29
+ "@eslint/js": "^9.9.0",
38
30
  "@types/jest": "^29.5.12",
31
+ "@vitest/coverage-v8": "^2.0.5",
39
32
  "eslint-config-prettier": "^9.1.0",
40
- "eslint-plugin-prettier": "^5.1.3",
41
- "globals": "^15.7.0",
33
+ "eslint-plugin-prettier": "^5.2.1",
34
+ "globals": "^15.9.0",
35
+ "jest": "^29.7.0",
42
36
  "openapi3-ts": "^4.3.3",
43
- "ts-jest": "^29.1.5",
37
+ "ts-jest": "^29.2.4",
44
38
  "ts-node": "^10.9.2",
45
- "typescript-eslint": "^7.15.0"
39
+ "typescript-eslint": "^8.2.0"
46
40
  },
47
41
  "exports": {
48
42
  ".": {
49
- "types": "./dist/index.d.ts",
50
- "default": "./dist/index.js"
51
- },
52
- "./types": {
53
- "types": "./dist/types/schema.types.d.ts",
54
- "default": "./dist/types/schema.types.js"
55
- },
56
- "./interfaces": {
57
- "types": "./dist/interfaces/schemaValidator.interfaces.d.ts",
58
- "default": "./dist/interfaces/schemaValidator.interfaces.js"
43
+ "types": "./lib/index.d.ts",
44
+ "default": "./lib/index.js"
59
45
  },
60
46
  "./typebox": {
61
- "types": "./dist/typebox/index.d.ts",
62
- "default": "./dist/typebox/index.js"
47
+ "types": "./lib/src/typebox/index.d.ts",
48
+ "default": "./lib/src/typebox/index.js"
63
49
  },
64
50
  "./zod": {
65
- "types": "./dist/zod/index.d.ts",
66
- "default": "./dist/zod/index.js"
51
+ "types": "./lib/src/zod/index.d.ts",
52
+ "default": "./lib/src/zod/index.js"
67
53
  },
68
54
  "./typebox/types": {
69
- "types": "./dist/typebox/types/typebox.schema.types.d.ts",
70
- "default": "./dist/typebox/types/typebox.schema.types.js"
55
+ "types": "./lib/src/typebox/types/schema.types.d.ts",
56
+ "default": "./lib/src/typebox/types/schema.types.js"
71
57
  },
72
58
  "./zod/types": {
73
- "types": "./dist/zod/types/zod.schema.types.d.ts",
74
- "default": "./dist/zod/types/zod.schema.types.js"
59
+ "types": "./lib/src/zod/types/schema.types.d.ts",
60
+ "default": "./lib/src/zod/types/schema.types.js"
75
61
  },
76
62
  "./tests/mockSchemaValidator": {
77
- "types": "./dist/tests/mockSchemaValidator.d.ts",
78
- "default": "./dist/tests/mockSchemaValidator.js"
63
+ "types": "./lib/tests/utils/mockSchemaValidator.d.ts",
64
+ "default": "./lib/tests/utils/mockSchemaValidator.js"
79
65
  }
66
+ },
67
+ "type": "module",
68
+ "scripts": {
69
+ "test": "vitest --passWithNoTests",
70
+ "build": "tsc",
71
+ "clean": "rm -rf lib pnpm.lock.yaml node_modules",
72
+ "docs": "typedoc --out docs *",
73
+ "lint": "eslint . -c eslint.config.mjs",
74
+ "lint:fix": "eslint . -c eslint.config.mjs --fix",
75
+ "format": "prettier --ignore-path=.prettierignore --config .prettierrc '**/*.ts' --write"
80
76
  }
81
77
  }
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './types';
package/dist/index.js DELETED
@@ -1,18 +0,0 @@
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("./types"), exports);
18
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -1,3 +0,0 @@
1
- import type { Config } from 'jest';
2
- declare const config: Config;
3
- export default config;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const config = {
4
- verbose: true,
5
- preset: 'ts-jest',
6
- testEnvironment: 'node',
7
- testPathIgnorePatterns: ['dist/', 'node_modules/']
8
- };
9
- exports.default = config;
10
- //# sourceMappingURL=jest.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;IACvB,sBAAsB,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;CACnD,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openapi = exports.validate = exports.literal = exports.union = exports.array = exports.optional = exports.schemify = exports.never = exports.unknown = exports.any = exports.empty = exports.symbol = exports.date = exports.boolean = exports.bigint = exports.number = exports.string = exports.mockSchemaValidator = exports.MockSchemaValidator = void 0;
4
- class MockSchemaValidator {
5
- _Type;
6
- _SchemaCatchall;
7
- _ValidSchemaObject;
8
- string = 'string';
9
- number = 'number';
10
- bigint = 'bigint';
11
- boolean = 'boolean';
12
- date = 'date';
13
- symbol = 'symbol';
14
- empty = 'empty';
15
- any = 'any';
16
- unknown = 'unknown';
17
- never = 'never';
18
- schemify(schema) {
19
- return schema;
20
- }
21
- optional(schema) {
22
- return ('optional ' + schema);
23
- }
24
- array(schema) {
25
- return ('array ' + schema);
26
- }
27
- union(schemas) {
28
- return schemas.join(' | ');
29
- }
30
- literal(schema) {
31
- return `literal ${schema}`;
32
- }
33
- validate(schema, value) {
34
- return schema === value;
35
- }
36
- openapi(_schema) {
37
- return {};
38
- }
39
- }
40
- exports.MockSchemaValidator = MockSchemaValidator;
41
- exports.mockSchemaValidator = new MockSchemaValidator();
42
- exports.string = exports.mockSchemaValidator.string;
43
- exports.number = exports.mockSchemaValidator.number;
44
- exports.bigint = exports.mockSchemaValidator.bigint;
45
- exports.boolean = exports.mockSchemaValidator.boolean;
46
- exports.date = exports.mockSchemaValidator.date;
47
- exports.symbol = exports.mockSchemaValidator.symbol;
48
- exports.empty = exports.mockSchemaValidator.empty;
49
- exports.any = exports.mockSchemaValidator.any;
50
- exports.unknown = exports.mockSchemaValidator.unknown;
51
- exports.never = exports.mockSchemaValidator.never;
52
- exports.schemify = exports.mockSchemaValidator.schemify.bind(exports.mockSchemaValidator);
53
- exports.optional = exports.mockSchemaValidator.optional.bind(exports.mockSchemaValidator);
54
- exports.array = exports.mockSchemaValidator.array.bind(exports.mockSchemaValidator);
55
- // note, use 'as const' when calling on the input array, for proper type coercion
56
- exports.union = exports.mockSchemaValidator.union.bind(exports.mockSchemaValidator);
57
- exports.literal = exports.mockSchemaValidator.literal.bind(exports.mockSchemaValidator);
58
- exports.validate = exports.mockSchemaValidator.validate.bind(exports.mockSchemaValidator);
59
- exports.openapi = exports.mockSchemaValidator.openapi.bind(exports.mockSchemaValidator);
60
- //# sourceMappingURL=mockSchemaValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockSchemaValidator.js","sourceRoot":"","sources":["../../tests/mockSchemaValidator.ts"],"names":[],"mappings":";;;AAuBA,MAAa,mBAAmB;IAY9B,KAAK,CAAU;IACf,eAAe,CAAU;IACzB,kBAAkB,CAAU;IAE5B,MAAM,GAAG,QAAQ,CAAC;IAClB,MAAM,GAAG,QAAQ,CAAC;IAClB,MAAM,GAAG,QAAQ,CAAC;IAClB,OAAO,GAAG,SAAS,CAAC;IACpB,IAAI,GAAG,MAAM,CAAC;IACd,MAAM,GAAG,QAAQ,CAAC;IAClB,KAAK,GAAG,OAAO,CAAC;IAChB,GAAG,GAAG,KAAK,CAAC;IACZ,OAAO,GAAG,SAAS,CAAC;IACpB,KAAK,GAAG,OAAO,CAAC;IAEhB,QAAQ,CAAI,MAAS;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,QAAQ,CAAmB,MAAS;QAClC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAoB,CAAC;IACnD,CAAC;IACD,KAAK,CAAmB,MAAS;QAC/B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAiB,CAAC;IAC7C,CAAC;IACD,KAAK,CAA8B,OAAU;QAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAsB,CAAC;IAClD,CAAC;IACD,OAAO,CAA0B,MAAS;QACxC,OAAO,WAAW,MAAM,EAAE,CAAC;IAC7B,CAAC;IACD,QAAQ,CAAmB,MAAS,EAAE,KAAa;QACjD,OAAO,MAAM,KAAK,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,CAAmB,OAAU;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhDD,kDAgDC;AAEY,QAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAChD,QAAA,MAAM,GAAG,2BAAmB,CAAC,MAAM,CAAC;AACpC,QAAA,MAAM,GAAG,2BAAmB,CAAC,MAAM,CAAC;AACpC,QAAA,MAAM,GAAG,2BAAmB,CAAC,MAAM,CAAC;AACpC,QAAA,OAAO,GAAG,2BAAmB,CAAC,OAAO,CAAC;AACtC,QAAA,IAAI,GAAG,2BAAmB,CAAC,IAAI,CAAC;AAChC,QAAA,MAAM,GAAG,2BAAmB,CAAC,MAAM,CAAC;AACpC,QAAA,KAAK,GAAG,2BAAmB,CAAC,KAAK,CAAC;AAClC,QAAA,GAAG,GAAG,2BAAmB,CAAC,GAAG,CAAC;AAC9B,QAAA,OAAO,GAAG,2BAAmB,CAAC,OAAO,CAAC;AACtC,QAAA,KAAK,GAAG,2BAAmB,CAAC,KAAK,CAAC;AAClC,QAAA,QAAQ,GAAG,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAClE,QAAA,QAAQ,GAAG,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAClE,QAAA,KAAK,GAAG,2BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AACzE,iFAAiF;AACpE,QAAA,KAAK,GAAG,2BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAC5D,QAAA,OAAO,GAAG,2BAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAChE,QAAA,QAAQ,GAAG,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAClE,QAAA,OAAO,GAAG,2BAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC"}
@@ -1,234 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assert = assert;
4
- const typebox_1 = require("@sinclair/typebox");
5
- const typebox_schemaValidator_1 = require("../../typebox/typebox.schemaValidator");
6
- const one = (0, typebox_schemaValidator_1.array)({
7
- name: {
8
- j: (0, typebox_schemaValidator_1.union)([typebox_schemaValidator_1.string, typebox_schemaValidator_1.number, typebox_schemaValidator_1.date, typebox_schemaValidator_1.boolean, typebox_schemaValidator_1.bigint, typebox_schemaValidator_1.empty, typebox_schemaValidator_1.symbol, typebox_schemaValidator_1.never]),
9
- t: (0, typebox_schemaValidator_1.optional)((0, typebox_schemaValidator_1.union)([
10
- (0, typebox_schemaValidator_1.array)({
11
- y: (0, typebox_schemaValidator_1.array)(typebox_schemaValidator_1.number)
12
- }),
13
- typebox_schemaValidator_1.string
14
- ])),
15
- m: {
16
- a: (0, typebox_schemaValidator_1.optional)(typebox_schemaValidator_1.string),
17
- b: typebox_schemaValidator_1.number,
18
- c: {
19
- d: typebox_schemaValidator_1.string,
20
- e: typebox_schemaValidator_1.number
21
- }
22
- }
23
- },
24
- 200: {
25
- j: typebox_schemaValidator_1.string
26
- },
27
- m: {
28
- a: true
29
- }
30
- });
31
- const two = (0, typebox_schemaValidator_1.array)({
32
- name: {
33
- j: (0, typebox_schemaValidator_1.union)([typebox_schemaValidator_1.string, typebox_schemaValidator_1.number, typebox_schemaValidator_1.date, typebox_schemaValidator_1.boolean, typebox_schemaValidator_1.bigint, typebox_schemaValidator_1.empty, typebox_schemaValidator_1.symbol, typebox_schemaValidator_1.never]),
34
- t: (0, typebox_schemaValidator_1.optional)((0, typebox_schemaValidator_1.union)([
35
- (0, typebox_schemaValidator_1.array)({
36
- y: (0, typebox_schemaValidator_1.array)(typebox_schemaValidator_1.number)
37
- }),
38
- typebox_schemaValidator_1.string
39
- ])),
40
- m: (0, typebox_schemaValidator_1.schemify)({
41
- a: (0, typebox_schemaValidator_1.optional)(typebox_schemaValidator_1.string),
42
- b: typebox_schemaValidator_1.number,
43
- c: {
44
- d: typebox_schemaValidator_1.string,
45
- e: typebox_schemaValidator_1.number
46
- }
47
- })
48
- },
49
- 200: {
50
- j: typebox_schemaValidator_1.string
51
- },
52
- m: {
53
- a: true
54
- }
55
- });
56
- const three = (0, typebox_schemaValidator_1.schemify)((0, typebox_schemaValidator_1.array)((0, typebox_schemaValidator_1.schemify)({
57
- name: (0, typebox_schemaValidator_1.schemify)({
58
- j: (0, typebox_schemaValidator_1.union)([typebox_schemaValidator_1.string, typebox_schemaValidator_1.number, typebox_schemaValidator_1.date, typebox_schemaValidator_1.boolean, typebox_schemaValidator_1.bigint, typebox_schemaValidator_1.empty, typebox_schemaValidator_1.symbol, typebox_schemaValidator_1.never]),
59
- t: (0, typebox_schemaValidator_1.optional)((0, typebox_schemaValidator_1.union)([
60
- (0, typebox_schemaValidator_1.array)({
61
- y: (0, typebox_schemaValidator_1.array)(typebox_schemaValidator_1.number)
62
- }),
63
- typebox_schemaValidator_1.string
64
- ])),
65
- m: (0, typebox_schemaValidator_1.schemify)({
66
- a: (0, typebox_schemaValidator_1.optional)(typebox_schemaValidator_1.string),
67
- b: typebox_schemaValidator_1.number,
68
- c: {
69
- d: typebox_schemaValidator_1.string,
70
- e: typebox_schemaValidator_1.number
71
- }
72
- })
73
- }),
74
- 200: (0, typebox_schemaValidator_1.schemify)({
75
- j: typebox_schemaValidator_1.string
76
- }),
77
- m: (0, typebox_schemaValidator_1.schemify)({
78
- a: true
79
- })
80
- })));
81
- function assert() { }
82
- assert();
83
- assert();
84
- assert();
85
- assert();
86
- const shortOne = {
87
- s: typebox_schemaValidator_1.string,
88
- non: typebox_schemaValidator_1.number
89
- };
90
- const shortTwo = (0, typebox_schemaValidator_1.schemify)({
91
- s: typebox_schemaValidator_1.string,
92
- non: typebox_schemaValidator_1.number
93
- });
94
- assert();
95
- assert();
96
- describe('Typebox Equality Tests', () => {
97
- let schema;
98
- let schemified;
99
- let expectedSchema;
100
- beforeAll(() => {
101
- schema = {
102
- hello: {
103
- world: typebox_schemaValidator_1.string
104
- },
105
- foo: {
106
- bar: typebox_schemaValidator_1.number
107
- }
108
- };
109
- schemified = (0, typebox_schemaValidator_1.schemify)(schema);
110
- expectedSchema = typebox_1.Type.Object({
111
- hello: typebox_1.Type.Object({
112
- world: typebox_1.Type.String()
113
- }),
114
- foo: typebox_1.Type.Object({
115
- bar: typebox_1.Type.Number()
116
- })
117
- });
118
- });
119
- test('Schema Equality', async () => {
120
- expect(schemified).toEqual(expectedSchema);
121
- expect(schemified).toEqual((0, typebox_schemaValidator_1.schemify)({
122
- hello: {
123
- world: typebox_schemaValidator_1.string
124
- },
125
- foo: {
126
- bar: typebox_schemaValidator_1.number
127
- }
128
- }));
129
- expect(schemified).toEqual((0, typebox_schemaValidator_1.schemify)({
130
- hello: (0, typebox_schemaValidator_1.schemify)({
131
- world: typebox_schemaValidator_1.string
132
- }),
133
- foo: {
134
- bar: typebox_schemaValidator_1.number
135
- }
136
- }));
137
- expect(schemified).toEqual((0, typebox_schemaValidator_1.schemify)({
138
- hello: {
139
- world: typebox_schemaValidator_1.string
140
- },
141
- foo: (0, typebox_schemaValidator_1.schemify)({
142
- bar: typebox_schemaValidator_1.number
143
- })
144
- }));
145
- expect(schemified).toEqual((0, typebox_schemaValidator_1.schemify)({
146
- hello: (0, typebox_schemaValidator_1.schemify)({
147
- world: typebox_schemaValidator_1.string
148
- }),
149
- foo: (0, typebox_schemaValidator_1.schemify)({
150
- bar: typebox_schemaValidator_1.number
151
- })
152
- }));
153
- });
154
- test('Optional Schema Equality', async () => {
155
- const unboxSchemified = (0, typebox_schemaValidator_1.optional)(schema);
156
- const boxSchemified = (0, typebox_schemaValidator_1.optional)(schemified);
157
- const schemifiedExpected = typebox_1.Type.Optional(expectedSchema);
158
- expect(unboxSchemified).toEqual(schemifiedExpected);
159
- expect(boxSchemified).toEqual(schemifiedExpected);
160
- });
161
- test('Array Schema Equality', async () => {
162
- const unboxSchemified = (0, typebox_schemaValidator_1.array)(schema);
163
- const boxSchemified = (0, typebox_schemaValidator_1.array)(schemified);
164
- const schemifiedExpected = typebox_1.Type.Array(expectedSchema);
165
- expect(unboxSchemified).toEqual(schemifiedExpected);
166
- expect(boxSchemified).toEqual(schemifiedExpected);
167
- });
168
- test('Union Schema Equality', async () => {
169
- const unboxSchemified = (0, typebox_schemaValidator_1.union)([
170
- schema,
171
- {
172
- test: typebox_schemaValidator_1.string
173
- }
174
- ]);
175
- const unboxSchemified2 = (0, typebox_schemaValidator_1.union)([
176
- schema,
177
- (0, typebox_schemaValidator_1.schemify)({
178
- test: typebox_schemaValidator_1.string
179
- })
180
- ]);
181
- const boxSchemified1 = (0, typebox_schemaValidator_1.union)([
182
- schemified,
183
- (0, typebox_schemaValidator_1.schemify)({
184
- test: typebox_schemaValidator_1.string
185
- })
186
- ]);
187
- const boxSchemified2 = (0, typebox_schemaValidator_1.union)([
188
- schemified,
189
- {
190
- test: typebox_schemaValidator_1.string
191
- }
192
- ]);
193
- const schemifiedExpected = typebox_1.Type.Union([
194
- expectedSchema,
195
- typebox_1.Type.Object({
196
- test: typebox_1.Type.String()
197
- })
198
- ]);
199
- expect(unboxSchemified).toEqual(schemifiedExpected);
200
- expect(unboxSchemified2).toEqual(schemifiedExpected);
201
- });
202
- test('Literal Schema Equality', async () => {
203
- const schemified = (0, typebox_schemaValidator_1.schemify)({
204
- hello: 'world'
205
- });
206
- expect(schemified).toEqual(typebox_1.Type.Object({
207
- hello: typebox_1.Type.Literal('world')
208
- }));
209
- });
210
- test('Validate Schema', async () => {
211
- expect((0, typebox_schemaValidator_1.validate)(schemified, {
212
- hello: {
213
- world: 'world'
214
- },
215
- foo: {
216
- bar: 42
217
- }
218
- })).toBe(true);
219
- expect((0, typebox_schemaValidator_1.validate)(schemified, {
220
- hello: {
221
- world: 55
222
- },
223
- foo: {
224
- bar: 42
225
- }
226
- })).toBe(false);
227
- });
228
- test('OpenAPI Conversion', async () => {
229
- const schemified = (0, typebox_schemaValidator_1.schemify)(schema);
230
- const openApi = (0, typebox_schemaValidator_1.openapi)(schemified);
231
- expect(openApi).toEqual(schemified);
232
- });
233
- });
234
- //# sourceMappingURL=equality.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equality.test.js","sourceRoot":"","sources":["../../../tests/typebox/equality.test.ts"],"names":[],"mappings":";;AA2GA,wBAA4C;AA3G5C,+CAAkD;AAElD,mFAgB+C;AAG/C,MAAM,GAAG,GAAG,IAAA,+BAAK,EAAC;IAChB,IAAI,EAAE;QACJ,CAAC,EAAE,IAAA,+BAAK,EAAC,CAAC,gCAAM,EAAE,gCAAM,EAAE,8BAAI,EAAE,iCAAO,EAAE,gCAAM,EAAE,+BAAK,EAAE,gCAAM,EAAE,+BAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,kCAAQ,EACT,IAAA,+BAAK,EAAC;YACJ,IAAA,+BAAK,EAAC;gBACJ,CAAC,EAAE,IAAA,+BAAK,EAAC,gCAAM,CAAC;aACjB,CAAC;YACF,gCAAM;SACP,CAAC,CACH;QACD,CAAC,EAAE;YACD,CAAC,EAAE,IAAA,kCAAQ,EAAC,gCAAM,CAAC;YACnB,CAAC,EAAE,gCAAM;YACT,CAAC,EAAE;gBACD,CAAC,EAAE,gCAAM;gBACT,CAAC,EAAE,gCAAM;aACV;SACF;KACF;IACD,GAAG,EAAE;QACH,CAAC,EAAE,gCAAM;KACV;IACD,CAAC,EAAE;QACD,CAAC,EAAE,IAAa;KACjB;CACF,CAAC,CAAC;AACH,MAAM,GAAG,GAAG,IAAA,+BAAK,EAAC;IAChB,IAAI,EAAE;QACJ,CAAC,EAAE,IAAA,+BAAK,EAAC,CAAC,gCAAM,EAAE,gCAAM,EAAE,8BAAI,EAAE,iCAAO,EAAE,gCAAM,EAAE,+BAAK,EAAE,gCAAM,EAAE,+BAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,kCAAQ,EACT,IAAA,+BAAK,EAAC;YACJ,IAAA,+BAAK,EAAC;gBACJ,CAAC,EAAE,IAAA,+BAAK,EAAC,gCAAM,CAAC;aACjB,CAAC;YACF,gCAAM;SACP,CAAC,CACH;QACD,CAAC,EAAE,IAAA,kCAAQ,EAAC;YACV,CAAC,EAAE,IAAA,kCAAQ,EAAC,gCAAM,CAAC;YACnB,CAAC,EAAE,gCAAM;YACT,CAAC,EAAE;gBACD,CAAC,EAAE,gCAAM;gBACT,CAAC,EAAE,gCAAM;aACV;SACF,CAAC;KACH;IACD,GAAG,EAAE;QACH,CAAC,EAAE,gCAAM;KACV;IACD,CAAC,EAAE;QACD,CAAC,EAAE,IAAa;KACjB;CACF,CAAC,CAAC;AACH,MAAM,KAAK,GAAG,IAAA,kCAAQ,EACpB,IAAA,+BAAK,EACH,IAAA,kCAAQ,EAAC;IACP,IAAI,EAAE,IAAA,kCAAQ,EAAC;QACb,CAAC,EAAE,IAAA,+BAAK,EAAC,CAAC,gCAAM,EAAE,gCAAM,EAAE,8BAAI,EAAE,iCAAO,EAAE,gCAAM,EAAE,+BAAK,EAAE,gCAAM,EAAE,+BAAK,CAAC,CAAC;QACvE,CAAC,EAAE,IAAA,kCAAQ,EACT,IAAA,+BAAK,EAAC;YACJ,IAAA,+BAAK,EAAC;gBACJ,CAAC,EAAE,IAAA,+BAAK,EAAC,gCAAM,CAAC;aACjB,CAAC;YACF,gCAAM;SACP,CAAC,CACH;QACD,CAAC,EAAE,IAAA,kCAAQ,EAAC;YACV,CAAC,EAAE,IAAA,kCAAQ,EAAC,gCAAM,CAAC;YACnB,CAAC,EAAE,gCAAM;YACT,CAAC,EAAE;gBACD,CAAC,EAAE,gCAAM;gBACT,CAAC,EAAE,gCAAM;aACV;SACF,CAAC;KACH,CAAC;IACF,GAAG,EAAE,IAAA,kCAAQ,EAAC;QACZ,CAAC,EAAE,gCAAM;KACV,CAAC;IACF,CAAC,EAAE,IAAA,kCAAQ,EAAC;QACV,CAAC,EAAE,IAAa;KACjB,CAAC;CACH,CAAC,CACH,CACF,CAAC;AAEF,SAAgB,MAAM,KAAqB,CAAC;AAsC5C,MAAM,EAAmC,CAAC;AAM1C,MAAM,EAAkC,CAAC;AACzC,MAAM,EAAoC,CAAC;AAC3C,MAAM,EAAoC,CAAC;AAE3C,MAAM,QAAQ,GAAG;IACf,CAAC,EAAE,gCAAM;IACT,GAAG,EAAE,gCAAM;CACZ,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAA,kCAAQ,EAAC;IACxB,CAAC,EAAE,gCAAM;IACT,GAAG,EAAE,gCAAM;CACZ,CAAC,CAAC;AAMH,MAAM,EAEH,CAAC;AACJ,MAAM,EAKH,CAAC;AAEJ,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,MAA4B,CAAC;IACjC,IAAI,UAAmB,CAAC;IACxB,IAAI,cAAuB,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG;YACP,KAAK,EAAE;gBACL,KAAK,EAAE,gCAAM;aACd;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,gCAAM;aACZ;SACF,CAAC;QACF,UAAU,GAAG,IAAA,kCAAQ,EAAC,MAAM,CAAC,CAAC;QAC9B,cAAc,GAAG,cAAI,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC;gBACjB,KAAK,EAAE,cAAI,CAAC,MAAM,EAAE;aACrB,CAAC;YACF,GAAG,EAAE,cAAI,CAAC,MAAM,CAAC;gBACf,GAAG,EAAE,cAAI,CAAC,MAAM,EAAE;aACnB,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE3C,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,IAAA,kCAAQ,EAAC;YACP,KAAK,EAAE;gBACL,KAAK,EAAE,gCAAM;aACd;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,gCAAM;aACZ;SACF,CAAC,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,IAAA,kCAAQ,EAAC;YACP,KAAK,EAAE,IAAA,kCAAQ,EAAC;gBACd,KAAK,EAAE,gCAAM;aACd,CAAC;YACF,GAAG,EAAE;gBACH,GAAG,EAAE,gCAAM;aACZ;SACF,CAAC,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,IAAA,kCAAQ,EAAC;YACP,KAAK,EAAE;gBACL,KAAK,EAAE,gCAAM;aACd;YACD,GAAG,EAAE,IAAA,kCAAQ,EAAC;gBACZ,GAAG,EAAE,gCAAM;aACZ,CAAC;SACH,CAAC,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,IAAA,kCAAQ,EAAC;YACP,KAAK,EAAE,IAAA,kCAAQ,EAAC;gBACd,KAAK,EAAE,gCAAM;aACd,CAAC;YACF,GAAG,EAAE,IAAA,kCAAQ,EAAC;gBACZ,GAAG,EAAE,gCAAM;aACZ,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,eAAe,GAAG,IAAA,kCAAQ,EAAC,MAAM,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,IAAA,kCAAQ,EAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,kBAAkB,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,eAAe,GAAG,IAAA,+BAAK,EAAC,MAAM,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,IAAA,+BAAK,EAAC,UAAU,CAAC,CAAC;QAExC,MAAM,kBAAkB,GAAG,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,eAAe,GAAG,IAAA,+BAAK,EAAC;YAC5B,MAAM;YACN;gBACE,IAAI,EAAE,gCAAM;aACb;SACF,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAA,+BAAK,EAAC;YAC7B,MAAM;YACN,IAAA,kCAAQ,EAAC;gBACP,IAAI,EAAE,gCAAM;aACb,CAAC;SACH,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,+BAAK,EAAC;YAC3B,UAAU;YACV,IAAA,kCAAQ,EAAC;gBACP,IAAI,EAAE,gCAAM;aACb,CAAC;SACH,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,+BAAK,EAAC;YAC3B,UAAU;YACV;gBACE,IAAI,EAAE,gCAAM;aACb;SACF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,cAAI,CAAC,KAAK,CAAC;YACpC,cAAc;YACd,cAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,cAAI,CAAC,MAAM,EAAE;aACpB,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,UAAU,GAAG,IAAA,kCAAQ,EAAC;YAC1B,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,cAAI,CAAC,MAAM,CAAC;YACV,KAAK,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,CACJ,IAAA,kCAAQ,EAAC,UAAU,EAAE;YACnB,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;aACf;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,EAAE;aACR;SACF,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CACJ,IAAA,kCAAQ,EAAC,UAAU,EAAE;YACnB,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;aACV;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,EAAE;aACR;SACF,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,kCAAQ,EAAC,MAAM,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAA,iCAAO,EAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"largeSchema.test.js","sourceRoot":"","sources":["../../../tests/typebox/largeSchema.test.ts"],"names":[],"mappings":"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"}