@aws-amplify/graphql-model-transformer
Version:
Amplify graphql @model transformer
80 lines • 5.36 kB
TypeScript
import { TransformerModelBase } from '@aws-amplify/graphql-transformer-core';
import { AppSyncDataSourceType, DataSourceInstance, MutationFieldType, QueryFieldType, SubscriptionFieldType, TransformerBeforeStepContextProvider, TransformerContextProvider, TransformerModelProvider, TransformerPrepareStepContextProvider, TransformerResolverProvider, TransformerSchemaVisitStepContextProvider, TransformerTransformSchemaStepContextProvider, TransformerValidationStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import * as iam from 'aws-cdk-lib/aws-iam';
import * as cdk from 'aws-cdk-lib';
import { DirectiveNode, InputValueDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
import { ModelTransformerOptions } from './types';
export type Nullable<T> = T | null;
export declare class ModelTransformer extends TransformerModelBase implements TransformerModelProvider {
private options;
private ddbTableMap;
private typesWithModelDirective;
private resourceGeneratorMap;
private dataSourceStrategiesProvider;
private modelDirectiveConfig;
constructor(options?: ModelTransformerOptions);
before: (ctx: TransformerBeforeStepContextProvider) => void;
object: (definition: ObjectTypeDefinitionNode, directive: DirectiveNode, ctx: TransformerSchemaVisitStepContextProvider) => void;
prepare: (context: TransformerPrepareStepContextProvider) => void;
transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
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, 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;
getMutationName: (subscriptionType: SubscriptionFieldType, mutationMap: Set<{
fieldName: string;
typeName: string;
type: MutationFieldType;
resolverLogicalId: string;
}>) => string;
private createQueryFields;
private createMutationFields;
private createSubscriptionFields;
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;
}>;
getDataSourceResource: (type: ObjectTypeDefinitionNode) => DataSourceInstance;
getDataSourceType: () => AppSyncDataSourceType;
getInputs: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => InputValueDefinitionNode[];
getOutputType: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => ObjectTypeDefinitionNode;
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode, stack: cdk.Stack, tableName: string) => iam.IRole;
private createNonModelInputs;
private isModelField;
private getNonModelInputObjectName;
private addAutoGeneratableFields;
private addModelSyncFields;
private getSubscriptionToMutationsReverseMap;
ensureModelSortDirectionEnum: (ctx: TransformerValidationStepContextProvider) => void;
private getOptions;
private getResourceGenerator;
}
//# sourceMappingURL=graphql-model-transformer.d.ts.map