@aws-amplify/graphql-model-transformer
Version:
Amplify graphql @model transformer
56 lines • 3.74 kB
TypeScript
import { DataSourceProvider, MutationFieldType, QueryFieldType, SubscriptionFieldType, TransformerContextProvider, TransformerResolverProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { ObjectTypeDefinitionNode } from 'graphql';
import { ModelVTLGenerator } from '../resolvers';
import { ModelDirectiveConfiguration } from '../directive';
import { ModelTransformerOptions } from '../types';
export declare abstract class ModelResourceGenerator {
protected datasourceMap: Record<string, DataSourceProvider>;
private resolverMap;
protected generatorType: string;
private enabled;
private provisioned;
private unprovisioned;
protected models: Array<ObjectTypeDefinitionNode>;
protected modelDirectiveMap: Map<string, ModelDirectiveConfiguration>;
protected options: ModelTransformerOptions;
constructor(options?: ModelTransformerOptions);
getGeneratorType(): string;
protected isEnabled(): boolean;
protected isProvisioned(): boolean;
protected isUnprovisioned(): boolean;
enableGenerator(): void;
enableProvisioned(): void;
enableUnprovisioned(): void;
addModelDefinition(def: ObjectTypeDefinitionNode, config: ModelDirectiveConfiguration): void;
abstract generateResources(ctx: TransformerContextProvider): void;
abstract getVTLGenerator(): ModelVTLGenerator;
protected generateResolvers(context: TransformerContextProvider): void;
generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, modelConfig: ModelDirectiveConfiguration, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateOnCreateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateOnUpdateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateOnDeleteResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
generateSyncResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
getQueryFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: QueryFieldType;
resolverLogicalId: string;
}>;
getMutationFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: MutationFieldType;
resolverLogicalId: string;
}>;
getSubscriptionFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: SubscriptionFieldType;
resolverLogicalId: string;
}>;
}
//# sourceMappingURL=model-resource-generator.d.ts.map