UNPKG

@aws-amplify/graphql-transformer-interfaces

Version:
59 lines 4.12 kB
import { ObjectTypeDefinitionNode, DirectiveDefinitionNode, InputValueDefinitionNode } from 'graphql'; import { TransformerResolverProvider, TransformerContextProvider, AppSyncDataSourceType, DataSourceInstance } from './transformer-context'; import { TransformerPluginProvider } from '.'; export declare enum QueryFieldType { GET = "GET", LIST = "LIST", SYNC = "SYNC" } export declare enum MutationFieldType { CREATE = "CREATE", UPDATE = "UPDATE", DELETE = "DELETE" } export declare enum SubscriptionFieldType { ON_CREATE = "ON_CREATE", ON_DELETE = "ON_DELETE", ON_UPDATE = "ON_UPDATE" } export interface TransformerModelProvider extends TransformerPluginProvider { getDataSourceType: () => AppSyncDataSourceType; generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateOnCreateResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateOnUpdateResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateOnDeleteResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; generateSyncResolver?: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider; getQueryFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{ fieldName: string; typeName: string; type: QueryFieldType; }>; getMutationFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{ fieldName: string; typeName: string; type: MutationFieldType; }>; getSubscriptionFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{ fieldName: string; typeName: string; type: SubscriptionFieldType; }>; getDataSourceResource: (type: ObjectTypeDefinitionNode) => DataSourceInstance; getInputs: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, operation: { fieldName: string; typeName: string; type: QueryFieldType | MutationFieldType | SubscriptionFieldType; }) => InputValueDefinitionNode[]; getOutputType: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, operation: { fieldName: string; typeName: string; type: QueryFieldType | MutationFieldType | SubscriptionFieldType; }) => ObjectTypeDefinitionNode; } export type TransformerAuthProvider = TransformerPluginProvider; export type TransformerModelEnhancementProvider = Partial<TransformerModelProvider>; //# sourceMappingURL=transformer-model-provider.d.ts.map