@cleverbrush/schema 1.0.0-beta.5 → 1.1.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.
- package/README.md +118 -320
- package/dist/builders/AnySchemaBuilder.d.ts +76 -0
- package/dist/builders/AnySchemaBuilder.js +112 -0
- package/dist/builders/ArraySchemaBuilder.d.ts +112 -14
- package/dist/builders/ArraySchemaBuilder.js +254 -111
- package/dist/builders/BooleanSchemaBuilder.d.ts +69 -29
- package/dist/builders/BooleanSchemaBuilder.js +134 -74
- package/dist/builders/DateSchemaBuilder.d.ts +179 -0
- package/dist/builders/DateSchemaBuilder.js +433 -0
- package/dist/builders/FunctionSchemaBuilder.d.ts +59 -25
- package/dist/builders/FunctionSchemaBuilder.js +102 -58
- package/dist/builders/NumberSchemaBuilder.d.ts +159 -59
- package/dist/builders/NumberSchemaBuilder.js +345 -165
- package/dist/builders/ObjectSchemaBuilder.d.ts +310 -81
- package/dist/builders/ObjectSchemaBuilder.js +528 -283
- package/dist/builders/SchemaBuilder.d.ts +157 -34
- package/dist/builders/SchemaBuilder.js +258 -71
- package/dist/builders/StringSchemaBuilder.d.ts +138 -13
- package/dist/builders/StringSchemaBuilder.js +261 -115
- package/dist/builders/UnionSchemaBuilder.d.ts +132 -9
- package/dist/builders/UnionSchemaBuilder.js +196 -75
- package/dist/index.d.ts +20 -40
- package/dist/index.js +19 -32
- package/dist/utils/transaction.d.ts +46 -0
- package/dist/utils/transaction.js +178 -0
- package/package.json +27 -14
- package/dist/defaultSchemas.d.ts +0 -4
- package/dist/defaultSchemas.js +0 -45
- package/dist/schema.d.ts +0 -231
- package/dist/schema.js +0 -2
- package/dist/schemaRegistry.d.ts +0 -49
- package/dist/schemaRegistry.js +0 -278
- package/dist/validators/validateArray.d.ts +0 -3
- package/dist/validators/validateArray.js +0 -60
- package/dist/validators/validateBoolean.d.ts +0 -2
- package/dist/validators/validateBoolean.js +0 -30
- package/dist/validators/validateFunction.d.ts +0 -2
- package/dist/validators/validateFunction.js +0 -21
- package/dist/validators/validateNumber.d.ts +0 -2
- package/dist/validators/validateNumber.js +0 -69
- package/dist/validators/validateObject.d.ts +0 -3
- package/dist/validators/validateObject.js +0 -95
- package/dist/validators/validateString.d.ts +0 -2
- package/dist/validators/validateString.js +0 -50
- package/dist/validators/validateUnion.d.ts +0 -3
- package/dist/validators/validateUnion.js +0 -30
- package/src/builders/ArraySchemaBuilder.test.ts +0 -270
- package/src/builders/ArraySchemaBuilder.ts +0 -381
- package/src/builders/BooleanSchemaBuilder.test.ts +0 -196
- package/src/builders/BooleanSchemaBuilder.ts +0 -155
- package/src/builders/FunctionSchemaBuilder.test.ts +0 -145
- package/src/builders/FunctionSchemaBuilder.ts +0 -117
- package/src/builders/NumberSchemaBuilder.test.ts +0 -493
- package/src/builders/NumberSchemaBuilder.ts +0 -789
- package/src/builders/ObjectSchemaBuilder.test.ts +0 -657
- package/src/builders/ObjectSchemaBuilder.ts +0 -794
- package/src/builders/SchemaBuilder.test.ts +0 -73
- package/src/builders/SchemaBuilder.ts +0 -135
- package/src/builders/StringSchemaBuilder.test.ts +0 -318
- package/src/builders/StringSchemaBuilder.ts +0 -392
- package/src/builders/UnionSchemaBuilder.test.ts +0 -162
- package/src/builders/UnionSchemaBuilder.ts +0 -154
- package/src/defaultSchemas.ts +0 -44
- package/src/index.ts +0 -66
- package/src/schema.ts +0 -849
- package/src/schemaRegistry.builders.test.ts +0 -1393
- package/src/schemaRegistry.test.ts +0 -118
- package/src/schemaRegistry.ts +0 -461
- package/src/validators/validateArray.ts +0 -76
- package/src/validators/validateBoolean.ts +0 -36
- package/src/validators/validateFunction.ts +0 -25
- package/src/validators/validateNumber.ts +0 -82
- package/src/validators/validateObject.ts +0 -119
- package/src/validators/validateString.ts +0 -59
- package/src/validators/validateUnion.ts +0 -36
- package/tsconfig.json +0 -16
package/src/defaultSchemas.ts
DELETED
|
@@ -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 };
|