graphql-transformer-core
Version:
A framework to transform from GraphQL SDL to AWS cloudFormation.
25 lines • 2.54 kB
TypeScript
import { Template } from 'cloudform-types';
import { Diff as DeepDiff } from 'deep-diff';
type Diff = DeepDiff<DiffableProject, DiffableProject>;
export type DiffRule = (diff: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export type ProjectRule = (diffs: Diff[], currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
interface DiffableProject {
stacks: {
[stackName: string]: Template;
};
root: Template;
}
export declare const sanityCheckProject: (currentCloudBackendDir: string, buildDirectory: string, rootStackName: string, diffRules: DiffRule[], projectRule: ProjectRule[]) => Promise<void>;
export declare const sanityCheckDiffs: (diffs: Diff[], current: DiffableProject, next: DiffableProject, diffRules: DiffRule[], projectRules: ProjectRule[]) => void;
export declare const getCantEditKeySchemaRule: (iterativeUpdatesEnabled?: boolean) => (diff: DeepDiff<DiffableProject, DiffableProject>) => void;
export declare const getCantAddLSILaterRule: (iterativeUpdatesEnabled?: boolean) => (diff: DeepDiff<DiffableProject, DiffableProject>) => void;
export declare const cantEditGSIKeySchemaRule: (diff: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const cantAddAndRemoveGSIAtSameTimeRule: (diff: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const cantBatchMutateGSIAtUpdateTimeRule: (diff: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const cantMutateMultipleGSIAtUpdateTimeRule: (diffs: Diff[], currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const getCantEditLSIKeySchemaRule: (iterativeUpdatesEnabled?: boolean) => (diff: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const getCantRemoveLSILater: (iterativeUpdatesEnabled?: boolean) => (diff: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const cantHaveMoreThan500ResourcesRule: (diffs: Diff[], currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export declare const cantRemoveTableAfterCreation: (_: DeepDiff<DiffableProject, DiffableProject>, currentBuild: DiffableProject, nextBuild: DiffableProject) => void;
export {};
//# sourceMappingURL=sanity-check.d.ts.map