@aws-amplify/appsync-modelgen-plugin
Version:
37 lines • 1.91 kB
TypeScript
import { CodeGenModel, CodeGenModelMap, CodeGenField, CodeGenFieldDirective } from '../visitors/appsync-visitor';
export declare enum CodeGenConnectionType {
HAS_ONE = "HAS_ONE",
BELONGS_TO = "BELONGS_TO",
HAS_MANY = "HAS_MANY"
}
export declare type CodeGenConnectionTypeBase = {
kind: CodeGenConnectionType;
connectedModel: CodeGenModel;
isConnectingFieldAutoCreated: boolean;
};
export declare type CodeGenFieldConnectionBelongsTo = CodeGenConnectionTypeBase & {
kind: CodeGenConnectionType.BELONGS_TO;
targetName: string;
targetNames: string[];
isUsingReferences?: boolean;
};
export declare type CodeGenFieldConnectionHasOne = CodeGenConnectionTypeBase & {
kind: CodeGenConnectionType.HAS_ONE;
associatedWith: CodeGenField;
associatedWithNativeReferences?: CodeGenField;
associatedWithFields: CodeGenField[];
targetName?: string;
targetNames?: string[];
};
export declare type CodeGenFieldConnectionHasMany = CodeGenConnectionTypeBase & {
kind: CodeGenConnectionType.HAS_MANY;
associatedWith: CodeGenField;
associatedWithNativeReferences?: CodeGenField;
associatedWithFields: CodeGenField[];
};
export declare type CodeGenFieldConnection = CodeGenFieldConnectionBelongsTo | CodeGenFieldConnectionHasOne | CodeGenFieldConnectionHasMany;
export declare function makeConnectionAttributeName(type: string, field?: string, otherSidePrimaryKeyComponentField?: string): string;
export declare function flattenFieldDirectives(model: CodeGenModel): CodeGenFieldDirective[];
export declare function getConnectedField(field: CodeGenField, model: CodeGenModel, connectedModel: CodeGenModel): CodeGenField;
export declare function processConnections(field: CodeGenField, model: CodeGenModel, modelMap: CodeGenModelMap, isDataStoreEnabled: boolean): CodeGenFieldConnection | undefined;
//# sourceMappingURL=process-connections.d.ts.map