zod 3.25.73 → 3.25.74
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 +2 -2
- package/src/v4/classic/tests/record.test.ts +4 -0
- package/src/v4/core/schemas.ts +29 -16
- package/src/v4/mini/schemas.ts +2 -2
- package/v4/classic/schemas.cjs +1 -1
- package/v4/classic/schemas.d.cts +1 -1
- package/v4/classic/schemas.d.ts +1 -1
- package/v4/classic/schemas.js +1 -1
- package/v4/core/schemas.d.cts +5 -2
- package/v4/core/schemas.d.ts +5 -2
- package/v4/mini/schemas.cjs +1 -1
- package/v4/mini/schemas.d.cts +1 -1
- package/v4/mini/schemas.d.ts +1 -1
- package/v4/mini/schemas.js +1 -1
package/package.json
CHANGED
|
@@ -1359,11 +1359,11 @@ export function partialRecord<Key extends core.$ZodRecordKey, Value extends core
|
|
|
1359
1359
|
keyType: Key,
|
|
1360
1360
|
valueType: Value,
|
|
1361
1361
|
params?: string | core.$ZodRecordParams
|
|
1362
|
-
): ZodRecord<Key,
|
|
1362
|
+
): ZodRecord<Key & core.$partial, Value> {
|
|
1363
1363
|
return new ZodRecord({
|
|
1364
1364
|
type: "record",
|
|
1365
1365
|
keyType: union([keyType, never()]),
|
|
1366
|
-
valueType:
|
|
1366
|
+
valueType: valueType as any,
|
|
1367
1367
|
...util.normalizeParams(params),
|
|
1368
1368
|
}) as any;
|
|
1369
1369
|
}
|
|
@@ -335,4 +335,8 @@ test("partial record", () => {
|
|
|
335
335
|
const schema = z.partialRecord(z.string(), z.string());
|
|
336
336
|
type schema = z.infer<typeof schema>;
|
|
337
337
|
expectTypeOf<schema>().toEqualTypeOf<Partial<Record<string, string>>>();
|
|
338
|
+
|
|
339
|
+
const Keys = z.enum(["id", "name", "email"]).or(z.never());
|
|
340
|
+
const Person = z.partialRecord(Keys, z.string());
|
|
341
|
+
expectTypeOf<z.infer<typeof Person>>().toEqualTypeOf<Partial<Record<"id" | "name" | "email", string>>>();
|
|
338
342
|
});
|
package/src/v4/core/schemas.ts
CHANGED
|
@@ -2376,30 +2376,42 @@ export interface $ZodRecordDef<Key extends $ZodRecordKey = $ZodRecordKey, Value
|
|
|
2376
2376
|
valueType: Value;
|
|
2377
2377
|
}
|
|
2378
2378
|
|
|
2379
|
+
// export type $InferZodRecordOutput<
|
|
2380
|
+
// Key extends $ZodRecordKey = $ZodRecordKey,
|
|
2381
|
+
// Value extends SomeType = $ZodType,
|
|
2382
|
+
// > = undefined extends Key["_zod"]["values"]
|
|
2383
|
+
// ? string extends core.output<Key>
|
|
2384
|
+
// ? Record<core.output<Key>, core.output<Value>>
|
|
2385
|
+
// : number extends core.output<Key>
|
|
2386
|
+
// ? Record<core.output<Key>, core.output<Value>>
|
|
2387
|
+
// : symbol extends core.output<Key>
|
|
2388
|
+
// ? Record<core.output<Key>, core.output<Value>>
|
|
2389
|
+
// : Record<core.output<Key>, core.output<Value>>
|
|
2390
|
+
// : Record<core.output<Key>, core.output<Value>>;
|
|
2379
2391
|
export type $InferZodRecordOutput<
|
|
2380
2392
|
Key extends $ZodRecordKey = $ZodRecordKey,
|
|
2381
2393
|
Value extends SomeType = $ZodType,
|
|
2382
|
-
> =
|
|
2383
|
-
?
|
|
2384
|
-
? Record<core.output<Key>, core.output<Value>>
|
|
2385
|
-
: number extends core.output<Key>
|
|
2386
|
-
? Record<core.output<Key>, core.output<Value>>
|
|
2387
|
-
: symbol extends core.output<Key>
|
|
2388
|
-
? Record<core.output<Key>, core.output<Value>>
|
|
2389
|
-
: Record<core.output<Key>, core.output<Value>>
|
|
2394
|
+
> = Key extends $partial
|
|
2395
|
+
? Partial<Record<core.output<Key>, core.output<Value>>>
|
|
2390
2396
|
: Record<core.output<Key>, core.output<Value>>;
|
|
2391
2397
|
|
|
2398
|
+
// export type $InferZodRecordInput<
|
|
2399
|
+
// Key extends $ZodRecordKey = $ZodRecordKey,
|
|
2400
|
+
// Value extends SomeType = $ZodType,
|
|
2401
|
+
// > = undefined extends Key["_zod"]["values"]
|
|
2402
|
+
// ? string extends core.input<Key>
|
|
2403
|
+
// ? Record<core.input<Key>, core.input<Value>>
|
|
2404
|
+
// : number extends core.input<Key>
|
|
2405
|
+
// ? Record<core.input<Key>, core.input<Value>>
|
|
2406
|
+
// : symbol extends core.input<Key>
|
|
2407
|
+
// ? Record<core.input<Key>, core.input<Value>>
|
|
2408
|
+
// : Record<core.input<Key>, core.input<Value>>
|
|
2409
|
+
// : Record<core.input<Key>, core.input<Value>>;
|
|
2392
2410
|
export type $InferZodRecordInput<
|
|
2393
2411
|
Key extends $ZodRecordKey = $ZodRecordKey,
|
|
2394
2412
|
Value extends SomeType = $ZodType,
|
|
2395
|
-
> =
|
|
2396
|
-
?
|
|
2397
|
-
? Record<core.input<Key>, core.input<Value>>
|
|
2398
|
-
: number extends core.input<Key>
|
|
2399
|
-
? Record<core.input<Key>, core.input<Value>>
|
|
2400
|
-
: symbol extends core.input<Key>
|
|
2401
|
-
? Record<core.input<Key>, core.input<Value>>
|
|
2402
|
-
: Record<core.input<Key>, core.input<Value>>
|
|
2413
|
+
> = Key extends $partial
|
|
2414
|
+
? Partial<Record<core.input<Key>, core.input<Value>>>
|
|
2403
2415
|
: Record<core.input<Key>, core.input<Value>>;
|
|
2404
2416
|
|
|
2405
2417
|
export interface $ZodRecordInternals<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType>
|
|
@@ -2408,6 +2420,7 @@ export interface $ZodRecordInternals<Key extends $ZodRecordKey = $ZodRecordKey,
|
|
|
2408
2420
|
isst: errors.$ZodIssueInvalidType | errors.$ZodIssueInvalidKey<Record<PropertyKey, unknown>>;
|
|
2409
2421
|
}
|
|
2410
2422
|
|
|
2423
|
+
export type $partial = { "~~partial": true };
|
|
2411
2424
|
export interface $ZodRecord<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType>
|
|
2412
2425
|
extends $ZodType {
|
|
2413
2426
|
_zod: $ZodRecordInternals<Key, Value>;
|
package/src/v4/mini/schemas.ts
CHANGED
|
@@ -1023,11 +1023,11 @@ export function partialRecord<Key extends core.$ZodRecordKey, Value extends Some
|
|
|
1023
1023
|
keyType: Key,
|
|
1024
1024
|
valueType: Value,
|
|
1025
1025
|
params?: string | core.$ZodRecordParams
|
|
1026
|
-
): ZodMiniRecord<Key,
|
|
1026
|
+
): ZodMiniRecord<Key & core.$partial, Value> {
|
|
1027
1027
|
return new ZodMiniRecord({
|
|
1028
1028
|
type: "record",
|
|
1029
1029
|
keyType: union([keyType, never()]),
|
|
1030
|
-
valueType:
|
|
1030
|
+
valueType: valueType as any,
|
|
1031
1031
|
...util.normalizeParams(params),
|
|
1032
1032
|
}) as any;
|
|
1033
1033
|
}
|
package/v4/classic/schemas.cjs
CHANGED
|
@@ -717,7 +717,7 @@ function partialRecord(keyType, valueType, params) {
|
|
|
717
717
|
return new exports.ZodRecord({
|
|
718
718
|
type: "record",
|
|
719
719
|
keyType: union([keyType, never()]),
|
|
720
|
-
valueType:
|
|
720
|
+
valueType: valueType,
|
|
721
721
|
...index_js_1.util.normalizeParams(params),
|
|
722
722
|
});
|
|
723
723
|
}
|
package/v4/classic/schemas.d.cts
CHANGED
|
@@ -475,7 +475,7 @@ export interface ZodRecord<Key extends core.$ZodRecordKey = core.$ZodRecordKey,
|
|
|
475
475
|
}
|
|
476
476
|
export declare const ZodRecord: core.$constructor<ZodRecord>;
|
|
477
477
|
export declare function record<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key, Value>;
|
|
478
|
-
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key,
|
|
478
|
+
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key & core.$partial, Value>;
|
|
479
479
|
export interface ZodMap<Key extends core.SomeType = core.$ZodType, Value extends core.SomeType = core.$ZodType> extends _ZodType<core.$ZodMapInternals<Key, Value>>, core.$ZodMap<Key, Value> {
|
|
480
480
|
keyType: Key;
|
|
481
481
|
valueType: Value;
|
package/v4/classic/schemas.d.ts
CHANGED
|
@@ -475,7 +475,7 @@ export interface ZodRecord<Key extends core.$ZodRecordKey = core.$ZodRecordKey,
|
|
|
475
475
|
}
|
|
476
476
|
export declare const ZodRecord: core.$constructor<ZodRecord>;
|
|
477
477
|
export declare function record<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key, Value>;
|
|
478
|
-
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key,
|
|
478
|
+
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodRecord<Key & core.$partial, Value>;
|
|
479
479
|
export interface ZodMap<Key extends core.SomeType = core.$ZodType, Value extends core.SomeType = core.$ZodType> extends _ZodType<core.$ZodMapInternals<Key, Value>>, core.$ZodMap<Key, Value> {
|
|
480
480
|
keyType: Key;
|
|
481
481
|
valueType: Value;
|
package/v4/classic/schemas.js
CHANGED
|
@@ -612,7 +612,7 @@ export function partialRecord(keyType, valueType, params) {
|
|
|
612
612
|
return new ZodRecord({
|
|
613
613
|
type: "record",
|
|
614
614
|
keyType: union([keyType, never()]),
|
|
615
|
-
valueType:
|
|
615
|
+
valueType: valueType,
|
|
616
616
|
...util.normalizeParams(params),
|
|
617
617
|
});
|
|
618
618
|
}
|
package/v4/core/schemas.d.cts
CHANGED
|
@@ -681,12 +681,15 @@ export interface $ZodRecordDef<Key extends $ZodRecordKey = $ZodRecordKey, Value
|
|
|
681
681
|
keyType: Key;
|
|
682
682
|
valueType: Value;
|
|
683
683
|
}
|
|
684
|
-
export type $InferZodRecordOutput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> =
|
|
685
|
-
export type $InferZodRecordInput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> =
|
|
684
|
+
export type $InferZodRecordOutput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> = Key extends $partial ? Partial<Record<core.output<Key>, core.output<Value>>> : Record<core.output<Key>, core.output<Value>>;
|
|
685
|
+
export type $InferZodRecordInput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> = Key extends $partial ? Partial<Record<core.input<Key>, core.input<Value>>> : Record<core.input<Key>, core.input<Value>>;
|
|
686
686
|
export interface $ZodRecordInternals<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> extends $ZodTypeInternals<$InferZodRecordOutput<Key, Value>, $InferZodRecordInput<Key, Value>> {
|
|
687
687
|
def: $ZodRecordDef<Key, Value>;
|
|
688
688
|
isst: errors.$ZodIssueInvalidType | errors.$ZodIssueInvalidKey<Record<PropertyKey, unknown>>;
|
|
689
689
|
}
|
|
690
|
+
export type $partial = {
|
|
691
|
+
"~~partial": true;
|
|
692
|
+
};
|
|
690
693
|
export interface $ZodRecord<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> extends $ZodType {
|
|
691
694
|
_zod: $ZodRecordInternals<Key, Value>;
|
|
692
695
|
}
|
package/v4/core/schemas.d.ts
CHANGED
|
@@ -681,12 +681,15 @@ export interface $ZodRecordDef<Key extends $ZodRecordKey = $ZodRecordKey, Value
|
|
|
681
681
|
keyType: Key;
|
|
682
682
|
valueType: Value;
|
|
683
683
|
}
|
|
684
|
-
export type $InferZodRecordOutput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> =
|
|
685
|
-
export type $InferZodRecordInput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> =
|
|
684
|
+
export type $InferZodRecordOutput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> = Key extends $partial ? Partial<Record<core.output<Key>, core.output<Value>>> : Record<core.output<Key>, core.output<Value>>;
|
|
685
|
+
export type $InferZodRecordInput<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> = Key extends $partial ? Partial<Record<core.input<Key>, core.input<Value>>> : Record<core.input<Key>, core.input<Value>>;
|
|
686
686
|
export interface $ZodRecordInternals<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> extends $ZodTypeInternals<$InferZodRecordOutput<Key, Value>, $InferZodRecordInput<Key, Value>> {
|
|
687
687
|
def: $ZodRecordDef<Key, Value>;
|
|
688
688
|
isst: errors.$ZodIssueInvalidType | errors.$ZodIssueInvalidKey<Record<PropertyKey, unknown>>;
|
|
689
689
|
}
|
|
690
|
+
export type $partial = {
|
|
691
|
+
"~~partial": true;
|
|
692
|
+
};
|
|
690
693
|
export interface $ZodRecord<Key extends $ZodRecordKey = $ZodRecordKey, Value extends SomeType = $ZodType> extends $ZodType {
|
|
691
694
|
_zod: $ZodRecordInternals<Key, Value>;
|
|
692
695
|
}
|
package/v4/mini/schemas.cjs
CHANGED
|
@@ -565,7 +565,7 @@ function partialRecord(keyType, valueType, params) {
|
|
|
565
565
|
return new exports.ZodMiniRecord({
|
|
566
566
|
type: "record",
|
|
567
567
|
keyType: union([keyType, never()]),
|
|
568
|
-
valueType:
|
|
568
|
+
valueType: valueType,
|
|
569
569
|
...index_js_1.util.normalizeParams(params),
|
|
570
570
|
});
|
|
571
571
|
}
|
package/v4/mini/schemas.d.cts
CHANGED
|
@@ -234,7 +234,7 @@ export interface ZodMiniRecord<Key extends core.$ZodRecordKey = core.$ZodRecordK
|
|
|
234
234
|
}
|
|
235
235
|
export declare const ZodMiniRecord: core.$constructor<ZodMiniRecord>;
|
|
236
236
|
export declare function record<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key, Value>;
|
|
237
|
-
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key,
|
|
237
|
+
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key & core.$partial, Value>;
|
|
238
238
|
export interface ZodMiniMap<Key extends SomeType = core.$ZodType, Value extends SomeType = core.$ZodType> extends _ZodMiniType<core.$ZodMapInternals<Key, Value>> {
|
|
239
239
|
}
|
|
240
240
|
export declare const ZodMiniMap: core.$constructor<ZodMiniMap>;
|
package/v4/mini/schemas.d.ts
CHANGED
|
@@ -234,7 +234,7 @@ export interface ZodMiniRecord<Key extends core.$ZodRecordKey = core.$ZodRecordK
|
|
|
234
234
|
}
|
|
235
235
|
export declare const ZodMiniRecord: core.$constructor<ZodMiniRecord>;
|
|
236
236
|
export declare function record<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key, Value>;
|
|
237
|
-
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key,
|
|
237
|
+
export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends SomeType>(keyType: Key, valueType: Value, params?: string | core.$ZodRecordParams): ZodMiniRecord<Key & core.$partial, Value>;
|
|
238
238
|
export interface ZodMiniMap<Key extends SomeType = core.$ZodType, Value extends SomeType = core.$ZodType> extends _ZodMiniType<core.$ZodMapInternals<Key, Value>> {
|
|
239
239
|
}
|
|
240
240
|
export declare const ZodMiniMap: core.$constructor<ZodMiniMap>;
|
package/v4/mini/schemas.js
CHANGED
|
@@ -455,7 +455,7 @@ export function partialRecord(keyType, valueType, params) {
|
|
|
455
455
|
return new ZodMiniRecord({
|
|
456
456
|
type: "record",
|
|
457
457
|
keyType: union([keyType, never()]),
|
|
458
|
-
valueType:
|
|
458
|
+
valueType: valueType,
|
|
459
459
|
...util.normalizeParams(params),
|
|
460
460
|
});
|
|
461
461
|
}
|