| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- var _a;
- export const $output = Symbol("ZodOutput");
- export const $input = Symbol("ZodInput");
- export class $ZodRegistry {
- constructor() {
- this._map = new WeakMap();
- this._idmap = new Map();
- }
- add(schema, ..._meta) {
- const meta = _meta[0];
- this._map.set(schema, meta);
- if (meta && typeof meta === "object" && "id" in meta) {
- this._idmap.set(meta.id, schema);
- }
- return this;
- }
- clear() {
- this._map = new WeakMap();
- this._idmap = new Map();
- return this;
- }
- remove(schema) {
- const meta = this._map.get(schema);
- if (meta && typeof meta === "object" && "id" in meta) {
- this._idmap.delete(meta.id);
- }
- this._map.delete(schema);
- return this;
- }
- get(schema) {
- // return this._map.get(schema) as any;
- // inherit metadata
- const p = schema._zod.parent;
- if (p) {
- const pm = { ...(this.get(p) ?? {}) };
- delete pm.id; // do not inherit id
- const f = { ...pm, ...this._map.get(schema) };
- return Object.keys(f).length ? f : undefined;
- }
- return this._map.get(schema);
- }
- has(schema) {
- return this._map.has(schema);
- }
- }
- // registries
- export function registry() {
- return new $ZodRegistry();
- }
- (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
- export const globalRegistry = globalThis.__zod_globalRegistry;
|