@pothos/core
Version:
Pothos (formerly GiraphQL) is a plugin based schema builder for creating code-first GraphQL schemas in typescript
95 lines • 11.6 kB
TypeScript
import { ListRef } from '../refs/list';
import type { ArgBuilder, DistributeOmit, FieldKind, FieldNullability, FieldOptionsFromKind, InputFieldMap, NormalizeArgs, SchemaTypes, ShapeFromTypeParam, TypeParam } from '../types';
import { BaseFieldUtil } from './base';
export declare class RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> extends BaseFieldUtil<Types, ParentShape, Kind> {
arg: ArgBuilder<Types>;
/**
* Create a Boolean field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
boolean<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<'Boolean'> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, 'Boolean', Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, FieldNullability<"Boolean"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Boolean" extends infer T ? T extends "Boolean" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Boolean" extends infer T_2 ? T_2 extends "Boolean" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Boolean" extends infer T_3 ? T_3 extends "Boolean" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Float field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
float<Nullable extends FieldNullability<'Float'>, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, 'Float', Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, FieldNullability<"Float"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Float" extends infer T ? T extends "Float" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Float" extends infer T_2 ? T_2 extends "Float" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Float" extends infer T_3 ? T_3 extends "Float" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a ID field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
id<Nullable extends FieldNullability<'ID'>, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, 'ID', Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, FieldNullability<"ID"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("ID" extends infer T ? T extends "ID" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("ID" extends infer T_2 ? T_2 extends "ID" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "ID" extends infer T_3 ? T_3 extends "ID" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Int field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
int<Nullable extends FieldNullability<'Int'>, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, 'Int', Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, FieldNullability<"Int"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Int" extends infer T ? T extends "Int" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Int" extends infer T_2 ? T_2 extends "Int" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Int" extends infer T_3 ? T_3 extends "Int" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a String field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
string<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<'String'> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, 'String', Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, FieldNullability<"String"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("String" extends infer T ? T extends "String" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("String" extends infer T_2 ? T_2 extends "String" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "String" extends infer T_3 ? T_3 extends "String" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("..").BaseEnum ? import("..").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Boolean list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
booleanList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<['Boolean']> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
'Boolean'
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, ["Boolean"], Nullable>, Kind>;
/**
* Create a Float list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
floatList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<['Float']> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
'Float'
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, ["Float"], Nullable>, Kind>;
/**
* Create a ID list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
idList<Nullable extends FieldNullability<['ID']>, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
'ID'
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, ["ID"], Nullable>, Kind>;
/**
* Create a Int list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
intList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<['Int']> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
'Int'
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, ["Int"], Nullable>, Kind>;
/**
* Create a String list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
stringList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<['String']> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
'String'
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'type'>
]>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, ["String"], Nullable>, Kind>;
/**
* create a new field for the current type
* @param {PothosSchemaTypes.FieldOptions} options - options for this field
*/
field<Type extends TypeParam<Types>, ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<Type> = Types['DefaultFieldNullability'], Args extends InputFieldMap = {}>(options: FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>): import("../refs/field").FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, Kind>;
listRef<T extends TypeParam<Types>, Nullable extends boolean = false>(type: T, options?: {
nullable?: Nullable;
}): ListRef<Types, Iterable<ShapeFromTypeParam<Types, T, Nullable>>>;
}
//# sourceMappingURL=root.d.ts.map