@aws-amplify/graphql-model-transformer
Version:
Amplify graphql @model transformer
380 lines (330 loc) • 18.4 kB
Markdown
## API Report File for "@aws-amplify/graphql-model-transformer"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { AppSyncDataSourceType } from '@aws-amplify/graphql-transformer-interfaces';
import * as cdk from 'aws-cdk-lib';
import { DataSourceInstance } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DirectiveNode } from 'graphql';
import { DocumentNode } from 'graphql';
import { EnumTypeDefinitionNode } from 'graphql';
import { Expression } from 'graphql-mapping-template';
import { FieldDefinitionNode } from 'graphql';
import { FieldWrapper } from '@aws-amplify/graphql-transformer-core';
import * as iam from 'aws-cdk-lib/aws-iam';
import { InputObjectDefinitionWrapper } from '@aws-amplify/graphql-transformer-core';
import { InputObjectTypeDefinitionNode } from 'graphql';
import { InputValueDefinitionNode } from 'graphql';
import { MutationFieldType } from '@aws-amplify/graphql-transformer-interfaces';
import { ObjectTypeDefinitionNode } from 'graphql';
import { QueryFieldType } from '@aws-amplify/graphql-transformer-interfaces';
import { QuietReferenceNode } from 'graphql-mapping-template';
import { SQLLambdaModelDataSourceStrategy } from '@aws-amplify/graphql-transformer-interfaces';
import { SubscriptionFieldType } from '@aws-amplify/graphql-transformer-interfaces';
import { SyncConfig } from '@aws-amplify/graphql-transformer-core';
import { TransformerBeforeStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerModelBase } from '@aws-amplify/graphql-transformer-core';
import { TransformerModelProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerPrepareStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerResolverProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerSchemaVisitStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerValidationStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
// @public (undocumented)
export const addDirectivesToField: (ctx: TransformerTransformSchemaStepContextProvider, typeName: string, fieldName: string, directives: Array<DirectiveNode>) => void;
// @public (undocumented)
export const addDirectivesToOperation: (ctx: TransformerTransformSchemaStepContextProvider, typeName: string, operationName: string, directives: Array<DirectiveNode>) => void;
// @public (undocumented)
export const addModelConditionInputs: (ctx: TransformerTransformSchemaStepContextProvider) => void;
// @public (undocumented)
export const createEnumModelFilters: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode) => InputObjectTypeDefinitionNode[];
// @public (undocumented)
export const defaultAutoId: () => QuietReferenceNode;
// @public (undocumented)
export class DynamoDBModelVTLGenerator implements ModelVTLGenerator {
// (undocumented)
generateCreateInitSlotTemplate(config: ModelCreateInitSlotConfig, initializeIdField: boolean): string;
// (undocumented)
generateCreateRequestTemplate(config: ModelCreateRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateDefaultResponseMappingTemplate(config: ModelDefaultResponseConfig): string;
// (undocumented)
generateDeleteRequestTemplate(config: ModelUpdateRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetResponseTemplate(config: ModelUpdateRequestConfig): string;
// (undocumented)
generateListRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateSubscriptionRequestTemplate(): string;
// (undocumented)
generateSubscriptionResponseTemplate(): string;
// (undocumented)
generateSyncRequestTemplate(config: ModelRequestConfig): string;
// (undocumented)
generateUpdateInitSlotTemplate(config: ModelCreateInitSlotConfig): string;
// (undocumented)
generateUpdateRequestTemplate(config: ModelUpdateRequestConfig, ctx: TransformerContextProvider): string;
}
// @public (undocumented)
export const extendTypeWithDirectives: (ctx: TransformerTransformSchemaStepContextProvider, typeName: string, directives: Array<DirectiveNode>) => void;
// @public (undocumented)
export const generateApplyDefaultsToInputTemplate: (target: string) => Expression;
// @public (undocumented)
export function generateModelScalarFilterInputName(typeName: string, includeFilter: boolean, isSubscriptionFilter?: boolean): string;
// @public (undocumented)
export const generatePostAuthExpression: (isSandboxModeEnabled: boolean, genericIamAccessEnabled: boolean | undefined) => string;
// @public (undocumented)
export const generateResolverKey: (typeName: string, fieldName: string) => string;
// @public (undocumented)
export const getSubscriptionFilterInputName: (name: string) => string;
// @public (undocumented)
export function makeAttributeTypeEnum(): EnumTypeDefinitionNode;
// @public (undocumented)
export const makeConditionFilterInput: (ctx: TransformerTransformSchemaStepContextProvider, name: string, object: ObjectTypeDefinitionNode) => InputObjectDefinitionWrapper;
// @public (undocumented)
export const makeCreateInputField: (obj: ObjectTypeDefinitionNode, modelDirectiveConfig: ModelDirectiveConfiguration, knownModelTypes: Set<string>, document: DocumentNode, isSyncEnabled: boolean) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export const makeDeleteInputField: (type: ObjectTypeDefinitionNode, isSyncEnabled: boolean) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export function makeEnumFilterInput(fieldWrapper: FieldWrapper): InputObjectTypeDefinitionNode;
// @public (undocumented)
export const makeListQueryFilterInput: (ctx: TransformerTransformSchemaStepContextProvider, name: string, object: ObjectTypeDefinitionNode) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export const makeListQueryModel: (type: ObjectTypeDefinitionNode, modelName: string, isSyncEnabled: boolean) => ObjectTypeDefinitionNode;
// @public (undocumented)
export function makeModelScalarFilterInputObject(type: string, supportsConditions: boolean, isSubscriptionFilter?: boolean): InputObjectTypeDefinitionNode;
// @public (undocumented)
export const makeModelSortDirectionEnumObject: () => EnumTypeDefinitionNode;
// @public (undocumented)
export const makeMutationConditionInput: (ctx: TransformerTransformSchemaStepContextProvider, name: string, object: ObjectTypeDefinitionNode, modelDirectiveConfig: ModelDirectiveConfiguration) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export function makeSizeInputType(): InputObjectTypeDefinitionNode;
// @public (undocumented)
export function makeSubscriptionField(fieldName: string, returnTypeName: string, mutations: string[]): FieldDefinitionNode;
// @public (undocumented)
export const makeSubscriptionFilterInput: (ctx: TransformerTransformSchemaStepContextProvider, name: string, object: ObjectTypeDefinitionNode) => InputObjectDefinitionWrapper;
// @public (undocumented)
export const makeSubscriptionQueryFilterInput: (ctx: TransformerTransformSchemaStepContextProvider, name: string, object: ObjectTypeDefinitionNode) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export const makeUpdateInputField: (obj: ObjectTypeDefinitionNode, modelDirectiveConfig: ModelDirectiveConfiguration, knownModelTypes: Set<string>, document: DocumentNode, isSyncEnabled: boolean) => InputObjectTypeDefinitionNode;
// @public (undocumented)
export type ModelCreateInitSlotConfig = {
modelConfig: ModelDirectiveConfiguration;
};
// @public (undocumented)
export type ModelCreateRequestConfig = ModelRequestConfig & {
modelIndexFields: string[];
};
// @public (undocumented)
export type ModelDefaultResponseConfig = ModelRequestConfig & {
isSyncEnabled: boolean;
mutation: boolean;
};
// @public (undocumented)
export type ModelDeleteRequestConfig = ModelUpdateRequestConfig;
// @public (undocumented)
export type ModelDirectiveConfiguration = {
queries?: Partial<{
get: Partial<string>;
list: Partial<string>;
sync: Partial<string>;
}>;
mutations: Partial<{
create: Partial<string>;
update: Partial<string>;
delete: Partial<string>;
}>;
subscriptions: Partial<{
onCreate: Partial<string>[];
onUpdate: Partial<string>[];
onDelete: Partial<string>[];
level: SubscriptionLevel;
}>;
timestamps: Partial<{
createdAt: Partial<string>;
updatedAt: Partial<string>;
}>;
};
// @public (undocumented)
export type ModelGetResponseConfig = ModelUpdateRequestConfig;
// @public (undocumented)
export type ModelRequestConfig = {
modelName: string;
operation: string;
operationName: string;
};
// @public (undocumented)
export class ModelTransformer extends TransformerModelBase implements TransformerModelProvider {
// Warning: (ae-forgotten-export) The symbol "ModelTransformerOptions" needs to be exported by the entry point index.d.ts
constructor(options?: ModelTransformerOptions);
// (undocumented)
before: (ctx: TransformerBeforeStepContextProvider) => void;
// (undocumented)
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode, stack: cdk.Stack, tableName: string) => iam.IRole;
// (undocumented)
ensureModelSortDirectionEnum: (ctx: TransformerValidationStepContextProvider) => void;
// (undocumented)
generateCreateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateDeleteResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateGetResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateListResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateOnCreateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateOnDeleteResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateOnUpdateResolver: (ctx: TransformerContextProvider, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateResolvers: (context: TransformerContextProvider) => void;
// (undocumented)
generateSyncResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
generateUpdateResolver: (ctx: TransformerContextProvider, type: ObjectTypeDefinitionNode, typeName: string, fieldName: string, resolverLogicalId: string) => TransformerResolverProvider;
// (undocumented)
getDataSourceResource: (type: ObjectTypeDefinitionNode) => DataSourceInstance;
// (undocumented)
getDataSourceType: () => AppSyncDataSourceType;
// (undocumented)
getInputs: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => InputValueDefinitionNode[];
// (undocumented)
getMutationFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: MutationFieldType;
resolverLogicalId: string;
}>;
// (undocumented)
getMutationName: (subscriptionType: SubscriptionFieldType, mutationMap: Set<{
fieldName: string;
typeName: string;
type: MutationFieldType;
resolverLogicalId: string;
}>) => string;
// (undocumented)
getOutputType: (ctx: TransformerTransformSchemaStepContextProvider, type: ObjectTypeDefinitionNode, operation: {
fieldName: string;
typeName: string;
type: QueryFieldType | MutationFieldType | SubscriptionFieldType;
}) => ObjectTypeDefinitionNode;
// (undocumented)
getQueryFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: QueryFieldType;
resolverLogicalId: string;
}>;
// (undocumented)
getSubscriptionFieldNames: (type: ObjectTypeDefinitionNode) => Set<{
fieldName: string;
typeName: string;
type: SubscriptionFieldType;
resolverLogicalId: string;
}>;
// (undocumented)
object: (definition: ObjectTypeDefinitionNode, directive: DirectiveNode, ctx: TransformerSchemaVisitStepContextProvider) => void;
// (undocumented)
prepare: (context: TransformerPrepareStepContextProvider) => void;
// (undocumented)
transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
}
// @public (undocumented)
export type ModelUpdateInitSlotConfig = ModelCreateInitSlotConfig;
// @public (undocumented)
export type ModelUpdateRequestConfig = ModelRequestConfig & {
modelIndexFields: string[];
isSyncEnabled: boolean;
};
// @public (undocumented)
export interface ModelVTLGenerator {
// (undocumented)
generateCreateInitSlotTemplate(config: ModelCreateInitSlotConfig, initializeIdField: boolean): string;
// (undocumented)
generateCreateRequestTemplate(config: ModelCreateRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateDefaultResponseMappingTemplate(config: ModelDefaultResponseConfig): string;
// (undocumented)
generateDeleteRequestTemplate(config: ModelDeleteRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetResponseTemplate(config: ModelGetResponseConfig): string;
// (undocumented)
generateListRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateSubscriptionRequestTemplate(): string;
// (undocumented)
generateSubscriptionResponseTemplate(): string;
// (undocumented)
generateSyncRequestTemplate(config: ModelRequestConfig): string;
// (undocumented)
generateUpdateInitSlotTemplate(config: ModelUpdateInitSlotConfig): string;
// (undocumented)
generateUpdateRequestTemplate(config: ModelUpdateRequestConfig, ctx: TransformerContextProvider): string;
}
// @public (undocumented)
export const OPERATION_KEY = "__operation";
// @public (undocumented)
export const propagateDirectivesToNestedTypes: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, seenNonModelTypes: Set<string>, serviceDirectives: DirectiveNode[]) => void;
// Warning: (ae-forgotten-export) The symbol "ModelResourceGenerator" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export class RdsModelResourceGenerator extends ModelResourceGenerator {
// (undocumented)
generateResources(context: TransformerContextProvider, strategyOverride?: SQLLambdaModelDataSourceStrategy): void;
// (undocumented)
protected readonly generatorType = "RdsModelResourceGenerator";
// (undocumented)
getVTLGenerator(): ModelVTLGenerator;
// (undocumented)
setFieldMappingResolverReferences(context: TransformerContextProvider): void;
}
// @public (undocumented)
export class RDSModelVTLGenerator implements ModelVTLGenerator {
// (undocumented)
generateCreateInitSlotTemplate(config: ModelCreateInitSlotConfig, initializeIdField: boolean): string;
// (undocumented)
generateCreateRequestTemplate(config: ModelCreateRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateDefaultResponseMappingTemplate(config: ModelDefaultResponseConfig): string;
// (undocumented)
generateDeleteRequestTemplate(config: ModelUpdateRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateGetResponseTemplate(config: ModelUpdateRequestConfig): string;
// (undocumented)
generateListRequestTemplate(config: ModelRequestConfig, ctx: TransformerContextProvider): string;
// (undocumented)
generateSubscriptionRequestTemplate(): string;
// (undocumented)
generateSubscriptionResponseTemplate(): string;
// (undocumented)
generateSyncRequestTemplate(config: ModelRequestConfig): string;
// (undocumented)
generateUpdateInitSlotTemplate(config: ModelCreateInitSlotConfig): string;
// (undocumented)
generateUpdateRequestTemplate(config: ModelUpdateRequestConfig, ctx: TransformerContextProvider): string;
}
// @public (undocumented)
export const removeSubscriptionFilterInputAttribute: (ctx: TransformerTransformSchemaStepContextProvider, typeName: string, fieldName: string) => void;
// @public (undocumented)
export enum SubscriptionLevel {
// (undocumented)
off = "off",
// (undocumented)
on = "on",
// (undocumented)
public = "public"
}
// (No @packageDocumentation comment for this package)
```