@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
text/typescript
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;
}>;