Socket
Socket
Sign inDemoInstall

zod

Package Overview
Dependencies
Maintainers
1
Versions
361
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zod - npm Package Compare versions

Comparing version 1.10.1 to 1.10.2-canary

10

lib/src/helpers/objectUtil.d.ts

@@ -32,11 +32,11 @@ import { ZodRawShape } from '../types/base';

}>;
type NoNeverKeys<T extends object> = {
[k in keyof T]: T[k] extends never ? never : k;
type NoNeverKeys<T extends ZodRawShape> = {
[k in keyof T]: [T[k]] extends [never] ? never : k;
}[keyof T];
type NoNever<T extends object> = {
[k in NoNeverKeys<T>]: T[k];
type NoNever<T extends ZodRawShape> = {
[k in NoNeverKeys<T>]: k extends keyof T ? T[k] : never;
};
type ObjectType<T extends ZodRawShape> = FlattenObject<ObjectIntersection<NoNever<T>>>;
type ObjectType<T extends ZodRawShape> = FlattenObject<ObjectIntersection<T>>;
const mergeShapes: <U extends ZodRawShape, T extends ZodRawShape>(first: U, second: T) => T & U;
const mergeObjects: <First extends ZodObject<any, any, any>>(first: First) => <Second extends ZodObject<any, any, any>>(second: Second) => ZodObject<First["_shape"] & Second["_shape"], MergeObjectParams<First["_params"], Second["_params"]>, First["_type"] & Second["_type"]>;
}

@@ -42,3 +42,3 @@ import { ZodString, ZodStringDef } from './types/string';

strict: true;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]]?: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T], { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]>]: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]]?: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T], { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]>]: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k]; })[k]; }>;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]]?: { [k in keyof T]: T[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T, { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]>]: { [k in keyof T]: T[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]]?: { [k in keyof T]: T[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T, { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]>]: { [k in keyof T]: T[k]["_type"]; }[k]; })[k]; }>;
declare const unionType: <T extends [ZodType<any, any>, ZodType<any, any>, ...ZodType<any, any>[]]>(types: T) => ZodUnion<T>;

@@ -60,3 +60,3 @@ declare const intersectionType: <T extends ZodType<any, any>, U extends ZodType<any, any>>(left: T, right: U) => ZodIntersection<T, U>;

path?: (string | number)[] | undefined;
} & Pick<import("./ZodError").CustomError, "message" | "params">, "message" | "path" | "params"> | undefined) => ZodType<InstanceType<T>, ZodTypeDef>;
} & Pick<import("./ZodError").CustomError, "message" | "params">, "path" | "message" | "params"> | undefined) => ZodType<InstanceType<T>, ZodTypeDef>;
export { stringType as string, numberType as number, bigIntType as bigint, booleanType as boolean, dateType as date, undefinedType as undefined, nullType as null, anyType as any, unknownType as unknown, voidType as void, arrayType as array, objectType as object, unionType as union, intersectionType as intersection, tupleType as tuple, recordType as record, functionType as function, lazyType as lazy, literalType as literal, enumType as enum, promiseType as promise, instanceOfType as instanceof, ostring, onumber, oboolean, codegen, };

@@ -66,5 +66,5 @@ export declare const late: {

strict: true;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]]?: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T], { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]>]: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]]?: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T], { [k in keyof { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }]: undefined extends { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T]: T[k] extends never ? never : k; }[keyof T]]>]: { [k in keyof import("./helpers/objectUtil").objectUtil.NoNever<T>]: import("./helpers/objectUtil").objectUtil.NoNever<T>[k]["_type"]; }[k]; })[k]; }>;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]]?: { [k in keyof T]: T[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T, { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]>]: { [k in keyof T]: T[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]]?: { [k in keyof T]: T[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T, { [k in keyof { [k in keyof T]: T[k]["_type"]; }]: undefined extends { [k in keyof T]: T[k]["_type"]; }[k] ? k : never; }[keyof T]>]: { [k in keyof T]: T[k]["_type"]; }[k]; })[k]; }>;
};
export { ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodVoid, ZodArray, ZodObject, ZodUnion, ZodIntersection, ZodTuple, ZodRecord, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodPromise, ZodType, ZodType as Schema, ZodType as ZodSchema, ZodTypeAny, ZodDef, ZodError, ZodErrorMap, ZodErrorCode, ZodParsedType, ZodCodeGenerator, };
export { TypeOf, TypeOf as infer };

