@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 ADDED
@@ -0,0 +1,6 @@
1
+ Check API Reference for more information about this package;
2
+ https://www.graphql-tools.com/docs/api/modules/resolvers-composition
3
+
4
+ You can also learn more about Resolvers Composition in this chapter;
5
+ https://www.graphql-tools.com/docs/resolvers-composition
6
+
package/es5/README.md ADDED
@@ -0,0 +1,6 @@
1
+ Check API Reference for more information about this package;
2
+ https://www.graphql-tools.com/docs/api/modules/resolvers-composition
3
+
4
+ You can also learn more about Resolvers Composition in this chapter;
5
+ https://www.graphql-tools.com/docs/resolvers-composition
6
+
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.__spread(args)));
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 splitted = path.split('.');
25
- if (splitted.length === 2) {
26
- var typeName_1 = splitted[0];
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 = splitted[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 (splitted.length === 1) {
58
- var typeName_2 = splitted[0];
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.__spread(utils.asArray(mappingResult[path]), [function () { return lodash.get(resolvers, path); }]));
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;
@@ -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, __spread } 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, __spread(args)));\n }; });\n}\n//# sourceMappingURL=chain-functions.js.map","import { __read, __spread } 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 splitted = path.split('.');\n if (splitted.length === 2) {\n var typeName_1 = splitted[0];\n if (isScalarType(resolvers[typeName_1])) {\n return [];\n }\n var fieldName_1 = splitted[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 (splitted.length === 1) {\n var typeName_2 = splitted[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(__spread(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":["__spread","isScalarType","flatten","asArray","get","set"],"mappings":"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"}
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":"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"}
package/es5/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { __spread } from 'tslib';
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, __spread(args)));
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 splitted = path.split('.');
21
- if (splitted.length === 2) {
22
- var typeName_1 = splitted[0];
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 = splitted[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 (splitted.length === 1) {
54
- var typeName_2 = splitted[0];
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(__spread(asArray(mappingResult[path]), [function () { return get(resolvers, path); }]));
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;
@@ -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, __spread } 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, __spread(args)));\n }; });\n}\n//# sourceMappingURL=chain-functions.js.map","import { __read, __spread } 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 splitted = path.split('.');\n if (splitted.length === 2) {\n var typeName_1 = splitted[0];\n if (isScalarType(resolvers[typeName_1])) {\n return [];\n }\n var fieldName_1 = splitted[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 (splitted.length === 1) {\n var typeName_2 = splitted[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(__spread(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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"}
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-alpha-523f2cce.0",
4
- "description": "Common package containting utils and types for GraphQL tools",
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": "8.0.0-alpha-523f2cce.0",
11
- "lodash": "4.17.20",
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 splitted = path.split('.');
18
- if (splitted.length === 2) {
19
- const typeName = splitted[0];
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 = splitted[1];
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 (splitted.length === 1) {
47
- const typeName = splitted[0];
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 splitted = path.split('.');\n if (splitted.length === 2) {\n const typeName = splitted[0];\n if (isScalarType(resolvers[typeName])) {\n return [];\n }\n const fieldName = splitted[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 (splitted.length === 1) {\n const typeName = splitted[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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"}
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 splitted = path.split('.');
14
- if (splitted.length === 2) {
15
- const typeName = splitted[0];
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 = splitted[1];
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 (splitted.length === 1) {
43
- const typeName = splitted[0];
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 splitted = path.split('.');\n if (splitted.length === 2) {\n const typeName = splitted[0];\n if (isScalarType(resolvers[typeName])) {\n return [];\n }\n const fieldName = splitted[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 (splitted.length === 1) {\n const typeName = splitted[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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"}
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-alpha-523f2cce.0",
4
- "description": "Common package containting utils and types for GraphQL tools",
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": "8.0.0-alpha-523f2cce.0",
11
- "lodash": "4.17.20",
10
+ "@graphql-tools/utils": "^7.0.0",
11
+ "lodash": "4.17.21",
12
12
  "tslib": "~2.1.0"
13
13
  },
14
14
  "repository": {