teyit 1.0.2 → 1.0.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.
- package/dist/main.d.mts +9 -5
- package/dist/main.d.ts +9 -5
- package/package.json +1 -1
package/dist/main.d.mts
CHANGED
|
@@ -149,9 +149,13 @@ type Prettify<Type> = {
|
|
|
149
149
|
} & {};
|
|
150
150
|
type InferBaseType<Type> = Type extends {
|
|
151
151
|
type: 'string';
|
|
152
|
-
} ?
|
|
152
|
+
} ? (Type extends {
|
|
153
|
+
enum: readonly (infer EnumValues)[];
|
|
154
|
+
} ? EnumValues : string) : Type extends {
|
|
153
155
|
type: 'number';
|
|
154
|
-
} ?
|
|
156
|
+
} ? (Type extends {
|
|
157
|
+
enum: readonly (infer EnumValues)[];
|
|
158
|
+
} ? EnumValues : number) : Type extends {
|
|
155
159
|
type: 'boolean';
|
|
156
160
|
} ? boolean : Type extends {
|
|
157
161
|
type: 'date';
|
|
@@ -167,11 +171,11 @@ type ApplyNullable<Type, Definition> = Definition extends {
|
|
|
167
171
|
} ? Type | null : Type;
|
|
168
172
|
type InferTypeSingle<Type> = Type extends unknown ? ApplyNullable<InferBaseType<Type>, Type> : never;
|
|
169
173
|
type InferType<Type> = Type extends readonly unknown[] ? InferTypeSingle<Type[number]> : InferTypeSingle<Type>;
|
|
170
|
-
type IsOptional<Type> = Type extends {
|
|
174
|
+
type IsOptional<Type> = Type extends readonly [infer First, ...unknown[]] ? (First extends {
|
|
171
175
|
required: false;
|
|
172
|
-
} ?
|
|
176
|
+
} ? ('default' extends keyof First ? false : true) : false) : Type extends {
|
|
173
177
|
required: false;
|
|
174
|
-
} ?
|
|
178
|
+
} ? ('default' extends keyof Type ? false : true) : false;
|
|
175
179
|
type RequiredKeys<Schema> = {
|
|
176
180
|
[Key in keyof Schema]: IsOptional<Schema[Key]> extends true ? never : Key;
|
|
177
181
|
}[keyof Schema];
|
package/dist/main.d.ts
CHANGED
|
@@ -149,9 +149,13 @@ type Prettify<Type> = {
|
|
|
149
149
|
} & {};
|
|
150
150
|
type InferBaseType<Type> = Type extends {
|
|
151
151
|
type: 'string';
|
|
152
|
-
} ?
|
|
152
|
+
} ? (Type extends {
|
|
153
|
+
enum: readonly (infer EnumValues)[];
|
|
154
|
+
} ? EnumValues : string) : Type extends {
|
|
153
155
|
type: 'number';
|
|
154
|
-
} ?
|
|
156
|
+
} ? (Type extends {
|
|
157
|
+
enum: readonly (infer EnumValues)[];
|
|
158
|
+
} ? EnumValues : number) : Type extends {
|
|
155
159
|
type: 'boolean';
|
|
156
160
|
} ? boolean : Type extends {
|
|
157
161
|
type: 'date';
|
|
@@ -167,11 +171,11 @@ type ApplyNullable<Type, Definition> = Definition extends {
|
|
|
167
171
|
} ? Type | null : Type;
|
|
168
172
|
type InferTypeSingle<Type> = Type extends unknown ? ApplyNullable<InferBaseType<Type>, Type> : never;
|
|
169
173
|
type InferType<Type> = Type extends readonly unknown[] ? InferTypeSingle<Type[number]> : InferTypeSingle<Type>;
|
|
170
|
-
type IsOptional<Type> = Type extends {
|
|
174
|
+
type IsOptional<Type> = Type extends readonly [infer First, ...unknown[]] ? (First extends {
|
|
171
175
|
required: false;
|
|
172
|
-
} ?
|
|
176
|
+
} ? ('default' extends keyof First ? false : true) : false) : Type extends {
|
|
173
177
|
required: false;
|
|
174
|
-
} ?
|
|
178
|
+
} ? ('default' extends keyof Type ? false : true) : false;
|
|
175
179
|
type RequiredKeys<Schema> = {
|
|
176
180
|
[Key in keyof Schema]: IsOptional<Schema[Key]> extends true ? never : Key;
|
|
177
181
|
}[keyof Schema];
|