@pothos/plugin-zod
Version:
A Pothos plugin for adding argument validation
27 lines • 1.63 kB
TypeScript
import type { FieldNullability, FieldRequiredness, InputFieldMap, InputShapeFromFields, InputShapeFromTypeParam, InputType, SchemaTypes, TypeParam } from '@pothos/core';
import type { PothosZodPlugin } from '.';
import type { ValidationOptions, ValidationPluginOptions } from './types';
declare global {
export namespace PothosSchemaTypes {
interface Plugins<Types extends SchemaTypes> {
zod: PothosZodPlugin<Types>;
}
interface SchemaBuilderOptions<Types extends SchemaTypes> {
zod?: ValidationPluginOptions<Types>;
}
interface V3SchemaBuilderOptions<Types extends SchemaTypes> {
zod?: never;
validationOptions?: ValidationPluginOptions<Types>;
}
interface FieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape> {
validate?: ValidationOptions<InputShapeFromFields<Args>>;
}
interface InputObjectTypeOptions<Types extends SchemaTypes = SchemaTypes, Fields extends InputFieldMap = InputFieldMap> {
validate?: ValidationOptions<InputShapeFromFields<Fields>>;
}
interface InputFieldOptions<Types extends SchemaTypes = SchemaTypes, Type extends InputType<Types> | [InputType<Types>] = InputType<Types> | [InputType<Types>], Req extends FieldRequiredness<Type> = FieldRequiredness<Type>> {
validate?: ValidationOptions<InputShapeFromTypeParam<Types, Type, true>>;
}
}
}
//# sourceMappingURL=global-types.d.ts.map