Skip to content

Commit

Permalink
refactor realization
Browse files Browse the repository at this point in the history
  • Loading branch information
WMXPY committed Oct 28, 2023
1 parent 1448581 commit 6a61f8a
Showing 1 changed file with 40 additions and 3 deletions.
43 changes: 40 additions & 3 deletions src/record/definition/realization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,50 @@
* @description Realization
*/

import { PUB_PROCEDURE_TYPE } from "../../procedure/definition/configuration";

export type PubRealizationOutcome = Record<string, any>;

export type PubRecordRealizationMap = Map<string, PubRecordRealizationResult>;
export type PubRecordRealizationMap = Map<string, PubRecordRealization<PUB_PROCEDURE_TYPE>>;

export type PubRecordRealizationRecord = Record<string, PubRecordRealization<PUB_PROCEDURE_TYPE>>;

export type PubRecordRealization<T extends PUB_PROCEDURE_TYPE> =
PubRecordRealizationCommon<T> &
PubRecordRealizationSwitch<T>;

export type PubRecordRealizationCommon<T extends PUB_PROCEDURE_TYPE> = {

readonly procedureIdentifier: string;
readonly procedureType: T;
};

export type PubRecordRealizationSwitch<T extends PUB_PROCEDURE_TYPE> =
T extends PUB_PROCEDURE_TYPE.START ? PubRecordRealization_Start :
T extends PUB_PROCEDURE_TYPE.END ? PubRecordRealization_End :
T extends PUB_PROCEDURE_TYPE.DRIVER ? PubRecordRealization_Driver :
T extends PUB_PROCEDURE_TYPE.MAP ? PubRecordRealization_Map :
never;


export type PubRecordRealization_Start = {

export type PubRecordRealizationRecord = Record<string, PubRecordRealizationResult>;
readonly parameters: PubRealizationOutcome;
};

export type PubRecordRealization_End = {

readonly outcome: PubRealizationOutcome;
};

export type PubRecordRealization_Driver = {

readonly parameters: PubRealizationOutcome;
readonly outcome: PubRealizationOutcome;
};

export type PubRecordRealizationResult = {
export type PubRecordRealization_Map = {

readonly parameters: PubRealizationOutcome;
readonly outcome: PubRealizationOutcome;
};

0 comments on commit 6a61f8a

Please sign in to comment.