@aws-amplify/graphql-transformer-core
Version:
A framework to transform from GraphQL SDL to AWS CloudFormation.
62 lines • 5.18 kB
TypeScript
import { TransformerPluginType, TransformerModelProvider, AppSyncDataSourceType, TransformerContextProvider, TransformerResolverProvider, QueryFieldType, MutationFieldType, SubscriptionFieldType, DataSourceInstance, TransformerPluginProvider, TransformerModelEnhancementProvider, TransformerAuthProvider, TransformerLog } from '@aws-amplify/graphql-transformer-interfaces';
import { DirectiveDefinitionNode, TypeDefinitionNode, DocumentNode, ObjectTypeDefinitionNode, InputValueDefinitionNode } from 'graphql';
export declare abstract class TransformerPluginBase implements TransformerPluginProvider {
readonly pluginType: TransformerPluginType;
readonly name: string;
readonly directive: DirectiveDefinitionNode;
readonly typeDefinitions: TypeDefinitionNode[];
private logs;
constructor(name: string, document: DocumentNode | string, pluginType?: TransformerPluginType);
private log;
protected error(message: string): void;
protected warn(message: string): void;
protected info(message: string): void;
protected debug(message: string): void;
getLogs(): TransformerLog[];
}
export declare abstract class TransformerModelBase extends TransformerPluginBase implements TransformerModelProvider {
constructor(name: string, document: DocumentNode | string, type?: TransformerPluginType);
abstract getDataSourceType: () => AppSyncDataSourceType;
abstract generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateOnCreateResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateOnUpdateResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateOnDeleteResolver?: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract generateSyncResolver?: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string, directive?: DirectiveDefinitionNode) => TransformerResolverProvider;
abstract getQueryFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: QueryFieldType;
}>;
abstract getMutationFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: MutationFieldType;
}>;
abstract getSubscriptionFieldNames: (type: ObjectTypeDefinitionNode, directive?: DirectiveDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: SubscriptionFieldType;
}>;
abstract getDataSourceResource: (type: ObjectTypeDefinitionNode) => DataSourceInstance;
abstract getInputs: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => InputValueDefinitionNode[];
abstract getOutputType: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => ObjectTypeDefinitionNode;
}
export declare abstract class TransformerModelEnhancerBase extends TransformerModelBase implements TransformerModelEnhancementProvider {
constructor(name: string, doc: DocumentNode | string, type?: TransformerPluginType);
}
export declare abstract class TransformerAuthBase extends TransformerPluginBase implements TransformerAuthProvider {
constructor(name: string, doc: DocumentNode | string, type?: TransformerPluginType);
}
//# sourceMappingURL=transformer-plugin-base.d.ts.map