@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,4 @@
1
+ export * from "./joiner";
2
+ export * from "./transaction";
3
+ export * from "./workflow";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
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("./joiner"), exports);
18
+ __exportStar(require("./transaction"), exports);
19
+ __exportStar(require("./workflow"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,gDAA6B;AAC7B,6CAA0B"}
@@ -0,0 +1,3 @@
1
+ import { RemoteJoinerQuery } from "@8medusa/types";
2
+ export declare function toRemoteJoinerQuery(obj: any, variables?: Record<string, any>): RemoteJoinerQuery;
3
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/joiner/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,EACR,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,iBAAiB,CAmFnB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRemoteJoinerQuery = toRemoteJoinerQuery;
4
+ function toRemoteJoinerQuery(obj, variables = {}) {
5
+ const remoteJoinerQuery = {
6
+ alias: "",
7
+ fields: [],
8
+ expands: [],
9
+ };
10
+ let entryPoint = "";
11
+ function extractRecursive(obj, parentName = "", isEntryPoint = true) {
12
+ for (const key of Object.keys(obj ?? {})) {
13
+ const value = obj[key];
14
+ const canExpand = typeof value === "object" &&
15
+ !["fields", "__fields", "__args", "__directives"].includes(key); // TODO: deprecate "fields"
16
+ if (!canExpand) {
17
+ continue;
18
+ }
19
+ const entityName = parentName ? `${parentName}.${key}` : key;
20
+ const variablesPath = !isEntryPoint
21
+ ? `${entryPoint}${parentName ? "." + parentName : parentName}.${key}`
22
+ : key;
23
+ if (isEntryPoint) {
24
+ entryPoint = key;
25
+ }
26
+ const currentVariables = variables[variablesPath];
27
+ const expandObj = {
28
+ property: entityName,
29
+ };
30
+ const reference = isEntryPoint ? remoteJoinerQuery : expandObj;
31
+ if (currentVariables) {
32
+ reference.args = Object.entries(currentVariables).map(([name, value]) => ({
33
+ name,
34
+ value,
35
+ }));
36
+ }
37
+ if (value.__args) {
38
+ reference.args = [
39
+ ...(reference.__args || []),
40
+ ...Object.entries(value.__args).map(([name, value]) => ({
41
+ name,
42
+ value,
43
+ })),
44
+ ];
45
+ }
46
+ if (value.__directives) {
47
+ reference.directives = Object.entries(value.__directives).map(([name, value]) => ({ name, value }));
48
+ }
49
+ if (value.__fields || value.fields) {
50
+ reference.fields = value.__fields ?? value.fields;
51
+ }
52
+ if (isEntryPoint) {
53
+ if (value.isServiceAccess) {
54
+ remoteJoinerQuery.service = key;
55
+ }
56
+ else {
57
+ remoteJoinerQuery.alias = key;
58
+ }
59
+ }
60
+ else {
61
+ remoteJoinerQuery.expands.push(expandObj);
62
+ }
63
+ extractRecursive(value, isEntryPoint ? "" : entityName, false);
64
+ }
65
+ return remoteJoinerQuery;
66
+ }
67
+ return extractRecursive(obj);
68
+ }
69
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/joiner/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./helpers";
2
+ export * from "./remote-joiner";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/joiner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,19 @@
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("./helpers"), exports);
18
+ __exportStar(require("./remote-joiner"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/joiner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,kDAA+B"}
@@ -0,0 +1,42 @@
1
+ import { ModuleJoinerConfig, RemoteExpandProperty, RemoteJoinerOptions, RemoteJoinerQuery } from "@8medusa/types";
2
+ export type RemoteFetchDataCallback = (expand: RemoteExpandProperty, keyField: string, ids?: (unknown | unknown[])[], relationship?: any) => Promise<{
3
+ data: unknown[] | {
4
+ [path: string]: unknown;
5
+ };
6
+ path?: string;
7
+ }>;
8
+ export declare class RemoteJoiner {
9
+ private remoteFetchData;
10
+ private options;
11
+ private serviceConfigCache;
12
+ private entityMap;
13
+ private static filterFields;
14
+ private static getNestedItems;
15
+ private static createRelatedDataMap;
16
+ static parseQuery(graphqlQuery: string, variables?: Record<string, unknown>): RemoteJoinerQuery;
17
+ constructor(serviceConfigs: ModuleJoinerConfig[], remoteFetchData: RemoteFetchDataCallback, options?: {
18
+ autoCreateServiceNameAlias?: boolean;
19
+ entitiesMap?: Map<string, any>;
20
+ });
21
+ setFetchDataCallback(remoteFetchData: RemoteFetchDataCallback): void;
22
+ private buildReferences;
23
+ private mergeFieldAlias;
24
+ private getServiceConfig;
25
+ private cacheServiceConfig;
26
+ private fetchData;
27
+ private checkIfKeysExist;
28
+ private handleFieldAliases;
29
+ private handleExpands;
30
+ private getEntityRelationship;
31
+ private expandProperty;
32
+ private expandRelationshipProperty;
33
+ private parseExpands;
34
+ private parseProperties;
35
+ private getEntity;
36
+ private parseAlias;
37
+ private groupExpands;
38
+ private createFilterFromInitialData;
39
+ private mergeInitialData;
40
+ query(queryObj: RemoteJoinerQuery, options?: RemoteJoinerOptions): Promise<any>;
41
+ }
42
+ //# sourceMappingURL=remote-joiner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-joiner.d.ts","sourceRoot":"","sources":["../../src/joiner/remote-joiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gBAAgB,CAAA;AAavB,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,EAC7B,YAAY,CAAC,EAAE,GAAG,KACf,OAAO,CAAC;IACX,IAAI,EAAE,OAAO,EAAE,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAmBF,qBAAa,YAAY;IA8GrB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IA9GjB,OAAO,CAAC,kBAAkB,CACf;IAEX,OAAO,CAAC,SAAS,CAA8C;IAE/D,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuBnC,MAAM,CAAC,UAAU,CACf,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,iBAAiB;gBAMlB,cAAc,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,uBAAuB,EACxC,OAAO,GAAE;QACf,0BAA0B,CAAC,EAAE,OAAO,CAAA;QACpC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC1B;IAmBD,oBAAoB,CAAC,eAAe,EAAE,uBAAuB,GAAG,IAAI;IAI3E,OAAO,CAAC,eAAe;IAqLvB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;YAmDZ,SAAS;IAkFvB,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,kBAAkB;YAkFZ,aAAa;IAwC3B,OAAO,CAAC,qBAAqB;YA+Bf,cAAc;YA8Bd,0BAA0B;IA6HxC,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,eAAe;IAuJvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IA8IlB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,2BAA2B;IAuHnC,OAAO,CAAC,gBAAgB;IAiFlB,KAAK,CACT,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,GAAG,CAAC;CAkHhB"}