@wundergraph/composition 0.0.1

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 (49) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +3 -0
  3. package/dist/ast/ast.d.ts +84 -0
  4. package/dist/ast/ast.js +183 -0
  5. package/dist/ast/ast.js.map +1 -0
  6. package/dist/ast/utils.d.ts +130 -0
  7. package/dist/ast/utils.js +298 -0
  8. package/dist/ast/utils.js.map +1 -0
  9. package/dist/buildASTSchema/buildASTSchema.d.ts +22 -0
  10. package/dist/buildASTSchema/buildASTSchema.js +59 -0
  11. package/dist/buildASTSchema/buildASTSchema.js.map +1 -0
  12. package/dist/buildASTSchema/extendSchema.d.ts +21 -0
  13. package/dist/buildASTSchema/extendSchema.js +555 -0
  14. package/dist/buildASTSchema/extendSchema.js.map +1 -0
  15. package/dist/errors/errors.d.ts +60 -0
  16. package/dist/errors/errors.js +302 -0
  17. package/dist/errors/errors.js.map +1 -0
  18. package/dist/federation/federation-factory.d.ts +58 -0
  19. package/dist/federation/federation-factory.js +843 -0
  20. package/dist/federation/federation-factory.js.map +1 -0
  21. package/dist/federation/federation-result.d.ts +6 -0
  22. package/dist/federation/federation-result.js +10 -0
  23. package/dist/federation/federation-result.js.map +1 -0
  24. package/dist/federation/subgraph.d.ts +18 -0
  25. package/dist/federation/subgraph.js +305 -0
  26. package/dist/federation/subgraph.js.map +1 -0
  27. package/dist/index.d.ts +9 -0
  28. package/dist/index.js +26 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/normalization/normalization-factory.d.ts +54 -0
  31. package/dist/normalization/normalization-factory.js +882 -0
  32. package/dist/normalization/normalization-factory.js.map +1 -0
  33. package/dist/normalization/utils.d.ts +121 -0
  34. package/dist/normalization/utils.js +278 -0
  35. package/dist/normalization/utils.js.map +1 -0
  36. package/dist/tsconfig.tsbuildinfo +1 -0
  37. package/dist/type-merging/type-merging.d.ts +9 -0
  38. package/dist/type-merging/type-merging.js +112 -0
  39. package/dist/type-merging/type-merging.js.map +1 -0
  40. package/dist/utils/constants.d.ts +6 -0
  41. package/dist/utils/constants.js +157 -0
  42. package/dist/utils/constants.js.map +1 -0
  43. package/dist/utils/string-constants.d.ts +39 -0
  44. package/dist/utils/string-constants.js +43 -0
  45. package/dist/utils/string-constants.js.map +1 -0
  46. package/dist/utils/utils.d.ts +7 -0
  47. package/dist/utils/utils.js +80 -0
  48. package/dist/utils/utils.js.map +1 -0
  49. package/package.json +35 -0
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numberToOrdinal = exports.mapToArrayOfValues = exports.doSetsHaveAnyOverlap = exports.getEntriesNotInSet = exports.getAllSetDisparities = exports.getOrThrowError = exports.areSetsEqual = void 0;
4
+ function areSetsEqual(set, other) {
5
+ if (set.size !== other.size) {
6
+ return false;
7
+ }
8
+ for (const entry of set) {
9
+ if (!other.has(entry)) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ exports.areSetsEqual = areSetsEqual;
16
+ function getOrThrowError(map, key) {
17
+ const value = map.get(key);
18
+ if (value === undefined) {
19
+ throw new Error(`Expected the key ${key} to exist in map ${map}.`); // TODO
20
+ }
21
+ return value;
22
+ }
23
+ exports.getOrThrowError = getOrThrowError;
24
+ function getAllSetDisparities(set, other) {
25
+ const otherCopy = new Set(other);
26
+ const disparities = [];
27
+ for (const entry of set) {
28
+ if (!otherCopy.delete(entry)) {
29
+ disparities.push(entry);
30
+ }
31
+ }
32
+ for (const entry of otherCopy) {
33
+ disparities.push(entry);
34
+ }
35
+ return disparities;
36
+ }
37
+ exports.getAllSetDisparities = getAllSetDisparities;
38
+ function getEntriesNotInSet(iterable, comparison) {
39
+ const disparities = [];
40
+ for (const entry of iterable) {
41
+ if (!comparison.has(entry)) {
42
+ disparities.push(entry);
43
+ }
44
+ }
45
+ return disparities;
46
+ }
47
+ exports.getEntriesNotInSet = getEntriesNotInSet;
48
+ function doSetsHaveAnyOverlap(set, other) {
49
+ for (const entry of set) {
50
+ if (other.has(entry)) {
51
+ return true;
52
+ }
53
+ }
54
+ return false;
55
+ }
56
+ exports.doSetsHaveAnyOverlap = doSetsHaveAnyOverlap;
57
+ function mapToArrayOfValues(map) {
58
+ const output = [];
59
+ for (const value of map.values()) {
60
+ output.push(value);
61
+ }
62
+ return output;
63
+ }
64
+ exports.mapToArrayOfValues = mapToArrayOfValues;
65
+ function numberToOrdinal(num) {
66
+ const numString = num.toString();
67
+ const lastNumber = numString[numString.length - 1];
68
+ switch (lastNumber) {
69
+ case '1':
70
+ return `${numString}st`;
71
+ case '2':
72
+ return `${numString}nd`;
73
+ case '3':
74
+ return `${numString}rd`;
75
+ default:
76
+ return `${numString}th`;
77
+ }
78
+ }
79
+ exports.numberToOrdinal = numberToOrdinal;
80
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAI,GAAW,EAAE,KAAa;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAVD,oCAUC;AAED,SAAgB,eAAe,CAAO,GAAc,EAAE,GAAM;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,oBAAoB,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO;KAC5E;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,0CAMC;AAED,SAAgB,oBAAoB,CAAI,GAAW,EAAE,KAAa;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAI,KAAK,CAAC,CAAC;IACpC,MAAM,WAAW,GAAQ,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC5B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAZD,oDAYC;AAED,SAAgB,kBAAkB,CAAI,QAAqB,EAAE,UAAkB;IAC7E,MAAM,WAAW,GAAQ,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AARD,gDAQC;AAED,SAAgB,oBAAoB,CAAI,GAAW,EAAE,KAAa;IAChE,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE;QACvB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,oDAOC;AAED,SAAgB,kBAAkB,CAAO,GAAc;IACrD,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,gDAMC;AAED,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,QAAQ,UAAU,EAAE;QAClB,KAAK,GAAG;YACN,OAAO,GAAG,SAAS,IAAI,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,GAAG,SAAS,IAAI,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,GAAG,SAAS,IAAI,CAAC;QAC1B;YACE,OAAO,GAAG,SAAS,IAAI,CAAC;KAC3B;AACH,CAAC;AAbD,0CAaC"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@wundergraph/composition",
3
+ "version": "0.0.1",
4
+ "author": {
5
+ "name": "WunderGraph Maintainers",
6
+ "email": "info@wundergraph.com"
7
+ },
8
+ "license": "SEE LICENSE IN ./LICENSE",
9
+ "publishConfig": {
10
+ "access": "restricted"
11
+ },
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "dependencies": {
18
+ "@graphql-tools/merge": "^9.0.0",
19
+ "@graphql-tools/schema": "^10.0.0",
20
+ "@graphql-tools/utils": "^10.0.1",
21
+ "graphology": "^0.25.1",
22
+ "graphology-simple-path": "^0.2.0",
23
+ "graphql": "^16.7.1"
24
+ },
25
+ "devDependencies": {
26
+ "del-cli": "^5.0.0",
27
+ "typescript": "^5.1.3"
28
+ },
29
+ "scripts": {
30
+ "build": "del dist && tsc",
31
+ "publish-test": "pnpm run --filter composition-test-suite test",
32
+ "prepublish": "pnpm run build && pnpm run publish-test",
33
+ "release": "pnpm publish --access restricted --tag latest"
34
+ }
35
+ }