@sinclair/typebox 0.32.34 → 0.33.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/build/cjs/errors/function.js +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/system/policy.d.ts +9 -1
- package/build/cjs/system/policy.js +13 -2
- package/build/cjs/type/any/any.js +4 -3
- package/build/cjs/type/array/array.d.ts +1 -1
- package/build/cjs/type/array/array.js +3 -8
- package/build/cjs/type/async-iterator/async-iterator.js +3 -8
- package/build/cjs/type/awaited/awaited.js +3 -3
- package/build/cjs/type/bigint/bigint.js +3 -6
- package/build/cjs/type/boolean/boolean.js +3 -6
- package/build/cjs/type/clone/type.d.ts +1 -1
- package/build/cjs/type/clone/type.js +2 -2
- package/build/cjs/type/composite/composite.js +1 -1
- package/build/cjs/type/const/const.js +3 -3
- package/build/cjs/type/constructor/constructor.js +2 -8
- package/build/cjs/type/constructor-parameters/constructor-parameters.js +2 -3
- package/build/cjs/type/create/immutable.d.ts +2 -0
- package/build/cjs/type/create/immutable.js +41 -0
- package/build/cjs/type/create/index.d.ts +1 -0
- package/build/cjs/type/create/index.js +18 -0
- package/build/cjs/type/create/type.d.ts +3 -0
- package/build/cjs/type/create/type.js +19 -0
- package/build/cjs/type/date/date.js +3 -6
- package/build/cjs/type/discard/discard.d.ts +1 -0
- package/build/cjs/type/discard/discard.js +1 -0
- package/build/cjs/type/enum/enum.js +1 -1
- package/build/cjs/type/exclude/exclude.js +4 -4
- package/build/cjs/type/extends/extends-from-mapped-key.d.ts +1 -1
- package/build/cjs/type/extends/extends-from-mapped-key.js +2 -1
- package/build/cjs/type/extends/extends-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/extends/extends-from-mapped-result.js +2 -1
- package/build/cjs/type/extends/extends.js +4 -4
- package/build/cjs/type/extract/extract.js +5 -5
- package/build/cjs/type/function/function.js +2 -8
- package/build/cjs/type/guard/value.js +3 -0
- package/build/cjs/type/indexed/indexed-from-mapped-key.d.ts +1 -1
- package/build/cjs/type/indexed/indexed-from-mapped-key.js +2 -1
- package/build/cjs/type/indexed/indexed-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/indexed/indexed.js +10 -6
- package/build/cjs/type/instance-type/instance-type.js +3 -3
- package/build/cjs/type/integer/integer.js +3 -6
- package/build/cjs/type/intersect/intersect-create.d.ts +1 -1
- package/build/cjs/type/intersect/intersect-create.js +6 -6
- package/build/cjs/type/intersect/intersect-evaluated.js +2 -2
- package/build/cjs/type/intersect/intersect.js +3 -3
- package/build/cjs/type/intrinsic/intrinsic-from-mapped-key.js +4 -2
- package/build/cjs/type/intrinsic/intrinsic.js +3 -1
- package/build/cjs/type/iterator/iterator.js +3 -8
- package/build/cjs/type/keyof/keyof-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/keyof/keyof-from-mapped-result.js +2 -1
- package/build/cjs/type/keyof/keyof.js +3 -3
- package/build/cjs/type/literal/literal.js +4 -4
- package/build/cjs/type/mapped/mapped-key.js +3 -2
- package/build/cjs/type/mapped/mapped-result.js +3 -2
- package/build/cjs/type/mapped/mapped.js +2 -3
- package/build/cjs/type/never/never.js +3 -6
- package/build/cjs/type/not/not.d.ts +1 -1
- package/build/cjs/type/not/not.js +3 -7
- package/build/cjs/type/null/null.js +3 -6
- package/build/cjs/type/number/number.js +3 -6
- package/build/cjs/type/object/object.js +13 -12
- package/build/cjs/type/omit/omit-from-mapped-key.d.ts +1 -1
- package/build/cjs/type/omit/omit-from-mapped-key.js +2 -1
- package/build/cjs/type/omit/omit-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/omit/omit-from-mapped-result.js +2 -1
- package/build/cjs/type/omit/omit.js +4 -4
- package/build/cjs/type/optional/optional.js +3 -3
- package/build/cjs/type/parameters/parameters.js +2 -3
- package/build/cjs/type/partial/partial-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/partial/partial-from-mapped-result.js +2 -1
- package/build/cjs/type/partial/partial.js +4 -4
- package/build/cjs/type/patterns/patterns.d.ts +2 -0
- package/build/cjs/type/patterns/patterns.js +3 -1
- package/build/cjs/type/pick/pick-from-mapped-key.d.ts +1 -1
- package/build/cjs/type/pick/pick-from-mapped-key.js +2 -1
- package/build/cjs/type/pick/pick-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/pick/pick-from-mapped-result.js +2 -1
- package/build/cjs/type/pick/pick.js +4 -4
- package/build/cjs/type/promise/promise.js +3 -8
- package/build/cjs/type/readonly/readonly.js +3 -3
- package/build/cjs/type/record/record.d.ts +4 -1
- package/build/cjs/type/record/record.js +16 -7
- package/build/cjs/type/recursive/recursive.js +3 -2
- package/build/cjs/type/ref/ref.js +4 -7
- package/build/cjs/type/regexp/regexp.js +3 -2
- package/build/cjs/type/required/required-from-mapped-result.d.ts +1 -1
- package/build/cjs/type/required/required.js +4 -4
- package/build/cjs/type/rest/rest.d.ts +1 -1
- package/build/cjs/type/rest/rest.js +4 -5
- package/build/cjs/type/return-type/return-type.js +3 -3
- package/build/cjs/type/string/string.js +3 -2
- package/build/cjs/type/symbol/symbol.js +2 -1
- package/build/cjs/type/template-literal/template-literal.js +3 -2
- package/build/cjs/type/transform/transform.js +1 -3
- package/build/cjs/type/tuple/tuple.js +5 -7
- package/build/cjs/type/type/javascript.js +13 -13
- package/build/cjs/type/type/json.js +35 -35
- package/build/cjs/type/uint8array/uint8array.js +3 -2
- package/build/cjs/type/undefined/undefined.js +3 -2
- package/build/cjs/type/union/union-create.d.ts +1 -1
- package/build/cjs/type/union/union-create.js +2 -2
- package/build/cjs/type/union/union-evaluated.js +3 -3
- package/build/cjs/type/union/union.js +3 -3
- package/build/cjs/type/unknown/unknown.js +3 -5
- package/build/cjs/type/unsafe/unsafe.js +2 -4
- package/build/cjs/type/void/void.js +3 -6
- package/build/cjs/value/convert/convert.js +3 -0
- package/build/esm/errors/function.mjs +1 -1
- package/build/esm/index.d.mts +1 -0
- package/build/esm/index.mjs +1 -0
- package/build/esm/system/policy.d.mts +9 -1
- package/build/esm/system/policy.mjs +13 -2
- package/build/esm/type/any/any.mjs +3 -2
- package/build/esm/type/array/array.d.mts +1 -1
- package/build/esm/type/array/array.mjs +3 -8
- package/build/esm/type/async-iterator/async-iterator.mjs +3 -8
- package/build/esm/type/awaited/awaited.mjs +3 -3
- package/build/esm/type/bigint/bigint.mjs +3 -6
- package/build/esm/type/boolean/boolean.mjs +3 -6
- package/build/esm/type/clone/type.d.mts +1 -1
- package/build/esm/type/clone/type.mjs +2 -2
- package/build/esm/type/composite/composite.mjs +1 -1
- package/build/esm/type/const/const.mjs +3 -3
- package/build/esm/type/constructor/constructor.mjs +2 -8
- package/build/esm/type/constructor-parameters/constructor-parameters.mjs +2 -3
- package/build/esm/type/create/immutable.d.mts +2 -0
- package/build/esm/type/create/immutable.mjs +37 -0
- package/build/esm/type/create/index.d.mts +1 -0
- package/build/esm/type/create/index.mjs +1 -0
- package/build/esm/type/create/type.d.mts +3 -0
- package/build/esm/type/create/type.mjs +15 -0
- package/build/esm/type/date/date.mjs +3 -6
- package/build/esm/type/discard/discard.d.mts +1 -0
- package/build/esm/type/discard/discard.mjs +1 -0
- package/build/esm/type/enum/enum.mjs +1 -1
- package/build/esm/type/exclude/exclude.mjs +4 -4
- package/build/esm/type/extends/extends-from-mapped-key.d.mts +1 -1
- package/build/esm/type/extends/extends-from-mapped-key.mjs +2 -1
- package/build/esm/type/extends/extends-from-mapped-result.d.mts +1 -1
- package/build/esm/type/extends/extends-from-mapped-result.mjs +2 -1
- package/build/esm/type/extends/extends.mjs +4 -4
- package/build/esm/type/extract/extract.mjs +5 -5
- package/build/esm/type/function/function.mjs +2 -8
- package/build/esm/type/guard/value.mjs +3 -0
- package/build/esm/type/indexed/indexed-from-mapped-key.d.mts +1 -1
- package/build/esm/type/indexed/indexed-from-mapped-key.mjs +2 -1
- package/build/esm/type/indexed/indexed-from-mapped-result.d.mts +1 -1
- package/build/esm/type/indexed/indexed.mjs +10 -6
- package/build/esm/type/instance-type/instance-type.mjs +3 -3
- package/build/esm/type/integer/integer.mjs +3 -6
- package/build/esm/type/intersect/intersect-create.d.mts +1 -1
- package/build/esm/type/intersect/intersect-create.mjs +6 -6
- package/build/esm/type/intersect/intersect-evaluated.mjs +2 -2
- package/build/esm/type/intersect/intersect.mjs +3 -3
- package/build/esm/type/intrinsic/intrinsic-from-mapped-key.mjs +4 -2
- package/build/esm/type/intrinsic/intrinsic.mjs +3 -1
- package/build/esm/type/iterator/iterator.mjs +3 -8
- package/build/esm/type/keyof/keyof-from-mapped-result.d.mts +1 -1
- package/build/esm/type/keyof/keyof-from-mapped-result.mjs +2 -1
- package/build/esm/type/keyof/keyof.mjs +3 -3
- package/build/esm/type/literal/literal.mjs +4 -4
- package/build/esm/type/mapped/mapped-key.mjs +3 -2
- package/build/esm/type/mapped/mapped-result.mjs +3 -2
- package/build/esm/type/mapped/mapped.mjs +2 -3
- package/build/esm/type/never/never.mjs +3 -6
- package/build/esm/type/not/not.d.mts +1 -1
- package/build/esm/type/not/not.mjs +3 -7
- package/build/esm/type/null/null.mjs +3 -6
- package/build/esm/type/number/number.mjs +3 -6
- package/build/esm/type/object/object.mjs +14 -13
- package/build/esm/type/omit/omit-from-mapped-key.d.mts +1 -1
- package/build/esm/type/omit/omit-from-mapped-key.mjs +2 -1
- package/build/esm/type/omit/omit-from-mapped-result.d.mts +1 -1
- package/build/esm/type/omit/omit-from-mapped-result.mjs +2 -1
- package/build/esm/type/omit/omit.mjs +4 -4
- package/build/esm/type/optional/optional.mjs +3 -3
- package/build/esm/type/parameters/parameters.mjs +2 -3
- package/build/esm/type/partial/partial-from-mapped-result.d.mts +1 -1
- package/build/esm/type/partial/partial-from-mapped-result.mjs +2 -1
- package/build/esm/type/partial/partial.mjs +4 -4
- package/build/esm/type/patterns/patterns.d.mts +2 -0
- package/build/esm/type/patterns/patterns.mjs +2 -0
- package/build/esm/type/pick/pick-from-mapped-key.d.mts +1 -1
- package/build/esm/type/pick/pick-from-mapped-key.mjs +2 -1
- package/build/esm/type/pick/pick-from-mapped-result.d.mts +1 -1
- package/build/esm/type/pick/pick-from-mapped-result.mjs +2 -1
- package/build/esm/type/pick/pick.mjs +4 -4
- package/build/esm/type/promise/promise.mjs +3 -8
- package/build/esm/type/readonly/readonly.mjs +3 -3
- package/build/esm/type/record/record.d.mts +4 -1
- package/build/esm/type/record/record.mjs +18 -9
- package/build/esm/type/recursive/recursive.mjs +3 -2
- package/build/esm/type/ref/ref.mjs +4 -7
- package/build/esm/type/regexp/regexp.mjs +3 -2
- package/build/esm/type/required/required-from-mapped-result.d.mts +1 -1
- package/build/esm/type/required/required.mjs +4 -4
- package/build/esm/type/rest/rest.d.mts +1 -1
- package/build/esm/type/rest/rest.mjs +4 -5
- package/build/esm/type/return-type/return-type.mjs +3 -3
- package/build/esm/type/string/string.mjs +3 -2
- package/build/esm/type/symbol/symbol.mjs +2 -1
- package/build/esm/type/template-literal/template-literal.mjs +3 -2
- package/build/esm/type/transform/transform.mjs +1 -3
- package/build/esm/type/tuple/tuple.mjs +5 -7
- package/build/esm/type/type/javascript.mjs +13 -13
- package/build/esm/type/type/json.mjs +35 -35
- package/build/esm/type/uint8array/uint8array.mjs +3 -2
- package/build/esm/type/undefined/undefined.mjs +3 -2
- package/build/esm/type/union/union-create.d.mts +1 -1
- package/build/esm/type/union/union-create.mjs +2 -2
- package/build/esm/type/union/union-evaluated.mjs +3 -3
- package/build/esm/type/union/union.mjs +3 -3
- package/build/esm/type/unknown/unknown.mjs +3 -5
- package/build/esm/type/unsafe/unsafe.mjs +2 -4
- package/build/esm/type/void/void.mjs +3 -6
- package/build/esm/value/convert/convert.mjs +3 -0
- package/package.json +1 -1
|
@@ -19,19 +19,19 @@ import { Void } from '../void/index.mjs';
|
|
|
19
19
|
/** JavaScript Type Builder with Static Resolution for TypeScript */
|
|
20
20
|
export class JavaScriptTypeBuilder extends JsonTypeBuilder {
|
|
21
21
|
/** `[JavaScript]` Creates a AsyncIterator type */
|
|
22
|
-
AsyncIterator(items, options
|
|
22
|
+
AsyncIterator(items, options) {
|
|
23
23
|
return AsyncIterator(items, options);
|
|
24
24
|
}
|
|
25
25
|
/** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */
|
|
26
|
-
Awaited(schema, options
|
|
26
|
+
Awaited(schema, options) {
|
|
27
27
|
return Awaited(schema, options);
|
|
28
28
|
}
|
|
29
29
|
/** `[JavaScript]` Creates a BigInt type */
|
|
30
|
-
BigInt(options
|
|
30
|
+
BigInt(options) {
|
|
31
31
|
return BigInt(options);
|
|
32
32
|
}
|
|
33
33
|
/** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */
|
|
34
|
-
ConstructorParameters(schema, options
|
|
34
|
+
ConstructorParameters(schema, options) {
|
|
35
35
|
return ConstructorParameters(schema, options);
|
|
36
36
|
}
|
|
37
37
|
/** `[JavaScript]` Creates a Constructor type */
|
|
@@ -47,27 +47,27 @@ export class JavaScriptTypeBuilder extends JsonTypeBuilder {
|
|
|
47
47
|
return FunctionType(parameters, returns, options);
|
|
48
48
|
}
|
|
49
49
|
/** `[JavaScript]` Extracts the InstanceType from the given Constructor type */
|
|
50
|
-
InstanceType(schema, options
|
|
50
|
+
InstanceType(schema, options) {
|
|
51
51
|
return InstanceType(schema, options);
|
|
52
52
|
}
|
|
53
53
|
/** `[JavaScript]` Creates an Iterator type */
|
|
54
|
-
Iterator(items, options
|
|
54
|
+
Iterator(items, options) {
|
|
55
55
|
return Iterator(items, options);
|
|
56
56
|
}
|
|
57
57
|
/** `[JavaScript]` Extracts the Parameters from the given Function type */
|
|
58
|
-
Parameters(schema, options
|
|
58
|
+
Parameters(schema, options) {
|
|
59
59
|
return Parameters(schema, options);
|
|
60
60
|
}
|
|
61
61
|
/** `[JavaScript]` Creates a Promise type */
|
|
62
|
-
Promise(item, options
|
|
62
|
+
Promise(item, options) {
|
|
63
63
|
return Promise(item, options);
|
|
64
64
|
}
|
|
65
65
|
/** `[JavaScript]` Creates a RegExp type */
|
|
66
|
-
RegExp(unresolved, options
|
|
66
|
+
RegExp(unresolved, options) {
|
|
67
67
|
return RegExp(unresolved, options);
|
|
68
68
|
}
|
|
69
69
|
/** `[JavaScript]` Extracts the ReturnType from the given Function type */
|
|
70
|
-
ReturnType(schema, options
|
|
70
|
+
ReturnType(schema, options) {
|
|
71
71
|
return ReturnType(schema, options);
|
|
72
72
|
}
|
|
73
73
|
/** `[JavaScript]` Creates a Symbol type */
|
|
@@ -75,15 +75,15 @@ export class JavaScriptTypeBuilder extends JsonTypeBuilder {
|
|
|
75
75
|
return Symbol(options);
|
|
76
76
|
}
|
|
77
77
|
/** `[JavaScript]` Creates a Undefined type */
|
|
78
|
-
Undefined(options
|
|
78
|
+
Undefined(options) {
|
|
79
79
|
return Undefined(options);
|
|
80
80
|
}
|
|
81
81
|
/** `[JavaScript]` Creates a Uint8Array type */
|
|
82
|
-
Uint8Array(options
|
|
82
|
+
Uint8Array(options) {
|
|
83
83
|
return Uint8Array(options);
|
|
84
84
|
}
|
|
85
85
|
/** `[JavaScript]` Creates a Void type */
|
|
86
|
-
Void(options
|
|
86
|
+
Void(options) {
|
|
87
87
|
return Void(options);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -67,19 +67,19 @@ export class JsonTypeBuilder {
|
|
|
67
67
|
// Types
|
|
68
68
|
// ------------------------------------------------------------------------
|
|
69
69
|
/** `[Json]` Creates an Any type */
|
|
70
|
-
Any(options
|
|
70
|
+
Any(options) {
|
|
71
71
|
return Any(options);
|
|
72
72
|
}
|
|
73
73
|
/** `[Json]` Creates an Array type */
|
|
74
|
-
Array(schema, options
|
|
74
|
+
Array(schema, options) {
|
|
75
75
|
return Array(schema, options);
|
|
76
76
|
}
|
|
77
77
|
/** `[Json]` Creates a Boolean type */
|
|
78
|
-
Boolean(options
|
|
78
|
+
Boolean(options) {
|
|
79
79
|
return Boolean(options);
|
|
80
80
|
}
|
|
81
81
|
/** `[Json]` Intrinsic function to Capitalize LiteralString types */
|
|
82
|
-
Capitalize(schema, options
|
|
82
|
+
Capitalize(schema, options) {
|
|
83
83
|
return Capitalize(schema, options);
|
|
84
84
|
}
|
|
85
85
|
/** `[Json]` Creates a Composite object type */
|
|
@@ -87,7 +87,7 @@ export class JsonTypeBuilder {
|
|
|
87
87
|
return Composite(schemas, options); // (error) TS 5.4.0-dev - review TComposite implementation
|
|
88
88
|
}
|
|
89
89
|
/** `[JavaScript]` Creates a readonly const type from the given value. */
|
|
90
|
-
Const(value, options
|
|
90
|
+
Const(value, options) {
|
|
91
91
|
return Const(value, options);
|
|
92
92
|
}
|
|
93
93
|
/** `[Json]` Creates a dereferenced type */
|
|
@@ -95,51 +95,51 @@ export class JsonTypeBuilder {
|
|
|
95
95
|
return Deref(schema, references);
|
|
96
96
|
}
|
|
97
97
|
/** `[Json]` Creates a Enum type */
|
|
98
|
-
Enum(item, options
|
|
98
|
+
Enum(item, options) {
|
|
99
99
|
return Enum(item, options);
|
|
100
100
|
}
|
|
101
101
|
/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
|
|
102
|
-
Exclude(unionType, excludedMembers, options
|
|
102
|
+
Exclude(unionType, excludedMembers, options) {
|
|
103
103
|
return Exclude(unionType, excludedMembers, options);
|
|
104
104
|
}
|
|
105
105
|
/** `[Json]` Creates a Conditional type */
|
|
106
|
-
Extends(L, R, T, F, options
|
|
106
|
+
Extends(L, R, T, F, options) {
|
|
107
107
|
return Extends(L, R, T, F, options);
|
|
108
108
|
}
|
|
109
109
|
/** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
|
|
110
|
-
Extract(type, union, options
|
|
110
|
+
Extract(type, union, options) {
|
|
111
111
|
return Extract(type, union, options);
|
|
112
112
|
}
|
|
113
113
|
/** `[Json]` Returns an Indexed property type for the given keys */
|
|
114
|
-
Index(schema, unresolved, options
|
|
114
|
+
Index(schema, unresolved, options) {
|
|
115
115
|
return Index(schema, unresolved, options);
|
|
116
116
|
}
|
|
117
117
|
/** `[Json]` Creates an Integer type */
|
|
118
|
-
Integer(options
|
|
118
|
+
Integer(options) {
|
|
119
119
|
return Integer(options);
|
|
120
120
|
}
|
|
121
121
|
/** `[Json]` Creates an Intersect type */
|
|
122
|
-
Intersect(T, options
|
|
122
|
+
Intersect(T, options) {
|
|
123
123
|
return Intersect(T, options);
|
|
124
124
|
}
|
|
125
125
|
/** `[Json]` Creates a KeyOf type */
|
|
126
|
-
KeyOf(schema, options
|
|
126
|
+
KeyOf(schema, options) {
|
|
127
127
|
return KeyOf(schema, options);
|
|
128
128
|
}
|
|
129
129
|
/** `[Json]` Creates a Literal type */
|
|
130
|
-
Literal(value, options
|
|
130
|
+
Literal(value, options) {
|
|
131
131
|
return Literal(value, options);
|
|
132
132
|
}
|
|
133
133
|
/** `[Json]` Intrinsic function to Lowercase LiteralString types */
|
|
134
|
-
Lowercase(schema, options
|
|
134
|
+
Lowercase(schema, options) {
|
|
135
135
|
return Lowercase(schema, options);
|
|
136
136
|
}
|
|
137
137
|
/** `[Json]` Creates a Mapped object type */
|
|
138
|
-
Mapped(key, map, options
|
|
138
|
+
Mapped(key, map, options) {
|
|
139
139
|
return Mapped(key, map, options);
|
|
140
140
|
}
|
|
141
141
|
/** `[Json]` Creates a Never type */
|
|
142
|
-
Never(options
|
|
142
|
+
Never(options) {
|
|
143
143
|
return Never(options);
|
|
144
144
|
}
|
|
145
145
|
/** `[Json]` Creates a Not type */
|
|
@@ -147,43 +147,43 @@ export class JsonTypeBuilder {
|
|
|
147
147
|
return Not(schema, options);
|
|
148
148
|
}
|
|
149
149
|
/** `[Json]` Creates a Null type */
|
|
150
|
-
Null(options
|
|
150
|
+
Null(options) {
|
|
151
151
|
return Null(options);
|
|
152
152
|
}
|
|
153
153
|
/** `[Json]` Creates a Number type */
|
|
154
|
-
Number(options
|
|
154
|
+
Number(options) {
|
|
155
155
|
return Number(options);
|
|
156
156
|
}
|
|
157
157
|
/** `[Json]` Creates an Object type */
|
|
158
|
-
Object(properties, options
|
|
158
|
+
Object(properties, options) {
|
|
159
159
|
return Object(properties, options);
|
|
160
160
|
}
|
|
161
161
|
/** `[Json]` Constructs a type whose keys are omitted from the given type */
|
|
162
|
-
Omit(schema, unresolved, options
|
|
162
|
+
Omit(schema, unresolved, options) {
|
|
163
163
|
return Omit(schema, unresolved, options);
|
|
164
164
|
}
|
|
165
165
|
/** `[Json]` Constructs a type where all properties are optional */
|
|
166
|
-
Partial(schema, options
|
|
166
|
+
Partial(schema, options) {
|
|
167
167
|
return Partial(schema, options);
|
|
168
168
|
}
|
|
169
169
|
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
170
|
-
Pick(schema, unresolved, options
|
|
170
|
+
Pick(schema, unresolved, options) {
|
|
171
171
|
return Pick(schema, unresolved, options);
|
|
172
172
|
}
|
|
173
173
|
/** `[Json]` Creates a Record type */
|
|
174
|
-
Record(key, schema, options
|
|
174
|
+
Record(key, schema, options) {
|
|
175
175
|
return Record(key, schema, options);
|
|
176
176
|
}
|
|
177
177
|
/** `[Json]` Creates a Recursive type */
|
|
178
|
-
Recursive(callback, options
|
|
178
|
+
Recursive(callback, options) {
|
|
179
179
|
return Recursive(callback, options);
|
|
180
180
|
}
|
|
181
181
|
/** `[Json]` Creates a Ref type. */
|
|
182
|
-
Ref(unresolved, options
|
|
182
|
+
Ref(unresolved, options) {
|
|
183
183
|
return Ref(unresolved, options);
|
|
184
184
|
}
|
|
185
185
|
/** `[Json]` Constructs a type where all properties are required */
|
|
186
|
-
Required(schema, options
|
|
186
|
+
Required(schema, options) {
|
|
187
187
|
return Required(schema, options);
|
|
188
188
|
}
|
|
189
189
|
/** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
|
|
@@ -191,11 +191,11 @@ export class JsonTypeBuilder {
|
|
|
191
191
|
return Rest(schema);
|
|
192
192
|
}
|
|
193
193
|
/** `[Json]` Creates a String type */
|
|
194
|
-
String(options
|
|
194
|
+
String(options) {
|
|
195
195
|
return String(options);
|
|
196
196
|
}
|
|
197
197
|
/** `[Json]` Creates a TemplateLiteral type */
|
|
198
|
-
TemplateLiteral(unresolved, options
|
|
198
|
+
TemplateLiteral(unresolved, options) {
|
|
199
199
|
return TemplateLiteral(unresolved, options);
|
|
200
200
|
}
|
|
201
201
|
/** `[Json]` Creates a Transform type */
|
|
@@ -203,27 +203,27 @@ export class JsonTypeBuilder {
|
|
|
203
203
|
return Transform(schema);
|
|
204
204
|
}
|
|
205
205
|
/** `[Json]` Creates a Tuple type */
|
|
206
|
-
Tuple(items, options
|
|
206
|
+
Tuple(items, options) {
|
|
207
207
|
return Tuple(items, options);
|
|
208
208
|
}
|
|
209
209
|
/** `[Json]` Intrinsic function to Uncapitalize LiteralString types */
|
|
210
|
-
Uncapitalize(schema, options
|
|
210
|
+
Uncapitalize(schema, options) {
|
|
211
211
|
return Uncapitalize(schema, options);
|
|
212
212
|
}
|
|
213
213
|
/** `[Json]` Creates a Union type */
|
|
214
|
-
Union(schemas, options
|
|
214
|
+
Union(schemas, options) {
|
|
215
215
|
return Union(schemas, options);
|
|
216
216
|
}
|
|
217
217
|
/** `[Json]` Creates an Unknown type */
|
|
218
|
-
Unknown(options
|
|
218
|
+
Unknown(options) {
|
|
219
219
|
return Unknown(options);
|
|
220
220
|
}
|
|
221
221
|
/** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
|
|
222
|
-
Unsafe(options
|
|
222
|
+
Unsafe(options) {
|
|
223
223
|
return Unsafe(options);
|
|
224
224
|
}
|
|
225
225
|
/** `[Json]` Intrinsic function to Uppercase LiteralString types */
|
|
226
|
-
Uppercase(schema, options
|
|
226
|
+
Uppercase(schema, options) {
|
|
227
227
|
return Uppercase(schema, options);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { Kind } from '../symbols/index.mjs';
|
|
2
3
|
/** `[JavaScript]` Creates a Uint8Array type */
|
|
3
|
-
export function Uint8Array(options
|
|
4
|
-
return {
|
|
4
|
+
export function Uint8Array(options) {
|
|
5
|
+
return CreateType({ [Kind]: 'Uint8Array', type: 'Uint8Array' }, options);
|
|
5
6
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { Kind } from '../symbols/index.mjs';
|
|
2
3
|
/** `[JavaScript]` Creates a Undefined type */
|
|
3
|
-
export function Undefined(options
|
|
4
|
-
return {
|
|
4
|
+
export function Undefined(options) {
|
|
5
|
+
return CreateType({ [Kind]: 'Undefined', type: 'undefined' }, options);
|
|
5
6
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { TSchema, SchemaOptions } from '../schema/index.mjs';
|
|
2
2
|
import { TUnion } from './union-type.mjs';
|
|
3
|
-
export declare function UnionCreate<T extends TSchema[]>(T: [...T], options
|
|
3
|
+
export declare function UnionCreate<T extends TSchema[]>(T: [...T], options?: SchemaOptions): TUnion<T>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
2
2
|
import { Kind } from '../symbols/index.mjs';
|
|
3
3
|
export function UnionCreate(T, options) {
|
|
4
|
-
return {
|
|
4
|
+
return CreateType({ [Kind]: 'Union', anyOf: T }, options);
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { OptionalKind } from '../symbols/index.mjs';
|
|
2
|
-
import { CloneType } from '../clone/type.mjs';
|
|
3
3
|
import { Discard } from '../discard/index.mjs';
|
|
4
4
|
import { Never } from '../never/index.mjs';
|
|
5
5
|
import { Optional } from '../optional/index.mjs';
|
|
@@ -27,9 +27,9 @@ function ResolveUnion(T, options) {
|
|
|
27
27
|
: UnionCreate(RemoveOptionalFromRest(T), options));
|
|
28
28
|
}
|
|
29
29
|
/** `[Json]` Creates an evaluated Union type */
|
|
30
|
-
export function UnionEvaluated(T, options
|
|
30
|
+
export function UnionEvaluated(T, options) {
|
|
31
31
|
// prettier-ignore
|
|
32
32
|
return (T.length === 0 ? Never(options) :
|
|
33
|
-
T.length === 1 ?
|
|
33
|
+
T.length === 1 ? CreateType(T[0], options) :
|
|
34
34
|
ResolveUnion(T, options));
|
|
35
35
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Never } from '../never/index.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { CreateType } from '../create/type.mjs';
|
|
3
3
|
import { UnionCreate } from './union-create.mjs';
|
|
4
4
|
/** `[Json]` Creates a Union type */
|
|
5
|
-
export function Union(T, options
|
|
5
|
+
export function Union(T, options) {
|
|
6
6
|
// prettier-ignore
|
|
7
7
|
return (T.length === 0 ? Never(options) :
|
|
8
|
-
T.length === 1 ?
|
|
8
|
+
T.length === 1 ? CreateType(T[0], options) :
|
|
9
9
|
UnionCreate(T, options));
|
|
10
10
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { Kind } from '../symbols/index.mjs';
|
|
2
3
|
/** `[Json]` Creates an Unknown type */
|
|
3
|
-
export function Unknown(options
|
|
4
|
-
return {
|
|
5
|
-
...options,
|
|
6
|
-
[Kind]: 'Unknown',
|
|
7
|
-
};
|
|
4
|
+
export function Unknown(options) {
|
|
5
|
+
return CreateType({ [Kind]: 'Unknown' }, options);
|
|
8
6
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { Kind } from '../symbols/index.mjs';
|
|
2
3
|
/** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
|
|
3
4
|
export function Unsafe(options = {}) {
|
|
4
|
-
return {
|
|
5
|
-
...options,
|
|
6
|
-
[Kind]: options[Kind] ?? 'Unsafe',
|
|
7
|
-
};
|
|
5
|
+
return CreateType({ [Kind]: options[Kind] ?? 'Unsafe' }, options);
|
|
8
6
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { CreateType } from '../create/type.mjs';
|
|
1
2
|
import { Kind } from '../symbols/index.mjs';
|
|
2
3
|
/** `[JavaScript]` Creates a Void type */
|
|
3
|
-
export function Void(options
|
|
4
|
-
return {
|
|
5
|
-
...options,
|
|
6
|
-
[Kind]: 'Void',
|
|
7
|
-
type: 'void',
|
|
8
|
-
};
|
|
4
|
+
export function Void(options) {
|
|
5
|
+
return CreateType({ [Kind]: 'Void', type: 'void' }, options);
|
|
9
6
|
}
|
|
@@ -151,6 +151,9 @@ function FromObject(schema, references, value) {
|
|
|
151
151
|
return result;
|
|
152
152
|
}
|
|
153
153
|
function FromRecord(schema, references, value) {
|
|
154
|
+
const isConvertable = IsObject(value);
|
|
155
|
+
if (!isConvertable)
|
|
156
|
+
return value;
|
|
154
157
|
const propertyKey = Object.getOwnPropertyNames(schema.patternProperties)[0];
|
|
155
158
|
const property = schema.patternProperties[propertyKey];
|
|
156
159
|
const result = {};
|