@graphql-yoga/nestjs-federation
Version:
GraphQL Yoga driver with Apollo Federation for NestJS GraphQL.
25 lines (24 loc) • 1.72 kB
text/typescript
import { GraphQLSchema } from 'graphql';
import { GatewayConfig } from '@apollo/gateway';
import { AbstractYogaDriver, YogaDriver, YogaDriverConfig, YogaDriverPlatform } from '@graphql-yoga/nestjs';
import { Type } from '@nestjs/common';
import { GraphQLFederationFactory } from '@nestjs/graphql';
export type YogaFederationDriverConfig<Platform extends YogaDriverPlatform = 'express'> = YogaDriverConfig<Platform>;
export declare class YogaFederationDriver<Platform extends YogaDriverPlatform = 'express'> extends AbstractYogaDriver<Platform> {
private readonly graphqlFederationFactory;
private subscriptionService?;
constructor(graphqlFederationFactory: GraphQLFederationFactory);
generateSchema(options: YogaFederationDriverConfig<Platform>): Promise<GraphQLSchema>;
start(options: YogaFederationDriverConfig<Platform>): Promise<void>;
stop(): Promise<void>;
}
export interface YogaGatewayDriverConfig<Platform extends YogaDriverPlatform = 'express'> {
driver?: Type<YogaDriver<Platform>>;
gateway?: GatewayConfig;
server?: Omit<YogaDriverConfig<Platform>, 'endpoint' | 'schema' | 'typeDefs' | 'definitions' | 'resolvers' | 'resolverValidationOptions' | 'directiveResolvers' | 'autoSchemaFile' | 'transformSchema' | 'subscriptions' | 'buildSchemaOptions' | 'fieldResolverEnhancers' | 'driver'>;
}
export declare class YogaGatewayDriver<Platform extends YogaDriverPlatform = 'express'> extends AbstractYogaDriver<Platform> {
generateSchema(_options: YogaGatewayDriverConfig<Platform>): Promise<GraphQLSchema>;
start(options: YogaGatewayDriverConfig<Platform>): Promise<void>;
mergeDefaultOptions(options: Record<string, unknown>): Promise<Record<string, unknown>>;
}