@pothos/core
Version:
Pothos (formerly GiraphQL) is a plugin based schema builder for creating code-first GraphQL schemas in typescript
47 lines (46 loc) • 1.89 kB
TypeScript
import { GraphQLInterfaceType, type GraphQLNamedType } from 'graphql';
import type { SchemaBuilder } from './builder.js';
import { type BasePlugin } from './plugins/index.js';
import { type InputType, type OutputType, type PothosInputFieldConfig, type PothosObjectTypeConfig, type PothosTypeConfig, type SchemaTypes } from './types/index.js';
export declare class BuildCache<Types extends SchemaTypes> {
types: Map<string, GraphQLNamedType>;
builder: PothosSchemaTypes.SchemaBuilder<Types>;
plugin: BasePlugin<Types>;
options: PothosSchemaTypes.BuildSchemaOptions<Types>;
private configStore;
private pluginList;
private implementers;
private typeConfigs;
private enumValueConfigs;
private outputFieldConfigs;
private inputFieldConfigs;
constructor(builder: SchemaBuilder<Types>, options: PothosSchemaTypes.BuildSchemaOptions<Types>);
getTypeConfig<T extends PothosTypeConfig["kind"]>(ref: InputType<Types> | OutputType<Types> | string, kind?: T): Extract<PothosTypeConfig, {
kind: T;
}>;
getInputTypeFieldConfigs(ref: InputType<Types>): Record<string, PothosInputFieldConfig<Types>>;
getImplementers(iface: GraphQLInterfaceType): PothosObjectTypeConfig[];
buildAll(): void;
buildTypeFromConfig(baseConfig: PothosTypeConfig): void;
private addType;
private buildOutputTypeParam;
private buildInputTypeParam;
private buildFields;
private buildInputFields;
private getInterfaceFields;
private getObjectFields;
private getRootFields;
private getFields;
private getInputFields;
private getType;
private getOutputType;
private getInputType;
private getTypeOfKind;
private buildObject;
private buildInterface;
private buildUnion;
private buildInputObject;
private buildScalar;
private buildEnum;
}
//# sourceMappingURL=build-cache.d.ts.map