@8medusa/orchestration 2.7.0

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.
Files changed (74) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +20 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/joiner/helpers.d.ts +3 -0
  6. package/dist/joiner/helpers.d.ts.map +1 -0
  7. package/dist/joiner/helpers.js +69 -0
  8. package/dist/joiner/helpers.js.map +1 -0
  9. package/dist/joiner/index.d.ts +3 -0
  10. package/dist/joiner/index.d.ts.map +1 -0
  11. package/dist/joiner/index.js +19 -0
  12. package/dist/joiner/index.js.map +1 -0
  13. package/dist/joiner/remote-joiner.d.ts +42 -0
  14. package/dist/joiner/remote-joiner.d.ts.map +1 -0
  15. package/dist/joiner/remote-joiner.js +1108 -0
  16. package/dist/joiner/remote-joiner.js.map +1 -0
  17. package/dist/transaction/datastore/abstract-storage.d.ts +42 -0
  18. package/dist/transaction/datastore/abstract-storage.d.ts.map +1 -0
  19. package/dist/transaction/datastore/abstract-storage.js +52 -0
  20. package/dist/transaction/datastore/abstract-storage.js.map +1 -0
  21. package/dist/transaction/datastore/base-in-memory-storage.d.ts +11 -0
  22. package/dist/transaction/datastore/base-in-memory-storage.d.ts.map +1 -0
  23. package/dist/transaction/datastore/base-in-memory-storage.js +33 -0
  24. package/dist/transaction/datastore/base-in-memory-storage.js.map +1 -0
  25. package/dist/transaction/distributed-transaction.d.ts +99 -0
  26. package/dist/transaction/distributed-transaction.d.ts.map +1 -0
  27. package/dist/transaction/distributed-transaction.js +258 -0
  28. package/dist/transaction/distributed-transaction.js.map +1 -0
  29. package/dist/transaction/errors.d.ts +31 -0
  30. package/dist/transaction/errors.d.ts.map +1 -0
  31. package/dist/transaction/errors.js +89 -0
  32. package/dist/transaction/errors.js.map +1 -0
  33. package/dist/transaction/index.d.ts +8 -0
  34. package/dist/transaction/index.d.ts.map +1 -0
  35. package/dist/transaction/index.js +24 -0
  36. package/dist/transaction/index.js.map +1 -0
  37. package/dist/transaction/orchestrator-builder.d.ts +36 -0
  38. package/dist/transaction/orchestrator-builder.d.ts.map +1 -0
  39. package/dist/transaction/orchestrator-builder.js +300 -0
  40. package/dist/transaction/orchestrator-builder.js.map +1 -0
  41. package/dist/transaction/transaction-orchestrator.d.ts +181 -0
  42. package/dist/transaction/transaction-orchestrator.d.ts.map +1 -0
  43. package/dist/transaction/transaction-orchestrator.js +1061 -0
  44. package/dist/transaction/transaction-orchestrator.js.map +1 -0
  45. package/dist/transaction/transaction-step.d.ts +67 -0
  46. package/dist/transaction/transaction-step.d.ts.map +1 -0
  47. package/dist/transaction/transaction-step.js +146 -0
  48. package/dist/transaction/transaction-step.js.map +1 -0
  49. package/dist/transaction/types.d.ts +236 -0
  50. package/dist/transaction/types.d.ts.map +1 -0
  51. package/dist/transaction/types.js +23 -0
  52. package/dist/transaction/types.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -0
  54. package/dist/workflow/global-workflow.d.ts +14 -0
  55. package/dist/workflow/global-workflow.d.ts.map +1 -0
  56. package/dist/workflow/global-workflow.js +105 -0
  57. package/dist/workflow/global-workflow.js.map +1 -0
  58. package/dist/workflow/index.d.ts +5 -0
  59. package/dist/workflow/index.d.ts.map +1 -0
  60. package/dist/workflow/index.js +21 -0
  61. package/dist/workflow/index.js.map +1 -0
  62. package/dist/workflow/local-workflow.d.ts +46 -0
  63. package/dist/workflow/local-workflow.d.ts.map +1 -0
  64. package/dist/workflow/local-workflow.js +360 -0
  65. package/dist/workflow/local-workflow.js.map +1 -0
  66. package/dist/workflow/scheduler.d.ts +12 -0
  67. package/dist/workflow/scheduler.d.ts.map +1 -0
  68. package/dist/workflow/scheduler.js +35 -0
  69. package/dist/workflow/scheduler.js.map +1 -0
  70. package/dist/workflow/workflow-manager.d.ts +38 -0
  71. package/dist/workflow/workflow-manager.d.ts.map +1 -0
  72. package/dist/workflow/workflow-manager.js +124 -0
  73. package/dist/workflow/workflow-manager.js.map +1 -0
  74. package/package.json +59 -0
