Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
68 lines
2.3 KiB
Plaintext
68 lines
2.3 KiB
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.globalConfig = exports.$ZodAsyncError = exports.$brand = exports.NEVER = void 0;
|
|
exports.$constructor = $constructor;
|
|
exports.config = config;
|
|
/** A special constant with type `never` */
|
|
exports.NEVER = Object.freeze({
|
|
status: "aborted",
|
|
});
|
|
function $constructor(name, initializer, params) {
|
|
function init(inst, def) {
|
|
var _a;
|
|
Object.defineProperty(inst, "_zod", {
|
|
value: inst._zod ?? {},
|
|
enumerable: false,
|
|
});
|
|
(_a = inst._zod).traits ?? (_a.traits = new Set());
|
|
inst._zod.traits.add(name);
|
|
initializer(inst, def);
|
|
// support prototype modifications
|
|
for (const k in _.prototype) {
|
|
if (!(k in inst))
|
|
Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });
|
|
}
|
|
inst._zod.constr = _;
|
|
inst._zod.def = def;
|
|
}
|
|
// doesn't work if Parent has a constructor with arguments
|
|
const Parent = params?.Parent ?? Object;
|
|
class Definition extends Parent {
|
|
}
|
|
Object.defineProperty(Definition, "name", { value: name });
|
|
function _(def) {
|
|
var _a;
|
|
const inst = params?.Parent ? new Definition() : this;
|
|
init(inst, def);
|
|
(_a = inst._zod).deferred ?? (_a.deferred = []);
|
|
for (const fn of inst._zod.deferred) {
|
|
fn();
|
|
}
|
|
return inst;
|
|
}
|
|
Object.defineProperty(_, "init", { value: init });
|
|
Object.defineProperty(_, Symbol.hasInstance, {
|
|
value: (inst) => {
|
|
if (params?.Parent && inst instanceof params.Parent)
|
|
return true;
|
|
return inst?._zod?.traits?.has(name);
|
|
},
|
|
});
|
|
Object.defineProperty(_, "name", { value: name });
|
|
return _;
|
|
}
|
|
////////////////////////////// UTILITIES ///////////////////////////////////////
|
|
exports.$brand = Symbol("zod_brand");
|
|
class $ZodAsyncError extends Error {
|
|
constructor() {
|
|
super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
|
|
}
|
|
}
|
|
exports.$ZodAsyncError = $ZodAsyncError;
|
|
exports.globalConfig = {};
|
|
function config(newConfig) {
|
|
if (newConfig)
|
|
Object.assign(exports.globalConfig, newConfig);
|
|
return exports.globalConfig;
|
|
}
|