Skip to content

Commit

Permalink
add iternal procedue way point
Browse files Browse the repository at this point in the history
  • Loading branch information
WMXPY committed Oct 22, 2023
1 parent 7177694 commit 9af44b3
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 5 deletions.
43 changes: 40 additions & 3 deletions src/record/enrich/find-procedure-waypoint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ const findProcedureWaypoint = (
switch (procedureWaypointType) {

case CONNECTION_WAYPOINT_TYPE.PROCEDURE_SELF_START: {

return enrichProcedure.enterWaypoint;
}
case CONNECTION_WAYPOINT_TYPE.PROCEDURE_SELF_END: {
Expand All @@ -59,11 +60,47 @@ const findProcedureWaypoint = (
const fixedTypeEnrichProcedure: PubRecordProcedureEnrich<
| PUB_PROCEDURE_TYPE.START
| PUB_PROCEDURE_TYPE.DRIVER
| PUB_PROCEDURE_TYPE.MAP> =
enrichProcedure as any;
| PUB_PROCEDURE_TYPE.MAP> = enrichProcedure as any;

return fixedTypeEnrichProcedure.exitWaypoint;
}
case CONNECTION_WAYPOINT_TYPE.PROCEDURE_ITERATE_START: {

const requiredTypes: PUB_PROCEDURE_TYPE[] = [
PUB_PROCEDURE_TYPE.MAP,
];

if (!requiredTypes.includes(enrichProcedure.procedureType)) {
throw PubRecordEnrichProcedureTypeInvalidError.create(
procedureWaypointType,
requiredTypes,
);
}

const fixedTypeEnrichProcedure: PubRecordProcedureEnrich<
| PUB_PROCEDURE_TYPE.MAP
> = enrichProcedure as any;

return fixedTypeEnrichProcedure.iterationStartWaypoint;
}
case CONNECTION_WAYPOINT_TYPE.PROCEDURE_ITERATE_END: {

const requiredTypes: PUB_PROCEDURE_TYPE[] = [
PUB_PROCEDURE_TYPE.MAP,
];

if (!requiredTypes.includes(enrichProcedure.procedureType)) {
throw PubRecordEnrichProcedureTypeInvalidError.create(
procedureWaypointType,
requiredTypes,
);
}

const fixedTypeEnrichProcedure: PubRecordProcedureEnrich<
| PUB_PROCEDURE_TYPE.MAP
> = enrichProcedure as any;

return fixedTypeEnrichProcedure.iterationEndWaypoint;
}
}
return "";
};
15 changes: 13 additions & 2 deletions src/record/enrich/init-connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { PubRecordEnrichProcedureIdentifierNotFoundDuringEnrichError } from "../
import { PUB_PROCEDURE_TYPE } from "../../procedure/definition/configuration";
import { PubRecordConnectionEnrich, PubRecordConnectionEnrichMap } from "../definition/connection-enrich";
import { PubRecordProcedureEnrich, PubRecordProcedureEnrichMap } from "../definition/procedure-enrich";
import { findNextProcedureWaypoint, findTriggerProcedureWaypoint } from "./find-procedure-waypoint";

export const recordInitEnrichConnectionMap = (
connections: PubConnectionConfiguration[],
Expand Down Expand Up @@ -39,18 +40,28 @@ export const recordInitEnrichConnection = (
throw PubRecordEnrichProcedureIdentifierNotFoundDuringEnrichError.create(connection.triggerProcedureIdentifier);
}

const triggerWaypoint: string = findTriggerProcedureWaypoint(
connection,
triggerEnrich,
);

const nextEnrich: PubRecordProcedureEnrich<PUB_PROCEDURE_TYPE> | undefined =
enrichProcedureMap.get(connection.nextProcedureIdentifier);

if (!nextEnrich) {
throw PubRecordEnrichProcedureIdentifierNotFoundDuringEnrichError.create(connection.nextProcedureIdentifier);
}

const nextWaypoint: string = findNextProcedureWaypoint(
connection,
nextEnrich,
);

return {

connectionIdentifier: connection.identifier,

triggerWaypoint: triggerEnrich.enterWaypoint,
nextWaypoint: nextEnrich.enterWaypoint,
triggerWaypoint,
nextWaypoint,
};
};

0 comments on commit 9af44b3

Please sign in to comment.