@cleverbrush/schema 1.0.0-beta.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +118 -320
  2. package/dist/builders/AnySchemaBuilder.d.ts +76 -0
  3. package/dist/builders/AnySchemaBuilder.js +112 -0
  4. package/dist/builders/ArraySchemaBuilder.d.ts +112 -14
  5. package/dist/builders/ArraySchemaBuilder.js +254 -111
  6. package/dist/builders/BooleanSchemaBuilder.d.ts +69 -29
  7. package/dist/builders/BooleanSchemaBuilder.js +134 -74
  8. package/dist/builders/DateSchemaBuilder.d.ts +177 -0
  9. package/dist/builders/DateSchemaBuilder.js +433 -0
  10. package/dist/builders/FunctionSchemaBuilder.d.ts +59 -23
  11. package/dist/builders/FunctionSchemaBuilder.js +103 -56
  12. package/dist/builders/NumberSchemaBuilder.d.ts +159 -59
  13. package/dist/builders/NumberSchemaBuilder.js +345 -165
  14. package/dist/builders/ObjectSchemaBuilder.d.ts +357 -81
  15. package/dist/builders/ObjectSchemaBuilder.js +519 -283
  16. package/dist/builders/SchemaBuilder.d.ts +158 -34
  17. package/dist/builders/SchemaBuilder.js +258 -71
  18. package/dist/builders/StringSchemaBuilder.d.ts +138 -13
  19. package/dist/builders/StringSchemaBuilder.js +261 -115
  20. package/dist/builders/UnionSchemaBuilder.d.ts +129 -9
  21. package/dist/builders/UnionSchemaBuilder.js +196 -75
  22. package/dist/index.d.ts +20 -40
  23. package/dist/index.js +19 -32
  24. package/dist/utils/transaction.d.ts +46 -0
  25. package/dist/utils/transaction.js +178 -0
  26. package/package.json +27 -14
  27. package/dist/defaultSchemas.d.ts +0 -4
  28. package/dist/defaultSchemas.js +0 -45
  29. package/dist/schema.d.ts +0 -230
  30. package/dist/schema.js +0 -2
  31. package/dist/schemaRegistry.d.ts +0 -49
  32. package/dist/schemaRegistry.js +0 -278
  33. package/dist/validators/validateArray.d.ts +0 -3
  34. package/dist/validators/validateArray.js +0 -60
  35. package/dist/validators/validateBoolean.d.ts +0 -2
  36. package/dist/validators/validateBoolean.js +0 -30
  37. package/dist/validators/validateFunction.d.ts +0 -2
  38. package/dist/validators/validateFunction.js +0 -21
  39. package/dist/validators/validateNumber.d.ts +0 -2
  40. package/dist/validators/validateNumber.js +0 -69
  41. package/dist/validators/validateObject.d.ts +0 -3
  42. package/dist/validators/validateObject.js +0 -95
  43. package/dist/validators/validateString.d.ts +0 -2
  44. package/dist/validators/validateString.js +0 -50
  45. package/dist/validators/validateUnion.d.ts +0 -3
  46. package/dist/validators/validateUnion.js +0 -30
  47. package/src/builders/ArraySchemaBuilder.test.ts +0 -270
  48. package/src/builders/ArraySchemaBuilder.ts +0 -381
  49. package/src/builders/BooleanSchemaBuilder.test.ts +0 -196
  50. package/src/builders/BooleanSchemaBuilder.ts +0 -155
  51. package/src/builders/FunctionSchemaBuilder.test.ts +0 -134
  52. package/src/builders/FunctionSchemaBuilder.ts +0 -109
  53. package/src/builders/NumberSchemaBuilder.test.ts +0 -493
  54. package/src/builders/NumberSchemaBuilder.ts +0 -789
  55. package/src/builders/ObjectSchemaBuilder.test.ts +0 -657
  56. package/src/builders/ObjectSchemaBuilder.ts +0 -794
  57. package/src/builders/SchemaBuilder.test.ts +0 -73
  58. package/src/builders/SchemaBuilder.ts +0 -135
  59. package/src/builders/StringSchemaBuilder.test.ts +0 -318
  60. package/src/builders/StringSchemaBuilder.ts +0 -392
  61. package/src/builders/UnionSchemaBuilder.test.ts +0 -162
  62. package/src/builders/UnionSchemaBuilder.ts +0 -154
  63. package/src/defaultSchemas.ts +0 -44
  64. package/src/index.ts +0 -66
  65. package/src/schema.ts +0 -827
  66. package/src/schemaRegistry.builders.test.ts +0 -1393
  67. package/src/schemaRegistry.test.ts +0 -118
  68. package/src/schemaRegistry.ts +0 -461
  69. package/src/validators/validateArray.ts +0 -76
  70. package/src/validators/validateBoolean.ts +0 -36
  71. package/src/validators/validateFunction.ts +0 -25
  72. package/src/validators/validateNumber.ts +0 -82
  73. package/src/validators/validateObject.ts +0 -119
  74. package/src/validators/validateString.ts +0 -59
  75. package/src/validators/validateUnion.ts +0 -36
  76. package/tsconfig.json +0 -16
