zod 4.0.0-beta.20250418T073619 → 4.0.0-beta.20250418T202744

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.
@@ -593,6 +593,7 @@ export interface ZodRecord<Key extends core.$ZodRecordKey = core.$ZodRecordKey,
593
593
  }
594
594
  export declare const ZodRecord: core.$constructor<ZodRecord>;
595
595
  export declare function record<Key extends core.$ZodRecordKey, Value extends core.$ZodType>(keyType: Key, valueType: Value, params?: core.$ZodRecordParams): ZodRecord<Key, Value>;
596
+ export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.$ZodType>(keyType: Key, valueType: Value, params?: core.$ZodRecordParams): ZodRecord<ZodUnion<[Key, ZodNever]>, Value>;
596
597
  export interface ZodMap<Key extends core.$ZodType = core.$ZodType, Value extends core.$ZodType = core.$ZodType> extends ZodType {
597
598
  _zod: core.$ZodMapInternals<Key, Value>;
598
599
  keyType: Key;
@@ -85,6 +85,7 @@ exports.discriminatedUnion = discriminatedUnion;
85
85
  exports.intersection = intersection;
86
86
  exports.tuple = tuple;
87
87
  exports.record = record;
88
+ exports.partialRecord = partialRecord;
88
89
  exports.map = map;
89
90
  exports.set = set;
90
91
  exports.enum = _enum;
@@ -818,6 +819,14 @@ function record(keyType, valueType, params) {
818
819
  ...core_1.util.normalizeParams(params),
819
820
  });
820
821
  }
822
+ function partialRecord(keyType, valueType, params) {
823
+ return new exports.ZodRecord({
824
+ type: "record",
825
+ keyType: union([keyType, never()]),
826
+ valueType,
827
+ ...core_1.util.normalizeParams(params),
828
+ });
829
+ }
821
830
  exports.ZodMap = core.$constructor("ZodMap", (inst, def) => {
822
831
  core.$ZodMap.init(inst, def);
823
832
  exports.ZodType.init(inst, def);
@@ -593,6 +593,7 @@ export interface ZodRecord<Key extends core.$ZodRecordKey = core.$ZodRecordKey,
593
593
  }
594
594
  export declare const ZodRecord: core.$constructor<ZodRecord>;
595
595
  export declare function record<Key extends core.$ZodRecordKey, Value extends core.$ZodType>(keyType: Key, valueType: Value, params?: core.$ZodRecordParams): ZodRecord<Key, Value>;
596
+ export declare function partialRecord<Key extends core.$ZodRecordKey, Value extends core.$ZodType>(keyType: Key, valueType: Value, params?: core.$ZodRecordParams): ZodRecord<ZodUnion<[Key, ZodNever]>, Value>;
596
597
  export interface ZodMap<Key extends core.$ZodType = core.$ZodType, Value extends core.$ZodType = core.$ZodType> extends ZodType {
597
598
  _zod: core.$ZodMapInternals<Key, Value>;
598
599
  keyType: Key;
@@ -708,6 +708,14 @@ export function record(keyType, valueType, params) {
708
708
  ...util.normalizeParams(params),
709
709
  });
710
710
  }
711
+ export function partialRecord(keyType, valueType, params) {
712
+ return new ZodRecord({
713
+ type: "record",
714
+ keyType: union([keyType, never()]),
715
+ valueType,
716
+ ...util.normalizeParams(params),
717
+ });
718
+ }
711
719
  export const ZodMap = /*@__PURE__*/ core.$constructor("ZodMap", (inst, def) => {
712
720
  core.$ZodMap.init(inst, def);
713
721
  ZodType.init(inst, def);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod",
3
- "version": "4.0.0-beta.20250418T073619",
3
+ "version": "4.0.0-beta.20250418T202744",
4
4
  "type": "module",
5
5
  "author": "Colin McDonnell <zod@colinhacks.com>",
6
6
  "description": "TypeScript-first schema declaration and validation library with static type inference",
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "dependencies": {
73
- "@zod/core": "0.7.1"
73
+ "@zod/core": "0.8.0"
74
74
  },
75
75
  "scripts": {
76
76
  "clean": "rm -rf dist",
package/src/schemas.ts CHANGED
@@ -1750,6 +1750,19 @@ export function record<Key extends core.$ZodRecordKey, Value extends core.$ZodTy
1750
1750
  }) as ZodRecord<Key, Value>;
1751
1751
  }
1752
1752
 
1753
+ export function partialRecord<Key extends core.$ZodRecordKey, Value extends core.$ZodType>(
1754
+ keyType: Key,
1755
+ valueType: Value,
1756
+ params?: core.$ZodRecordParams
1757
+ ): ZodRecord<ZodUnion<[Key, ZodNever]>, Value> {
1758
+ return new ZodRecord({
1759
+ type: "record",
1760
+ keyType: union([keyType, never()]),
1761
+ valueType,
1762
+ ...util.normalizeParams(params),
1763
+ }) as ZodRecord<ZodUnion<[Key, ZodNever]>, Value>;
1764
+ }
1765
+
1753
1766
  // ZodMap
1754
1767
  export interface ZodMap<Key extends core.$ZodType = core.$ZodType, Value extends core.$ZodType = core.$ZodType>
1755
1768
  extends ZodType {