Skip to content

Commit 36c4ee3

Browse files
committed
Switch back to weakmap
1 parent aab3356 commit 36c4ee3

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/zod/src/v4/core/registries.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ type MetadataType = object | undefined;
2727
export class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema extends $ZodType = $ZodType> {
2828
_meta!: Meta;
2929
_schema!: Schema;
30-
_map: Map<Schema, $replace<Meta, Schema>> = new Map();
30+
_map: WeakMap<Schema, $replace<Meta, Schema>> = new WeakMap();
3131
_idmap: Map<string, Schema> = new Map();
3232

3333
add<S extends Schema>(
@@ -46,7 +46,7 @@ export class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema exten
4646
}
4747

4848
clear(): this {
49-
this._map = new Map();
49+
this._map = new WeakMap();
5050
this._idmap = new Map();
5151
return this;
5252
}

play.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
import * as z from "zod";
22

33
z;
4+
5+
z.superRefine((val, ctx) => {
6+
ctx.addIssue({
7+
code: "custom",
8+
message: "Custom message",
9+
});
10+
});

0 commit comments

Comments
 (0)