@graphql-tools/resolvers-composition 6.2.6-alpha-523f2cce.0 → 6.2.6
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/README.md +6 -0
- package/es5/README.md +6 -0
- package/es5/index.cjs.js +8 -8
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.esm.js +9 -9
- package/es5/index.esm.js.map +1 -1
- package/es5/package.json +4 -4
- package/index.cjs.js +6 -6
- package/index.cjs.js.map +1 -1
- package/index.esm.js +6 -6
- package/index.esm.js.map +1 -1
- package/package.json +4 -4
package/README.md
ADDED
package/es5/README.md
ADDED
package/es5/index.cjs.js
CHANGED
|
@@ -16,18 +16,18 @@ function chainFunctions(funcs) {
|
|
|
16
16
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
17
17
|
args[_i] = arguments[_i];
|
|
18
18
|
}
|
|
19
|
-
return a(b.apply(void 0, tslib.
|
|
19
|
+
return a(b.apply(void 0, tslib.__spreadArray([], tslib.__read(args))));
|
|
20
20
|
}; });
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
24
|
-
var
|
|
25
|
-
if (
|
|
26
|
-
var typeName_1 =
|
|
24
|
+
var split = path.split('.');
|
|
25
|
+
if (split.length === 2) {
|
|
26
|
+
var typeName_1 = split[0];
|
|
27
27
|
if (graphql.isScalarType(resolvers[typeName_1])) {
|
|
28
28
|
return [];
|
|
29
29
|
}
|
|
30
|
-
var fieldName_1 =
|
|
30
|
+
var fieldName_1 = split[1];
|
|
31
31
|
if (typeName_1 === '*') {
|
|
32
32
|
return lodash.flatten(Object.keys(resolvers).map(function (typeName) {
|
|
33
33
|
return resolveRelevantMappings(resolvers, typeName + "." + fieldName_1, allMappings);
|
|
@@ -54,8 +54,8 @@ function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
|
54
54
|
return paths;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
else if (
|
|
58
|
-
var typeName_2 =
|
|
57
|
+
else if (split.length === 1) {
|
|
58
|
+
var typeName_2 = split[0];
|
|
59
59
|
return lodash.flatten(Object.keys(resolvers[typeName_2]).map(function (fieldName) {
|
|
60
60
|
return resolveRelevantMappings(resolvers, typeName_2 + "." + fieldName, allMappings);
|
|
61
61
|
}));
|
|
@@ -92,7 +92,7 @@ function composeResolvers(resolvers, mapping) {
|
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
94
|
Object.keys(mappingResult).forEach(function (path) {
|
|
95
|
-
var fns = chainFunctions(tslib.
|
|
95
|
+
var fns = chainFunctions(tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(utils.asArray(mappingResult[path]))), [function () { return lodash.get(resolvers, path); }]));
|
|
96
96
|
lodash.set(resolvers, path, fns());
|
|
97
97
|
});
|
|
98
98
|
return resolvers;
|
package/es5/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/resolvers-composition/src/chain-functions.js","../../../dist-es5/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["import { __read,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/resolvers-composition/src/chain-functions.js","../../../dist-es5/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["import { __read, __spreadArray } from \"tslib\";\nexport function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return a(b.apply(void 0, __spreadArray([], __read(args))));\n }; });\n}\n//# sourceMappingURL=chain-functions.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n var split = path.split('.');\n if (split.length === 2) {\n var typeName_1 = split[0];\n if (isScalarType(resolvers[typeName_1])) {\n return [];\n }\n var fieldName_1 = split[1];\n if (typeName_1 === '*') {\n return flatten(Object.keys(resolvers).map(function (typeName) {\n return resolveRelevantMappings(resolvers, typeName + \".\" + fieldName_1, allMappings);\n }));\n }\n if (fieldName_1 === '*') {\n return flatten(Object.keys(resolvers[typeName_1]).map(function (field) {\n return resolveRelevantMappings(resolvers, typeName_1 + \".\" + field, allMappings);\n })).filter(function (mapItem) { return !allMappings[mapItem]; });\n }\n else {\n var paths = [];\n if (resolvers[typeName_1] && resolvers[typeName_1][fieldName_1]) {\n if (resolvers[typeName_1][fieldName_1].subscribe) {\n paths.push(path + '.subscribe');\n }\n if (resolvers[typeName_1][fieldName_1].resolve) {\n paths.push(path + '.resolve');\n }\n if (typeof resolvers[typeName_1][fieldName_1] === 'function') {\n paths.push(path);\n }\n }\n return paths;\n }\n }\n else if (split.length === 1) {\n var typeName_2 = split[0];\n return flatten(Object.keys(resolvers[typeName_2]).map(function (fieldName) {\n return resolveRelevantMappings(resolvers, typeName_2 + \".\" + fieldName, allMappings);\n }));\n }\n return [];\n}\n/**\n * Wraps the resolvers object with the resolvers composition objects.\n * Implemented as a simple and basic middleware mechanism.\n *\n * @param resolvers - resolvers object\n * @param mapping - resolvers composition mapping\n * @hidden\n */\nexport function composeResolvers(resolvers, mapping) {\n if (mapping === void 0) { mapping = {}; }\n var mappingResult = {};\n Object.keys(mapping).forEach(function (resolverPath) {\n if (mapping[resolverPath] instanceof Array || typeof mapping[resolverPath] === 'function') {\n var composeFns_1 = mapping[resolverPath];\n var relevantFields = resolveRelevantMappings(resolvers, resolverPath, mapping);\n relevantFields.forEach(function (path) {\n mappingResult[path] = asArray(composeFns_1);\n });\n }\n else {\n Object.keys(mapping[resolverPath]).forEach(function (fieldName) {\n var composeFns = mapping[resolverPath][fieldName];\n var relevantFields = resolveRelevantMappings(resolvers, resolverPath + '.' + fieldName, mapping);\n relevantFields.forEach(function (path) {\n mappingResult[path] = asArray(composeFns);\n });\n });\n }\n });\n Object.keys(mappingResult).forEach(function (path) {\n var fns = chainFunctions(__spreadArray(__spreadArray([], __read(asArray(mappingResult[path]))), [function () { return get(resolvers, path); }]));\n set(resolvers, path, fns());\n });\n return resolvers;\n}\n//# sourceMappingURL=resolvers-composition.js.map"],"names":["__spreadArray","__read","isScalarType","flatten","asArray","get","set"],"mappings":";;;;;;;;;AACO,SAAS,cAAc,CAAC,KAAK,EAAE;AACtC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,YAAY;AAC7D,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;AACtB,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACtD,YAAY,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAEA,mBAAa,CAAC,EAAE,EAAEC,YAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,KAAK,CAAC,EAAE,CAAC,CAAC;AACV;;ACPA,SAAS,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;AAC/D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,QAAQ,IAAIC,oBAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE;AACjD,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,IAAI,UAAU,KAAK,GAAG,EAAE;AAChC,YAAY,OAAOC,cAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,QAAQ,EAAE;AAC1E,gBAAgB,OAAO,uBAAuB,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;AACrG,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,QAAQ,IAAI,WAAW,KAAK,GAAG,EAAE;AACjC,YAAY,OAAOA,cAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AACnF,gBAAgB,OAAO,uBAAuB,CAAC,SAAS,EAAE,UAAU,GAAG,GAAG,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC;AACjG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7E,SAAS;AACT,aAAa;AACb,YAAY,IAAI,KAAK,GAAG,EAAE,CAAC;AAC3B,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE;AAC7E,gBAAgB,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE;AAClE,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;AACpD,iBAAiB;AACjB,gBAAgB,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;AAChE,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;AAClD,iBAAiB;AACjB,gBAAgB,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE;AAC9E,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,QAAQ,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,QAAQ,OAAOA,cAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE;AACnF,YAAY,OAAO,uBAAuB,CAAC,SAAS,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC;AACjG,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE;AACrD,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE;AAC7C,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE;AACzD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,KAAK,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE;AACnG,YAAY,IAAI,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACrD,YAAY,IAAI,cAAc,GAAG,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3F,YAAY,cAAc,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACnD,gBAAgB,aAAa,CAAC,IAAI,CAAC,GAAGC,aAAO,CAAC,YAAY,CAAC,CAAC;AAC5D,aAAa,CAAC,CAAC;AACf,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AAC5E,gBAAgB,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;AAClE,gBAAgB,IAAI,cAAc,GAAG,uBAAuB,CAAC,SAAS,EAAE,YAAY,GAAG,GAAG,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;AACjH,gBAAgB,cAAc,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACvD,oBAAoB,aAAa,CAAC,IAAI,CAAC,GAAGA,aAAO,CAAC,UAAU,CAAC,CAAC;AAC9D,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACvD,QAAQ,IAAI,GAAG,GAAG,cAAc,CAACJ,mBAAa,CAACA,mBAAa,CAAC,EAAE,EAAEC,YAAM,CAACG,aAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,OAAOC,UAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzJ,QAAQC,UAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,SAAS,CAAC;AACrB;;;;"}
|
package/es5/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __spreadArray, __read } from 'tslib';
|
|
2
2
|
import { get, set, flatten } from 'lodash';
|
|
3
3
|
import { isScalarType } from 'graphql';
|
|
4
4
|
import { asArray } from '@graphql-tools/utils/es5';
|
|
@@ -12,18 +12,18 @@ function chainFunctions(funcs) {
|
|
|
12
12
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
13
13
|
args[_i] = arguments[_i];
|
|
14
14
|
}
|
|
15
|
-
return a(b.apply(void 0,
|
|
15
|
+
return a(b.apply(void 0, __spreadArray([], __read(args))));
|
|
16
16
|
}; });
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
20
|
-
var
|
|
21
|
-
if (
|
|
22
|
-
var typeName_1 =
|
|
20
|
+
var split = path.split('.');
|
|
21
|
+
if (split.length === 2) {
|
|
22
|
+
var typeName_1 = split[0];
|
|
23
23
|
if (isScalarType(resolvers[typeName_1])) {
|
|
24
24
|
return [];
|
|
25
25
|
}
|
|
26
|
-
var fieldName_1 =
|
|
26
|
+
var fieldName_1 = split[1];
|
|
27
27
|
if (typeName_1 === '*') {
|
|
28
28
|
return flatten(Object.keys(resolvers).map(function (typeName) {
|
|
29
29
|
return resolveRelevantMappings(resolvers, typeName + "." + fieldName_1, allMappings);
|
|
@@ -50,8 +50,8 @@ function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
|
50
50
|
return paths;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
else if (
|
|
54
|
-
var typeName_2 =
|
|
53
|
+
else if (split.length === 1) {
|
|
54
|
+
var typeName_2 = split[0];
|
|
55
55
|
return flatten(Object.keys(resolvers[typeName_2]).map(function (fieldName) {
|
|
56
56
|
return resolveRelevantMappings(resolvers, typeName_2 + "." + fieldName, allMappings);
|
|
57
57
|
}));
|
|
@@ -88,7 +88,7 @@ function composeResolvers(resolvers, mapping) {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
Object.keys(mappingResult).forEach(function (path) {
|
|
91
|
-
var fns = chainFunctions(
|
|
91
|
+
var fns = chainFunctions(__spreadArray(__spreadArray([], __read(asArray(mappingResult[path]))), [function () { return get(resolvers, path); }]));
|
|
92
92
|
set(resolvers, path, fns());
|
|
93
93
|
});
|
|
94
94
|
return resolvers;
|
package/es5/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../dist-es5/resolvers-composition/src/chain-functions.js","../../../dist-es5/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["import { __read,
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../dist-es5/resolvers-composition/src/chain-functions.js","../../../dist-es5/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["import { __read, __spreadArray } from \"tslib\";\nexport function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return a(b.apply(void 0, __spreadArray([], __read(args))));\n }; });\n}\n//# sourceMappingURL=chain-functions.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n var split = path.split('.');\n if (split.length === 2) {\n var typeName_1 = split[0];\n if (isScalarType(resolvers[typeName_1])) {\n return [];\n }\n var fieldName_1 = split[1];\n if (typeName_1 === '*') {\n return flatten(Object.keys(resolvers).map(function (typeName) {\n return resolveRelevantMappings(resolvers, typeName + \".\" + fieldName_1, allMappings);\n }));\n }\n if (fieldName_1 === '*') {\n return flatten(Object.keys(resolvers[typeName_1]).map(function (field) {\n return resolveRelevantMappings(resolvers, typeName_1 + \".\" + field, allMappings);\n })).filter(function (mapItem) { return !allMappings[mapItem]; });\n }\n else {\n var paths = [];\n if (resolvers[typeName_1] && resolvers[typeName_1][fieldName_1]) {\n if (resolvers[typeName_1][fieldName_1].subscribe) {\n paths.push(path + '.subscribe');\n }\n if (resolvers[typeName_1][fieldName_1].resolve) {\n paths.push(path + '.resolve');\n }\n if (typeof resolvers[typeName_1][fieldName_1] === 'function') {\n paths.push(path);\n }\n }\n return paths;\n }\n }\n else if (split.length === 1) {\n var typeName_2 = split[0];\n return flatten(Object.keys(resolvers[typeName_2]).map(function (fieldName) {\n return resolveRelevantMappings(resolvers, typeName_2 + \".\" + fieldName, allMappings);\n }));\n }\n return [];\n}\n/**\n * Wraps the resolvers object with the resolvers composition objects.\n * Implemented as a simple and basic middleware mechanism.\n *\n * @param resolvers - resolvers object\n * @param mapping - resolvers composition mapping\n * @hidden\n */\nexport function composeResolvers(resolvers, mapping) {\n if (mapping === void 0) { mapping = {}; }\n var mappingResult = {};\n Object.keys(mapping).forEach(function (resolverPath) {\n if (mapping[resolverPath] instanceof Array || typeof mapping[resolverPath] === 'function') {\n var composeFns_1 = mapping[resolverPath];\n var relevantFields = resolveRelevantMappings(resolvers, resolverPath, mapping);\n relevantFields.forEach(function (path) {\n mappingResult[path] = asArray(composeFns_1);\n });\n }\n else {\n Object.keys(mapping[resolverPath]).forEach(function (fieldName) {\n var composeFns = mapping[resolverPath][fieldName];\n var relevantFields = resolveRelevantMappings(resolvers, resolverPath + '.' + fieldName, mapping);\n relevantFields.forEach(function (path) {\n mappingResult[path] = asArray(composeFns);\n });\n });\n }\n });\n Object.keys(mappingResult).forEach(function (path) {\n var fns = chainFunctions(__spreadArray(__spreadArray([], __read(asArray(mappingResult[path]))), [function () { return get(resolvers, path); }]));\n set(resolvers, path, fns());\n });\n return resolvers;\n}\n//# sourceMappingURL=resolvers-composition.js.map"],"names":[],"mappings":"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"}
|
package/es5/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-tools/resolvers-composition/es5",
|
|
3
|
-
"version": "6.2.6
|
|
4
|
-
"description": "Common package
|
|
3
|
+
"version": "6.2.6",
|
|
4
|
+
"description": "Common package containing utils and types for GraphQL tools",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"graphql": "^14.0.0 || ^15.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@graphql-tools/utils": "
|
|
11
|
-
"lodash": "4.17.
|
|
10
|
+
"@graphql-tools/utils": "^7.0.0",
|
|
11
|
+
"lodash": "4.17.21",
|
|
12
12
|
"tslib": "~2.1.0"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
package/index.cjs.js
CHANGED
|
@@ -14,13 +14,13 @@ function chainFunctions(funcs) {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
const typeName =
|
|
17
|
+
const split = path.split('.');
|
|
18
|
+
if (split.length === 2) {
|
|
19
|
+
const typeName = split[0];
|
|
20
20
|
if (graphql.isScalarType(resolvers[typeName])) {
|
|
21
21
|
return [];
|
|
22
22
|
}
|
|
23
|
-
const fieldName =
|
|
23
|
+
const fieldName = split[1];
|
|
24
24
|
if (typeName === '*') {
|
|
25
25
|
return lodash.flatten(Object.keys(resolvers).map(typeName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));
|
|
26
26
|
}
|
|
@@ -43,8 +43,8 @@ function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
|
43
43
|
return paths;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
else if (
|
|
47
|
-
const typeName =
|
|
46
|
+
else if (split.length === 1) {
|
|
47
|
+
const typeName = split[0];
|
|
48
48
|
return lodash.flatten(Object.keys(resolvers[typeName]).map(fieldName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));
|
|
49
49
|
}
|
|
50
50
|
return [];
|
package/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../dist/resolvers-composition/src/chain-functions.js","../../../dist/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["export function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n//# sourceMappingURL=chain-functions.js.map","import { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n const
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../dist/resolvers-composition/src/chain-functions.js","../../../dist/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["export function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n//# sourceMappingURL=chain-functions.js.map","import { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n const split = path.split('.');\n if (split.length === 2) {\n const typeName = split[0];\n if (isScalarType(resolvers[typeName])) {\n return [];\n }\n const fieldName = split[1];\n if (typeName === '*') {\n return flatten(Object.keys(resolvers).map(typeName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));\n }\n if (fieldName === '*') {\n return flatten(Object.keys(resolvers[typeName]).map(field => resolveRelevantMappings(resolvers, `${typeName}.${field}`, allMappings))).filter(mapItem => !allMappings[mapItem]);\n }\n else {\n const paths = [];\n if (resolvers[typeName] && resolvers[typeName][fieldName]) {\n if (resolvers[typeName][fieldName].subscribe) {\n paths.push(path + '.subscribe');\n }\n if (resolvers[typeName][fieldName].resolve) {\n paths.push(path + '.resolve');\n }\n if (typeof resolvers[typeName][fieldName] === 'function') {\n paths.push(path);\n }\n }\n return paths;\n }\n }\n else if (split.length === 1) {\n const typeName = split[0];\n return flatten(Object.keys(resolvers[typeName]).map(fieldName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));\n }\n return [];\n}\n/**\n * Wraps the resolvers object with the resolvers composition objects.\n * Implemented as a simple and basic middleware mechanism.\n *\n * @param resolvers - resolvers object\n * @param mapping - resolvers composition mapping\n * @hidden\n */\nexport function composeResolvers(resolvers, mapping = {}) {\n const mappingResult = {};\n Object.keys(mapping).forEach((resolverPath) => {\n if (mapping[resolverPath] instanceof Array || typeof mapping[resolverPath] === 'function') {\n const composeFns = mapping[resolverPath];\n const relevantFields = resolveRelevantMappings(resolvers, resolverPath, mapping);\n relevantFields.forEach((path) => {\n mappingResult[path] = asArray(composeFns);\n });\n }\n else {\n Object.keys(mapping[resolverPath]).forEach(fieldName => {\n const composeFns = mapping[resolverPath][fieldName];\n const relevantFields = resolveRelevantMappings(resolvers, resolverPath + '.' + fieldName, mapping);\n relevantFields.forEach((path) => {\n mappingResult[path] = asArray(composeFns);\n });\n });\n }\n });\n Object.keys(mappingResult).forEach(path => {\n const fns = chainFunctions([...asArray(mappingResult[path]), () => get(resolvers, path)]);\n set(resolvers, path, fns());\n });\n return resolvers;\n}\n//# sourceMappingURL=resolvers-composition.js.map"],"names":["isScalarType","flatten","asArray","get","set"],"mappings":"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"}
|
package/index.esm.js
CHANGED
|
@@ -10,13 +10,13 @@ function chainFunctions(funcs) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
15
|
-
const typeName =
|
|
13
|
+
const split = path.split('.');
|
|
14
|
+
if (split.length === 2) {
|
|
15
|
+
const typeName = split[0];
|
|
16
16
|
if (isScalarType(resolvers[typeName])) {
|
|
17
17
|
return [];
|
|
18
18
|
}
|
|
19
|
-
const fieldName =
|
|
19
|
+
const fieldName = split[1];
|
|
20
20
|
if (typeName === '*') {
|
|
21
21
|
return flatten(Object.keys(resolvers).map(typeName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));
|
|
22
22
|
}
|
|
@@ -39,8 +39,8 @@ function resolveRelevantMappings(resolvers, path, allMappings) {
|
|
|
39
39
|
return paths;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
else if (
|
|
43
|
-
const typeName =
|
|
42
|
+
else if (split.length === 1) {
|
|
43
|
+
const typeName = split[0];
|
|
44
44
|
return flatten(Object.keys(resolvers[typeName]).map(fieldName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));
|
|
45
45
|
}
|
|
46
46
|
return [];
|
package/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../dist/resolvers-composition/src/chain-functions.js","../../../dist/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["export function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n//# sourceMappingURL=chain-functions.js.map","import { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n const
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../dist/resolvers-composition/src/chain-functions.js","../../../dist/resolvers-composition/src/resolvers-composition.js"],"sourcesContent":["export function chainFunctions(funcs) {\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n//# sourceMappingURL=chain-functions.js.map","import { chainFunctions } from './chain-functions';\nimport { get, set, flatten } from 'lodash';\nimport { isScalarType } from 'graphql';\nimport { asArray } from '@graphql-tools/utils';\nfunction resolveRelevantMappings(resolvers, path, allMappings) {\n const split = path.split('.');\n if (split.length === 2) {\n const typeName = split[0];\n if (isScalarType(resolvers[typeName])) {\n return [];\n }\n const fieldName = split[1];\n if (typeName === '*') {\n return flatten(Object.keys(resolvers).map(typeName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));\n }\n if (fieldName === '*') {\n return flatten(Object.keys(resolvers[typeName]).map(field => resolveRelevantMappings(resolvers, `${typeName}.${field}`, allMappings))).filter(mapItem => !allMappings[mapItem]);\n }\n else {\n const paths = [];\n if (resolvers[typeName] && resolvers[typeName][fieldName]) {\n if (resolvers[typeName][fieldName].subscribe) {\n paths.push(path + '.subscribe');\n }\n if (resolvers[typeName][fieldName].resolve) {\n paths.push(path + '.resolve');\n }\n if (typeof resolvers[typeName][fieldName] === 'function') {\n paths.push(path);\n }\n }\n return paths;\n }\n }\n else if (split.length === 1) {\n const typeName = split[0];\n return flatten(Object.keys(resolvers[typeName]).map(fieldName => resolveRelevantMappings(resolvers, `${typeName}.${fieldName}`, allMappings)));\n }\n return [];\n}\n/**\n * Wraps the resolvers object with the resolvers composition objects.\n * Implemented as a simple and basic middleware mechanism.\n *\n * @param resolvers - resolvers object\n * @param mapping - resolvers composition mapping\n * @hidden\n */\nexport function composeResolvers(resolvers, mapping = {}) {\n const mappingResult = {};\n Object.keys(mapping).forEach((resolverPath) => {\n if (mapping[resolverPath] instanceof Array || typeof mapping[resolverPath] === 'function') {\n const composeFns = mapping[resolverPath];\n const relevantFields = resolveRelevantMappings(resolvers, resolverPath, mapping);\n relevantFields.forEach((path) => {\n mappingResult[path] = asArray(composeFns);\n });\n }\n else {\n Object.keys(mapping[resolverPath]).forEach(fieldName => {\n const composeFns = mapping[resolverPath][fieldName];\n const relevantFields = resolveRelevantMappings(resolvers, resolverPath + '.' + fieldName, mapping);\n relevantFields.forEach((path) => {\n mappingResult[path] = asArray(composeFns);\n });\n });\n }\n });\n Object.keys(mappingResult).forEach(path => {\n const fns = chainFunctions([...asArray(mappingResult[path]), () => get(resolvers, path)]);\n set(resolvers, path, fns());\n });\n return resolvers;\n}\n//# sourceMappingURL=resolvers-composition.js.map"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-tools/resolvers-composition",
|
|
3
|
-
"version": "6.2.6
|
|
4
|
-
"description": "Common package
|
|
3
|
+
"version": "6.2.6",
|
|
4
|
+
"description": "Common package containing utils and types for GraphQL tools",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"graphql": "^14.0.0 || ^15.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@graphql-tools/utils": "
|
|
11
|
-
"lodash": "4.17.
|
|
10
|
+
"@graphql-tools/utils": "^7.0.0",
|
|
11
|
+
"lodash": "4.17.21",
|
|
12
12
|
"tslib": "~2.1.0"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|