@aws-amplify/graphql-transformer-interfaces
Version:
Amplify GraphQL transformer interface definitions
59 lines • 4.12 kB
TypeScript
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