@pothos/core
Version:
Pothos (formerly GiraphQL) is a plugin based schema builder for creating code-first GraphQL schemas in typescript
68 lines • 9.92 kB
TypeScript
import { InputListRef } from '../refs/input-list';
import type { ArgBuilder, FieldRequiredness, InputOrArgRef, InputShapeFromTypeParam, InputType, InputTypeParam, NormalizeArgs, SchemaTypes } from '../types';
export declare class InputFieldBuilder<Types extends SchemaTypes, Kind extends keyof PothosSchemaTypes.InputFieldOptionsByKind> {
kind: Kind;
builder: PothosSchemaTypes.SchemaBuilder<Types>;
/**
* Create a Boolean input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
boolean: <Req extends FieldRequiredness<"Boolean">>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Boolean", Req>[Kind], "type">], 0>) => InputOrArgRef<Types, FieldRequiredness<"Boolean"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Boolean" extends infer T ? T extends "Boolean" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("..").BaseEnum ? import("..").ValuesFromEnum<T> : never : never : never) | null | undefined : "Boolean" extends infer T_1 ? T_1 extends "Boolean" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Boolean" extends infer T_2 ? T_2 extends "Boolean" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never : ("Boolean" extends infer T_3 ? T_3 extends "Boolean" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>;
/**
* Create a Float input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
float: <Req extends FieldRequiredness<"Float">>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Float", Req>[Kind], "type">], 0>) => InputOrArgRef<Types, FieldRequiredness<"Float"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Float" extends infer T ? T extends "Float" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("..").BaseEnum ? import("..").ValuesFromEnum<T> : never : never : never) | null | undefined : "Float" extends infer T_1 ? T_1 extends "Float" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Float" extends infer T_2 ? T_2 extends "Float" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never : ("Float" extends infer T_3 ? T_3 extends "Float" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>;
/**
* Create a ID input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
id: <Req extends FieldRequiredness<"ID">>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "ID", Req>[Kind], "type">], 0>) => InputOrArgRef<Types, FieldRequiredness<"ID"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("ID" extends infer T ? T extends "ID" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("..").BaseEnum ? import("..").ValuesFromEnum<T> : never : never : never) | null | undefined : "ID" extends infer T_1 ? T_1 extends "ID" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "ID" extends infer T_2 ? T_2 extends "ID" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never : ("ID" extends infer T_3 ? T_3 extends "ID" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>;
/**
* Create a Int input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
int: <Req extends FieldRequiredness<"Int">>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Int", Req>[Kind], "type">], 0>) => InputOrArgRef<Types, FieldRequiredness<"Int"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Int" extends infer T ? T extends "Int" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("..").BaseEnum ? import("..").ValuesFromEnum<T> : never : never : never) | null | undefined : "Int" extends infer T_1 ? T_1 extends "Int" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Int" extends infer T_2 ? T_2 extends "Int" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never : ("Int" extends infer T_3 ? T_3 extends "Int" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>;
/**
* Create a String input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
string: <Req extends FieldRequiredness<"String">>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "String", Req>[Kind], "type">], 0>) => InputOrArgRef<Types, FieldRequiredness<"String"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("String" extends infer T ? T extends "String" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("..").BaseEnum ? import("..").ValuesFromEnum<T> : never : never : never) | null | undefined : "String" extends infer T_1 ? T_1 extends "String" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "String" extends infer T_2 ? T_2 extends "String" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never : ("String" extends infer T_3 ? T_3 extends "String" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>;
/**
* Create a Boolean list input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
booleanList: <Req extends FieldRequiredness<["Boolean"]>>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, ["Boolean"], Req>[Kind], "type">], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, ["Boolean"], Req>, Kind>;
/**
* Create a Float list input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
floatList: <Req extends FieldRequiredness<["Float"]>>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, ["Float"], Req>[Kind], "type">], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, ["Float"], Req>, Kind>;
/**
* Create a ID list input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
idList: <Req extends FieldRequiredness<["ID"]>>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, ["ID"], Req>[Kind], "type">], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, ["ID"], Req>, Kind>;
/**
* Create a Int list input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
intList: <Req extends FieldRequiredness<["Int"]>>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, ["Int"], Req>[Kind], "type">], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, ["Int"], Req>, Kind>;
/**
* Create a String list input field
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
stringList: <Req extends FieldRequiredness<["String"]>>(...args: NormalizeArgs<[options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, ["String"], Req>[Kind], "type">], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, ["String"], Req>, Kind>;
constructor(builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: Kind);
listRef: <T extends InputTypeParam<Types>, Required extends boolean = true>(type: T, options?: {
required?: Required;
}) => InputListRef<Types, InputShapeFromTypeParam<Types, T, Required>[]>;
argBuilder(): ArgBuilder<Types>;
/**
* Create in input field or argument for the current type
* @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field
*/
field<Type extends InputType<Types> | [InputType<Types>], Req extends FieldRequiredness<Type>>(options: PothosSchemaTypes.InputFieldOptionsByKind<Types, Type, Req>[Kind]): InputOrArgRef<Types, InputShapeFromTypeParam<Types, Type, Req>, Kind>;
private helper;
}
//# sourceMappingURL=input.d.ts.map