@@ -1,44 +0,0 @@
1
- import { DefaultSchemaType, Schema } from './schema.js';
2
-
3
- export const defaultSchemas: { [key in DefaultSchemaType]?: Schema } = {
4
- alias: {
5
- type: 'alias',
6
- // TODO: remove
7
- schemaName: '',
8
- isRequired: true,
9
- isNullable: false
10
- },
11
- number: {
12
- type: 'number',
13
- isRequired: true,
14
- isNullable: false,
15
- ensureNotNaN: true,
16
- ensureIsFinite: true
17
- },
18
- boolean: {
19
- type: 'boolean',
20
- isRequired: true,
21
- isNullable: false
22
- },
23
- string: {
24
- type: 'string',
25
- isRequired: true,
26
- isNullable: false
27
- },
28
- array: {
29
- type: 'array',
30
- isRequired: true,
31
- isNullable: false
32
- },
33
- object: {
34
- type: 'object',
35
- noUnknownProperties: true,
36
- isNullable: false,
37
- isRequired: true
38
- },
39
- function: {
40
- type: 'function',
41
- isRequired: true,
42
- isNullable: false
43
- }
44
- };
package/src/index.ts DELETED
@@ -1,66 +0,0 @@
1
- import {
2
- InferType,
3
- ExpandSchemaBuilder,
4
- ValidationResultWithObject
5
- } from './schema.js';
6
- import SchemaRegistry from './schemaRegistry.js';
7
-
8
- import { array } from './builders/ArraySchemaBuilder.js';
9
- import { boolean } from './builders/BooleanSchemaBuilder.js';
10
- import { number } from './builders/NumberSchemaBuilder.js';
11
- import { object } from './builders/ObjectSchemaBuilder.js';
12
- import { string } from './builders/StringSchemaBuilder.js';
13
- import { union } from './builders/UnionSchemaBuilder.js';
14
- import { func } from './builders/FunctionSchemaBuilder.js';
15
-
16
- export type GetNodes<
17
- T extends Record<string, any>,
18
- TPrefix extends string = ''
19
- > = {
20
- [k in keyof T]: k extends `${TPrefix}${infer F}.${infer S}` ? F : never;
21
- }[keyof T];
22
-
23
- export type GetLeafs<
24
- T extends Record<string, any>,
25
- TPrefix extends string = ''
26
- > = {
27
- [k in keyof T]: k extends `${TPrefix}${infer F}`
28
- ? F extends `${infer S}.${infer G}`
29
- ? never
30
- : F
31
- : never;
32
- }[keyof T];
33
-
34
- export type Unfold<
35
- TBag extends Record<string, any>,
36
- TPrefix extends string = ''
37
- > = {
38
- [k in GetLeafs<TBag, TPrefix>]: ISchemaActions<TBag[`${TPrefix}${k}`]>;
39
- } & {
40
- [k in GetNodes<TBag, TPrefix>]: Unfold<TBag, `${TPrefix}${k}.`>;
41
- };
42
-
43
- export interface ISchemaActions<S> {
44
- validate(
45
- value: any
46
- ): Promise<ValidationResultWithObject<InferType<ExpandSchemaBuilder<S>>>>;
47
- schema: ExpandSchemaBuilder<S>;
48
- }
49
-
50
- export interface ISchemaRegistry<T extends Record<string, any>> {
51
- schemas: Unfold<T>;
52
- }
53
-
54
- export { SchemaRegistry };
55
- export default {
56
- SchemaRegistry,
57
- array,
58
- boolean,
59
- number,
60
- object,
61
- string,
62
- union,
63
- func
64
- };
65
-
66
- export { array, boolean, number, object, string, union, func, InferType };