@lifi/sdk 3.0.0-alpha.47 → 3.0.0-alpha.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/_cjs/core/execution.js +11 -11
- package/src/_cjs/core/execution.js.map +1 -1
- package/src/_cjs/core/executionState.js +14 -8
- package/src/_cjs/core/executionState.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_esm/core/execution.js +11 -12
- package/src/_esm/core/execution.js.map +1 -1
- package/src/_esm/core/executionState.js +14 -8
- package/src/_esm/core/executionState.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_types/core/execution.d.ts.map +1 -1
- package/src/_types/core/executionState.d.ts +3 -1
- package/src/_types/core/executionState.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/core/execution.ts +11 -19
- package/src/core/executionState.ts +18 -13
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@lifi/types": "^11.0.0-beta.3",
|
|
6
6
|
"@solana/wallet-adapter-base": "^0.9.23",
|
|
7
|
-
"@solana/web3.js": "^1.89.
|
|
7
|
+
"@solana/web3.js": "^1.89.1",
|
|
8
8
|
"eth-rpc-errors": "^4.0.3",
|
|
9
|
-
"viem": "^2.
|
|
9
|
+
"viem": "^2.1.1"
|
|
10
10
|
},
|
|
11
|
-
"version": "3.0.0-alpha.
|
|
11
|
+
"version": "3.0.0-alpha.48",
|
|
12
12
|
"files": [
|
|
13
13
|
"src",
|
|
14
14
|
"!src/**/*.test.ts",
|
|
@@ -10,14 +10,17 @@ const executeRoute = async (route, executionOptions) => {
|
|
|
10
10
|
if (executionPromise) {
|
|
11
11
|
return executionPromise;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
executionState_js_1.executionState.create({ route: clonedRoute, executionOptions });
|
|
14
|
+
executionPromise = executeSteps(clonedRoute);
|
|
15
|
+
executionState_js_1.executionState.update({
|
|
16
|
+
route: clonedRoute,
|
|
17
|
+
promise: executionPromise,
|
|
18
|
+
});
|
|
15
19
|
return executionPromise;
|
|
16
20
|
};
|
|
17
21
|
exports.executeRoute = executeRoute;
|
|
18
22
|
const resumeRoute = async (route, executionOptions) => {
|
|
19
|
-
const
|
|
20
|
-
const execution = executionState_js_1.executionState.get(clonedRoute.id);
|
|
23
|
+
const execution = executionState_js_1.executionState.get(route.id);
|
|
21
24
|
if (execution) {
|
|
22
25
|
const executionHalted = execution.executors.some((executor) => !executor.allowExecution);
|
|
23
26
|
if (!executionHalted) {
|
|
@@ -30,14 +33,11 @@ const resumeRoute = async (route, executionOptions) => {
|
|
|
30
33
|
return execution.promise;
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
|
-
await (0, prepareRestart_js_1.prepareRestart)(
|
|
34
|
-
|
|
35
|
-
executionState_js_1.executionState.create(route, executionOptions, executionPromise);
|
|
36
|
-
return executionPromise;
|
|
36
|
+
await (0, prepareRestart_js_1.prepareRestart)(route);
|
|
37
|
+
return (0, exports.executeRoute)(route, executionOptions);
|
|
37
38
|
};
|
|
38
39
|
exports.resumeRoute = resumeRoute;
|
|
39
|
-
const executeSteps = async (route
|
|
40
|
-
executionState_js_1.executionState.create(route, executionOptions);
|
|
40
|
+
const executeSteps = async (route) => {
|
|
41
41
|
for (let index = 0; index < route.steps.length; index++) {
|
|
42
42
|
const execution = executionState_js_1.executionState.get(route.id);
|
|
43
43
|
if (!execution) {
|
|
@@ -74,7 +74,7 @@ const executeSteps = async (route, executionOptions) => {
|
|
|
74
74
|
if (executedStep.execution?.status !== 'DONE') {
|
|
75
75
|
(0, exports.stopRouteExecution)(route);
|
|
76
76
|
}
|
|
77
|
-
if (stepExecutor.allowExecution) {
|
|
77
|
+
if (!stepExecutor.allowExecution) {
|
|
78
78
|
return route;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":";;;AAEA,4CAAqC;AACrC,2DAAoD;AACpD,2DAAoD;AAU7C,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAE1B,MAAM,WAAW,GAAG,eAAe,CAAQ,KAAK,CAAC,CAAA;IAEjD,IAAI,gBAAgB,GAAG,kCAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IAElE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,21 @@ exports.executionState = {
|
|
|
6
6
|
get(routeId) {
|
|
7
7
|
return this.state[routeId];
|
|
8
8
|
},
|
|
9
|
-
create(
|
|
10
|
-
this.state[route.id] = {
|
|
11
|
-
...this.state[route.id],
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
promise,
|
|
15
|
-
executors: [],
|
|
9
|
+
create(params) {
|
|
10
|
+
this.state[params.route.id] = {
|
|
11
|
+
...this.state[params.route.id],
|
|
12
|
+
...params,
|
|
13
|
+
executors: this.state[params.route.id]?.executors ?? [],
|
|
16
14
|
};
|
|
17
|
-
return this.state[route.id];
|
|
15
|
+
return this.state[params.route.id];
|
|
16
|
+
},
|
|
17
|
+
update(state) {
|
|
18
|
+
if (this.state[state.route.id]) {
|
|
19
|
+
this.state[state.route.id] = {
|
|
20
|
+
...this.state[state.route.id],
|
|
21
|
+
...state,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
18
24
|
},
|
|
19
25
|
delete(routeId) {
|
|
20
26
|
delete this.state[routeId];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":";;;AAmBa,QAAA,cAAc,GAAmB;IAC5C,KAAK,EAAE,EAAE;IACT,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,MAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE;SACxD,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE;gBAC9B,GAAG,KAAK;aACT,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
|
package/src/_cjs/version.js
CHANGED
|
@@ -16,8 +16,12 @@ export const executeRoute = async (route, executionOptions) => {
|
|
|
16
16
|
if (executionPromise) {
|
|
17
17
|
return executionPromise;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
executionState.create({ route: clonedRoute, executionOptions });
|
|
20
|
+
executionPromise = executeSteps(clonedRoute);
|
|
21
|
+
executionState.update({
|
|
22
|
+
route: clonedRoute,
|
|
23
|
+
promise: executionPromise,
|
|
24
|
+
});
|
|
21
25
|
return executionPromise;
|
|
22
26
|
};
|
|
23
27
|
/**
|
|
@@ -28,9 +32,7 @@ export const executeRoute = async (route, executionOptions) => {
|
|
|
28
32
|
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
29
33
|
*/
|
|
30
34
|
export const resumeRoute = async (route, executionOptions) => {
|
|
31
|
-
|
|
32
|
-
const clonedRoute = structuredClone(route);
|
|
33
|
-
const execution = executionState.get(clonedRoute.id);
|
|
35
|
+
const execution = executionState.get(route.id);
|
|
34
36
|
if (execution) {
|
|
35
37
|
const executionHalted = execution.executors.some((executor) => !executor.allowExecution);
|
|
36
38
|
if (!executionHalted) {
|
|
@@ -45,13 +47,10 @@ export const resumeRoute = async (route, executionOptions) => {
|
|
|
45
47
|
return execution.promise;
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
|
-
await prepareRestart(
|
|
49
|
-
|
|
50
|
-
executionState.create(route, executionOptions, executionPromise);
|
|
51
|
-
return executionPromise;
|
|
50
|
+
await prepareRestart(route);
|
|
51
|
+
return executeRoute(route, executionOptions);
|
|
52
52
|
};
|
|
53
|
-
const executeSteps = async (route
|
|
54
|
-
executionState.create(route, executionOptions);
|
|
53
|
+
const executeSteps = async (route) => {
|
|
55
54
|
// Loop over steps and execute them
|
|
56
55
|
for (let index = 0; index < route.steps.length; index++) {
|
|
57
56
|
const execution = executionState.get(route.id);
|
|
@@ -96,7 +95,7 @@ const executeSteps = async (route, executionOptions) => {
|
|
|
96
95
|
stopRouteExecution(route);
|
|
97
96
|
}
|
|
98
97
|
// Execution stopped during the current step, we don't want to continue to the next step so we return already
|
|
99
|
-
if (stepExecutor.allowExecution) {
|
|
98
|
+
if (!stepExecutor.allowExecution) {
|
|
100
99
|
return route;
|
|
101
100
|
}
|
|
102
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAC1B,qCAAqC;IACrC,MAAM,WAAW,GAAG,eAAe,CAAQ,KAAK,CAAC,CAAA;IAEjD,IAAI,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IAClE,oCAAoC;IACpC,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,21 @@ export const executionState = {
|
|
|
3
3
|
get(routeId) {
|
|
4
4
|
return this.state[routeId];
|
|
5
5
|
},
|
|
6
|
-
create(
|
|
7
|
-
this.state[route.id] = {
|
|
8
|
-
...this.state[route.id],
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
promise,
|
|
12
|
-
executors: [],
|
|
6
|
+
create(params) {
|
|
7
|
+
this.state[params.route.id] = {
|
|
8
|
+
...this.state[params.route.id],
|
|
9
|
+
...params,
|
|
10
|
+
executors: this.state[params.route.id]?.executors ?? [],
|
|
13
11
|
};
|
|
14
|
-
return this.state[route.id];
|
|
12
|
+
return this.state[params.route.id];
|
|
13
|
+
},
|
|
14
|
+
update(state) {
|
|
15
|
+
if (this.state[state.route.id]) {
|
|
16
|
+
this.state[state.route.id] = {
|
|
17
|
+
...this.state[state.route.id],
|
|
18
|
+
...state,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
15
21
|
},
|
|
16
22
|
delete(routeId) {
|
|
17
23
|
delete this.state[routeId];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,KAAK,EAAE,EAAE;IACT,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,MAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE;SACxD,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE;gBAC9B,GAAG,KAAK;aACT,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
|
package/src/_esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAIxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,UAChB,KAAK,qBACO,gBAAgB,KAClC,QAAQ,aAAa,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAIxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,UAChB,KAAK,qBACO,gBAAgB,KAClC,QAAQ,aAAa,CAkBvB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,UACf,KAAK,qBACO,gBAAgB,KAClC,QAAQ,aAAa,CAuBvB,CAAA;AAuED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UACxB,KAAK,WACH,gBAAgB,KACxB,IAmBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAAW,KAAK,KAAG,KAejD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,aAAa,EAI/C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAa,MAAM,KAAG,aAAa,GAAG,SAEhE,CAAA"}
|
|
@@ -5,10 +5,12 @@ export interface ExecutionData {
|
|
|
5
5
|
executionOptions?: ExecutionOptions;
|
|
6
6
|
promise?: Promise<RouteExtended>;
|
|
7
7
|
}
|
|
8
|
+
export type ExecutionStateParams = Omit<ExecutionData, 'executors'>;
|
|
8
9
|
export interface ExecutionState {
|
|
9
10
|
state: Partial<Record<string, ExecutionData>>;
|
|
10
11
|
get(routeId: string): ExecutionData | undefined;
|
|
11
|
-
create(
|
|
12
|
+
create(params: ExecutionStateParams): ExecutionData;
|
|
13
|
+
update(params: ExecutionStateParams): void;
|
|
12
14
|
delete(routeId: string): void;
|
|
13
15
|
}
|
|
14
16
|
export declare const executionState: ExecutionState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionState.d.ts","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;IAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"executionState.d.ts","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CACjC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;AAEnE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;IAC/C,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAA;IACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC1C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,EAAE,cAwB5B,CAAA"}
|
package/src/_types/version.d.ts
CHANGED
package/src/core/execution.ts
CHANGED
|
@@ -25,9 +25,12 @@ export const executeRoute = async (
|
|
|
25
25
|
return executionPromise
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
executionState.
|
|
28
|
+
executionState.create({ route: clonedRoute, executionOptions })
|
|
29
|
+
executionPromise = executeSteps(clonedRoute)
|
|
30
|
+
executionState.update({
|
|
31
|
+
route: clonedRoute,
|
|
32
|
+
promise: executionPromise,
|
|
33
|
+
})
|
|
31
34
|
|
|
32
35
|
return executionPromise
|
|
33
36
|
}
|
|
@@ -43,10 +46,7 @@ export const resumeRoute = async (
|
|
|
43
46
|
route: Route,
|
|
44
47
|
executionOptions?: ExecutionOptions
|
|
45
48
|
): Promise<RouteExtended> => {
|
|
46
|
-
|
|
47
|
-
const clonedRoute = structuredClone<Route>(route)
|
|
48
|
-
|
|
49
|
-
const execution = executionState.get(clonedRoute.id)
|
|
49
|
+
const execution = executionState.get(route.id)
|
|
50
50
|
|
|
51
51
|
if (execution) {
|
|
52
52
|
const executionHalted = execution.executors.some(
|
|
@@ -65,20 +65,12 @@ export const resumeRoute = async (
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
await prepareRestart(
|
|
68
|
+
await prepareRestart(route)
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
executionState.create(route, executionOptions, executionPromise)
|
|
72
|
-
|
|
73
|
-
return executionPromise
|
|
70
|
+
return executeRoute(route, executionOptions)
|
|
74
71
|
}
|
|
75
72
|
|
|
76
|
-
const executeSteps = async (
|
|
77
|
-
route: RouteExtended,
|
|
78
|
-
executionOptions?: ExecutionOptions
|
|
79
|
-
): Promise<RouteExtended> => {
|
|
80
|
-
executionState.create(route, executionOptions)
|
|
81
|
-
|
|
73
|
+
const executeSteps = async (route: RouteExtended): Promise<RouteExtended> => {
|
|
82
74
|
// Loop over steps and execute them
|
|
83
75
|
for (let index = 0; index < route.steps.length; index++) {
|
|
84
76
|
const execution = executionState.get(route.id)
|
|
@@ -133,7 +125,7 @@ const executeSteps = async (
|
|
|
133
125
|
}
|
|
134
126
|
|
|
135
127
|
// Execution stopped during the current step, we don't want to continue to the next step so we return already
|
|
136
|
-
if (stepExecutor.allowExecution) {
|
|
128
|
+
if (!stepExecutor.allowExecution) {
|
|
137
129
|
return route
|
|
138
130
|
}
|
|
139
131
|
} catch (e) {
|
|
@@ -7,14 +7,13 @@ export interface ExecutionData {
|
|
|
7
7
|
promise?: Promise<RouteExtended>
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
export type ExecutionStateParams = Omit<ExecutionData, 'executors'>
|
|
11
|
+
|
|
10
12
|
export interface ExecutionState {
|
|
11
13
|
state: Partial<Record<string, ExecutionData>>
|
|
12
14
|
get(routeId: string): ExecutionData | undefined
|
|
13
|
-
create(
|
|
14
|
-
|
|
15
|
-
executionOptions?: ExecutionOptions,
|
|
16
|
-
promise?: Promise<RouteExtended>
|
|
17
|
-
): ExecutionData
|
|
15
|
+
create(params: ExecutionStateParams): ExecutionData
|
|
16
|
+
update(params: ExecutionStateParams): void
|
|
18
17
|
delete(routeId: string): void
|
|
19
18
|
}
|
|
20
19
|
|
|
@@ -23,15 +22,21 @@ export const executionState: ExecutionState = {
|
|
|
23
22
|
get(routeId: string) {
|
|
24
23
|
return this.state[routeId]
|
|
25
24
|
},
|
|
26
|
-
create(
|
|
27
|
-
this.state[route.id] = {
|
|
28
|
-
...this.state[route.id],
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
create(params) {
|
|
26
|
+
this.state[params.route.id] = {
|
|
27
|
+
...this.state[params.route.id],
|
|
28
|
+
...params,
|
|
29
|
+
executors: this.state[params.route.id]?.executors ?? [],
|
|
30
|
+
}
|
|
31
|
+
return this.state[params.route.id]!
|
|
32
|
+
},
|
|
33
|
+
update(state) {
|
|
34
|
+
if (this.state[state.route.id]) {
|
|
35
|
+
this.state[state.route.id] = {
|
|
36
|
+
...this.state[state.route.id]!,
|
|
37
|
+
...state,
|
|
38
|
+
}
|
|
33
39
|
}
|
|
34
|
-
return this.state[route.id]!
|
|
35
40
|
},
|
|
36
41
|
delete(routeId) {
|
|
37
42
|
delete this.state[routeId]
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '3.0.0-alpha.
|
|
2
|
+
export const version = '3.0.0-alpha.48'
|