@altostra/core
Version:
Core library for shared types and logic
31 lines (30 loc) • 1.26 kB
TypeScript
export { DeploymentVersion as IVersion, VersionId, DeploymentStatus } from "../Types";
export declare type ProjectId = string;
export declare type DeploymentId = string;
/**
* A pair of some entity from the blueprint (e.g. a File-Store), and another representation of it
* such as an AWS S3 bucket, with some extra-data regarding that pair (as display name)
*/
export interface EntityPair<TBlueprint extends object, TPhysical> {
/**
* The blueprint entity (like File-Store)
*/
blueprint: TBlueprint;
/**
* An entity it is paired with (like AWS S3 bucket)
*/
physical: TPhysical;
/**
* A display name that represents this entity
*/
displayName: string;
}
/**
* Create a pair of some entity from the blueprint (e.g. a File-Store), and another representation of it
* such as an AWS S3 bucket
* @param blueprint The blueprint entity (like File-Store)
* @param physical An entity it is paired with (like AWS S3 bucket)
* @param displayName A display name that represents this entity
* @returns A new entity pair with the provided data
*/
export declare function mkEntityPair<TBlueprint extends object, TPhysical>(blueprint: TBlueprint, physical: TPhysical, displayName: string): EntityPair<TBlueprint, TPhysical>;