UNPKG

@giraphql/plugin-simple-objects

Version:

A GiraphQL plugin for defining objects and interfaces without ts definitions for those types

14 lines (10 loc) 613 B
import { FieldMap, FieldRef, NullableToOptional, SchemaTypes } from '@giraphql/core'; export type SimpleObjectFieldsShape<Types extends SchemaTypes, Fields extends FieldMap> = ( t: GiraphQLSchemaTypes.RootFieldBuilder<Types, unknown, 'SimpleObject'>, ) => Fields; export type SimpleInterfaceFieldsShape<Types extends SchemaTypes, Fields extends FieldMap> = ( t: GiraphQLSchemaTypes.RootFieldBuilder<Types, unknown, 'SimpleInterface'>, ) => Fields; export type OutputShapeFromFields<Fields extends FieldMap> = NullableToOptional<{ [K in keyof Fields]: Fields[K] extends FieldRef<infer T> ? T : never; }>;