@@ -0,0 +1,31 @@
1
+ declare class BaseStepErrror extends Error {
2
+ #private;
3
+ constructor(name: any, message?: string, stepResponse?: unknown);
4
+ getStepResponse(): unknown;
5
+ }
6
+ export declare class PermanentStepFailureError extends BaseStepErrror {
7
+ static isPermanentStepFailureError(error: Error): error is PermanentStepFailureError;
8
+ constructor(message?: string, stepResponse?: unknown);
9
+ }
10
+ export declare class SkipStepResponse extends BaseStepErrror {
11
+ static isSkipStepResponse(error: Error): error is SkipStepResponse;
12
+ constructor(message?: string, stepResponse?: unknown);
13
+ }
14
+ export declare class TransactionStepTimeoutError extends BaseStepErrror {
15
+ static isTransactionStepTimeoutError(error: Error): error is TransactionStepTimeoutError;
16
+ constructor(message?: string, stepResponse?: unknown);
17
+ }
18
+ export declare class TransactionTimeoutError extends BaseStepErrror {
19
+ static isTransactionTimeoutError(error: Error): error is TransactionTimeoutError;
20
+ constructor(message?: string, stepResponse?: unknown);
21
+ }
22
+ export declare class NonSerializableCheckPointError extends Error {
23
+ static isNonSerializableCheckPointError(error: Error): error is NonSerializableCheckPointError;
24
+ constructor(message?: string);
25
+ }
26
+ export declare class SkipExecutionError extends Error {
27
+ static isSkipExecutionError(error: Error): error is SkipExecutionError;
28
+ constructor(message?: string);
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/transaction/errors.ts"],"names":[],"mappings":"AAAA,cAAM,cAAe,SAAQ,KAAK;;gBAGpB,IAAI,KAAA,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;IAM1D,eAAe,IAAI,OAAO;CAG3B;AAED,qBAAa,yBAA0B,SAAQ,cAAc;IAC3D,MAAM,CAAC,2BAA2B,CAChC,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,yBAAyB;gBAOzB,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;CAGrD;AAED,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,gBAAgB;gBAMtD,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;CAGrD;AAED,qBAAa,2BAA4B,SAAQ,cAAc;IAC7D,MAAM,CAAC,6BAA6B,CAClC,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,2BAA2B;gBAO3B,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;CAGrD;AAED,qBAAa,uBAAwB,SAAQ,cAAc;IACzD,MAAM,CAAC,yBAAyB,CAC9B,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,uBAAuB;gBAOvB,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO;CAGrD;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,gCAAgC,CACrC,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,8BAA8B;gBAO9B,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,kBAAkB;gBAO1D,OAAO,CAAC,EAAE,MAAM;CAI7B"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _BaseStepErrror_stepResponse;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SkipExecutionError = exports.NonSerializableCheckPointError = exports.TransactionTimeoutError = exports.TransactionStepTimeoutError = exports.SkipStepResponse = exports.PermanentStepFailureError = void 0;
16
+ class BaseStepErrror extends Error {
17
+ constructor(name, message, stepResponse) {
18
+ super(message);
19
+ _BaseStepErrror_stepResponse.set(this, void 0);
20
+ this.name = name;
21
+ __classPrivateFieldSet(this, _BaseStepErrror_stepResponse, stepResponse, "f");
22
+ }
23
+ getStepResponse() {
24
+ return __classPrivateFieldGet(this, _BaseStepErrror_stepResponse, "f");
25
+ }
26
+ }
27
+ _BaseStepErrror_stepResponse = new WeakMap();
28
+ class PermanentStepFailureError extends BaseStepErrror {
29
+ static isPermanentStepFailureError(error) {
30
+ return (error instanceof PermanentStepFailureError ||
31
+ error?.name === "PermanentStepFailure");
32
+ }
33
+ constructor(message, stepResponse) {
34
+ super("PermanentStepFailure", message, stepResponse);
35
+ }
36
+ }
37
+ exports.PermanentStepFailureError = PermanentStepFailureError;
38
+ class SkipStepResponse extends BaseStepErrror {
39
+ static isSkipStepResponse(error) {
40
+ return (error instanceof SkipStepResponse || error?.name === "SkipStepResponse");
41
+ }
42
+ constructor(message, stepResponse) {
43
+ super("SkipStepResponse", message, stepResponse);
44
+ }
45
+ }
46
+ exports.SkipStepResponse = SkipStepResponse;
47
+ class TransactionStepTimeoutError extends BaseStepErrror {
48
+ static isTransactionStepTimeoutError(error) {
49
+ return (error instanceof TransactionStepTimeoutError ||
50
+ error?.name === "TransactionStepTimeoutError");
51
+ }
52
+ constructor(message, stepResponse) {
53
+ super("TransactionStepTimeoutError", message, stepResponse);
54
+ }
55
+ }
56
+ exports.TransactionStepTimeoutError = TransactionStepTimeoutError;
57
+ class TransactionTimeoutError extends BaseStepErrror {
58
+ static isTransactionTimeoutError(error) {
59
+ return (error instanceof TransactionTimeoutError ||
60
+ error?.name === "TransactionTimeoutError");
61
+ }
62
+ constructor(message, stepResponse) {
63
+ super("TransactionTimeoutError", message, stepResponse);
64
+ }
65
+ }
66
+ exports.TransactionTimeoutError = TransactionTimeoutError;
67
+ class NonSerializableCheckPointError extends Error {
68
+ static isNonSerializableCheckPointError(error) {
69
+ return (error instanceof NonSerializableCheckPointError ||
70
+ error?.name === "NonSerializableCheckPointError");
71
+ }
72
+ constructor(message) {
73
+ super(message);
74
+ this.name = "NonSerializableCheckPointError";
75
+ }
76
+ }
77
+ exports.NonSerializableCheckPointError = NonSerializableCheckPointError;
78
+ class SkipExecutionError extends Error {
79
+ static isSkipExecutionError(error) {
80
+ return (error instanceof SkipExecutionError ||
81
+ error?.name === "SkipExecutionError");
82
+ }
83
+ constructor(message) {
84
+ super(message);
85
+ this.name = "SkipExecutionError";
86
+ }
87
+ }
88
+ exports.SkipExecutionError = SkipExecutionError;
89
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/transaction/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,MAAM,cAAe,SAAQ,KAAK;IAGhC,YAAY,IAAI,EAAE,OAAgB,EAAE,YAAsB;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QAHhB,+CAAsB;QAIpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,uBAAA,IAAI,gCAAiB,YAAY,MAAA,CAAA;IACnC,CAAC;IAED,eAAe;QACb,OAAO,uBAAA,IAAI,oCAAc,CAAA;IAC3B,CAAC;CACF;;AAED,MAAa,yBAA0B,SAAQ,cAAc;IAC3D,MAAM,CAAC,2BAA2B,CAChC,KAAY;QAEZ,OAAO,CACL,KAAK,YAAY,yBAAyB;YAC1C,KAAK,EAAE,IAAI,KAAK,sBAAsB,CACvC,CAAA;IACH,CAAC;IAED,YAAY,OAAgB,EAAE,YAAsB;QAClD,KAAK,CAAC,sBAAsB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;CACF;AAbD,8DAaC;AAED,MAAa,gBAAiB,SAAQ,cAAc;IAClD,MAAM,CAAC,kBAAkB,CAAC,KAAY;QACpC,OAAO,CACL,KAAK,YAAY,gBAAgB,IAAI,KAAK,EAAE,IAAI,KAAK,kBAAkB,CACxE,CAAA;IACH,CAAC;IAED,YAAY,OAAgB,EAAE,YAAsB;QAClD,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;CACF;AAVD,4CAUC;AAED,MAAa,2BAA4B,SAAQ,cAAc;IAC7D,MAAM,CAAC,6BAA6B,CAClC,KAAY;QAEZ,OAAO,CACL,KAAK,YAAY,2BAA2B;YAC5C,KAAK,EAAE,IAAI,KAAK,6BAA6B,CAC9C,CAAA;IACH,CAAC;IAED,YAAY,OAAgB,EAAE,YAAsB;QAClD,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;CACF;AAbD,kEAaC;AAED,MAAa,uBAAwB,SAAQ,cAAc;IACzD,MAAM,CAAC,yBAAyB,CAC9B,KAAY;QAEZ,OAAO,CACL,KAAK,YAAY,uBAAuB;YACxC,KAAK,EAAE,IAAI,KAAK,yBAAyB,CAC1C,CAAA;IACH,CAAC;IAED,YAAY,OAAgB,EAAE,YAAsB;QAClD,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACzD,CAAC;CACF;AAbD,0DAaC;AAED,MAAa,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,gCAAgC,CACrC,KAAY;QAEZ,OAAO,CACL,KAAK,YAAY,8BAA8B;YAC/C,KAAK,EAAE,IAAI,KAAK,gCAAgC,CACjD,CAAA;IACH,CAAC;IAED,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAC9C,CAAC;CACF;AAdD,wEAcC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,MAAM,CAAC,oBAAoB,CAAC,KAAY;QACtC,OAAO,CACL,KAAK,YAAY,kBAAkB;YACnC,KAAK,EAAE,IAAI,KAAK,oBAAoB,CACrC,CAAA;IACH,CAAC;IAED,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAZD,gDAYC"}
@@ -0,0 +1,8 @@
1
+ export * from "./datastore/abstract-storage";
2
+ export * from "./distributed-transaction";
3
+ export * from "./errors";
4
+ export * from "./orchestrator-builder";
5
+ export * from "./transaction-orchestrator";
6
+ export * from "./transaction-step";
7
+ export * from "./types";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,UAAU,CAAA;AACxB,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,SAAS,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./datastore/abstract-storage"), exports);
18
+ __exportStar(require("./distributed-transaction"), exports);
19
+ __exportStar(require("./errors"), exports);
20
+ __exportStar(require("./orchestrator-builder"), exports);
21
+ __exportStar(require("./transaction-orchestrator"), exports);
22
+ __exportStar(require("./transaction-step"), exports);
23
+ __exportStar(require("./types"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transaction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,4DAAyC;AACzC,2CAAwB;AACxB,yDAAsC;AACtC,6DAA0C;AAC1C,qDAAkC;AAClC,0CAAuB"}
@@ -0,0 +1,36 @@
1
+ import { TransactionStepsDefinition } from "./types";
2
+ interface InternalStep extends TransactionStepsDefinition {
3
+ next?: InternalStep | InternalStep[];
4
+ depth: number;
5
+ parent?: InternalStep | null;
6
+ }
7
+ export declare class OrchestratorBuilder {
8
+ protected steps: InternalStep;
9
+ protected hasChanges_: boolean;
10
+ get hasChanges(): boolean;
11
+ constructor(steps?: TransactionStepsDefinition);
12
+ load(steps?: TransactionStepsDefinition): this;
13
+ addAction(action: string, options?: Partial<TransactionStepsDefinition>): this;
14
+ replaceAction(existingAction: string, action: string, options?: Partial<TransactionStepsDefinition>): this;
15
+ insertActionBefore(existingAction: string, action: string, options?: Partial<TransactionStepsDefinition>): this;
16
+ insertActionAfter(existingAction: string, action: string, options?: Partial<TransactionStepsDefinition>): this;
17
+ protected appendTo(step: InternalStep | string, newStep: InternalStep): this;
18
+ appendAction(action: string, to: string, options?: Partial<TransactionStepsDefinition>): this;
19
+ protected move(actionToMove: string, targetAction: string, { runInParallel, mergeNext, }?: {
20
+ runInParallel?: boolean;
21
+ mergeNext?: boolean;
22
+ }): OrchestratorBuilder;
23
+ moveAction(actionToMove: string, targetAction: string): OrchestratorBuilder;
24
+ moveAndMergeNextAction(actionToMove: string, targetAction: string): OrchestratorBuilder;
25
+ mergeActions(where: string, ...actions: string[]): this;
26
+ deleteAction(action: string, steps?: InternalStep): this;
27
+ pruneAction(action: string): this;
28
+ protected findStepByAction(action: string, step?: InternalStep): InternalStep | undefined;
29
+ protected findOrThrowStepByAction(action: string, steps?: InternalStep): InternalStep;
30
+ protected findParentStepByAction(action: string, step?: InternalStep): InternalStep | undefined;
31
+ protected findLastStep(steps?: InternalStep): InternalStep;
32
+ protected updateDepths(startingStep: InternalStep, parent: any, incr?: number, beginFrom?: number): void;
33
+ build(): TransactionStepsDefinition;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=orchestrator-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-builder.d.ts","sourceRoot":"","sources":["../../src/transaction/orchestrator-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,UAAU,YAAa,SAAQ,0BAA0B;IACvD,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAA;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CAC7B;AAED,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,KAAK,EAAE,YAAY,CAAA;IAC7B,SAAS,CAAC,WAAW,UAAQ;IAE7B,IAAI,UAAU,YAEb;gBAEW,KAAK,CAAC,EAAE,0BAA0B;IAI9C,IAAI,CAAC,KAAK,CAAC,EAAE,0BAA0B;IAiBvC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAe3E,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAWnD,kBAAkB,CAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAkCnD,iBAAiB,CACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAmBnD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,OAAO,EAAE,YAAY;IAerE,YAAY,CACV,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAanD,SAAS,CAAC,IAAI,CACZ,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,EACE,aAAa,EACb,SAAS,GACV,GAAE;QACD,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;KAIpB,GACA,mBAAmB;IAwEtB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,mBAAmB;IAI3E,sBAAsB,CACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,mBAAmB;IAItB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE;IAgBhD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,YAAyB;IA6B7D,WAAW,CAAC,MAAM,EAAE,MAAM;IAgB1B,SAAS,CAAC,gBAAgB,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,YAAyB,GAC9B,YAAY,GAAG,SAAS;IAmB3B,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,YAAyB,GAC/B,YAAY;IASf,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,YAAyB,GAC9B,YAAY,GAAG,SAAS;IAyB3B,SAAS,CAAC,YAAY,CAAC,KAAK,GAAE,YAAyB,GAAG,YAAY;IAWtE,SAAS,CAAC,YAAY,CACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,KAAA,EACN,IAAI,SAAI,EACR,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAiBP,KAAK,IAAI,0BAA0B;CAuBpC"}
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrchestratorBuilder = void 0;
4
+ class OrchestratorBuilder {
5
+ get hasChanges() {
6
+ return this.hasChanges_;
7
+ }
8
+ constructor(steps) {
9
+ this.hasChanges_ = false;
10
+ this.load(steps);
11
+ }
12
+ load(steps) {
13
+ this.steps = {
14
+ depth: -1,
15
+ parent: null,
16
+ next: Object.keys(steps ?? {}).length
17
+ ? JSON.parse(JSON.stringify((steps.action ? steps : steps.next)))
18
+ : undefined,
19
+ };
20
+ this.updateDepths(this.steps, {}, 1, -1);
21
+ return this;
22
+ }
23
+ addAction(action, options = {}) {
24
+ const step = this.findLastStep();
25
+ const newAction = {
26
+ action,
27
+ depth: step.depth + 1,
28
+ parent: step.action,
29
+ ...options,
30
+ };
31
+ step.next = newAction;
32
+ this.hasChanges_ = true;
33
+ return this;
34
+ }
35
+ replaceAction(existingAction, action, options = {}) {
36
+ const step = this.findOrThrowStepByAction(existingAction);
37
+ step.action = action;
38
+ Object.assign(step, options);
39
+ this.hasChanges_ = true;
40
+ return this;
41
+ }
42
+ insertActionBefore(existingAction, action, options = {}) {
43
+ const parentStep = this.findParentStepByAction(existingAction);
44
+ if (parentStep) {
45
+ const oldNext = parentStep.next;
46
+ const newDepth = parentStep.depth + 1;
47
+ if (Array.isArray(parentStep.next)) {
48
+ const index = parentStep.next.findIndex((step) => step.action === existingAction);
49
+ if (index > -1) {
50
+ parentStep.next[index] = {
51
+ action,
52
+ ...options,
53
+ next: oldNext[index],
54
+ depth: newDepth,
55
+ };
56
+ }
57
+ }
58
+ else {
59
+ parentStep.next = {
60
+ action,
61
+ ...options,
62
+ next: oldNext,
63
+ depth: newDepth,
64
+ };
65
+ }
66
+ this.updateDepths(oldNext, parentStep);
67
+ }
68
+ this.hasChanges_ = true;
69
+ return this;
70
+ }
71
+ insertActionAfter(existingAction, action, options = {}) {
72
+ const step = this.findOrThrowStepByAction(existingAction);
73
+ const oldNext = step.next;
74
+ const newDepth = step.depth + 1;
75
+ step.next = {
76
+ action,
77
+ ...options,
78
+ next: oldNext,
79
+ depth: newDepth,
80
+ parent: step.action,
81
+ };
82
+ this.updateDepths(oldNext, step.next);
83
+ this.hasChanges_ = true;
84
+ return this;
85
+ }
86
+ appendTo(step, newStep) {
87
+ if (typeof step === "string") {
88
+ step = this.findOrThrowStepByAction(step);
89
+ }
90
+ step.next = {
91
+ ...newStep,
92
+ depth: step.depth + 1,
93
+ parent: step.action,
94
+ };
95
+ this.hasChanges_ = true;
96
+ return this;
97
+ }
98
+ appendAction(action, to, options = {}) {
99
+ const newAction = {
100
+ action,
101
+ ...options,
102
+ };
103
+ const branch = this.findLastStep(this.findStepByAction(to));
104
+ this.appendTo(branch, newAction);
105
+ return this;
106
+ }
107
+ move(actionToMove, targetAction, { runInParallel, mergeNext, } = {
108
+ runInParallel: false,
109
+ mergeNext: false,
110
+ }) {
111
+ const parentActionToMoveStep = this.findParentStepByAction(actionToMove);
112
+ const parentTargetActionStep = this.findParentStepByAction(targetAction);
113
+ const actionToMoveStep = this.findStepByAction(actionToMove, parentTargetActionStep);
114
+ if (!actionToMoveStep) {
115
+ throw new Error(`Action "${actionToMove}" could not be found in the following steps of "${targetAction}"`);
116
+ }
117
+ if (Array.isArray(parentActionToMoveStep.next)) {
118
+ const index = parentActionToMoveStep.next.findIndex((step) => step.action === actionToMove);
119
+ if (index > -1) {
120
+ parentActionToMoveStep.next.splice(index, 1);
121
+ }
122
+ }
123
+ else {
124
+ delete parentActionToMoveStep.next;
125
+ }
126
+ if (runInParallel) {
127
+ if (Array.isArray(parentTargetActionStep.next)) {
128
+ parentTargetActionStep.next.push(actionToMoveStep);
129
+ }
130
+ else if (parentTargetActionStep.next) {
131
+ parentTargetActionStep.next = [
132
+ parentTargetActionStep.next,
133
+ actionToMoveStep,
134
+ ];
135
+ }
136
+ }
137
+ else {
138
+ if (actionToMoveStep.next) {
139
+ if (mergeNext) {
140
+ if (Array.isArray(actionToMoveStep.next)) {
141
+ actionToMoveStep.next.push(parentTargetActionStep.next);
142
+ }
143
+ else {
144
+ actionToMoveStep.next = [
145
+ actionToMoveStep.next,
146
+ parentTargetActionStep.next,
147
+ ];
148
+ }
149
+ }
150
+ else {
151
+ this.appendTo(this.findLastStep(actionToMoveStep), parentTargetActionStep.next);
152
+ }
153
+ }
154
+ else {
155
+ actionToMoveStep.next = parentTargetActionStep.next;
156
+ }
157
+ parentTargetActionStep.next = actionToMoveStep;
158
+ }
159
+ this.updateDepths(actionToMoveStep, parentTargetActionStep, 1, parentTargetActionStep.depth);
160
+ this.hasChanges_ = true;
161
+ return this;
162
+ }
163
+ moveAction(actionToMove, targetAction) {
164
+ return this.move(actionToMove, targetAction);
165
+ }
166
+ moveAndMergeNextAction(actionToMove, targetAction) {
167
+ return this.move(actionToMove, targetAction, { mergeNext: true });
168
+ }
169
+ mergeActions(where, ...actions) {
170
+ actions.unshift(where);
171
+ if (actions.length < 2) {
172
+ throw new Error("Cannot merge less than two actions");
173
+ }
174
+ for (const action of actions) {
175
+ if (action !== where) {
176
+ this.move(action, where, { runInParallel: true });
177
+ }
178
+ }
179
+ return this;
180
+ }
181
+ deleteAction(action, steps = this.steps) {
182
+ const actionStep = this.findOrThrowStepByAction(action);
183
+ const parentStep = this.findParentStepByAction(action, steps);
184
+ if (Array.isArray(parentStep.next)) {
185
+ const index = parentStep.next.findIndex((step) => step.action === action);
186
+ if (index > -1 && actionStep.next) {
187
+ if (actionStep.next) {
188
+ parentStep.next[index] = actionStep.next;
189
+ }
190
+ else {
191
+ parentStep.next.splice(index, 1);
192
+ }
193
+ }
194
+ }
195
+ else {
196
+ parentStep.next = actionStep.next;
197
+ }
198
+ this.updateDepths(actionStep.next, parentStep, 1, parentStep.depth);
199
+ this.hasChanges_ = true;
200
+ return this;
201
+ }
202
+ pruneAction(action) {
203
+ const parentStep = this.findParentStepByAction(action, this.steps);
204
+ if (Array.isArray(parentStep.next)) {
205
+ const index = parentStep.next.findIndex((step) => step.action === action);
206
+ if (index > -1) {
207
+ parentStep.next.splice(index, 1);
208
+ }
209
+ }
210
+ else {
211
+ delete parentStep.next;
212
+ }
213
+ this.hasChanges_ = true;
214
+ return this;
215
+ }
216
+ findStepByAction(action, step = this.steps) {
217
+ if (step.uuid === action || step.action === action) {
218
+ return step;
219
+ }
220
+ if (Array.isArray(step.next)) {
221
+ for (const subStep of step.next) {
222
+ const found = this.findStepByAction(action, subStep);
223
+ if (found) {
224
+ return found;
225
+ }
226
+ }
227
+ }
228
+ else if (step.next && typeof step.next === "object") {
229
+ return this.findStepByAction(action, step.next);
230
+ }
231
+ return;
232
+ }
233
+ findOrThrowStepByAction(action, steps = this.steps) {
234
+ const step = this.findStepByAction(action, steps);
235
+ if (!step) {
236
+ throw new Error(`Action "${action}" could not be found`);
237
+ }
238
+ return step;
239
+ }
240
+ findParentStepByAction(action, step = this.steps) {
241
+ if (!step.next) {
242
+ return;
243
+ }
244
+ const nextSteps = Array.isArray(step.next) ? step.next : [step.next];
245
+ for (const nextStep of nextSteps) {
246
+ if (!nextStep) {
247
+ continue;
248
+ }
249
+ if (nextStep.uuid === action || nextStep.action === action) {
250
+ return step;
251
+ }
252
+ const foundStep = this.findParentStepByAction(action, nextStep);
253
+ if (foundStep) {
254
+ return foundStep;
255
+ }
256
+ }
257
+ return;
258
+ }
259
+ findLastStep(steps = this.steps) {
260
+ let step = steps;
261
+ while (step.next) {
262
+ step = Array.isArray(step.next)
263
+ ? step.next[step.next.length - 1]
264
+ : step.next;
265
+ }
266
+ return step;
267
+ }
268
+ updateDepths(startingStep, parent, incr = 1, beginFrom) {
269
+ if (!startingStep) {
270
+ return;
271
+ }
272
+ const update = (step, parent, beginFrom) => {
273
+ step.depth = beginFrom + incr;
274
+ step.parent = parent.action;
275
+ if (Array.isArray(step.next)) {
276
+ step.next.forEach((nextAction) => update(nextAction, step, step.depth));
277
+ }
278
+ else if (step.next) {
279
+ update(step.next, step, step.depth);
280
+ }
281
+ };
282
+ update(startingStep, parent, beginFrom ?? startingStep.depth);
283
+ }
284
+ build() {
285
+ if (!this.steps.next) {
286
+ return {};
287
+ }
288
+ const ignore = ["depth", "parent"];
289
+ const result = JSON.parse(JSON.stringify(Array.isArray(this.steps.next) ? this.steps : this.steps.next, null), (key, value) => {
290
+ if (ignore.includes(key)) {
291
+ return;
292
+ }
293
+ return value;
294
+ });
295
+ this.hasChanges_ = false;
296
+ return result;
297
+ }
298
+ }
299
+ exports.OrchestratorBuilder = OrchestratorBuilder;
300
+ //# sourceMappingURL=orchestrator-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-builder.js","sourceRoot":"","sources":["../../src/transaction/orchestrator-builder.ts"],"names":[],"mappings":"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"}