UNPKG

graphile-build-pg

Version:

Build a GraphQL schema by reflection over a PostgreSQL schema. Easy to customize since it's built with plugins on graphile-build

28 lines (24 loc) 850 B
import { ResolveTree } from "graphql-parse-resolve-info"; import { Build, Scope } from "graphile-build"; import { SQL } from "pg-sql2"; import QueryBuilder from "../QueryBuilder"; // eslint-disable-next-line @typescript-eslint/no-unused-vars type FieldContext<T> = any; type FieldWithHooksFunction = any; // eslint-disable-next-line @typescript-eslint/no-unused-vars interface PgFieldOptions<T> { hoistCursor?: boolean; withQueryBuilder?: ( queryBuilder: QueryBuilder, args: { parsedResolveInfoFragment: ResolveTree } ) => void; } export default function pgField<T>( build: Build, fieldWithHooks: FieldWithHooksFunction, fieldName: string, fieldSpecGenerator: T | ((fieldContext: FieldContext<T>) => T), fieldScope: Scope<T>, whereFrom?: false | ((queryBuilder: QueryBuilder) => SQL), options?: PgFieldOptions<T> ): T;