@aws-amplify/graphql-transformer-interfaces
Version:
Amplify GraphQL transformer interface definitions
31 lines • 2.47 kB
TypeScript
import { Construct } from 'constructs';
import { Stack } from 'aws-cdk-lib';
import { GraphQLAPIProvider, MappingTemplateProvider } from '../graphql-api-provider';
import { DataSourceProvider } from './transformer-datasource-provider';
import { TransformerContextProvider } from './transformer-context-provider';
export type VTLRuntimeTemplate = {
requestMappingTemplate: MappingTemplateProvider;
responseMappingTemplate: MappingTemplateProvider;
};
export type JSRuntimeTemplate = {
codeMappingTemplate: MappingTemplateProvider;
};
export type FunctionRuntimeTemplate = VTLRuntimeTemplate | JSRuntimeTemplate;
export interface TransformerResolverProvider {
addVtlFunctionToSlot: (slotName: string, requestMappingTemplate?: MappingTemplateProvider, responseMappingTemplate?: MappingTemplateProvider, dataSource?: DataSourceProvider) => void;
addJsFunctionToSlot: (slotName: string, codeMappingTemplate: MappingTemplateProvider, dataSource?: DataSourceProvider) => void;
synthesize: (context: TransformerContextProvider, api: GraphQLAPIProvider) => void;
setScope: (scope: Construct) => void;
mapToStack: (stack: Stack) => void;
}
export interface TransformerResolversManagerProvider {
addResolver: (typeName: string, fieldName: string, resolver: TransformerResolverProvider) => TransformerResolverProvider;
getResolver: (typeName: string, fieldName: string) => TransformerResolverProvider | void;
hasResolver: (typeName: string, fieldName: string) => boolean;
removeResolver: (typeName: string, fieldName: string) => TransformerResolverProvider;
collectResolvers: () => Map<string, TransformerResolverProvider>;
generateQueryResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolverProvider;
generateMutationResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolverProvider;
generateSubscriptionResolver: (typeName: string, fieldName: string, resolverLogicalId: string, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolverProvider;
}
//# sourceMappingURL=transformer-resolver-provider.d.ts.map