zod 4.1.0-canary.20250806T002637 → 4.1.0-canary.20250813T051310
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/default.test.ts +12 -0
- package/src/v4/classic/tests/file.test.ts +4 -2
- package/src/v4/classic/tests/prefault.test.ts +12 -0
- package/src/v4/classic/tests/set.test.ts +4 -2
- package/src/v4/core/api.ts +1 -1
- package/src/v4/core/checks.ts +2 -0
- package/src/v4/core/schemas.ts +3 -2
- package/src/v4/core/util.ts +5 -0
- package/src/v4/core/versions.ts +1 -1
- package/src/v4/mini/schemas.ts +2 -2
- package/src/v4/mini/tests/index.test.ts +13 -0
- package/v4/classic/schemas.cjs +2 -2
- package/v4/classic/schemas.js +2 -2
- package/v4/core/api.cjs +1 -1
- package/v4/core/api.js +1 -1
- package/v4/core/checks.cjs +2 -0
- package/v4/core/checks.js +2 -0
- package/v4/core/schemas.cjs +3 -2
- package/v4/core/schemas.js +3 -2
- package/v4/core/util.cjs +6 -0
- package/v4/core/util.d.cts +1 -0
- package/v4/core/util.d.ts +1 -0
- package/v4/core/util.js +5 -0
- package/v4/core/versions.cjs +1 -1
- package/v4/core/versions.js +1 -1
- package/v4/mini/schemas.cjs +2 -2
- package/v4/mini/schemas.js +2 -2
package/package.json
CHANGED
|
@@ -1688,7 +1688,7 @@ export function _default<T extends core.SomeType>(
|
|
|
1688
1688
|
type: "default",
|
|
1689
1689
|
innerType: innerType as any as core.$ZodType,
|
|
1690
1690
|
get defaultValue() {
|
|
1691
|
-
return typeof defaultValue === "function" ? (defaultValue as Function)() : defaultValue;
|
|
1691
|
+
return typeof defaultValue === "function" ? (defaultValue as Function)() : util.shallowClone(defaultValue);
|
|
1692
1692
|
},
|
|
1693
1693
|
}) as any;
|
|
1694
1694
|
}
|
|
@@ -1716,7 +1716,7 @@ export function prefault<T extends core.SomeType>(
|
|
|
1716
1716
|
type: "prefault",
|
|
1717
1717
|
innerType: innerType as any as core.$ZodType,
|
|
1718
1718
|
get defaultValue() {
|
|
1719
|
-
return typeof defaultValue === "function" ? (defaultValue as Function)() : defaultValue;
|
|
1719
|
+
return typeof defaultValue === "function" ? (defaultValue as Function)() : util.shallowClone(defaultValue);
|
|
1720
1720
|
},
|
|
1721
1721
|
}) as any;
|
|
1722
1722
|
}
|
|
@@ -311,3 +311,15 @@ test("partial should not clobber defaults", () => {
|
|
|
311
311
|
}
|
|
312
312
|
`);
|
|
313
313
|
});
|
|
314
|
+
|
|
315
|
+
test("defaulted object schema returns shallow clone", () => {
|
|
316
|
+
const schema = z
|
|
317
|
+
.object({
|
|
318
|
+
a: z.string(),
|
|
319
|
+
})
|
|
320
|
+
.default({ a: "x" });
|
|
321
|
+
const result1 = schema.parse(undefined);
|
|
322
|
+
const result2 = schema.parse(undefined);
|
|
323
|
+
expect(result1).not.toBe(result2);
|
|
324
|
+
expect(result1).toEqual(result2);
|
|
325
|
+
});
|
|
@@ -38,8 +38,9 @@ test("failing validations", () => {
|
|
|
38
38
|
"origin": "file",
|
|
39
39
|
"code": "too_small",
|
|
40
40
|
"minimum": 5,
|
|
41
|
+
"inclusive": true,
|
|
41
42
|
"path": [],
|
|
42
|
-
"message": "Too small: expected file to have
|
|
43
|
+
"message": "Too small: expected file to have >=5 bytes"
|
|
43
44
|
}
|
|
44
45
|
]],
|
|
45
46
|
"success": false,
|
|
@@ -52,8 +53,9 @@ test("failing validations", () => {
|
|
|
52
53
|
"origin": "file",
|
|
53
54
|
"code": "too_big",
|
|
54
55
|
"maximum": 8,
|
|
56
|
+
"inclusive": true,
|
|
55
57
|
"path": [],
|
|
56
|
-
"message": "Too big: expected file to have
|
|
58
|
+
"message": "Too big: expected file to have <=8 bytes"
|
|
57
59
|
}
|
|
58
60
|
]],
|
|
59
61
|
"success": false,
|
|
@@ -35,3 +35,15 @@ test("prefault inside object", () => {
|
|
|
35
35
|
email: string;
|
|
36
36
|
}>();
|
|
37
37
|
});
|
|
38
|
+
|
|
39
|
+
test("object schema with prefault should return shallow clone", () => {
|
|
40
|
+
const schema = z
|
|
41
|
+
.object({
|
|
42
|
+
a: z.string(),
|
|
43
|
+
})
|
|
44
|
+
.default({ a: "x" });
|
|
45
|
+
const result1 = schema.parse(undefined);
|
|
46
|
+
const result2 = schema.parse(undefined);
|
|
47
|
+
expect(result1).not.toBe(result2);
|
|
48
|
+
expect(result1).toEqual(result2);
|
|
49
|
+
});
|
|
@@ -155,7 +155,8 @@ test("min/max", async () => {
|
|
|
155
155
|
[
|
|
156
156
|
{
|
|
157
157
|
"code": "too_small",
|
|
158
|
-
"
|
|
158
|
+
"inclusive": true,
|
|
159
|
+
"message": "Too small: expected set to have >=4 items",
|
|
159
160
|
"minimum": 4,
|
|
160
161
|
"origin": "set",
|
|
161
162
|
"path": [],
|
|
@@ -169,8 +170,9 @@ test("min/max", async () => {
|
|
|
169
170
|
[
|
|
170
171
|
{
|
|
171
172
|
"code": "too_big",
|
|
173
|
+
"inclusive": true,
|
|
172
174
|
"maximum": 5,
|
|
173
|
-
"message": "Too big: expected set to have
|
|
175
|
+
"message": "Too big: expected set to have <=5 items",
|
|
174
176
|
"origin": "set",
|
|
175
177
|
"path": [],
|
|
176
178
|
},
|
package/src/v4/core/api.ts
CHANGED
|
@@ -1321,7 +1321,7 @@ export function _default<T extends schemas.$ZodObject>(
|
|
|
1321
1321
|
type: "default",
|
|
1322
1322
|
innerType,
|
|
1323
1323
|
get defaultValue() {
|
|
1324
|
-
return typeof defaultValue === "function" ? (defaultValue as Function)() : defaultValue;
|
|
1324
|
+
return typeof defaultValue === "function" ? (defaultValue as Function)() : util.shallowClone(defaultValue);
|
|
1325
1325
|
},
|
|
1326
1326
|
}) as any;
|
|
1327
1327
|
}
|
package/src/v4/core/checks.ts
CHANGED
|
@@ -470,6 +470,7 @@ export const $ZodCheckMaxSize: core.$constructor<$ZodCheckMaxSize> = /*@__PURE__
|
|
|
470
470
|
origin: util.getSizableOrigin(input),
|
|
471
471
|
code: "too_big",
|
|
472
472
|
maximum: def.maximum,
|
|
473
|
+
inclusive: true,
|
|
473
474
|
input,
|
|
474
475
|
inst,
|
|
475
476
|
continue: !def.abort,
|
|
@@ -519,6 +520,7 @@ export const $ZodCheckMinSize: core.$constructor<$ZodCheckMinSize> = /*@__PURE__
|
|
|
519
520
|
origin: util.getSizableOrigin(input),
|
|
520
521
|
code: "too_small",
|
|
521
522
|
minimum: def.minimum,
|
|
523
|
+
inclusive: true,
|
|
522
524
|
input,
|
|
523
525
|
inst,
|
|
524
526
|
continue: !def.abort,
|
package/src/v4/core/schemas.ts
CHANGED
|
@@ -1721,7 +1721,7 @@ export const $ZodObject: core.$constructor<$ZodObject> = /*@__PURE__*/ core.$con
|
|
|
1721
1721
|
const _normalized = util.cached(() => {
|
|
1722
1722
|
const keys = Object.keys(def.shape);
|
|
1723
1723
|
for (const k of keys) {
|
|
1724
|
-
if (!
|
|
1724
|
+
if (!def.shape[k]._zod.traits.has("$ZodType")) {
|
|
1725
1725
|
throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
|
|
1726
1726
|
}
|
|
1727
1727
|
}
|
|
@@ -3642,7 +3642,8 @@ export const $ZodTemplateLiteral: core.$constructor<$ZodTemplateLiteral> = /*@__
|
|
|
3642
3642
|
$ZodType.init(inst, def);
|
|
3643
3643
|
const regexParts: string[] = [];
|
|
3644
3644
|
for (const part of def.parts) {
|
|
3645
|
-
if (part
|
|
3645
|
+
if (typeof part === "object" && part !== null) {
|
|
3646
|
+
// is Zod schema
|
|
3646
3647
|
if (!part._zod.pattern) {
|
|
3647
3648
|
// if (!source)
|
|
3648
3649
|
throw new Error(`Invalid template literal part, no pattern found: ${[...(part as any)._zod.traits].shift()}`);
|
package/src/v4/core/util.ts
CHANGED
|
@@ -389,6 +389,11 @@ export function isPlainObject(o: any): o is Record<PropertyKey, unknown> {
|
|
|
389
389
|
return true;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
+
export function shallowClone(o: any): any {
|
|
393
|
+
if (isPlainObject(o)) return { ...o };
|
|
394
|
+
return o;
|
|
395
|
+
}
|
|
396
|
+
|
|
392
397
|
export function numKeys(data: any): number {
|
|
393
398
|
let keyCount = 0;
|
|
394
399
|
for (const key in data) {
|
package/src/v4/core/versions.ts
CHANGED
package/src/v4/mini/schemas.ts
CHANGED
|
@@ -1256,7 +1256,7 @@ export function _default<T extends SomeType>(
|
|
|
1256
1256
|
type: "default",
|
|
1257
1257
|
innerType: innerType as any as core.$ZodType,
|
|
1258
1258
|
get defaultValue() {
|
|
1259
|
-
return typeof defaultValue === "function" ? (defaultValue as Function)() : defaultValue;
|
|
1259
|
+
return typeof defaultValue === "function" ? (defaultValue as Function)() : util.shallowClone(defaultValue);
|
|
1260
1260
|
},
|
|
1261
1261
|
}) as any;
|
|
1262
1262
|
}
|
|
@@ -1281,7 +1281,7 @@ export function prefault<T extends SomeType>(
|
|
|
1281
1281
|
type: "prefault",
|
|
1282
1282
|
innerType: innerType as any as core.$ZodType,
|
|
1283
1283
|
get defaultValue() {
|
|
1284
|
-
return typeof defaultValue === "function" ? (defaultValue as Function)() : defaultValue;
|
|
1284
|
+
return typeof defaultValue === "function" ? (defaultValue as Function)() : util.shallowClone(defaultValue);
|
|
1285
1285
|
},
|
|
1286
1286
|
}) as any;
|
|
1287
1287
|
}
|
|
@@ -869,3 +869,16 @@ test("def typing", () => {
|
|
|
869
869
|
z.catch(z.string(), "fallback").def.type satisfies "catch";
|
|
870
870
|
z.file().def.type satisfies "file";
|
|
871
871
|
});
|
|
872
|
+
|
|
873
|
+
test("defaulted object schema returns shallow clone", () => {
|
|
874
|
+
const schema = z._default(
|
|
875
|
+
z.object({
|
|
876
|
+
a: z.string(),
|
|
877
|
+
}),
|
|
878
|
+
{ a: "x" }
|
|
879
|
+
);
|
|
880
|
+
const result1 = schema.parse(undefined);
|
|
881
|
+
const result2 = schema.parse(undefined);
|
|
882
|
+
expect(result1).not.toBe(result2);
|
|
883
|
+
expect(result1).toEqual(result2);
|
|
884
|
+
});
|
package/v4/classic/schemas.cjs
CHANGED
|
@@ -920,7 +920,7 @@ function _default(innerType, defaultValue) {
|
|
|
920
920
|
type: "default",
|
|
921
921
|
innerType: innerType,
|
|
922
922
|
get defaultValue() {
|
|
923
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
923
|
+
return typeof defaultValue === "function" ? defaultValue() : index_js_1.util.shallowClone(defaultValue);
|
|
924
924
|
},
|
|
925
925
|
});
|
|
926
926
|
}
|
|
@@ -934,7 +934,7 @@ function prefault(innerType, defaultValue) {
|
|
|
934
934
|
type: "prefault",
|
|
935
935
|
innerType: innerType,
|
|
936
936
|
get defaultValue() {
|
|
937
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
937
|
+
return typeof defaultValue === "function" ? defaultValue() : index_js_1.util.shallowClone(defaultValue);
|
|
938
938
|
},
|
|
939
939
|
});
|
|
940
940
|
}
|
package/v4/classic/schemas.js
CHANGED
|
@@ -815,7 +815,7 @@ export function _default(innerType, defaultValue) {
|
|
|
815
815
|
type: "default",
|
|
816
816
|
innerType: innerType,
|
|
817
817
|
get defaultValue() {
|
|
818
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
818
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
819
819
|
},
|
|
820
820
|
});
|
|
821
821
|
}
|
|
@@ -829,7 +829,7 @@ export function prefault(innerType, defaultValue) {
|
|
|
829
829
|
type: "prefault",
|
|
830
830
|
innerType: innerType,
|
|
831
831
|
get defaultValue() {
|
|
832
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
832
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
833
833
|
},
|
|
834
834
|
});
|
|
835
835
|
}
|
package/v4/core/api.cjs
CHANGED
|
@@ -882,7 +882,7 @@ function _default(Class, innerType, defaultValue) {
|
|
|
882
882
|
type: "default",
|
|
883
883
|
innerType,
|
|
884
884
|
get defaultValue() {
|
|
885
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
885
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
886
886
|
},
|
|
887
887
|
});
|
|
888
888
|
}
|
package/v4/core/api.js
CHANGED
|
@@ -747,7 +747,7 @@ export function _default(Class, innerType, defaultValue) {
|
|
|
747
747
|
type: "default",
|
|
748
748
|
innerType,
|
|
749
749
|
get defaultValue() {
|
|
750
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
750
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
751
751
|
},
|
|
752
752
|
});
|
|
753
753
|
}
|
package/v4/core/checks.cjs
CHANGED
|
@@ -269,6 +269,7 @@ exports.$ZodCheckMaxSize = core.$constructor("$ZodCheckMaxSize", (inst, def) =>
|
|
|
269
269
|
origin: util.getSizableOrigin(input),
|
|
270
270
|
code: "too_big",
|
|
271
271
|
maximum: def.maximum,
|
|
272
|
+
inclusive: true,
|
|
272
273
|
input,
|
|
273
274
|
inst,
|
|
274
275
|
continue: !def.abort,
|
|
@@ -296,6 +297,7 @@ exports.$ZodCheckMinSize = core.$constructor("$ZodCheckMinSize", (inst, def) =>
|
|
|
296
297
|
origin: util.getSizableOrigin(input),
|
|
297
298
|
code: "too_small",
|
|
298
299
|
minimum: def.minimum,
|
|
300
|
+
inclusive: true,
|
|
299
301
|
input,
|
|
300
302
|
inst,
|
|
301
303
|
continue: !def.abort,
|
package/v4/core/checks.js
CHANGED
|
@@ -243,6 +243,7 @@ export const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor("$ZodCheckMaxSiz
|
|
|
243
243
|
origin: util.getSizableOrigin(input),
|
|
244
244
|
code: "too_big",
|
|
245
245
|
maximum: def.maximum,
|
|
246
|
+
inclusive: true,
|
|
246
247
|
input,
|
|
247
248
|
inst,
|
|
248
249
|
continue: !def.abort,
|
|
@@ -270,6 +271,7 @@ export const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor("$ZodCheckMinSiz
|
|
|
270
271
|
origin: util.getSizableOrigin(input),
|
|
271
272
|
code: "too_small",
|
|
272
273
|
minimum: def.minimum,
|
|
274
|
+
inclusive: true,
|
|
273
275
|
input,
|
|
274
276
|
inst,
|
|
275
277
|
continue: !def.abort,
|
package/v4/core/schemas.cjs
CHANGED
|
@@ -710,7 +710,7 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
|
|
|
710
710
|
const _normalized = util.cached(() => {
|
|
711
711
|
const keys = Object.keys(def.shape);
|
|
712
712
|
for (const k of keys) {
|
|
713
|
-
if (!
|
|
713
|
+
if (!def.shape[k]._zod.traits.has("$ZodType")) {
|
|
714
714
|
throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
|
|
715
715
|
}
|
|
716
716
|
}
|
|
@@ -1632,7 +1632,8 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
|
|
|
1632
1632
|
exports.$ZodType.init(inst, def);
|
|
1633
1633
|
const regexParts = [];
|
|
1634
1634
|
for (const part of def.parts) {
|
|
1635
|
-
if (part
|
|
1635
|
+
if (typeof part === "object" && part !== null) {
|
|
1636
|
+
// is Zod schema
|
|
1636
1637
|
if (!part._zod.pattern) {
|
|
1637
1638
|
// if (!source)
|
|
1638
1639
|
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
|
package/v4/core/schemas.js
CHANGED
|
@@ -679,7 +679,7 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
|
|
|
679
679
|
const _normalized = util.cached(() => {
|
|
680
680
|
const keys = Object.keys(def.shape);
|
|
681
681
|
for (const k of keys) {
|
|
682
|
-
if (!
|
|
682
|
+
if (!def.shape[k]._zod.traits.has("$ZodType")) {
|
|
683
683
|
throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
|
|
684
684
|
}
|
|
685
685
|
}
|
|
@@ -1601,7 +1601,8 @@ export const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("$ZodTemplate
|
|
|
1601
1601
|
$ZodType.init(inst, def);
|
|
1602
1602
|
const regexParts = [];
|
|
1603
1603
|
for (const part of def.parts) {
|
|
1604
|
-
if (part
|
|
1604
|
+
if (typeof part === "object" && part !== null) {
|
|
1605
|
+
// is Zod schema
|
|
1605
1606
|
if (!part._zod.pattern) {
|
|
1606
1607
|
// if (!source)
|
|
1607
1608
|
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
|
package/v4/core/util.cjs
CHANGED
|
@@ -24,6 +24,7 @@ exports.randomString = randomString;
|
|
|
24
24
|
exports.esc = esc;
|
|
25
25
|
exports.isObject = isObject;
|
|
26
26
|
exports.isPlainObject = isPlainObject;
|
|
27
|
+
exports.shallowClone = shallowClone;
|
|
27
28
|
exports.numKeys = numKeys;
|
|
28
29
|
exports.escapeRegex = escapeRegex;
|
|
29
30
|
exports.clone = clone;
|
|
@@ -217,6 +218,11 @@ function isPlainObject(o) {
|
|
|
217
218
|
}
|
|
218
219
|
return true;
|
|
219
220
|
}
|
|
221
|
+
function shallowClone(o) {
|
|
222
|
+
if (isPlainObject(o))
|
|
223
|
+
return { ...o };
|
|
224
|
+
return o;
|
|
225
|
+
}
|
|
220
226
|
function numKeys(data) {
|
|
221
227
|
let keyCount = 0;
|
|
222
228
|
for (const key in data) {
|
package/v4/core/util.d.cts
CHANGED
|
@@ -136,6 +136,7 @@ export declare const allowsEval: {
|
|
|
136
136
|
value: boolean;
|
|
137
137
|
};
|
|
138
138
|
export declare function isPlainObject(o: any): o is Record<PropertyKey, unknown>;
|
|
139
|
+
export declare function shallowClone(o: any): any;
|
|
139
140
|
export declare function numKeys(data: any): number;
|
|
140
141
|
export declare const getParsedType: (data: any) => ParsedTypes;
|
|
141
142
|
export declare const propertyKeyTypes: Set<string>;
|
package/v4/core/util.d.ts
CHANGED
|
@@ -136,6 +136,7 @@ export declare const allowsEval: {
|
|
|
136
136
|
value: boolean;
|
|
137
137
|
};
|
|
138
138
|
export declare function isPlainObject(o: any): o is Record<PropertyKey, unknown>;
|
|
139
|
+
export declare function shallowClone(o: any): any;
|
|
139
140
|
export declare function numKeys(data: any): number;
|
|
140
141
|
export declare const getParsedType: (data: any) => ParsedTypes;
|
|
141
142
|
export declare const propertyKeyTypes: Set<string>;
|
package/v4/core/util.js
CHANGED
|
@@ -170,6 +170,11 @@ export function isPlainObject(o) {
|
|
|
170
170
|
}
|
|
171
171
|
return true;
|
|
172
172
|
}
|
|
173
|
+
export function shallowClone(o) {
|
|
174
|
+
if (isPlainObject(o))
|
|
175
|
+
return { ...o };
|
|
176
|
+
return o;
|
|
177
|
+
}
|
|
173
178
|
export function numKeys(data) {
|
|
174
179
|
let keyCount = 0;
|
|
175
180
|
for (const key in data) {
|
package/v4/core/versions.cjs
CHANGED
package/v4/core/versions.js
CHANGED
package/v4/mini/schemas.cjs
CHANGED
|
@@ -686,7 +686,7 @@ function _default(innerType, defaultValue) {
|
|
|
686
686
|
type: "default",
|
|
687
687
|
innerType: innerType,
|
|
688
688
|
get defaultValue() {
|
|
689
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
689
|
+
return typeof defaultValue === "function" ? defaultValue() : index_js_1.util.shallowClone(defaultValue);
|
|
690
690
|
},
|
|
691
691
|
});
|
|
692
692
|
}
|
|
@@ -699,7 +699,7 @@ function prefault(innerType, defaultValue) {
|
|
|
699
699
|
type: "prefault",
|
|
700
700
|
innerType: innerType,
|
|
701
701
|
get defaultValue() {
|
|
702
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
702
|
+
return typeof defaultValue === "function" ? defaultValue() : index_js_1.util.shallowClone(defaultValue);
|
|
703
703
|
},
|
|
704
704
|
});
|
|
705
705
|
}
|
package/v4/mini/schemas.js
CHANGED
|
@@ -575,7 +575,7 @@ export function _default(innerType, defaultValue) {
|
|
|
575
575
|
type: "default",
|
|
576
576
|
innerType: innerType,
|
|
577
577
|
get defaultValue() {
|
|
578
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
578
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
579
579
|
},
|
|
580
580
|
});
|
|
581
581
|
}
|
|
@@ -588,7 +588,7 @@ export function prefault(innerType, defaultValue) {
|
|
|
588
588
|
type: "prefault",
|
|
589
589
|
innerType: innerType,
|
|
590
590
|
get defaultValue() {
|
|
591
|
-
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
591
|
+
return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
|
|
592
592
|
},
|
|
593
593
|
});
|
|
594
594
|
}
|