zod 4.1.0-canary.20250804T184334 → 4.1.0-canary.20250806T002637
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/package.json +1 -1
- package/src/v4/classic/schemas.ts +12 -9
- package/src/v4/classic/tests/object.test.ts +15 -0
- package/src/v4/core/api.ts +6 -3
- package/src/v4/core/schemas.ts +15 -8
- package/src/v4/core/versions.ts +1 -1
- package/src/v4/mini/schemas.ts +11 -8
- package/src/v4/mini/tests/object.test.ts +6 -0
- package/v4/classic/schemas.cjs +1 -1
- package/v4/classic/schemas.d.cts +5 -5
- package/v4/classic/schemas.d.ts +5 -5
- package/v4/classic/schemas.js +1 -1
- package/v4/core/api.d.cts +1 -1
- package/v4/core/api.d.ts +1 -1
- package/v4/core/schemas.d.cts +6 -6
- package/v4/core/schemas.d.ts +6 -6
- package/v4/core/versions.cjs +1 -1
- package/v4/core/versions.js +1 -1
- package/v4/mini/schemas.cjs +1 -1
- package/v4/mini/schemas.d.cts +4 -4
- package/v4/mini/schemas.d.ts +4 -4
- package/v4/mini/schemas.js +1 -1
package/package.json
CHANGED
|
@@ -1038,9 +1038,9 @@ export function array<T extends core.SomeType>(element: T, params?: string | cor
|
|
|
1038
1038
|
}
|
|
1039
1039
|
|
|
1040
1040
|
// .keyof
|
|
1041
|
-
export function keyof<T extends ZodObject>(schema: T):
|
|
1041
|
+
export function keyof<T extends ZodObject>(schema: T): ZodEnum<util.KeysEnum<T["_zod"]["output"]>> {
|
|
1042
1042
|
const shape = schema._zod.def.shape;
|
|
1043
|
-
return
|
|
1043
|
+
return _enum(Object.keys(shape)) as any;
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
1046
|
// ZodObject
|
|
@@ -1215,11 +1215,13 @@ export function union<const T extends readonly core.SomeType[]>(
|
|
|
1215
1215
|
}
|
|
1216
1216
|
|
|
1217
1217
|
// ZodDiscriminatedUnion
|
|
1218
|
-
export interface ZodDiscriminatedUnion<
|
|
1219
|
-
extends
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1218
|
+
export interface ZodDiscriminatedUnion<
|
|
1219
|
+
Options extends readonly core.SomeType[] = readonly core.$ZodType[],
|
|
1220
|
+
Disc extends string = string,
|
|
1221
|
+
> extends ZodUnion<Options>,
|
|
1222
|
+
core.$ZodDiscriminatedUnion<Options, Disc> {
|
|
1223
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
1224
|
+
def: core.$ZodDiscriminatedUnionDef<Options, Disc>;
|
|
1223
1225
|
}
|
|
1224
1226
|
export const ZodDiscriminatedUnion: core.$constructor<ZodDiscriminatedUnion> = /*@__PURE__*/ core.$constructor(
|
|
1225
1227
|
"ZodDiscriminatedUnion",
|
|
@@ -1231,11 +1233,12 @@ export const ZodDiscriminatedUnion: core.$constructor<ZodDiscriminatedUnion> = /
|
|
|
1231
1233
|
|
|
1232
1234
|
export function discriminatedUnion<
|
|
1233
1235
|
Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]],
|
|
1236
|
+
Disc extends string,
|
|
1234
1237
|
>(
|
|
1235
|
-
discriminator:
|
|
1238
|
+
discriminator: Disc,
|
|
1236
1239
|
options: Types,
|
|
1237
1240
|
params?: string | core.$ZodDiscriminatedUnionParams
|
|
1238
|
-
): ZodDiscriminatedUnion<Types> {
|
|
1241
|
+
): ZodDiscriminatedUnion<Types, Disc> {
|
|
1239
1242
|
// const [options, params] = args;
|
|
1240
1243
|
return new ZodDiscriminatedUnion({
|
|
1241
1244
|
type: "union",
|
|
@@ -261,6 +261,21 @@ test("inferred enum type", async () => {
|
|
|
261
261
|
expectTypeOf<Enum>().toEqualTypeOf<"a" | "b">();
|
|
262
262
|
});
|
|
263
263
|
|
|
264
|
+
test("z.keyof returns enum", () => {
|
|
265
|
+
const User = z.object({ name: z.string(), age: z.number() });
|
|
266
|
+
const keysSchema = z.keyof(User);
|
|
267
|
+
expect(keysSchema.enum).toEqual({
|
|
268
|
+
name: "name",
|
|
269
|
+
age: "age",
|
|
270
|
+
});
|
|
271
|
+
expect(keysSchema._zod.def.entries).toEqual({
|
|
272
|
+
name: "name",
|
|
273
|
+
age: "age",
|
|
274
|
+
});
|
|
275
|
+
type Keys = z.infer<typeof keysSchema>;
|
|
276
|
+
expectTypeOf<Keys>().toEqualTypeOf<"name" | "age">();
|
|
277
|
+
});
|
|
278
|
+
|
|
264
279
|
test("inferred partial object type with optional properties", async () => {
|
|
265
280
|
const Partial = z.object({ a: z.string(), b: z.string().optional() }).partial();
|
|
266
281
|
type Partial = z.infer<typeof Partial>;
|
package/src/v4/core/api.ts
CHANGED
|
@@ -1081,12 +1081,15 @@ export interface $ZodTypeDiscriminable extends schemas.$ZodType {
|
|
|
1081
1081
|
_zod: $ZodTypeDiscriminableInternals;
|
|
1082
1082
|
}
|
|
1083
1083
|
export type $ZodDiscriminatedUnionParams = TypeParams<schemas.$ZodDiscriminatedUnion, "options" | "discriminator">;
|
|
1084
|
-
export function _discriminatedUnion<
|
|
1084
|
+
export function _discriminatedUnion<
|
|
1085
|
+
Types extends [$ZodTypeDiscriminable, ...$ZodTypeDiscriminable[]],
|
|
1086
|
+
Disc extends string,
|
|
1087
|
+
>(
|
|
1085
1088
|
Class: util.SchemaClass<schemas.$ZodDiscriminatedUnion>,
|
|
1086
|
-
discriminator:
|
|
1089
|
+
discriminator: Disc,
|
|
1087
1090
|
options: Types,
|
|
1088
1091
|
params?: string | $ZodDiscriminatedUnionParams
|
|
1089
|
-
): schemas.$ZodDiscriminatedUnion<Types> {
|
|
1092
|
+
): schemas.$ZodDiscriminatedUnion<Types, Disc> {
|
|
1090
1093
|
return new Class({
|
|
1091
1094
|
type: "union",
|
|
1092
1095
|
options,
|
package/src/v4/core/schemas.ts
CHANGED
|
@@ -2010,20 +2010,27 @@ export const $ZodUnion: core.$constructor<$ZodUnion> = /*@__PURE__*/ core.$const
|
|
|
2010
2010
|
//////////////////////////////////////////////////////
|
|
2011
2011
|
//////////////////////////////////////////////////////
|
|
2012
2012
|
|
|
2013
|
-
export interface $ZodDiscriminatedUnionDef<
|
|
2014
|
-
extends $
|
|
2015
|
-
|
|
2013
|
+
export interface $ZodDiscriminatedUnionDef<
|
|
2014
|
+
Options extends readonly SomeType[] = readonly $ZodType[],
|
|
2015
|
+
Disc extends string = string,
|
|
2016
|
+
> extends $ZodUnionDef<Options> {
|
|
2017
|
+
discriminator: Disc;
|
|
2016
2018
|
unionFallback?: boolean;
|
|
2017
2019
|
}
|
|
2018
2020
|
|
|
2019
|
-
export interface $ZodDiscriminatedUnionInternals<
|
|
2020
|
-
extends $
|
|
2021
|
-
|
|
2021
|
+
export interface $ZodDiscriminatedUnionInternals<
|
|
2022
|
+
Options extends readonly SomeType[] = readonly $ZodType[],
|
|
2023
|
+
Disc extends string = string,
|
|
2024
|
+
> extends $ZodUnionInternals<Options> {
|
|
2025
|
+
def: $ZodDiscriminatedUnionDef<Options, Disc>;
|
|
2022
2026
|
propValues: util.PropValues;
|
|
2023
2027
|
}
|
|
2024
2028
|
|
|
2025
|
-
export interface $ZodDiscriminatedUnion<
|
|
2026
|
-
|
|
2029
|
+
export interface $ZodDiscriminatedUnion<
|
|
2030
|
+
Options extends readonly SomeType[] = readonly $ZodType[],
|
|
2031
|
+
Disc extends string = string,
|
|
2032
|
+
> extends $ZodType {
|
|
2033
|
+
_zod: $ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
2027
2034
|
}
|
|
2028
2035
|
|
|
2029
2036
|
export const $ZodDiscriminatedUnion: core.$constructor<$ZodDiscriminatedUnion> =
|
package/src/v4/core/versions.ts
CHANGED
package/src/v4/mini/schemas.ts
CHANGED
|
@@ -712,9 +712,9 @@ export function array<T extends SomeType>(element: SomeType, params?: any): ZodM
|
|
|
712
712
|
}
|
|
713
713
|
|
|
714
714
|
// .keyof
|
|
715
|
-
export function keyof<T extends ZodMiniObject>(schema: T):
|
|
715
|
+
export function keyof<T extends ZodMiniObject>(schema: T): ZodMiniEnum<util.KeysEnum<T["shape"]>> {
|
|
716
716
|
const shape = schema._zod.def.shape;
|
|
717
|
-
return
|
|
717
|
+
return _enum(Object.keys(shape)) as any;
|
|
718
718
|
}
|
|
719
719
|
|
|
720
720
|
// ZodMiniObject
|
|
@@ -907,9 +907,11 @@ export function union<const T extends readonly SomeType[]>(
|
|
|
907
907
|
}
|
|
908
908
|
|
|
909
909
|
// ZodMiniDiscriminatedUnion
|
|
910
|
-
export interface ZodMiniDiscriminatedUnion<
|
|
911
|
-
extends
|
|
912
|
-
|
|
910
|
+
export interface ZodMiniDiscriminatedUnion<
|
|
911
|
+
Options extends readonly SomeType[] = readonly core.$ZodType[],
|
|
912
|
+
Disc extends string = string,
|
|
913
|
+
> extends ZodMiniUnion<Options> {
|
|
914
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
913
915
|
}
|
|
914
916
|
export const ZodMiniDiscriminatedUnion: core.$constructor<ZodMiniDiscriminatedUnion> = /*@__PURE__*/ core.$constructor(
|
|
915
917
|
"ZodMiniDiscriminatedUnion",
|
|
@@ -921,17 +923,18 @@ export const ZodMiniDiscriminatedUnion: core.$constructor<ZodMiniDiscriminatedUn
|
|
|
921
923
|
|
|
922
924
|
export function discriminatedUnion<
|
|
923
925
|
Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]],
|
|
926
|
+
Disc extends string,
|
|
924
927
|
>(
|
|
925
|
-
discriminator:
|
|
928
|
+
discriminator: Disc,
|
|
926
929
|
options: Types,
|
|
927
930
|
params?: string | core.$ZodDiscriminatedUnionParams
|
|
928
|
-
): ZodMiniDiscriminatedUnion<Types> {
|
|
931
|
+
): ZodMiniDiscriminatedUnion<Types, Disc> {
|
|
929
932
|
return new ZodMiniDiscriminatedUnion({
|
|
930
933
|
type: "union",
|
|
931
934
|
options,
|
|
932
935
|
discriminator,
|
|
933
936
|
...util.normalizeParams(params),
|
|
934
|
-
}) as ZodMiniDiscriminatedUnion<Types>;
|
|
937
|
+
}) as ZodMiniDiscriminatedUnion<Types, Disc>;
|
|
935
938
|
}
|
|
936
939
|
|
|
937
940
|
// ZodMiniIntersection
|
|
@@ -89,6 +89,12 @@ test("z.keyof", () => {
|
|
|
89
89
|
type UserKeys = z.infer<typeof userKeysSchema>;
|
|
90
90
|
expectTypeOf<UserKeys>().toEqualTypeOf<"name" | "age" | "email">();
|
|
91
91
|
expect(userKeysSchema).toBeDefined();
|
|
92
|
+
expect(userKeysSchema._zod.def.type).toBe("enum");
|
|
93
|
+
expect(userKeysSchema._zod.def.entries).toEqual({
|
|
94
|
+
name: "name",
|
|
95
|
+
age: "age",
|
|
96
|
+
email: "email",
|
|
97
|
+
});
|
|
92
98
|
expect(z.safeParse(userKeysSchema, "name").success).toBe(true);
|
|
93
99
|
expect(z.safeParse(userKeysSchema, "age").success).toBe(true);
|
|
94
100
|
expect(z.safeParse(userKeysSchema, "email").success).toBe(true);
|
package/v4/classic/schemas.cjs
CHANGED
|
@@ -590,7 +590,7 @@ function array(element, params) {
|
|
|
590
590
|
// .keyof
|
|
591
591
|
function keyof(schema) {
|
|
592
592
|
const shape = schema._zod.def.shape;
|
|
593
|
-
return
|
|
593
|
+
return _enum(Object.keys(shape));
|
|
594
594
|
}
|
|
595
595
|
exports.ZodObject = core.$constructor("ZodObject", (inst, def) => {
|
|
596
596
|
core.$ZodObject.init(inst, def);
|
package/v4/classic/schemas.d.cts
CHANGED
|
@@ -395,7 +395,7 @@ export interface ZodArray<T extends core.SomeType = core.$ZodType> extends _ZodT
|
|
|
395
395
|
}
|
|
396
396
|
export declare const ZodArray: core.$constructor<ZodArray>;
|
|
397
397
|
export declare function array<T extends core.SomeType>(element: T, params?: string | core.$ZodArrayParams): ZodArray<T>;
|
|
398
|
-
export declare function keyof<T extends ZodObject>(schema: T):
|
|
398
|
+
export declare function keyof<T extends ZodObject>(schema: T): ZodEnum<util.KeysEnum<T["_zod"]["output"]>>;
|
|
399
399
|
export interface ZodObject<
|
|
400
400
|
/** @ts-ignore Cast variance */
|
|
401
401
|
out Shape extends core.$ZodShape = core.$ZodLooseShape, out Config extends core.$ZodObjectConfig = core.$strip> extends _ZodType<core.$ZodObjectInternals<Shape, Config>>, core.$ZodObject<Shape, Config> {
|
|
@@ -440,12 +440,12 @@ export interface ZodUnion<T extends readonly core.SomeType[] = readonly core.$Zo
|
|
|
440
440
|
}
|
|
441
441
|
export declare const ZodUnion: core.$constructor<ZodUnion>;
|
|
442
442
|
export declare function union<const T extends readonly core.SomeType[]>(options: T, params?: string | core.$ZodUnionParams): ZodUnion<T>;
|
|
443
|
-
export interface ZodDiscriminatedUnion<Options extends readonly core.SomeType[] = readonly core.$ZodType[]> extends ZodUnion<Options>, core.$ZodDiscriminatedUnion<Options> {
|
|
444
|
-
_zod: core.$ZodDiscriminatedUnionInternals<Options>;
|
|
445
|
-
def: core.$ZodDiscriminatedUnionDef<Options>;
|
|
443
|
+
export interface ZodDiscriminatedUnion<Options extends readonly core.SomeType[] = readonly core.$ZodType[], Disc extends string = string> extends ZodUnion<Options>, core.$ZodDiscriminatedUnion<Options, Disc> {
|
|
444
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
445
|
+
def: core.$ZodDiscriminatedUnionDef<Options, Disc>;
|
|
446
446
|
}
|
|
447
447
|
export declare const ZodDiscriminatedUnion: core.$constructor<ZodDiscriminatedUnion>;
|
|
448
|
-
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]]>(discriminator:
|
|
448
|
+
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]], Disc extends string>(discriminator: Disc, options: Types, params?: string | core.$ZodDiscriminatedUnionParams): ZodDiscriminatedUnion<Types, Disc>;
|
|
449
449
|
export interface ZodIntersection<A extends core.SomeType = core.$ZodType, B extends core.SomeType = core.$ZodType> extends _ZodType<core.$ZodIntersectionInternals<A, B>>, core.$ZodIntersection<A, B> {
|
|
450
450
|
}
|
|
451
451
|
export declare const ZodIntersection: core.$constructor<ZodIntersection>;
|
package/v4/classic/schemas.d.ts
CHANGED
|
@@ -395,7 +395,7 @@ export interface ZodArray<T extends core.SomeType = core.$ZodType> extends _ZodT
|
|
|
395
395
|
}
|
|
396
396
|
export declare const ZodArray: core.$constructor<ZodArray>;
|
|
397
397
|
export declare function array<T extends core.SomeType>(element: T, params?: string | core.$ZodArrayParams): ZodArray<T>;
|
|
398
|
-
export declare function keyof<T extends ZodObject>(schema: T):
|
|
398
|
+
export declare function keyof<T extends ZodObject>(schema: T): ZodEnum<util.KeysEnum<T["_zod"]["output"]>>;
|
|
399
399
|
export interface ZodObject<
|
|
400
400
|
/** @ts-ignore Cast variance */
|
|
401
401
|
out Shape extends core.$ZodShape = core.$ZodLooseShape, out Config extends core.$ZodObjectConfig = core.$strip> extends _ZodType<core.$ZodObjectInternals<Shape, Config>>, core.$ZodObject<Shape, Config> {
|
|
@@ -440,12 +440,12 @@ export interface ZodUnion<T extends readonly core.SomeType[] = readonly core.$Zo
|
|
|
440
440
|
}
|
|
441
441
|
export declare const ZodUnion: core.$constructor<ZodUnion>;
|
|
442
442
|
export declare function union<const T extends readonly core.SomeType[]>(options: T, params?: string | core.$ZodUnionParams): ZodUnion<T>;
|
|
443
|
-
export interface ZodDiscriminatedUnion<Options extends readonly core.SomeType[] = readonly core.$ZodType[]> extends ZodUnion<Options>, core.$ZodDiscriminatedUnion<Options> {
|
|
444
|
-
_zod: core.$ZodDiscriminatedUnionInternals<Options>;
|
|
445
|
-
def: core.$ZodDiscriminatedUnionDef<Options>;
|
|
443
|
+
export interface ZodDiscriminatedUnion<Options extends readonly core.SomeType[] = readonly core.$ZodType[], Disc extends string = string> extends ZodUnion<Options>, core.$ZodDiscriminatedUnion<Options, Disc> {
|
|
444
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
445
|
+
def: core.$ZodDiscriminatedUnionDef<Options, Disc>;
|
|
446
446
|
}
|
|
447
447
|
export declare const ZodDiscriminatedUnion: core.$constructor<ZodDiscriminatedUnion>;
|
|
448
|
-
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]]>(discriminator:
|
|
448
|
+
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]], Disc extends string>(discriminator: Disc, options: Types, params?: string | core.$ZodDiscriminatedUnionParams): ZodDiscriminatedUnion<Types, Disc>;
|
|
449
449
|
export interface ZodIntersection<A extends core.SomeType = core.$ZodType, B extends core.SomeType = core.$ZodType> extends _ZodType<core.$ZodIntersectionInternals<A, B>>, core.$ZodIntersection<A, B> {
|
|
450
450
|
}
|
|
451
451
|
export declare const ZodIntersection: core.$constructor<ZodIntersection>;
|
package/v4/classic/schemas.js
CHANGED
|
@@ -484,7 +484,7 @@ export function array(element, params) {
|
|
|
484
484
|
// .keyof
|
|
485
485
|
export function keyof(schema) {
|
|
486
486
|
const shape = schema._zod.def.shape;
|
|
487
|
-
return
|
|
487
|
+
return _enum(Object.keys(shape));
|
|
488
488
|
}
|
|
489
489
|
export const ZodObject = /*@__PURE__*/ core.$constructor("ZodObject", (inst, def) => {
|
|
490
490
|
core.$ZodObject.init(inst, def);
|
package/v4/core/api.d.cts
CHANGED
|
@@ -210,7 +210,7 @@ export interface $ZodTypeDiscriminable extends schemas.$ZodType {
|
|
|
210
210
|
_zod: $ZodTypeDiscriminableInternals;
|
|
211
211
|
}
|
|
212
212
|
export type $ZodDiscriminatedUnionParams = TypeParams<schemas.$ZodDiscriminatedUnion, "options" | "discriminator">;
|
|
213
|
-
export declare function _discriminatedUnion<Types extends [$ZodTypeDiscriminable, ...$ZodTypeDiscriminable[]]>(Class: util.SchemaClass<schemas.$ZodDiscriminatedUnion>, discriminator:
|
|
213
|
+
export declare function _discriminatedUnion<Types extends [$ZodTypeDiscriminable, ...$ZodTypeDiscriminable[]], Disc extends string>(Class: util.SchemaClass<schemas.$ZodDiscriminatedUnion>, discriminator: Disc, options: Types, params?: string | $ZodDiscriminatedUnionParams): schemas.$ZodDiscriminatedUnion<Types, Disc>;
|
|
214
214
|
export type $ZodIntersectionParams = TypeParams<schemas.$ZodIntersection, "left" | "right">;
|
|
215
215
|
export declare function _intersection<T extends schemas.$ZodObject, U extends schemas.$ZodObject>(Class: util.SchemaClass<schemas.$ZodIntersection>, left: T, right: U): schemas.$ZodIntersection<T, U>;
|
|
216
216
|
export type $ZodTupleParams = TypeParams<schemas.$ZodTuple, "items" | "rest">;
|
package/v4/core/api.d.ts
CHANGED
|
@@ -210,7 +210,7 @@ export interface $ZodTypeDiscriminable extends schemas.$ZodType {
|
|
|
210
210
|
_zod: $ZodTypeDiscriminableInternals;
|
|
211
211
|
}
|
|
212
212
|
export type $ZodDiscriminatedUnionParams = TypeParams<schemas.$ZodDiscriminatedUnion, "options" | "discriminator">;
|
|
213
|
-
export declare function _discriminatedUnion<Types extends [$ZodTypeDiscriminable, ...$ZodTypeDiscriminable[]]>(Class: util.SchemaClass<schemas.$ZodDiscriminatedUnion>, discriminator:
|
|
213
|
+
export declare function _discriminatedUnion<Types extends [$ZodTypeDiscriminable, ...$ZodTypeDiscriminable[]], Disc extends string>(Class: util.SchemaClass<schemas.$ZodDiscriminatedUnion>, discriminator: Disc, options: Types, params?: string | $ZodDiscriminatedUnionParams): schemas.$ZodDiscriminatedUnion<Types, Disc>;
|
|
214
214
|
export type $ZodIntersectionParams = TypeParams<schemas.$ZodIntersection, "left" | "right">;
|
|
215
215
|
export declare function _intersection<T extends schemas.$ZodObject, U extends schemas.$ZodObject>(Class: util.SchemaClass<schemas.$ZodIntersection>, left: T, right: U): schemas.$ZodIntersection<T, U>;
|
|
216
216
|
export type $ZodTupleParams = TypeParams<schemas.$ZodTuple, "items" | "rest">;
|
package/v4/core/schemas.d.cts
CHANGED
|
@@ -619,16 +619,16 @@ export interface $ZodUnion<T extends readonly SomeType[] = readonly $ZodType[]>
|
|
|
619
619
|
_zod: $ZodUnionInternals<T>;
|
|
620
620
|
}
|
|
621
621
|
export declare const $ZodUnion: core.$constructor<$ZodUnion>;
|
|
622
|
-
export interface $ZodDiscriminatedUnionDef<Options extends readonly SomeType[] = readonly $ZodType[]> extends $ZodUnionDef<Options> {
|
|
623
|
-
discriminator:
|
|
622
|
+
export interface $ZodDiscriminatedUnionDef<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodUnionDef<Options> {
|
|
623
|
+
discriminator: Disc;
|
|
624
624
|
unionFallback?: boolean;
|
|
625
625
|
}
|
|
626
|
-
export interface $ZodDiscriminatedUnionInternals<Options extends readonly SomeType[] = readonly $ZodType[]> extends $ZodUnionInternals<Options> {
|
|
627
|
-
def: $ZodDiscriminatedUnionDef<Options>;
|
|
626
|
+
export interface $ZodDiscriminatedUnionInternals<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodUnionInternals<Options> {
|
|
627
|
+
def: $ZodDiscriminatedUnionDef<Options, Disc>;
|
|
628
628
|
propValues: util.PropValues;
|
|
629
629
|
}
|
|
630
|
-
export interface $ZodDiscriminatedUnion<
|
|
631
|
-
_zod: $ZodDiscriminatedUnionInternals<
|
|
630
|
+
export interface $ZodDiscriminatedUnion<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodType {
|
|
631
|
+
_zod: $ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
632
632
|
}
|
|
633
633
|
export declare const $ZodDiscriminatedUnion: core.$constructor<$ZodDiscriminatedUnion>;
|
|
634
634
|
export interface $ZodIntersectionDef<Left extends SomeType = $ZodType, Right extends SomeType = $ZodType> extends $ZodTypeDef {
|
package/v4/core/schemas.d.ts
CHANGED
|
@@ -619,16 +619,16 @@ export interface $ZodUnion<T extends readonly SomeType[] = readonly $ZodType[]>
|
|
|
619
619
|
_zod: $ZodUnionInternals<T>;
|
|
620
620
|
}
|
|
621
621
|
export declare const $ZodUnion: core.$constructor<$ZodUnion>;
|
|
622
|
-
export interface $ZodDiscriminatedUnionDef<Options extends readonly SomeType[] = readonly $ZodType[]> extends $ZodUnionDef<Options> {
|
|
623
|
-
discriminator:
|
|
622
|
+
export interface $ZodDiscriminatedUnionDef<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodUnionDef<Options> {
|
|
623
|
+
discriminator: Disc;
|
|
624
624
|
unionFallback?: boolean;
|
|
625
625
|
}
|
|
626
|
-
export interface $ZodDiscriminatedUnionInternals<Options extends readonly SomeType[] = readonly $ZodType[]> extends $ZodUnionInternals<Options> {
|
|
627
|
-
def: $ZodDiscriminatedUnionDef<Options>;
|
|
626
|
+
export interface $ZodDiscriminatedUnionInternals<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodUnionInternals<Options> {
|
|
627
|
+
def: $ZodDiscriminatedUnionDef<Options, Disc>;
|
|
628
628
|
propValues: util.PropValues;
|
|
629
629
|
}
|
|
630
|
-
export interface $ZodDiscriminatedUnion<
|
|
631
|
-
_zod: $ZodDiscriminatedUnionInternals<
|
|
630
|
+
export interface $ZodDiscriminatedUnion<Options extends readonly SomeType[] = readonly $ZodType[], Disc extends string = string> extends $ZodType {
|
|
631
|
+
_zod: $ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
632
632
|
}
|
|
633
633
|
export declare const $ZodDiscriminatedUnion: core.$constructor<$ZodDiscriminatedUnion>;
|
|
634
634
|
export interface $ZodIntersectionDef<Left extends SomeType = $ZodType, Right extends SomeType = $ZodType> extends $ZodTypeDef {
|
package/v4/core/versions.cjs
CHANGED
package/v4/core/versions.js
CHANGED
package/v4/mini/schemas.cjs
CHANGED
|
@@ -435,7 +435,7 @@ function array(element, params) {
|
|
|
435
435
|
// .keyof
|
|
436
436
|
function keyof(schema) {
|
|
437
437
|
const shape = schema._zod.def.shape;
|
|
438
|
-
return
|
|
438
|
+
return _enum(Object.keys(shape));
|
|
439
439
|
}
|
|
440
440
|
exports.ZodMiniObject = core.$constructor("ZodMiniObject", (inst, def) => {
|
|
441
441
|
core.$ZodObject.init(inst, def);
|
package/v4/mini/schemas.d.cts
CHANGED
|
@@ -179,7 +179,7 @@ export interface ZodMiniArray<T extends SomeType = core.$ZodType> extends _ZodMi
|
|
|
179
179
|
}
|
|
180
180
|
export declare const ZodMiniArray: core.$constructor<ZodMiniArray>;
|
|
181
181
|
export declare function array<T extends SomeType>(element: T, params?: string | core.$ZodArrayParams): ZodMiniArray<T>;
|
|
182
|
-
export declare function keyof<T extends ZodMiniObject>(schema: T):
|
|
182
|
+
export declare function keyof<T extends ZodMiniObject>(schema: T): ZodMiniEnum<util.KeysEnum<T["shape"]>>;
|
|
183
183
|
export interface ZodMiniObject<
|
|
184
184
|
/** @ts-ignore Cast variance */
|
|
185
185
|
out Shape extends core.$ZodShape = core.$ZodShape, out Config extends core.$ZodObjectConfig = core.$strip> extends ZodMiniType<any, any, core.$ZodObjectInternals<Shape, Config>>, core.$ZodObject<Shape, Config> {
|
|
@@ -216,11 +216,11 @@ export interface ZodMiniUnion<T extends readonly SomeType[] = readonly core.$Zod
|
|
|
216
216
|
}
|
|
217
217
|
export declare const ZodMiniUnion: core.$constructor<ZodMiniUnion>;
|
|
218
218
|
export declare function union<const T extends readonly SomeType[]>(options: T, params?: string | core.$ZodUnionParams): ZodMiniUnion<T>;
|
|
219
|
-
export interface ZodMiniDiscriminatedUnion<Options extends readonly SomeType[] = readonly core.$ZodType[]> extends ZodMiniUnion<Options> {
|
|
220
|
-
_zod: core.$ZodDiscriminatedUnionInternals<Options>;
|
|
219
|
+
export interface ZodMiniDiscriminatedUnion<Options extends readonly SomeType[] = readonly core.$ZodType[], Disc extends string = string> extends ZodMiniUnion<Options> {
|
|
220
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
221
221
|
}
|
|
222
222
|
export declare const ZodMiniDiscriminatedUnion: core.$constructor<ZodMiniDiscriminatedUnion>;
|
|
223
|
-
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]]>(discriminator:
|
|
223
|
+
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]], Disc extends string>(discriminator: Disc, options: Types, params?: string | core.$ZodDiscriminatedUnionParams): ZodMiniDiscriminatedUnion<Types, Disc>;
|
|
224
224
|
export interface ZodMiniIntersection<A extends SomeType = core.$ZodType, B extends SomeType = core.$ZodType> extends _ZodMiniType<core.$ZodIntersectionInternals<A, B>> {
|
|
225
225
|
}
|
|
226
226
|
export declare const ZodMiniIntersection: core.$constructor<ZodMiniIntersection>;
|
package/v4/mini/schemas.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ export interface ZodMiniArray<T extends SomeType = core.$ZodType> extends _ZodMi
|
|
|
179
179
|
}
|
|
180
180
|
export declare const ZodMiniArray: core.$constructor<ZodMiniArray>;
|
|
181
181
|
export declare function array<T extends SomeType>(element: T, params?: string | core.$ZodArrayParams): ZodMiniArray<T>;
|
|
182
|
-
export declare function keyof<T extends ZodMiniObject>(schema: T):
|
|
182
|
+
export declare function keyof<T extends ZodMiniObject>(schema: T): ZodMiniEnum<util.KeysEnum<T["shape"]>>;
|
|
183
183
|
export interface ZodMiniObject<
|
|
184
184
|
/** @ts-ignore Cast variance */
|
|
185
185
|
out Shape extends core.$ZodShape = core.$ZodShape, out Config extends core.$ZodObjectConfig = core.$strip> extends ZodMiniType<any, any, core.$ZodObjectInternals<Shape, Config>>, core.$ZodObject<Shape, Config> {
|
|
@@ -216,11 +216,11 @@ export interface ZodMiniUnion<T extends readonly SomeType[] = readonly core.$Zod
|
|
|
216
216
|
}
|
|
217
217
|
export declare const ZodMiniUnion: core.$constructor<ZodMiniUnion>;
|
|
218
218
|
export declare function union<const T extends readonly SomeType[]>(options: T, params?: string | core.$ZodUnionParams): ZodMiniUnion<T>;
|
|
219
|
-
export interface ZodMiniDiscriminatedUnion<Options extends readonly SomeType[] = readonly core.$ZodType[]> extends ZodMiniUnion<Options> {
|
|
220
|
-
_zod: core.$ZodDiscriminatedUnionInternals<Options>;
|
|
219
|
+
export interface ZodMiniDiscriminatedUnion<Options extends readonly SomeType[] = readonly core.$ZodType[], Disc extends string = string> extends ZodMiniUnion<Options> {
|
|
220
|
+
_zod: core.$ZodDiscriminatedUnionInternals<Options, Disc>;
|
|
221
221
|
}
|
|
222
222
|
export declare const ZodMiniDiscriminatedUnion: core.$constructor<ZodMiniDiscriminatedUnion>;
|
|
223
|
-
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]]>(discriminator:
|
|
223
|
+
export declare function discriminatedUnion<Types extends readonly [core.$ZodTypeDiscriminable, ...core.$ZodTypeDiscriminable[]], Disc extends string>(discriminator: Disc, options: Types, params?: string | core.$ZodDiscriminatedUnionParams): ZodMiniDiscriminatedUnion<Types, Disc>;
|
|
224
224
|
export interface ZodMiniIntersection<A extends SomeType = core.$ZodType, B extends SomeType = core.$ZodType> extends _ZodMiniType<core.$ZodIntersectionInternals<A, B>> {
|
|
225
225
|
}
|
|
226
226
|
export declare const ZodMiniIntersection: core.$constructor<ZodMiniIntersection>;
|
package/v4/mini/schemas.js
CHANGED
|
@@ -323,7 +323,7 @@ export function array(element, params) {
|
|
|
323
323
|
// .keyof
|
|
324
324
|
export function keyof(schema) {
|
|
325
325
|
const shape = schema._zod.def.shape;
|
|
326
|
-
return
|
|
326
|
+
return _enum(Object.keys(shape));
|
|
327
327
|
}
|
|
328
328
|
export const ZodMiniObject = /*@__PURE__*/ core.$constructor("ZodMiniObject", (inst, def) => {
|
|
329
329
|
core.$ZodObject.init(inst, def);
|