MCPcopy
hub / github.com/colinhacks/zod / ZodPromise

Class ZodPromise

packages/zod/src/v3/types.ts:4235–4274  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4233}
4234
4235export class ZodPromise<T extends ZodTypeAny> extends ZodType<
4236 Promise<T["_output"]>,
4237 ZodPromiseDef<T>,
4238 Promise<T["_input"]>
4239> {
4240 unwrap() {
4241 return this._def.type;
4242 }
4243
4244 _parse(input: ParseInput): ParseReturnType<this["_output"]> {
4245 const { ctx } = this._processInputParams(input);
4246 if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
4247 addIssueToContext(ctx, {
4248 code: ZodIssueCode.invalid_type,
4249 expected: ZodParsedType.promise,
4250 received: ctx.parsedType,
4251 });
4252 return INVALID;
4253 }
4254
4255 const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
4256
4257 return OK(
4258 promisified.then((data: any) => {
4259 return this._def.type.parseAsync(data, {
4260 path: ctx.path,
4261 errorMap: ctx.common.contextualErrorMap,
4262 });
4263 })
4264 );
4265 }
4266
4267 static create = <Inner extends ZodTypeAny>(schema: Inner, params?: RawCreateParams): ZodPromise<Inner> => {
4268 return new ZodPromise({
4269 type: schema,
4270 typeName: ZodFirstPartyTypeKind.ZodPromise,
4271 ...processCreateParams(params),
4272 });
4273 };
4274}
4275
4276//////////////////////////////////////////////
4277//////////////////////////////////////////////

Callers

nothing calls this directly

Calls 1

processCreateParamsFunction · 0.85

Tested by

no test coverage detected