@aws-amplify/graphql-transformer-interfaces
Version:
Amplify GraphQL transformer interface definitions
91 lines (80 loc) • 3.17 kB
text/typescript
import { DocumentNode } from 'graphql';
import { AppSyncAuthConfiguration, GraphQLAPIProvider } from '../graphql-api-provider';
import { DataSourceStrategiesProvider, RDSLayerMappingProvider, RDSSNSTopicMappingProvider } from '../model-datasource';
import { TransformerDataSourceManagerProvider } from './transformer-datasource-provider';
import { TransformerProviderRegistry } from './transformer-provider-registry';
import { TransformerContextOutputProvider } from './transformer-context-output-provider';
import { StackManagerProvider } from './stack-manager-provider';
import { TransformerResourceHelperProvider } from './resource-resource-provider';
import { TransformParameters } from './transform-parameters';
import { TransformerResolversManagerProvider } from './transformer-resolver-provider';
import { SynthParameters } from './synth-parameters';
export interface TransformerContextMetadataProvider {
set: <T>(key: string, value: T) => void;
get: <T>(key: string) => T | undefined;
has: (key: string) => boolean;
}
export type TransformerSecrets = { [key: string]: any };
export interface TransformerContextProvider extends DataSourceStrategiesProvider, RDSLayerMappingProvider, RDSSNSTopicMappingProvider {
metadata: TransformerContextMetadataProvider;
resolvers: TransformerResolversManagerProvider;
dataSources: TransformerDataSourceManagerProvider;
providerRegistry: TransformerProviderRegistry;
inputDocument: DocumentNode;
output: TransformerContextOutputProvider;
stackManager: StackManagerProvider;
api: GraphQLAPIProvider;
resourceHelper: TransformerResourceHelperProvider;
authConfig: AppSyncAuthConfiguration;
transformParameters: TransformParameters;
synthParameters: SynthParameters;
isProjectUsingDataStore: () => boolean;
getResolverConfig: <ResolverConfig>() => ResolverConfig | undefined;
}
export type TransformerBeforeStepContextProvider = Pick<
TransformerContextProvider,
| 'inputDocument'
| 'dataSourceStrategies'
| 'sqlDirectiveDataSourceStrategies'
| 'transformParameters'
| 'isProjectUsingDataStore'
| 'getResolverConfig'
| 'authConfig'
| 'stackManager'
| 'synthParameters'
>;
export type TransformerSchemaVisitStepContextProvider = Pick<
TransformerContextProvider,
| 'inputDocument'
| 'dataSourceStrategies'
| 'sqlDirectiveDataSourceStrategies'
| 'output'
| 'providerRegistry'
| 'transformParameters'
| 'isProjectUsingDataStore'
| 'getResolverConfig'
| 'metadata'
| 'authConfig'
| 'resourceHelper'
| 'synthParameters'
>;
export type TransformerValidationStepContextProvider = Pick<
TransformerContextProvider,
| 'inputDocument'
| 'dataSourceStrategies'
| 'sqlDirectiveDataSourceStrategies'
| 'output'
| 'providerRegistry'
| 'dataSources'
| 'transformParameters'
| 'isProjectUsingDataStore'
| 'getResolverConfig'
| 'metadata'
| 'authConfig'
| 'resourceHelper'
| 'resolvers'
| 'stackManager'
| 'synthParameters'
>;
export type TransformerPrepareStepContextProvider = TransformerValidationStepContextProvider;
export type TransformerTransformSchemaStepContextProvider = TransformerValidationStepContextProvider;