UNPKG

graphql-compose-mongoose

Version:

Plugin for `graphql-compose` which derive a graphql types from a mongoose model.

39 lines 2.89 kB
import { EnumTypeComposer, SchemaComposer, ObjectTypeComposer, InterfaceTypeComposer, ObjectTypeComposerRelationOpts, ObjectTypeComposerFieldConfigDefinition, ObjectTypeComposerFieldConfigMapDefinition, ObjectTypeComposerFieldConfigAsObjectDefinition } from 'graphql-compose'; import type { Model } from 'mongoose'; import { ComposeWithMongooseOpts } from '../composeWithMongoose'; import { GraphQLObjectType } from 'graphql-compose/lib/graphql'; export interface ComposeWithMongooseDiscriminatorsOpts<TContext> extends ComposeWithMongooseOpts<TContext> { reorderFields?: boolean | string[]; } export declare class DiscriminatorTypeComposer<TSource, TContext> extends ObjectTypeComposer<TSource, TContext> { discriminatorKey: string; opts: ComposeWithMongooseDiscriminatorsOpts<TContext>; childTCs: ObjectTypeComposer<any, TContext>[]; DInterface?: InterfaceTypeComposer<TSource, TContext>; DKeyETC?: EnumTypeComposer<TContext>; constructor(gqType: GraphQLObjectType, schemaComposer: SchemaComposer<TContext>); static createFromModel<TSrc = any, TCtx = any>(baseModel: Model<any>, schemaComposer: SchemaComposer<TCtx>, opts?: ComposeWithMongooseDiscriminatorsOpts<any>): DiscriminatorTypeComposer<TSrc, TCtx>; _createDInterface(baseTC: DiscriminatorTypeComposer<any, any>): InterfaceTypeComposer<TSource, TContext>; getDKey(): string; getDKeyETC(): EnumTypeComposer<TContext>; getDInterface(): InterfaceTypeComposer<TSource, TContext>; hasChildTC(DName: string): boolean; discriminator<TSrc = Model<any>>(childModel: Model<any>, opts?: ComposeWithMongooseOpts<TContext>): ObjectTypeComposer<TSrc, TContext>; setFields(fields: ObjectTypeComposerFieldConfigMapDefinition<any, any>): this; setField(fieldName: string, fieldConfig: ObjectTypeComposerFieldConfigDefinition<any, any>): this; addFields(newFields: ObjectTypeComposerFieldConfigMapDefinition<any, any>): this; addNestedFields(newFields: ObjectTypeComposerFieldConfigMapDefinition<any, any>): this; removeField(fieldNameOrArray: string | Array<string>): this; removeOtherFields(fieldNameOrArray: string | Array<string>): this; reorderFields(names: string[]): this; extendField(fieldName: string, partialFieldConfig: Partial<ObjectTypeComposerFieldConfigAsObjectDefinition<any, TContext>>): this; makeFieldNonNull(fieldNameOrArray: string | Array<string>): this; makeFieldNullable(fieldNameOrArray: string | Array<string>): this; makeFieldPlural(fieldNameOrArray: string | Array<string>): this; makeFieldNonPlural(fieldNameOrArray: string | Array<string>): this; deprecateFields(fields: { [fieldName: string]: string; } | string[] | string): this; addRelation(fieldName: string, relationOpts: ObjectTypeComposerRelationOpts<any, any, any, any>): this; } //# sourceMappingURL=DiscriminatorTypeComposer.d.ts.map