@aws-amplify/cli-internal
Version:
Amplify CLI
63 lines • 2.56 kB
TypeScript
import ts from 'typescript';
import { GraphqlApi } from '@aws-sdk/client-appsync';
import { ClassifiedVtlFiles, ParsedExtended } from './data.generator';
export interface ExtendedResolverFile {
readonly typeName: string;
readonly fieldName: string;
readonly slot: string;
readonly order: number;
readonly reqFile?: string;
readonly resFile?: string;
}
export interface SpliceEntry {
readonly resolverFile: ExtendedResolverFile;
readonly spliceIndex: number;
}
export interface PipelineSpliceResult {
readonly typeName: string;
readonly fieldName: string;
readonly entries: readonly SpliceEntry[];
}
export declare const ALL_SLOTS: readonly string[];
export declare const PIPELINE_3_SLOT_MAP: Readonly<Record<string, number>>;
export declare const PIPELINE_4_SLOT_MAP: Readonly<Record<string, number>>;
export declare function groupExtendedResolverFiles(extended: readonly ParsedExtended[]): Map<string, ExtendedResolverFile[]>;
export declare function computeSpliceIndexes(typeName: string, fieldName: string, resolverFiles: readonly ExtendedResolverFile[]): PipelineSpliceResult;
export interface DataRenderOptions {
readonly schema: string;
readonly tableMappings: Record<string, string>;
readonly authorizationModes?: any;
readonly graphqlApi: GraphqlApi;
readonly hasAuth?: boolean;
readonly apiId?: string;
readonly classifiedResolvers?: ClassifiedVtlFiles;
}
export declare class DataRenderer {
private readonly envName;
constructor(envName: string);
render(opts: DataRenderOptions): ts.NodeArray<ts.Node>;
private renderNamedImport;
private renderBackendTypeImport;
private renderSchemaDeclaration;
private renderDefineDataExport;
private renderApplyEscapeHatches;
private prepareSchema;
private renderTableMappings;
private renderAuthorizationModes;
private addAuthModeConfig;
private addApiKeyConfig;
private addLambdaConfig;
private addOidcConfig;
private renderLogging;
private extractLoggingConfig;
private extractAdditionalAuthProviders;
private buildAdditionalAuthProviderStatements;
private buildIamAuthGrantStatements;
private buildOverrideResolverStatements;
private buildOverrideLoopBody;
private buildExtendedResolverStatements;
renderNoneDataSource(): ts.Statement;
renderAppsyncFunction(resolverFile: ExtendedResolverFile): ts.Statement;
renderSpliceStatements(spliceResult: PipelineSpliceResult): ts.Statement[];
}
//# sourceMappingURL=data.renderer.d.ts.map