@aws-amplify/graphql-transformer-core
Version:
A framework to transform from GraphQL SDL to AWS CloudFormation.
52 lines • 3.88 kB
TypeScript
import { AppSyncFunctionConfigurationProvider, DataSourceProvider, FunctionRuntimeTemplate, GraphQLAPIProvider, JSRuntimeTemplate, MappingTemplateProvider, TransformerContextProvider, TransformerResolverProvider, TransformerResolversManagerProvider, VTLRuntimeTemplate } from '@aws-amplify/graphql-transformer-interfaces';
import { CfnFunctionConfiguration } from 'aws-cdk-lib/aws-appsync';
import { Stack } from 'aws-cdk-lib';
import { Construct } from 'constructs';
type FunctionRuntimeTemplatePartialVTL = Partial<VTLRuntimeTemplate> | JSRuntimeTemplate;
type Slot = {
mappingTemplate?: FunctionRuntimeTemplatePartialVTL;
dataSource?: DataSourceProvider;
runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty;
};
export declare const NONE_DATA_SOURCE_NAME = "NONE_DS";
export declare class ResolverManager implements TransformerResolversManagerProvider {
private resolvers;
generateQueryResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver;
generateMutationResolver: (typeName: string, fieldName: string, resolverLogicalId: string, dataSource: DataSourceProvider, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver;
generateSubscriptionResolver: (typeName: string, fieldName: string, resolverLogicalId: string, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider) => TransformerResolver;
addResolver: (typeName: string, fieldName: string, resolver: TransformerResolverProvider) => TransformerResolverProvider;
getResolver: (typeName: string, fieldName: string) => TransformerResolverProvider | undefined;
hasResolver: (typeName: string, fieldName: string) => boolean;
removeResolver: (typeName: string, fieldName: string) => TransformerResolverProvider;
collectResolvers: () => Map<string, TransformerResolverProvider>;
}
export declare class TransformerResolver implements TransformerResolverProvider {
private typeName;
private fieldName;
readonly resolverLogicalId: string;
private mappingTemplate;
private requestSlots;
private responseSlots;
private datasource?;
private runtime?;
private readonly slotMap;
private readonly slotNames;
private scope?;
constructor(typeName: string, fieldName: string, resolverLogicalId: string, mappingTemplate: FunctionRuntimeTemplate, requestSlots: string[], responseSlots: string[], datasource?: DataSourceProvider | undefined, runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty | undefined);
mapToStack: (stack: Stack) => void;
setScope: (scope: Construct) => void;
addJsFunctionToSlot: (slotName: string, codeMappingTemplate: MappingTemplateProvider, dataSource?: DataSourceProvider) => void;
addVtlFunctionToSlot: (slotName: string, requestMappingTemplate?: MappingTemplateProvider, responseMappingTemplate?: MappingTemplateProvider, dataSource?: DataSourceProvider) => void;
private addToSlot;
slotExists: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => boolean;
findSlot: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => Slot | undefined;
updateSlot: (slotName: string, mappingTemplate: FunctionRuntimeTemplatePartialVTL) => void;
synthesize: (context: TransformerContextProvider, api: GraphQLAPIProvider) => void;
synthesizeResolvers: (scope: Construct, api: GraphQLAPIProvider, slotsNames: string[]) => AppSyncFunctionConfigurationProvider[];
private substituteSlotInfo;
private ensureNoneDataSource;
private createStashStatementGenerator;
private getMappingTemplateNames;
}
export {};
//# sourceMappingURL=resolver.d.ts.map