@medusajs/query 2.17.2
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/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/joiner/helpers.d.ts +3 -0
- package/dist/joiner/helpers.d.ts.map +1 -0
- package/dist/joiner/helpers.js +69 -0
- package/dist/joiner/helpers.js.map +1 -0
- package/dist/joiner/index.d.ts +3 -0
- package/dist/joiner/index.d.ts.map +1 -0
- package/dist/joiner/index.js +19 -0
- package/dist/joiner/index.js.map +1 -0
- package/dist/joiner/remote-joiner.d.ts +43 -0
- package/dist/joiner/remote-joiner.d.ts.map +1 -0
- package/dist/joiner/remote-joiner.js +1279 -0
- package/dist/joiner/remote-joiner.js.map +1 -0
- package/dist/medusa-module.d.ts +13 -0
- package/dist/medusa-module.d.ts.map +1 -0
- package/dist/medusa-module.js +17 -0
- package/dist/medusa-module.js.map +1 -0
- package/dist/remote-query/index.d.ts +3 -0
- package/dist/remote-query/index.d.ts.map +1 -0
- package/dist/remote-query/index.js +19 -0
- package/dist/remote-query/index.js.map +1 -0
- package/dist/remote-query/parse-filters.d.ts +15 -0
- package/dist/remote-query/parse-filters.d.ts.map +1 -0
- package/dist/remote-query/parse-filters.js +178 -0
- package/dist/remote-query/parse-filters.js.map +1 -0
- package/dist/remote-query/query.d.ts +58 -0
- package/dist/remote-query/query.d.ts.map +1 -0
- package/dist/remote-query/query.js +254 -0
- package/dist/remote-query/query.js.map +1 -0
- package/dist/remote-query/remote-query.d.ts +43 -0
- package/dist/remote-query/remote-query.d.ts.map +1 -0
- package/dist/remote-query/remote-query.js +297 -0
- package/dist/remote-query/remote-query.js.map +1 -0
- package/dist/remote-query/to-remote-query.d.ts +29 -0
- package/dist/remote-query/to-remote-query.d.ts.map +1 -0
- package/dist/remote-query/to-remote-query.js +110 -0
- package/dist/remote-query/to-remote-query.js.map +1 -0
- package/dist/testing/medusa-module-mock.d.ts +2 -0
- package/dist/testing/medusa-module-mock.d.ts.map +1 -0
- package/dist/testing/medusa-module-mock.js +16 -0
- package/dist/testing/medusa-module-mock.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +43 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -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("./joiner"), exports);
|
|
18
|
+
__exportStar(require("./remote-query"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,iDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/joiner/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,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 @@
|
|
|
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,43 @@
|
|
|
1
|
+
import { ModuleJoinerConfig, RemoteExpandProperty, RemoteJoinerOptions, RemoteJoinerQuery } from "@medusajs/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
|
+
private computeIdsForRelationship;
|
|
17
|
+
private assignRelatedToItems;
|
|
18
|
+
static parseQuery(graphqlQuery: string, variables?: Record<string, unknown>): RemoteJoinerQuery;
|
|
19
|
+
constructor(serviceConfigs: ModuleJoinerConfig[], remoteFetchData: RemoteFetchDataCallback, options?: {
|
|
20
|
+
autoCreateServiceNameAlias?: boolean;
|
|
21
|
+
entitiesMap?: Map<string, any>;
|
|
22
|
+
});
|
|
23
|
+
setFetchDataCallback(remoteFetchData: RemoteFetchDataCallback): void;
|
|
24
|
+
private buildReferences;
|
|
25
|
+
private mergeFieldAlias;
|
|
26
|
+
private getServiceConfig;
|
|
27
|
+
private cacheServiceConfig;
|
|
28
|
+
private fetchData;
|
|
29
|
+
private checkIfKeysExist;
|
|
30
|
+
private handleFieldAliases;
|
|
31
|
+
private handleExpands;
|
|
32
|
+
private getEntityRelationship;
|
|
33
|
+
private parseExpands;
|
|
34
|
+
private buildQueryPlan;
|
|
35
|
+
private parseProperties;
|
|
36
|
+
private getEntity;
|
|
37
|
+
private parseAlias;
|
|
38
|
+
private groupExpands;
|
|
39
|
+
private createFilterFromInitialData;
|
|
40
|
+
private mergeInitialData;
|
|
41
|
+
query(queryObj: RemoteJoinerQuery, options?: RemoteJoinerOptions): Promise<any>;
|
|
42
|
+
}
|
|
43
|
+
//# 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,EAML,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,iBAAiB,CAAA;AAaxB,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;AAoBF,qBAAa,YAAY;IAiNrB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IAjNjB,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;IAwBnC,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,oBAAoB;IAyD5B,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;IAgNvB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;YAmDZ,SAAS;IAmFvB,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,kBAAkB;YA0FZ,aAAa;IA4K3B,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,cAAc;IAuFtB,OAAO,CAAC,eAAe;IAuJvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAoJlB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,2BAA2B;IAuHnC,OAAO,CAAC,gBAAgB;IAoFlB,KAAK,CACT,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,GAAG,CAAC;CAmHhB"}
|