New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

moleculer-zod-validator

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moleculer-zod-validator - npm Package Compare versions

Comparing version 3.0.1 to 3.1.0

60

build/params.d.ts
import { z } from "zod";
import type { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodRawShape, ZodTuple, ZodTupleItems, ZodTypeAny } from "zod";
/**

@@ -6,6 +7,14 @@ * An adapter for a standard {@link https://github.com/colinhacks/zod#objects ZodObject},

*/
export declare class ZodParams<Schema extends Parameters<(typeof z)["object"]>[0]> {
export declare class ZodParams<ZPSchema extends Parameters<(typeof z)["object"]>[0], ZPOptions extends ZodParamsOptionsType> {
private _rawSchema;
private _rawSchemaWithOptions;
readonly _validator: import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never>> | import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_5 ? { [k_4 in keyof T_5]: undefined extends z.baseObjectOutputType<Schema>[k_4] ? never : k_4; } : never)[keyof Schema]> extends infer T_3 ? { [k_1 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_4 ? { [k_3 in keyof T_4]: undefined extends z.baseObjectOutputType<Schema>[k_3] ? never : k_3; } : never)[keyof Schema]>[k_1]; } : never, z.baseObjectInputType<Schema> extends infer T_6 ? { [k_2 in keyof T_6]: z.baseObjectInputType<Schema>[k_2]; } : never>> | import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "passthrough", z.ZodTypeAny, z.objectOutputType<Schema, z.ZodTypeAny, "passthrough">, z.objectInputType<Schema, z.ZodTypeAny, "passthrough">>> | z.ZodObject<Schema, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never> | z.ZodObject<Schema, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never> | z.ZodObject<Schema, "passthrough", any, z.objectOutputType<Schema, any, "passthrough">, z.objectInputType<Schema, any, "passthrough">> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "passthrough", any, z.objectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, any, "passthrough">, z.objectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, any, "passthrough">> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_9 extends object ? { [k_7 in keyof T_9]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]> extends infer T_7 ? { [k_6 in keyof T_7]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_8 extends object ? { [k_7 in keyof T_8]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]>[k_6]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_10 ? { [k_8 in keyof T_10]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_8]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_13 extends object ? { [k_7 in keyof T_13]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]> extends infer T_11 ? { [k_6 in keyof T_11]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_12 extends object ? { [k_7 in keyof T_12]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]>[k_6]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_14 ? { [k_8 in keyof T_14]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_8]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_15 ? { [k_9 in keyof T_15]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_21 ? { [k_9 in keyof T_21]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_24 ? { [k_9 in keyof T_24]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_22 extends object ? { [k_11 in keyof T_22]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_23 ? { [k_9 in keyof T_23]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_11] ? never : k_11; } : never)[keyof Schema]> extends infer T_16 ? { [k_10 in keyof T_16]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_17 ? { [k_9 in keyof T_17]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_20 ? { [k_9 in keyof T_20]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_18 extends object ? { [k_11 in keyof T_18]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_19 ? { [k_9 in keyof T_19]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_11] ? never : k_11; } : never)[keyof Schema]>[k_10]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_27 ? { [k_9 in keyof T_27]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_25 ? { [k_12 in keyof T_25]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_26 ? { [k_9 in keyof T_26]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_12]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_28 ? { [k_13 in keyof T_28]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_34 ? { [k_13 in keyof T_34]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_37 ? { [k_13 in keyof T_37]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_35 extends object ? { [k_15 in keyof T_35]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_36 ? { [k_13 in keyof T_36]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_15] ? never : k_15; } : never)[keyof Schema]> extends infer T_29 ? { [k_14 in keyof T_29]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_30 ? { [k_13 in keyof T_30]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_33 ? { [k_13 in keyof T_33]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_31 extends object ? { [k_15 in keyof T_31]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_32 ? { [k_13 in keyof T_32]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_15] ? never : k_15; } : never)[keyof Schema]>[k_14]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_40 ? { [k_13 in keyof T_40]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_38 ? { [k_16 in keyof T_38]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_39 ? { [k_13 in keyof T_39]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_16]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_41 ? { [k_17 in keyof T_41]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, "passthrough", any, z.objectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_42 ? { [k_17 in keyof T_42]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, any, "passthrough">, z.objectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_43 ? { [k_17 in keyof T_43]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, any, "passthrough">> | z.ZodObject<z.ZodRawShape & Schema extends infer T_44 ? { [k_18 in keyof T_44]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, "passthrough", any, z.objectOutputType<z.ZodRawShape & Schema extends infer T_45 ? { [k_18 in keyof T_45]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, any, "passthrough">, z.objectInputType<z.ZodRawShape & Schema extends infer T_46 ? { [k_18 in keyof T_46]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, any, "passthrough">> | z.ZodObject<z.ZodRawShape & Schema extends infer T_47 ? { [k_19 in keyof T_47]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_53 ? { [k_19 in keyof T_53]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_56 ? { [k_19 in keyof T_56]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_54 extends object ? { [k_21 in keyof T_54]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_55 ? { [k_19 in keyof T_55]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_21] ? never : k_21; } : never)[string | number | keyof Schema]> extends infer T_48 ? { [k_20 in keyof T_48]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_49 ? { [k_19 in keyof T_49]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_52 ? { [k_19 in keyof T_52]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_50 extends object ? { [k_21 in keyof T_50]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_51 ? { [k_19 in keyof T_51]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_21] ? never : k_21; } : never)[string | number | keyof Schema]>[k_20]; } : never, z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_59 ? { [k_19 in keyof T_59]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_57 ? { [k_22 in keyof T_57]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_58 ? { [k_19 in keyof T_58]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_22]; } : never> | z.ZodObject<z.ZodRawShape & Schema extends infer T_60 ? { [k_23 in keyof T_60]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_66 ? { [k_23 in keyof T_66]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_69 ? { [k_23 in keyof T_69]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_67 extends object ? { [k_25 in keyof T_67]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_68 ? { [k_23 in keyof T_68]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_25] ? never : k_25; } : never)[string | number | keyof Schema]> extends infer T_61 ? { [k_24 in keyof T_61]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_62 ? { [k_23 in keyof T_62]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_65 ? { [k_23 in keyof T_65]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_63 extends object ? { [k_25 in keyof T_63]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_64 ? { [k_23 in keyof T_64]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_25] ? never : k_25; } : never)[string | number | keyof Schema]>[k_24]; } : never, z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_72 ? { [k_23 in keyof T_72]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_70 ? { [k_26 in keyof T_70]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_71 ? { [k_23 in keyof T_71]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_26]; } : never>;
/** This property is purely for type inference and should not be used. */
_mode: ZPOptions["strip"] extends true ? "strip" : ZPOptions["strict"] extends true ? "strict" : ZPOptions["passthrough"] extends true ? "passthrough" : "strip";
/** This property is purely for type inference and should not be used. */
_processedSchema: ZPOptions["partial"] extends true ? ZodParamsMakeOptionalSchema<ZPSchema> : ZPOptions["deepPartial"] extends true ? {
[K in keyof ZPSchema]: ZPSchema[K] extends ZodOptional<ZPSchema[K]> ? ZodDeepPartial<ZPSchema[K]> : ZodOptional<ZodDeepPartial<ZPSchema[K]>>;
} : ZPSchema;
/** This property is purely for type inference and should not be used. */
_catchall: ZodTypeAny;
readonly _validator: z.ZodObject<this["_processedSchema"], this["_mode"], this["_catchall"]>;
/**

@@ -16,4 +25,19 @@ * Creates a new ZodParams adapter, which can be used to more easily provide typing information to Moleculer services and calls.

* {@link https://github.com/colinhacks/zod#table-of-contents which can be referenced under the Objects section in the Zod documentation}.
*
* **Note**: {@link https://github.com/colinhacks/zod/issues/1949 There's currently a known issue in Zod where catchall type inferences don't work correctly.}
* Until this upstream issue is fixed, catchall type inferences on ZodParams will
* be disabled as not to break existing projects. This will not impact the runtime
* behavior of catchall in the validator, just the type inference.
*
* If you wish to emulate the type inference, you can do so by using a TS union
* when using broker.call or ctx.call.
*
* @example
* broker.call<
* ReturnType,
* typeof zodParamObject.call & {[index: string]: string}
* >({ ... })
*
*/
constructor(schema: Schema, options?: ZodParamsOptionsType);
constructor(schema: ZPSchema, options?: ZPOptions);
/**

@@ -34,3 +58,3 @@ * Returns the raw Zod schema provided in the constructor. This should be passed

*/
get schema(): Schema & {
get schema(): ZPSchema & {
$$$options: {

@@ -48,3 +72,3 @@ partial?: boolean | undefined;

*/
get validator(): import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never>> | import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_5 ? { [k_4 in keyof T_5]: undefined extends z.baseObjectOutputType<Schema>[k_4] ? never : k_4; } : never)[keyof Schema]> extends infer T_3 ? { [k_1 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_4 ? { [k_3 in keyof T_4]: undefined extends z.baseObjectOutputType<Schema>[k_3] ? never : k_3; } : never)[keyof Schema]>[k_1]; } : never, z.baseObjectInputType<Schema> extends infer T_6 ? { [k_2 in keyof T_6]: z.baseObjectInputType<Schema>[k_2]; } : never>> | import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<z.ZodObject<Schema, "passthrough", z.ZodTypeAny, z.objectOutputType<Schema, z.ZodTypeAny, "passthrough">, z.objectInputType<Schema, z.ZodTypeAny, "passthrough">>> | z.ZodObject<Schema, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never> | z.ZodObject<Schema, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 extends object ? { [k_1 in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k_1] ? never : k_1; } : never)[keyof Schema]>[k]; } : never, z.baseObjectInputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: z.baseObjectInputType<Schema>[k_2]; } : never> | z.ZodObject<Schema, "passthrough", any, z.objectOutputType<Schema, any, "passthrough">, z.objectInputType<Schema, any, "passthrough">> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "passthrough", any, z.objectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, any, "passthrough">, z.objectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, any, "passthrough">> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_9 extends object ? { [k_7 in keyof T_9]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]> extends infer T_7 ? { [k_6 in keyof T_7]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_8 extends object ? { [k_7 in keyof T_8]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]>[k_6]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_10 ? { [k_8 in keyof T_10]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_8]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_13 extends object ? { [k_7 in keyof T_13]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]> extends infer T_11 ? { [k_6 in keyof T_11]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_12 extends object ? { [k_7 in keyof T_12]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]>[k_6]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }> extends infer T_14 ? { [k_8 in keyof T_14]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }>[k_8]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_15 ? { [k_9 in keyof T_15]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_21 ? { [k_9 in keyof T_21]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_24 ? { [k_9 in keyof T_24]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_22 extends object ? { [k_11 in keyof T_22]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_23 ? { [k_9 in keyof T_23]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_11] ? never : k_11; } : never)[keyof Schema]> extends infer T_16 ? { [k_10 in keyof T_16]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_17 ? { [k_9 in keyof T_17]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_20 ? { [k_9 in keyof T_20]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_18 extends object ? { [k_11 in keyof T_18]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_19 ? { [k_9 in keyof T_19]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_11] ? never : k_11; } : never)[keyof Schema]>[k_10]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_27 ? { [k_9 in keyof T_27]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never> extends infer T_25 ? { [k_12 in keyof T_25]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_26 ? { [k_9 in keyof T_26]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_9]>>; } : never>[k_12]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_28 ? { [k_13 in keyof T_28]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_34 ? { [k_13 in keyof T_34]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_37 ? { [k_13 in keyof T_37]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_35 extends object ? { [k_15 in keyof T_35]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_36 ? { [k_13 in keyof T_36]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_15] ? never : k_15; } : never)[keyof Schema]> extends infer T_29 ? { [k_14 in keyof T_29]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_30 ? { [k_13 in keyof T_30]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>, (z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_33 ? { [k_13 in keyof T_33]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_31 extends object ? { [k_15 in keyof T_31]: undefined extends z.baseObjectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_32 ? { [k_13 in keyof T_32]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_15] ? never : k_15; } : never)[keyof Schema]>[k_14]; } : never, z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_40 ? { [k_13 in keyof T_40]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never> extends infer T_38 ? { [k_16 in keyof T_38]: z.baseObjectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_39 ? { [k_13 in keyof T_39]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_13]>>; } : never>[k_16]; } : never> | z.ZodObject<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_41 ? { [k_17 in keyof T_41]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, "passthrough", any, z.objectOutputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_42 ? { [k_17 in keyof T_42]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, any, "passthrough">, z.objectInputType<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; } extends infer T_43 ? { [k_17 in keyof T_43]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_5 in keyof Schema]: z.ZodOptional<Schema[k_5]>; }[k_17]>>; } : never, any, "passthrough">> | z.ZodObject<z.ZodRawShape & Schema extends infer T_44 ? { [k_18 in keyof T_44]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, "passthrough", any, z.objectOutputType<z.ZodRawShape & Schema extends infer T_45 ? { [k_18 in keyof T_45]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, any, "passthrough">, z.objectInputType<z.ZodRawShape & Schema extends infer T_46 ? { [k_18 in keyof T_46]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_18]>>; } : never, any, "passthrough">> | z.ZodObject<z.ZodRawShape & Schema extends infer T_47 ? { [k_19 in keyof T_47]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never, "strip", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_53 ? { [k_19 in keyof T_53]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_56 ? { [k_19 in keyof T_56]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_54 extends object ? { [k_21 in keyof T_54]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_55 ? { [k_19 in keyof T_55]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_21] ? never : k_21; } : never)[string | number | keyof Schema]> extends infer T_48 ? { [k_20 in keyof T_48]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_49 ? { [k_19 in keyof T_49]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_52 ? { [k_19 in keyof T_52]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_50 extends object ? { [k_21 in keyof T_50]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_51 ? { [k_19 in keyof T_51]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_21] ? never : k_21; } : never)[string | number | keyof Schema]>[k_20]; } : never, z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_59 ? { [k_19 in keyof T_59]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_57 ? { [k_22 in keyof T_57]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_58 ? { [k_19 in keyof T_58]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_22]; } : never> | z.ZodObject<z.ZodRawShape & Schema extends infer T_60 ? { [k_23 in keyof T_60]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never, "strict", any, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_66 ? { [k_23 in keyof T_66]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_69 ? { [k_23 in keyof T_69]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_67 extends object ? { [k_25 in keyof T_67]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_68 ? { [k_23 in keyof T_68]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_25] ? never : k_25; } : never)[string | number | keyof Schema]> extends infer T_61 ? { [k_24 in keyof T_61]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_62 ? { [k_23 in keyof T_62]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_65 ? { [k_23 in keyof T_65]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_63 extends object ? { [k_25 in keyof T_63]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_64 ? { [k_23 in keyof T_64]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_25] ? never : k_25; } : never)[string | number | keyof Schema]>[k_24]; } : never, z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_72 ? { [k_23 in keyof T_72]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never> extends infer T_70 ? { [k_26 in keyof T_70]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_71 ? { [k_23 in keyof T_71]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_23]>>; } : never>[k_26]; } : never>;
get validator(): z.ZodObject<this["_processedSchema"], this["_mode"], this["_catchall"], z.objectOutputType<this["_processedSchema"], this["_catchall"], this["_mode"]>, z.objectInputType<this["_processedSchema"], this["_catchall"], this["_mode"]>>;
/**

@@ -61,7 +85,7 @@ * The inferred input type from the compiled validator. This should be used with

*/
get call(): (z.baseObjectInputType<Schema> extends infer T ? { [k_2 in keyof T]: z.baseObjectInputType<Schema>[k_2]; } : never) | (z.baseObjectInputType<Schema> extends infer T_1 ? { [k in keyof T_1]: z.baseObjectInputType<Schema>[k]; } : never) | z.objectInputType<Schema, z.ZodTypeAny, "passthrough"> | (z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }>[k_1]; } : never) | (z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; } extends infer T_5 ? { [k_5 in keyof T_5]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }[k_5]>>; } : never> extends infer T_3 ? { [k_4 in keyof T_3]: z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; } extends infer T_4 ? { [k_5 in keyof T_4]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }[k_5]>>; } : never>[k_4]; } : never) | (z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; } extends infer T_8 ? { [k_7 in keyof T_8]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }[k_7]>>; } : never> extends infer T_6 ? { [k_6 in keyof T_6]: z.baseObjectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; } extends infer T_7 ? { [k_7 in keyof T_7]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }[k_7]>>; } : never>[k_6]; } : never) | z.objectInputType<z.ZodRawShape & Schema extends infer T_9 ? { [k_8 in keyof T_9]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_8]>>; } : never, z.ZodTypeAny, "passthrough"> | (z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_12 ? { [k_10 in keyof T_12]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_10]>>; } : never> extends infer T_10 ? { [k_9 in keyof T_10]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_11 ? { [k_10 in keyof T_11]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_10]>>; } : never>[k_9]; } : never) | (z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_15 ? { [k_12 in keyof T_15]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_12]>>; } : never> extends infer T_13 ? { [k_11 in keyof T_13]: z.baseObjectInputType<z.ZodRawShape & Schema extends infer T_14 ? { [k_12 in keyof T_14]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_12]>>; } : never>[k_11]; } : never) | z.objectInputType<Schema, any, "passthrough"> | z.objectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }, any, "passthrough"> | z.objectInputType<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; } extends infer T_16 ? { [k_13 in keyof T_16]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_3 in keyof Schema]: z.ZodOptional<Schema[k_3]>; }[k_13]>>; } : never, any, "passthrough"> | z.objectInputType<z.ZodRawShape & Schema extends infer T_17 ? { [k_8 in keyof T_17]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_8]>>; } : never, any, "passthrough">;
readonly call: z.input<(typeof this)["_validator"]>;
/**
* The inferred output type from the compiled validator. This should be used within
* the `Context` object in the action definition to get the proper types after the
* parameters have passed through validation.
* parameters have passed through validation (and possible transformations).
*

@@ -79,11 +103,11 @@ * @example

*/
get context(): (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_2 ? { [k_2 in keyof T_2]: undefined extends z.baseObjectOutputType<Schema>[k_2] ? never : k_2; } : never)[keyof Schema]> extends infer T ? { [k_1 in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_1 ? { [k in keyof T_1]: undefined extends z.baseObjectOutputType<Schema>[k] ? never : k; } : never)[keyof Schema]>[k_1]; } : never) | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_4 extends object ? { [k_4 in keyof T_4]: undefined extends z.baseObjectOutputType<Schema>[k_4] ? never : k_4; } : never)[keyof Schema]> extends infer T_3 ? { [k_3 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<Schema>, (z.baseObjectOutputType<Schema> extends infer T_4 extends object ? { [k_4 in keyof T_4]: undefined extends z.baseObjectOutputType<Schema>[k_4] ? never : k_4; } : never)[keyof Schema]>[k_3]; } : never) | z.objectOutputType<Schema, z.ZodTypeAny, "passthrough"> | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }> extends infer T_6 extends object ? { [k_7 in keyof T_6]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]> extends infer T_5 ? { [k_5 in keyof T_5]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }> extends infer T_6 extends object ? { [k_7 in keyof T_6]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }>[k_7] ? never : k_7; } : never)[keyof Schema]>[k_5]; } : never) | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_12 ? { [k_9 in keyof T_12]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_15 ? { [k_9 in keyof T_15]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never> extends infer T_13 extends object ? { [k_10 in keyof T_13]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_14 ? { [k_9 in keyof T_14]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never>[k_10] ? never : k_10; } : never)[keyof Schema]> extends infer T_7 ? { [k_8 in keyof T_7]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_8 ? { [k_9 in keyof T_8]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_11 ? { [k_9 in keyof T_11]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never> extends infer T_9 extends object ? { [k_10 in keyof T_9]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_10 ? { [k_9 in keyof T_10]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_9]>>; } : never>[k_10] ? never : k_10; } : never)[keyof Schema]>[k_8]; } : never) | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_21 ? { [k_12 in keyof T_21]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_24 ? { [k_12 in keyof T_24]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never> extends infer T_22 extends object ? { [k_13 in keyof T_22]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_23 ? { [k_12 in keyof T_23]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never>[k_13] ? never : k_13; } : never)[keyof Schema]> extends infer T_16 ? { [k_11 in keyof T_16]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_17 ? { [k_12 in keyof T_17]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never>, (z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_20 ? { [k_12 in keyof T_20]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never> extends infer T_18 extends object ? { [k_13 in keyof T_18]: undefined extends z.baseObjectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_19 ? { [k_12 in keyof T_19]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_12]>>; } : never>[k_13] ? never : k_13; } : never)[keyof Schema]>[k_11]; } : never) | z.objectOutputType<z.ZodRawShape & Schema extends infer T_25 ? { [k_14 in keyof T_25]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_14]>>; } : never, z.ZodTypeAny, "passthrough"> | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_31 ? { [k_16 in keyof T_31]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_34 ? { [k_16 in keyof T_34]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never> extends infer T_32 extends object ? { [k_17 in keyof T_32]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_33 ? { [k_16 in keyof T_33]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never>[k_17] ? never : k_17; } : never)[string | number | keyof Schema]> extends infer T_26 ? { [k_15 in keyof T_26]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_27 ? { [k_16 in keyof T_27]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_30 ? { [k_16 in keyof T_30]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never> extends infer T_28 extends object ? { [k_17 in keyof T_28]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_29 ? { [k_16 in keyof T_29]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_16]>>; } : never>[k_17] ? never : k_17; } : never)[string | number | keyof Schema]>[k_15]; } : never) | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_40 ? { [k_19 in keyof T_40]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_43 ? { [k_19 in keyof T_43]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_41 extends object ? { [k_20 in keyof T_41]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_42 ? { [k_19 in keyof T_42]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_20] ? never : k_20; } : never)[string | number | keyof Schema]> extends infer T_35 ? { [k_18 in keyof T_35]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_36 ? { [k_19 in keyof T_36]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>, (z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_39 ? { [k_19 in keyof T_39]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never> extends infer T_37 extends object ? { [k_20 in keyof T_37]: undefined extends z.baseObjectOutputType<z.ZodRawShape & Schema extends infer T_38 ? { [k_19 in keyof T_38]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_19]>>; } : never>[k_20] ? never : k_20; } : never)[string | number | keyof Schema]>[k_18]; } : never) | z.objectOutputType<Schema, any, "passthrough"> | z.objectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }, any, "passthrough"> | z.objectOutputType<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; } extends infer T_44 ? { [k_21 in keyof T_44]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<{ [k_6 in keyof Schema]: z.ZodOptional<Schema[k_6]>; }[k_21]>>; } : never, any, "passthrough"> | z.objectOutputType<z.ZodRawShape & Schema extends infer T_45 ? { [k_14 in keyof T_45]: z.ZodOptional<import("zod/lib/helpers/partialUtil").partialUtil.DeepPartial<(z.ZodRawShape & Schema)[k_14]>>; } : never, any, "passthrough">;
readonly context: z.output<(typeof this)["_validator"]>;
}
declare const ZodParamsOptions: z.ZodObject<{
partial: z.ZodOptional<z.ZodBoolean>;
deepPartial: z.ZodOptional<z.ZodBoolean>;
strict: z.ZodOptional<z.ZodBoolean>;
partial: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
deepPartial: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
strict: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
catchall: z.ZodOptional<z.ZodAny>;
passthrough: z.ZodOptional<z.ZodBoolean>;
strip: z.ZodOptional<z.ZodBoolean>;
strip: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {

@@ -104,3 +128,13 @@ partial?: boolean | undefined;

}>;
export type ZodParamsOptionsType = z.infer<typeof ZodParamsOptions>;
export type ZodParamsOptionsType = {
catchall?: ZodTypeAny;
} & Omit<z.input<typeof ZodParamsOptions>, "catchall">;
type ZodParamsMakeOptionalSchema<T extends Parameters<(typeof z)["object"]>[0]> = {
[K in keyof T]: T[K] extends ZodOptional<T[K]> ? T[K] : ZodOptional<T[K]>;
};
type ZodDeepPartial<T extends ZodTypeAny> = T extends ZodObject<ZodRawShape> ? ZodObject<{
[k in keyof T["shape"]]: ZodOptional<ZodDeepPartial<T["shape"][k]>>;
}, T["_def"]["unknownKeys"], T["_def"]["catchall"]> : T extends ZodArray<infer Type, infer Card> ? ZodArray<ZodDeepPartial<Type>, Card> : T extends ZodOptional<infer Type> ? ZodOptional<ZodDeepPartial<Type>> : T extends ZodNullable<infer Type> ? ZodNullable<ZodDeepPartial<Type>> : T extends ZodTuple<infer Items> ? {
[k in keyof Items]: Items[k] extends ZodTypeAny ? ZodDeepPartial<Items[k]> : never;
} extends infer PI ? PI extends ZodTupleItems ? ZodTuple<PI> : never : never : T;
export {};

@@ -15,40 +15,53 @@ "use strict";

* {@link https://github.com/colinhacks/zod#table-of-contents which can be referenced under the Objects section in the Zod documentation}.
*
* **Note**: {@link https://github.com/colinhacks/zod/issues/1949 There's currently a known issue in Zod where catchall type inferences don't work correctly.}
* Until this upstream issue is fixed, catchall type inferences on ZodParams will
* be disabled as not to break existing projects. This will not impact the runtime
* behavior of catchall in the validator, just the type inference.
*
* If you wish to emulate the type inference, you can do so by using a TS union
* when using broker.call or ctx.call.
*
* @example
* broker.call<
* ReturnType,
* typeof zodParamObject.call & {[index: string]: string}
* >({ ... })
*
*/
constructor(schema, options) {
this._rawSchema = schema;
options = Object.assign({}, {
partial: false,
deepPartial: false,
strict: false,
catchall: undefined,
strip: false,
passthrough: false
}, options);
const opts = ZodParamsOptions.parse(options);
let validator;
// So, there's a bug in my code where the types for all of these options
// are generated regardless of the options chosen. I'm not sure how to address
// this, unfortunately. TODO: Figure this out later
const opts = ZodParamsOptions.parse(options || {});
// This is an effort to hopefully improve type inference
// As for the @ts-expect-errors ahead, while trying to get this code to work as
// you'd expect, I had to use some of my own types that were supposed to be
// interoperable with the original Zod types. While the interop is supposed to
// be one-way, TypeScript is giving me errors assuming it's supposed to go both
// ways. As much as I'd like to give TS as much power over things as I can,
// here it's just wrong.
// @ts-expect-error
this._validator = zod_1.z.object(this._rawSchema);
if (opts.strip) {
validator = zod_1.z.object(this._rawSchema).strip();
// @ts-expect-error
this._validator = this._validator.strip();
}
else if (opts.passthrough) {
validator = zod_1.z.object(this._rawSchema).passthrough();
}
else if (opts.strict) {
validator = zod_1.z.object(this._rawSchema).strict();
// @ts-expect-error
this._validator = this._validator.strict();
}
else {
validator = zod_1.z.object(this._rawSchema);
else if (opts.passthrough) {
// @ts-expect-error
this._validator = this._validator.passthrough();
}
if (opts.partial) {
validator = validator.partial();
// @ts-expect-error
this._validator = this._validator.partial();
}
if (opts.deepPartial) {
validator = validator.deepPartial();
else if (opts.deepPartial) {
// @ts-expect-error
this._validator = this._validator.deepPartial();
}
if (opts.catchall) {
validator = validator.catchall(opts.catchall);
this._validator = this._validator.catchall(opts.catchall);
}
this._validator = validator;
this._rawSchemaWithOptions = Object.assign({}, schema, {

@@ -82,35 +95,2 @@ $$$options: opts

}
/**
* The inferred input type from the compiled validator. This should be used with
* `broker.call` or `ctx.call` as the second type parameter to get proper types
* for the action call.
*
* @example
* broker.call<
* ReturnType,
* typeof zodParamObject.call
* >({ ... })
*/
get call() {
return this._validator._input;
}
/**
* The inferred output type from the compiled validator. This should be used within
* the `Context` object in the action definition to get the proper types after the
* parameters have passed through validation.
*
* @example
* broker.createService({
* name: "example",
* actions: {
* exampleAction: {
* params: zodParamObject.schema,
* handler(ctx: Context<typeof zodParamObject.context>) { ... }
* }
* }
* });
*/
get context() {
return this._validator._output;
}
}

@@ -120,9 +100,9 @@ exports.ZodParams = ZodParams;

.object({
partial: zod_1.z.boolean(),
deepPartial: zod_1.z.boolean(),
strict: zod_1.z.boolean(),
partial: zod_1.z.boolean().default(false),
deepPartial: zod_1.z.boolean().default(false),
strict: zod_1.z.boolean().default(false),
catchall: zod_1.z.any(),
passthrough: zod_1.z.boolean(),
strip: zod_1.z.boolean()
strip: zod_1.z.boolean().default(false)
})
.deepPartial();
.partial();

@@ -58,3 +58,3 @@ "use strict";

}
if (opts.deepPartial) {
else if (opts.deepPartial) {
compiled = compiled.deepPartial();

@@ -61,0 +61,0 @@ }

# CHANGELOG
(all dates use the ISO-8601 format, which is YYYY/MM/DD)
## 3.1.0 (2023/4/21)
* Type inference now works (mostly) as expected! While the runtime behavior of the package worked as expected during work on 3.0.0 and was what I had been testing, I somehow was completely unaware that type inference was completely broken. It's a bit embarrassing for me, to be honest. It took more energy than I had anticipated to make it work, but type inferences now behave when using `typeof .call` and `typeof .context` almost exactly as they do in Zod with `z.input<typeof validator>` and `z.infer<typeof validator>`/`z.output<typeof validator>`. This closes [Issue #5](https://github.com/TheAppleFreak/moleculer-zod-validator/issues/5).
I do say almost, as there is an important note that is worth mentioning. [There's a known upstream bug in Zod where using `.catchall()` results in bugged TypeScript type inference](https://github.com/colinhacks/zod/issues/1949). While I could have left that behavior in ZodParams for parity with Zod, the sudden introduction of that behavior could break builds (it already broke one of our tests, through no fault of my own), so for the time being I've disabled catchall type inference in ZodParams. When the bug is fixed upstream, I'll reenable that behavior here.
Beyond all of this, there should be no other changes and everything should Just Work™ as expected.
* Updated dev dependencies
## 3.0.1 (2023/4/13)
* No changes were made; NPM just didn't get the memo that there was a README.
## 3.0.0 (2023/4/13)

@@ -4,0 +19,0 @@

{
"name": "moleculer-zod-validator",
"version": "3.0.1",
"version": "3.1.0",
"description": "A validator for the Moleculer microservice framework to allow the use of Zod.",

@@ -41,4 +41,4 @@ "author": "TheAppleFreak <TheAppleFreak@gmail.com>",

"devDependencies": {
"@types/jest": "^29.5.0",
"@types/node": "^18.15.11",
"@types/jest": "^29.5.1",
"@types/node": "^18.15.13",
"fastest-validator": "^1.16.0",

@@ -45,0 +45,0 @@ "husky": "^8.0.3",

@@ -57,2 +57,11 @@ # moleculer-zod-validator

**NOTE**: [There is currently an upstream bug in Zod that prevents `catchall` type inference from working correctly.](https://github.com/colinhacks/zod/issues/1949) Type inference for catchall in ZodParams is disabled for the time being until that is fixed. If you wish to emulate the type inference, you can do so by using a type union when using `broker.call` or `ctx.call`.
```ts
broker.call<
ReturnType,
typeof zodParamObject.call & {[index: string]: string}
>({ ... })
```
Additionally, support for object transformations is present, allowing for the use of features such as [preprocessing](https://github.com/colinhacks/zod#preprocess), [refinements](https://github.com/colinhacks/zod#refine), [transforms](https://github.com/colinhacks/zod#transform), and [defaults](https://github.com/colinhacks/zod#default).

@@ -59,0 +68,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