@@ -13,14 +13,12 @@ import * as z from './types/base';

};
export declare const getParsedType: (data: any) => "object" | "symbol" | "unknown" | "string" | "number" | "integer" | "nan" | "boolean" | "date" | "bigint" | "function" | "undefined" | "null" | "array" | "promise" | "void";
export declare const getParsedType: (data: any) => "string" | "nan" | "number" | "integer" | "boolean" | "date" | "bigint" | "symbol" | "function" | "undefined" | "null" | "array" | "object" | "unknown" | "promise" | "void";
export declare const ZodParsedType: {
object: "object";
symbol: "symbol";
unknown: "unknown";
string: "string";
nan: "nan";
number: "number";
integer: "integer";
nan: "nan";
boolean: "boolean";
date: "date";
bigint: "bigint";
symbol: "symbol";
function: "function";

@@ -30,2 +28,4 @@ undefined: "undefined";

array: "array";
object: "object";
unknown: "unknown";
promise: "promise";

@@ -32,0 +32,0 @@ void: "void";

@@ -57,3 +57,3 @@ import { ParseParams, MakeErrorData } from '../parser';

check(u: Type | unknown): u is Type;
refine: <Val extends (arg: Type) => any>(check: Val, message?: string | Pick<Check<Type>, "message" | "path" | "params">) => this;
refine: <Val extends (arg: Type) => any>(check: Val, message?: string | Pick<Check<Type>, "path" | "message" | "params">) => this;
refinement: (refinement: Check<Type>) => this;

@@ -60,0 +60,0 @@ protected _refinement: (refinement: InternalCheck<Type>) => this;

@@ -43,4 +43,4 @@ import * as z from './base';

merge: <MergeShape extends z.ZodRawShape, MergeParams extends ZodObjectParams>(other: ZodObject<MergeShape, MergeParams>) => ZodObject<T & MergeShape, objectUtil.MergeObjectParams<Params, MergeParams>>;
pick: <Mask extends { [k in keyof T]?: true | undefined; }>(mask: Mask) => ZodObject<{ [k in keyof Mask]: k extends keyof T ? T[k] : never; }, Params, ZodObjectType<{ [k in keyof Mask]: k extends keyof T ? T[k] : never; }, Params>>;
omit: <Mask extends { [k in keyof T]?: true | undefined; }>(mask: Mask) => ZodObject<{ [k in keyof T]: k extends keyof Mask ? never : T[k]; }, Params, ZodObjectType<{ [k in keyof T]: k extends keyof Mask ? never : T[k]; }, Params>>;
pick: <Mask extends { [k in keyof T]?: true | undefined; }>(mask: Mask) => ZodObject<objectUtil.NoNever<{ [k in keyof Mask]: k extends keyof T ? T[k] : never; }>, Params, ZodObjectType<objectUtil.NoNever<{ [k in keyof Mask]: k extends keyof T ? T[k] : never; }>, Params>>;
omit: <Mask extends { [k in keyof T]?: true | undefined; }>(mask: Mask) => ZodObject<objectUtil.NoNever<{ [k in keyof T]: k extends keyof Mask ? never : T[k]; }>, Params, ZodObjectType<objectUtil.NoNever<{ [k in keyof T]: k extends keyof Mask ? never : T[k]; }>, Params>>;
partial: () => ZodObject<{ [k in keyof T]: ZodUnion<[T[k], ZodUndefined]>; }, Params, ZodObjectType<{ [k in keyof T]: ZodUnion<[T[k], ZodUndefined]>; }, Params>>;

@@ -50,7 +50,7 @@ deepPartial: () => partialUtil.RootDeepPartial<this>;

strict: true;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]]?: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1], { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]>]: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]]?: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1], { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]>]: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k]; })[k]; }>;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]]?: { [k in keyof T_1]: T_1[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T_1, { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]>]: { [k in keyof T_1]: T_1[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]]?: { [k in keyof T_1]: T_1[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T_1, { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]>]: { [k in keyof T_1]: T_1[k]["_type"]; }[k]; })[k]; }>;
static lazycreate: <T_1 extends z.ZodRawShape>(shape: () => T_1) => ZodObject<T_1, {
strict: true;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]]?: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1], { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]>]: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]]?: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] | undefined; } & { [k in Exclude<{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1], { [k in keyof { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }]: undefined extends { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k] ? k : never; }[{ [k in keyof T_1]: T_1[k] extends never ? never : k; }[keyof T_1]]>]: { [k in keyof objectUtil.NoNever<T_1>]: objectUtil.NoNever<T_1>[k]["_type"]; }[k]; })[k]; }>;
}, { [k in keyof ({ [k in { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]]?: { [k in keyof T_1]: T_1[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T_1, { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]>]: { [k in keyof T_1]: T_1[k]["_type"]; }[k]; })]: ({ [k in { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]]?: { [k in keyof T_1]: T_1[k]["_type"]; }[k] | undefined; } & { [k in Exclude<keyof T_1, { [k in keyof { [k in keyof T_1]: T_1[k]["_type"]; }]: undefined extends { [k in keyof T_1]: T_1[k]["_type"]; }[k] ? k : never; }[keyof T_1]>]: { [k in keyof T_1]: T_1[k]["_type"]; }[k]; })[k]; }>;
}
export {};
{
"name": "zod",
"version": "1.10.1",
"version": "1.10.2-canary",
"description": "TypeScript-first schema declaration and validation library with static type inference",

@@ -5,0 +5,0 @@ "main": "./lib/src/index.js",

@@ -39,12 +39,9 @@ <p align="center">

Hi! ๐Ÿ‘‹
Hi! ๐Ÿ‘‹ I'm Colin (AKA [@vriad](https://twitter.com/vriad)), creator/maintainer of Zod. Currently I work on Zod in my spare time, but I'd love to drop my other commitments and work on it (and other OSS projects) full time. To that end, I recently applied and was accepted into the GitHub Sponsors program, which I hope will provide the resources I need to focus on open-source full time.
I'm Colin (AKA [@vriad](https://twitter.com/vriad)), creator/maintainer of Zod. Currently I work on Zod in my spare time, but I'd love to drop my other commitments and work on it (and other OSS projects) full time. To that end, I recently applied and was accepted into the GitHub Sponsors program, which I hope will provide the resources I need to focus on open-source full time.
If you make money from the software you build with Zod, I would massively appreciate a sponsorship at any level! ๐Ÿ™
If you make money from the software you build with Zod, I would massively appreciate a sponsorship at any level! ๐Ÿ™ https://github.com/sponsors/vriad
Colin
https://github.com/sponsors/vriad
<p align="right">
โ€” Colin
</p>
### Sponsors

@@ -54,6 +51,21 @@

<tr>
<td align="center">
<a href="https://github.com/kevinsimper">
<img src="https://avatars1.githubusercontent.com/u/1126497?s=460&v=4" width="100px;" alt="" />
</a>
<br>
<b>Kevin Simper</b>
<br>
<a href="https://github.com/kevinsimper">@kevinsimper</a>
</td>
<td align="center">
<a href="https://twitter.com/flybayer"><img src="https://avatars2.githubusercontent.com/u/8813276?s=460&u=4ff8beb9a67b173015c4b426a92d89cab960af1b&v=4" width="100px;" alt=""/><br /><b>Brandon Bayer</b></a><br/>
<span>Creator of <a href="https://blitzjs.com">Blitz.js</a></span>
<br />
<a href="https://twitter.com/flybayer">
<img src="https://avatars2.githubusercontent.com/u/8813276?s=460&u=4ff8beb9a67b173015c4b426a92d89cab960af1b&v=4" width="100px;" alt=""/>
</a>
<br>
<b>Brandon Bayer</b>
<br/>
<a href="https://twitter.com/flybayer">@flybayer</a>,
<span>creator of <a href="https://blitzjs.com">Blitz.js</a></span>
<br />
</td>

@@ -65,12 +77,2 @@ </tr>

<!--
| | |
|---|-|
| <p align="center"> Brandon Bayer<br>[@flybayer](https://twitter.com/flybayer)</p> | _To get your name + Twitter + website here, <br/>sponsor Zod at the [Freelancer](https://github.com/sponsors/vriad) or [Consultancy](https://github.com/sponsors/vriad) tier._ |
| | -->
<!-- ### Sponsors who know Zod
_To get your name + Twitter + website here, sponsor Zod at the [Freelancer](https://github.com/sponsors/vriad) or [Consultancy](https://github.com/sponsors/vriad) tier._ -->
# Table of contents

@@ -273,3 +275,3 @@

These params let you define powerful custom behavior. Zod is commonly used for form validation. If you want to verify that "password" and "confirmPassword" match, you can do so like this:
These params let you define powerful custom behavior. Zod is commonly used for form validation. If you want to verify that "password" and "confirm" match, you can do so like this:

@@ -281,7 +283,7 @@ ```ts

})
.refine(data => data.confirm === data.password, {
.refine(data => data.password === data.confirm, {
message: "Passwords don't match",
path: ['confirm'],
path: ['confirm'], // set path of error
})
.parse({ password: 'asdf', confirmPassword: 'qwer' });
.parse({ password: 'asdf', confirm: 'qwer' });
```

@@ -288,0 +290,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with โšก๏ธ by Socket Inc