@pothos/plugin-with-input
Version:
A Pothos plugin for defining fields with input objects
31 lines (30 loc) • 2.16 kB
TypeScript
import type { FieldKind, FieldNullability, FieldRef, InputFieldMap, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
import type { PothosWithInputPlugin } from './index.js';
import type { FieldWithInputOptions, WithInputArgOptions, WithInputBuilderOptions, WithInputTypeOptions } from './types.js';
declare global {
export namespace PothosSchemaTypes {
interface UserSchemaTypes {
WithInputArgRequired: boolean;
}
interface ExtendDefaultTypes<PartialTypes extends Partial<UserSchemaTypes>> {
WithInputArgRequired: boolean extends PartialTypes["WithInputArgRequired"] ? true : PartialTypes["WithInputArgRequired"] & boolean;
}
interface Plugins<Types extends SchemaTypes> {
withInput: PothosWithInputPlugin<Types>;
}
interface SchemaBuilderOptions<Types extends SchemaTypes> {
withInput?: WithInputBuilderOptions<Types>;
}
interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
input: InputFieldBuilder<Types, "InputObject">;
fieldWithInput: <Fields extends InputFieldMap, Type extends TypeParam<Types>, ResolveShape, ResolveReturnShape, ArgRequired extends boolean, Args extends InputFieldMap = {}, Nullable extends FieldNullability<Type> = Types["DefaultFieldNullability"], InputName extends string = "input">(options: FieldWithInputOptions<Types, ParentShape, Kind, Args, Fields, Type, Nullable, InputName, ResolveShape, ResolveReturnShape, boolean extends ArgRequired ? Types["WithInputArgRequired"] & boolean : ArgRequired>) => FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>>;
}
interface FieldWithInputBaseOptions<Types extends SchemaTypes, Args extends InputFieldMap, Fields extends InputFieldMap, InputName extends string, ArgRequired extends boolean> {
typeOptions?: WithInputTypeOptions<Types, Fields>;
argOptions?: WithInputArgOptions<Types, Fields, InputName, ArgRequired>;
input: Fields;
args?: Args;
}
}
}
//# sourceMappingURL=global-types.d.ts.map