summaryrefslogtreecommitdiff
path: root/node_modules/zod/lib/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/zod/lib/helpers')
-rw-r--r--node_modules/zod/lib/helpers/enumUtil.d.ts8
-rw-r--r--node_modules/zod/lib/helpers/enumUtil.js2
-rw-r--r--node_modules/zod/lib/helpers/errorUtil.d.ts9
-rw-r--r--node_modules/zod/lib/helpers/errorUtil.js8
-rw-r--r--node_modules/zod/lib/helpers/parseUtil.d.ts78
-rw-r--r--node_modules/zod/lib/helpers/parseUtil.js115
-rw-r--r--node_modules/zod/lib/helpers/partialUtil.d.ts8
-rw-r--r--node_modules/zod/lib/helpers/partialUtil.js2
-rw-r--r--node_modules/zod/lib/helpers/typeAliases.d.ts2
-rw-r--r--node_modules/zod/lib/helpers/typeAliases.js2
-rw-r--r--node_modules/zod/lib/helpers/util.d.ts68
-rw-r--r--node_modules/zod/lib/helpers/util.js142
12 files changed, 444 insertions, 0 deletions
diff --git a/node_modules/zod/lib/helpers/enumUtil.d.ts b/node_modules/zod/lib/helpers/enumUtil.d.ts
new file mode 100644
index 0000000..fad28a7
--- /dev/null
+++ b/node_modules/zod/lib/helpers/enumUtil.d.ts
@@ -0,0 +1,8 @@
+export declare namespace enumUtil {
+ type UnionToIntersectionFn<T> = (T extends unknown ? (k: () => T) => void : never) extends (k: infer Intersection) => void ? Intersection : never;
+ type GetUnionLast<T> = UnionToIntersectionFn<T> extends () => infer Last ? Last : never;
+ type UnionToTuple<T, Tuple extends unknown[] = []> = [T] extends [never] ? Tuple : UnionToTuple<Exclude<T, GetUnionLast<T>>, [GetUnionLast<T>, ...Tuple]>;
+ type CastToStringTuple<T> = T extends [string, ...string[]] ? T : never;
+ export type UnionToTupleString<T> = CastToStringTuple<UnionToTuple<T>>;
+ export {};
+}
diff --git a/node_modules/zod/lib/helpers/enumUtil.js b/node_modules/zod/lib/helpers/enumUtil.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/zod/lib/helpers/enumUtil.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/zod/lib/helpers/errorUtil.d.ts b/node_modules/zod/lib/helpers/errorUtil.d.ts
new file mode 100644
index 0000000..5346d72
--- /dev/null
+++ b/node_modules/zod/lib/helpers/errorUtil.d.ts
@@ -0,0 +1,9 @@
+export declare namespace errorUtil {
+ type ErrMessage = string | {
+ message?: string;
+ };
+ const errToObj: (message?: ErrMessage | undefined) => {
+ message?: string | undefined;
+ };
+ const toString: (message?: ErrMessage | undefined) => string | undefined;
+}
diff --git a/node_modules/zod/lib/helpers/errorUtil.js b/node_modules/zod/lib/helpers/errorUtil.js
new file mode 100644
index 0000000..7fa2797
--- /dev/null
+++ b/node_modules/zod/lib/helpers/errorUtil.js
@@ -0,0 +1,8 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.errorUtil = void 0;
+var errorUtil;
+(function (errorUtil) {
+ errorUtil.errToObj = (message) => typeof message === "string" ? { message } : message || {};
+ errorUtil.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message;
+})(errorUtil = exports.errorUtil || (exports.errorUtil = {}));
diff --git a/node_modules/zod/lib/helpers/parseUtil.d.ts b/node_modules/zod/lib/helpers/parseUtil.d.ts
new file mode 100644
index 0000000..f3f2bba
--- /dev/null
+++ b/node_modules/zod/lib/helpers/parseUtil.d.ts
@@ -0,0 +1,78 @@
+import type { IssueData, ZodErrorMap, ZodIssue } from "../ZodError";
+import type { ZodParsedType } from "./util";
+export declare const makeIssue: (params: {
+ data: any;
+ path: (string | number)[];
+ errorMaps: ZodErrorMap[];
+ issueData: IssueData;
+}) => ZodIssue;
+export declare type ParseParams = {
+ path: (string | number)[];
+ errorMap: ZodErrorMap;
+ async: boolean;
+};
+export declare type ParsePathComponent = string | number;
+export declare type ParsePath = ParsePathComponent[];
+export declare const EMPTY_PATH: ParsePath;
+export interface ParseContext {
+ readonly common: {
+ readonly issues: ZodIssue[];
+ readonly contextualErrorMap?: ZodErrorMap;
+ readonly async: boolean;
+ };
+ readonly path: ParsePath;
+ readonly schemaErrorMap?: ZodErrorMap;
+ readonly parent: ParseContext | null;
+ readonly data: any;
+ readonly parsedType: ZodParsedType;
+}
+export declare type ParseInput = {
+ data: any;
+ path: (string | number)[];
+ parent: ParseContext;
+};
+export declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void;
+export declare type ObjectPair = {
+ key: SyncParseReturnType<any>;
+ value: SyncParseReturnType<any>;
+};
+export declare class ParseStatus {
+ value: "aborted" | "dirty" | "valid";
+ dirty(): void;
+ abort(): void;
+ static mergeArray(status: ParseStatus, results: SyncParseReturnType<any>[]): SyncParseReturnType;
+ static mergeObjectAsync(status: ParseStatus, pairs: {
+ key: ParseReturnType<any>;
+ value: ParseReturnType<any>;
+ }[]): Promise<SyncParseReturnType<any>>;
+ static mergeObjectSync(status: ParseStatus, pairs: {
+ key: SyncParseReturnType<any>;
+ value: SyncParseReturnType<any>;
+ alwaysSet?: boolean;
+ }[]): SyncParseReturnType;
+}
+export interface ParseResult {
+ status: "aborted" | "dirty" | "valid";
+ data: any;
+}
+export declare type INVALID = {
+ status: "aborted";
+};
+export declare const INVALID: INVALID;
+export declare type DIRTY<T> = {
+ status: "dirty";
+ value: T;
+};
+export declare const DIRTY: <T>(value: T) => DIRTY<T>;
+export declare type OK<T> = {
+ status: "valid";
+ value: T;
+};
+export declare const OK: <T>(value: T) => OK<T>;
+export declare type SyncParseReturnType<T = any> = OK<T> | DIRTY<T> | INVALID;
+export declare type AsyncParseReturnType<T> = Promise<SyncParseReturnType<T>>;
+export declare type ParseReturnType<T> = SyncParseReturnType<T> | AsyncParseReturnType<T>;
+export declare const isAborted: (x: ParseReturnType<any>) => x is INVALID;
+export declare const isDirty: <T>(x: ParseReturnType<T>) => x is OK<T> | DIRTY<T>;
+export declare const isValid: <T>(x: ParseReturnType<T>) => x is OK<T> | DIRTY<T>;
+export declare const isAsync: <T>(x: ParseReturnType<T>) => x is AsyncParseReturnType<T>;
diff --git a/node_modules/zod/lib/helpers/parseUtil.js b/node_modules/zod/lib/helpers/parseUtil.js
new file mode 100644
index 0000000..5510257
--- /dev/null
+++ b/node_modules/zod/lib/helpers/parseUtil.js
@@ -0,0 +1,115 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;
+const errors_1 = require("../errors");
+const en_1 = __importDefault(require("../locales/en"));
+const makeIssue = (params) => {
+ const { data, path, errorMaps, issueData } = params;
+ const fullPath = [...path, ...(issueData.path || [])];
+ const fullIssue = {
+ ...issueData,
+ path: fullPath,
+ };
+ let errorMessage = "";
+ const maps = errorMaps
+ .filter((m) => !!m)
+ .slice()
+ .reverse();
+ for (const map of maps) {
+ errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
+ }
+ return {
+ ...issueData,
+ path: fullPath,
+ message: issueData.message || errorMessage,
+ };
+};
+exports.makeIssue = makeIssue;
+exports.EMPTY_PATH = [];
+function addIssueToContext(ctx, issueData) {
+ const issue = (0, exports.makeIssue)({
+ issueData: issueData,
+ data: ctx.data,
+ path: ctx.path,
+ errorMaps: [
+ ctx.common.contextualErrorMap,
+ ctx.schemaErrorMap,
+ (0, errors_1.getErrorMap)(),
+ en_1.default,
+ ].filter((x) => !!x),
+ });
+ ctx.common.issues.push(issue);
+}
+exports.addIssueToContext = addIssueToContext;
+class ParseStatus {
+ constructor() {
+ this.value = "valid";
+ }
+ dirty() {
+ if (this.value === "valid")
+ this.value = "dirty";
+ }
+ abort() {
+ if (this.value !== "aborted")
+ this.value = "aborted";
+ }
+ static mergeArray(status, results) {
+ const arrayValue = [];
+ for (const s of results) {
+ if (s.status === "aborted")
+ return exports.INVALID;
+ if (s.status === "dirty")
+ status.dirty();
+ arrayValue.push(s.value);
+ }
+ return { status: status.value, value: arrayValue };
+ }
+ static async mergeObjectAsync(status, pairs) {
+ const syncPairs = [];
+ for (const pair of pairs) {
+ syncPairs.push({
+ key: await pair.key,
+ value: await pair.value,
+ });
+ }
+ return ParseStatus.mergeObjectSync(status, syncPairs);
+ }
+ static mergeObjectSync(status, pairs) {
+ const finalObject = {};
+ for (const pair of pairs) {
+ const { key, value } = pair;
+ if (key.status === "aborted")
+ return exports.INVALID;
+ if (value.status === "aborted")
+ return exports.INVALID;
+ if (key.status === "dirty")
+ status.dirty();
+ if (value.status === "dirty")
+ status.dirty();
+ if (key.value !== "__proto__" &&
+ (typeof value.value !== "undefined" || pair.alwaysSet)) {
+ finalObject[key.value] = value.value;
+ }
+ }
+ return { status: status.value, value: finalObject };
+ }
+}
+exports.ParseStatus = ParseStatus;
+exports.INVALID = Object.freeze({
+ status: "aborted",
+});
+const DIRTY = (value) => ({ status: "dirty", value });
+exports.DIRTY = DIRTY;
+const OK = (value) => ({ status: "valid", value });
+exports.OK = OK;
+const isAborted = (x) => x.status === "aborted";
+exports.isAborted = isAborted;
+const isDirty = (x) => x.status === "dirty";
+exports.isDirty = isDirty;
+const isValid = (x) => x.status === "valid";
+exports.isValid = isValid;
+const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
+exports.isAsync = isAsync;
diff --git a/node_modules/zod/lib/helpers/partialUtil.d.ts b/node_modules/zod/lib/helpers/partialUtil.d.ts
new file mode 100644
index 0000000..dd56a9d
--- /dev/null
+++ b/node_modules/zod/lib/helpers/partialUtil.d.ts
@@ -0,0 +1,8 @@
+import type { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodRawShape, ZodTuple, ZodTupleItems, ZodTypeAny } from "../index";
+export declare namespace partialUtil {
+ type DeepPartial<T extends ZodTypeAny> = T extends ZodObject<ZodRawShape> ? ZodObject<{
+ [k in keyof T["shape"]]: ZodOptional<DeepPartial<T["shape"][k]>>;
+ }, T["_def"]["unknownKeys"], T["_def"]["catchall"]> : T extends ZodArray<infer Type, infer Card> ? ZodArray<DeepPartial<Type>, Card> : T extends ZodOptional<infer Type> ? ZodOptional<DeepPartial<Type>> : T extends ZodNullable<infer Type> ? ZodNullable<DeepPartial<Type>> : T extends ZodTuple<infer Items> ? {
+ [k in keyof Items]: Items[k] extends ZodTypeAny ? DeepPartial<Items[k]> : never;
+ } extends infer PI ? PI extends ZodTupleItems ? ZodTuple<PI> : never : never : T;
+}
diff --git a/node_modules/zod/lib/helpers/partialUtil.js b/node_modules/zod/lib/helpers/partialUtil.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/zod/lib/helpers/partialUtil.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/zod/lib/helpers/typeAliases.d.ts b/node_modules/zod/lib/helpers/typeAliases.d.ts
new file mode 100644
index 0000000..aba4b3a
--- /dev/null
+++ b/node_modules/zod/lib/helpers/typeAliases.d.ts
@@ -0,0 +1,2 @@
+export declare type Primitive = string | number | symbol | bigint | boolean | null | undefined;
+export declare type Scalars = Primitive | Primitive[];
diff --git a/node_modules/zod/lib/helpers/typeAliases.js b/node_modules/zod/lib/helpers/typeAliases.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/zod/lib/helpers/typeAliases.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/zod/lib/helpers/util.d.ts b/node_modules/zod/lib/helpers/util.d.ts
new file mode 100644
index 0000000..d400ef6
--- /dev/null
+++ b/node_modules/zod/lib/helpers/util.d.ts
@@ -0,0 +1,68 @@
+export declare namespace util {
+ type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
+ export type isAny<T> = 0 extends 1 & T ? true : false;
+ export const assertEqual: <A, B>(val: AssertEqual<A, B>) => AssertEqual<A, B>;
+ export function assertIs<T>(_arg: T): void;
+ export function assertNever(_x: never): never;
+ export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
+ export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
+ export type MakePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
+ export const arrayToEnum: <T extends string, U extends [T, ...T[]]>(items: U) => { [k in U[number]]: k; };
+ export const getValidEnumValues: (obj: any) => any[];
+ export const objectValues: (obj: any) => any[];
+ export const objectKeys: ObjectConstructor["keys"];
+ export const find: <T>(arr: T[], checker: (arg: T) => any) => T | undefined;
+ export type identity<T> = objectUtil.identity<T>;
+ export type flatten<T> = objectUtil.flatten<T>;
+ export type noUndefined<T> = T extends undefined ? never : T;
+ export const isInteger: NumberConstructor["isInteger"];
+ export function joinValues<T extends any[]>(array: T, separator?: string): string;
+ export const jsonStringifyReplacer: (_: string, value: any) => any;
+ export {};
+}
+export declare namespace objectUtil {
+ export type MergeShapes<U, V> = {
+ [k in Exclude<keyof U, keyof V>]: U[k];
+ } & V;
+ type requiredKeys<T extends object> = {
+ [k in keyof T]: undefined extends T[k] ? never : k;
+ }[keyof T];
+ export type addQuestionMarks<T extends object, R extends keyof T = requiredKeys<T>> = Pick<Required<T>, R> & Partial<T>;
+ export type identity<T> = T;
+ export type flatten<T> = identity<{
+ [k in keyof T]: T[k];
+ }>;
+ export type noNeverKeys<T> = {
+ [k in keyof T]: [T[k]] extends [never] ? never : k;
+ }[keyof T];
+ export type noNever<T> = identity<{
+ [k in noNeverKeys<T>]: k extends keyof T ? T[k] : never;
+ }>;
+ export const mergeShapes: <U, T>(first: U, second: T) => T & U;
+ export type extendShape<A, B> = flatten<Omit<A, keyof B> & B>;
+ export {};
+}
+export declare const ZodParsedType: {
+ function: "function";
+ number: "number";
+ string: "string";
+ nan: "nan";
+ integer: "integer";
+ float: "float";
+ boolean: "boolean";
+ date: "date";
+ bigint: "bigint";
+ symbol: "symbol";
+ undefined: "undefined";
+ null: "null";
+ array: "array";
+ object: "object";
+ unknown: "unknown";
+ promise: "promise";
+ void: "void";
+ never: "never";
+ map: "map";
+ set: "set";
+};
+export declare type ZodParsedType = keyof typeof ZodParsedType;
+export declare const getParsedType: (data: any) => ZodParsedType;
diff --git a/node_modules/zod/lib/helpers/util.js b/node_modules/zod/lib/helpers/util.js
new file mode 100644
index 0000000..d35a6eb
--- /dev/null
+++ b/node_modules/zod/lib/helpers/util.js
@@ -0,0 +1,142 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;
+var util;
+(function (util) {
+ util.assertEqual = (val) => val;
+ function assertIs(_arg) { }
+ util.assertIs = assertIs;
+ function assertNever(_x) {
+ throw new Error();
+ }
+ util.assertNever = assertNever;
+ util.arrayToEnum = (items) => {
+ const obj = {};
+ for (const item of items) {
+ obj[item] = item;
+ }
+ return obj;
+ };
+ util.getValidEnumValues = (obj) => {
+ const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
+ const filtered = {};
+ for (const k of validKeys) {
+ filtered[k] = obj[k];
+ }
+ return util.objectValues(filtered);
+ };
+ util.objectValues = (obj) => {
+ return util.objectKeys(obj).map(function (e) {
+ return obj[e];
+ });
+ };
+ util.objectKeys = typeof Object.keys === "function"
+ ? (obj) => Object.keys(obj)
+ : (object) => {
+ const keys = [];
+ for (const key in object) {
+ if (Object.prototype.hasOwnProperty.call(object, key)) {
+ keys.push(key);
+ }
+ }
+ return keys;
+ };
+ util.find = (arr, checker) => {
+ for (const item of arr) {
+ if (checker(item))
+ return item;
+ }
+ return undefined;
+ };
+ util.isInteger = typeof Number.isInteger === "function"
+ ? (val) => Number.isInteger(val)
+ : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val;
+ function joinValues(array, separator = " | ") {
+ return array
+ .map((val) => (typeof val === "string" ? `'${val}'` : val))
+ .join(separator);
+ }
+ util.joinValues = joinValues;
+ util.jsonStringifyReplacer = (_, value) => {
+ if (typeof value === "bigint") {
+ return value.toString();
+ }
+ return value;
+ };
+})(util = exports.util || (exports.util = {}));
+var objectUtil;
+(function (objectUtil) {
+ objectUtil.mergeShapes = (first, second) => {
+ return {
+ ...first,
+ ...second,
+ };
+ };
+})(objectUtil = exports.objectUtil || (exports.objectUtil = {}));
+exports.ZodParsedType = util.arrayToEnum([
+ "string",
+ "nan",
+ "number",
+ "integer",
+ "float",
+ "boolean",
+ "date",
+ "bigint",
+ "symbol",
+ "function",
+ "undefined",
+ "null",
+ "array",
+ "object",
+ "unknown",
+ "promise",
+ "void",
+ "never",
+ "map",
+ "set",
+]);
+const getParsedType = (data) => {
+ const t = typeof data;
+ switch (t) {
+ case "undefined":
+ return exports.ZodParsedType.undefined;
+ case "string":
+ return exports.ZodParsedType.string;
+ case "number":
+ return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;
+ case "boolean":
+ return exports.ZodParsedType.boolean;
+ case "function":
+ return exports.ZodParsedType.function;
+ case "bigint":
+ return exports.ZodParsedType.bigint;
+ case "symbol":
+ return exports.ZodParsedType.symbol;
+ case "object":
+ if (Array.isArray(data)) {
+ return exports.ZodParsedType.array;
+ }
+ if (data === null) {
+ return exports.ZodParsedType.null;
+ }
+ if (data.then &&
+ typeof data.then === "function" &&
+ data.catch &&
+ typeof data.catch === "function") {
+ return exports.ZodParsedType.promise;
+ }
+ if (typeof Map !== "undefined" && data instanceof Map) {
+ return exports.ZodParsedType.map;
+ }
+ if (typeof Set !== "undefined" && data instanceof Set) {
+ return exports.ZodParsedType.set;
+ }
+ if (typeof Date !== "undefined" && data instanceof Date) {
+ return exports.ZodParsedType.date;
+ }
+ return exports.ZodParsedType.object;
+ default:
+ return exports.ZodParsedType.unknown;
+ }
+};
+exports.getParsedType = getParsedType;