UNPKG

@pothos/plugin-errors

Version:

A Pothos plugin for adding typed errors into your schema

43 lines (42 loc) 1.94 kB
import type { EmptyToOptional, FieldNullability, InferredFieldOptionKeys, Normalize, SchemaTypes, TypeParam } from '@pothos/core'; export type GetTypeName = (options: { parentTypeName: string; fieldName: string; }) => string; export interface ErrorsPluginOptions<Types extends SchemaTypes> { defaultTypes?: (new (...args: any[]) => Error)[]; directResult?: boolean; defaultUnionOptions?: Normalize<Omit<PothosSchemaTypes.UnionTypeOptions<Types>, "resolveType" | "types"> & { name?: GetTypeName; }>; defaultResultOptions?: Normalize<Omit<PothosSchemaTypes.ObjectTypeOptions<Types, {}>, "interfaces" | "isTypeOf"> & { name?: GetTypeName; }>; defaultItemResultOptions?: Normalize<Omit<PothosSchemaTypes.ObjectTypeOptions<Types, {}>, "interfaces" | "isTypeOf"> & { name?: GetTypeName; }>; defaultItemUnionOptions?: Normalize<Omit<PothosSchemaTypes.UnionTypeOptions<Types>, "resolveType" | "types"> & { name?: GetTypeName; }>; } export type ErrorFieldOptions<Types extends SchemaTypes, Type extends TypeParam<Types>, Shape, Nullable extends FieldNullability<Type>> = EmptyToOptional<{ types?: (new (...args: any[]) => Error)[]; directResult?: Type extends unknown[] ? false : boolean; union: Normalize<Omit<PothosSchemaTypes.UnionTypeOptions<Types>, "resolveType" | "types"> & { name?: string; }>; result: Normalize<Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape>, "interfaces" | "isTypeOf"> & { name?: string; }>; dataField: Normalize<Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Type, Type extends [ unknown ] ? { list: false; items: Nullable extends { items: boolean; } ? Nullable["items"] : true; } : false, {}, Shape>, "args" | "nullable" | "type" | InferredFieldOptionKeys> & { name?: string; }>; }>; //# sourceMappingURL=types.d.ts.map