@graphitation/supermassive 0.1.3 → 0.2.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 (208) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +10 -2
  3. package/README.md +88 -0
  4. package/bin/supermassive.js +5 -0
  5. package/graphitation-supermassive-0.1.3-1.tgz +0 -0
  6. package/graphitation-supermassive-0.1.3-2.tgz +0 -0
  7. package/graphitation-supermassive-0.1.3.tgz +0 -0
  8. package/lib/{src/ast → ast}/TypedAST.d.ts +2 -0
  9. package/lib/ast/TypedAST.d.ts.map +1 -0
  10. package/lib/{src/ast → ast}/addTypesToRequestDocument.d.ts +0 -0
  11. package/lib/ast/addTypesToRequestDocument.d.ts.map +1 -0
  12. package/lib/ast/addTypesToRequestDocument.js +8 -5
  13. package/lib/ast/addTypesToRequestDocument.mjs +9 -5
  14. package/lib/benchmarks/index.d.ts.map +1 -1
  15. package/lib/benchmarks/index.js +127 -0
  16. package/lib/benchmarks/index.mjs +109 -0
  17. package/lib/benchmarks/nice-benchmark.d.ts +1 -1
  18. package/lib/benchmarks/nice-benchmark.d.ts.map +1 -1
  19. package/lib/benchmarks/nice-benchmark.js +72 -0
  20. package/lib/benchmarks/nice-benchmark.mjs +49 -0
  21. package/lib/benchmarks/swapi-schema/index.d.ts +1 -0
  22. package/lib/benchmarks/swapi-schema/index.d.ts.map +1 -1
  23. package/lib/benchmarks/swapi-schema/index.js +39 -0
  24. package/lib/benchmarks/swapi-schema/index.mjs +16 -0
  25. package/lib/benchmarks/swapi-schema/models.d.ts.map +1 -1
  26. package/lib/benchmarks/swapi-schema/models.js +29 -0
  27. package/lib/benchmarks/swapi-schema/models.mjs +6 -0
  28. package/lib/benchmarks/swapi-schema/resolvers.d.ts.map +1 -1
  29. package/lib/benchmarks/swapi-schema/resolvers.js +237 -0
  30. package/lib/benchmarks/swapi-schema/resolvers.mjs +231 -0
  31. package/lib/bin/supermassive.d.ts +3 -0
  32. package/lib/bin/supermassive.d.ts.map +1 -0
  33. package/lib/bin/supermassive.js +83 -0
  34. package/lib/bin/supermassive.mjs +60 -0
  35. package/lib/bin/typeDefsToImplicitResolvers.d.ts +3 -0
  36. package/lib/bin/typeDefsToImplicitResolvers.d.ts.map +1 -0
  37. package/lib/bin/typeDefsToImplicitResolvers.js +82 -0
  38. package/lib/bin/typeDefsToImplicitResolvers.mjs +59 -0
  39. package/lib/collectFields.d.ts +17 -0
  40. package/lib/collectFields.d.ts.map +1 -0
  41. package/lib/collectFields.js +83 -0
  42. package/lib/collectFields.mjs +60 -0
  43. package/lib/compiledQuery.d.ts +1 -0
  44. package/lib/compiledQuery.d.ts.map +1 -0
  45. package/lib/compiledQuery.js +0 -0
  46. package/lib/compiledQuery.mjs +0 -0
  47. package/lib/execute.d.ts +128 -0
  48. package/lib/execute.d.ts.map +1 -0
  49. package/lib/execute.js +376 -0
  50. package/lib/execute.mjs +365 -0
  51. package/lib/executeWithSchema.d.ts +4 -0
  52. package/lib/executeWithSchema.d.ts.map +1 -0
  53. package/lib/{index.test.js → executeWithSchema.js} +44 -45
  54. package/lib/executeWithSchema.mjs +62 -0
  55. package/lib/executeWithoutSchema.d.ts +99 -0
  56. package/lib/executeWithoutSchema.d.ts.map +1 -0
  57. package/lib/executeWithoutSchema.js +376 -0
  58. package/lib/executeWithoutSchema.mjs +365 -0
  59. package/lib/extractImplicitTypes.d.ts +6 -0
  60. package/lib/extractImplicitTypes.d.ts.map +1 -0
  61. package/lib/extractImplicitTypes.js +246 -0
  62. package/lib/extractImplicitTypes.mjs +233 -0
  63. package/lib/extractImplicitTypesRuntime.d.ts +4 -0
  64. package/lib/extractImplicitTypesRuntime.d.ts.map +1 -0
  65. package/lib/extractImplicitTypesRuntime.js +103 -0
  66. package/lib/extractImplicitTypesRuntime.mjs +90 -0
  67. package/lib/extractImplicitTypesToTypescript.d.ts +4 -0
  68. package/lib/extractImplicitTypesToTypescript.d.ts.map +1 -0
  69. package/lib/extractImplicitTypesToTypescript.js +169 -0
  70. package/lib/extractImplicitTypesToTypescript.mjs +148 -0
  71. package/lib/index.d.ts +8 -0
  72. package/lib/index.d.ts.map +1 -0
  73. package/lib/index.js +14 -29
  74. package/lib/index.mjs +14 -29
  75. package/lib/jsutils/Maybe.d.ts +3 -0
  76. package/lib/jsutils/Maybe.d.ts.map +1 -0
  77. package/lib/jsutils/Maybe.js +3 -0
  78. package/lib/jsutils/Maybe.mjs +0 -0
  79. package/lib/jsutils/ObjMap.d.ts +13 -0
  80. package/lib/jsutils/ObjMap.d.ts.map +1 -0
  81. package/lib/jsutils/ObjMap.js +3 -0
  82. package/lib/jsutils/ObjMap.mjs +0 -0
  83. package/lib/jsutils/Path.d.ts +15 -0
  84. package/lib/jsutils/Path.d.ts.map +1 -0
  85. package/lib/jsutils/Path.js +23 -0
  86. package/lib/jsutils/Path.mjs +16 -0
  87. package/lib/jsutils/PromiseOrValue.d.ts +2 -0
  88. package/lib/jsutils/PromiseOrValue.d.ts.map +1 -0
  89. package/lib/jsutils/PromiseOrValue.js +3 -0
  90. package/lib/jsutils/PromiseOrValue.mjs +0 -0
  91. package/lib/jsutils/devAssert.d.ts +2 -0
  92. package/lib/jsutils/devAssert.d.ts.map +1 -0
  93. package/lib/jsutils/devAssert.js +16 -0
  94. package/lib/jsutils/devAssert.mjs +9 -0
  95. package/lib/jsutils/didYouMean.d.ts +6 -0
  96. package/lib/jsutils/didYouMean.d.ts.map +1 -0
  97. package/lib/jsutils/didYouMean.js +30 -0
  98. package/lib/jsutils/didYouMean.mjs +23 -0
  99. package/lib/jsutils/identityFunc.d.ts +5 -0
  100. package/lib/jsutils/identityFunc.d.ts.map +1 -0
  101. package/lib/jsutils/identityFunc.js +13 -0
  102. package/lib/jsutils/identityFunc.mjs +6 -0
  103. package/lib/jsutils/inspect.d.ts +5 -0
  104. package/lib/jsutils/inspect.d.ts.map +1 -0
  105. package/lib/jsutils/inspect.js +89 -0
  106. package/lib/jsutils/inspect.mjs +82 -0
  107. package/lib/jsutils/instanceOf.d.ts +14 -0
  108. package/lib/jsutils/instanceOf.d.ts.map +1 -0
  109. package/lib/jsutils/instanceOf.js +55 -0
  110. package/lib/jsutils/instanceOf.mjs +32 -0
  111. package/lib/jsutils/invariant.d.ts +2 -0
  112. package/lib/jsutils/invariant.d.ts.map +1 -0
  113. package/lib/jsutils/invariant.js +16 -0
  114. package/lib/jsutils/invariant.mjs +9 -0
  115. package/lib/jsutils/isAsyncIterable.d.ts +6 -0
  116. package/lib/jsutils/isAsyncIterable.d.ts.map +1 -0
  117. package/lib/jsutils/isAsyncIterable.js +13 -0
  118. package/lib/jsutils/isAsyncIterable.mjs +6 -0
  119. package/lib/jsutils/isIterableObject.d.ts +18 -0
  120. package/lib/jsutils/isIterableObject.d.ts.map +1 -0
  121. package/lib/jsutils/isIterableObject.js +13 -0
  122. package/lib/jsutils/isIterableObject.mjs +6 -0
  123. package/lib/jsutils/isObjectLike.d.ts +8 -0
  124. package/lib/jsutils/isObjectLike.d.ts.map +1 -0
  125. package/lib/jsutils/isObjectLike.js +13 -0
  126. package/lib/jsutils/isObjectLike.mjs +6 -0
  127. package/lib/jsutils/isPromise.d.ts +6 -0
  128. package/lib/jsutils/isPromise.d.ts.map +1 -0
  129. package/lib/jsutils/isPromise.js +13 -0
  130. package/lib/jsutils/isPromise.mjs +6 -0
  131. package/lib/jsutils/keyMap.d.ts +26 -0
  132. package/lib/jsutils/keyMap.d.ts.map +1 -0
  133. package/lib/jsutils/keyMap.js +17 -0
  134. package/lib/jsutils/keyMap.mjs +10 -0
  135. package/lib/jsutils/keyValMap.d.ts +20 -0
  136. package/lib/jsutils/keyValMap.d.ts.map +1 -0
  137. package/lib/jsutils/keyValMap.js +17 -0
  138. package/lib/jsutils/keyValMap.mjs +10 -0
  139. package/lib/jsutils/mapValue.d.ts +7 -0
  140. package/lib/jsutils/mapValue.d.ts.map +1 -0
  141. package/lib/jsutils/mapValue.js +17 -0
  142. package/lib/jsutils/mapValue.mjs +10 -0
  143. package/lib/jsutils/memoize3.d.ts +5 -0
  144. package/lib/jsutils/memoize3.d.ts.map +1 -0
  145. package/lib/jsutils/memoize3.js +34 -0
  146. package/lib/jsutils/memoize3.mjs +27 -0
  147. package/lib/jsutils/naturalCompare.d.ts +9 -0
  148. package/lib/jsutils/naturalCompare.d.ts.map +1 -0
  149. package/lib/jsutils/naturalCompare.js +53 -0
  150. package/lib/jsutils/naturalCompare.mjs +46 -0
  151. package/lib/jsutils/printPathArray.d.ts +5 -0
  152. package/lib/jsutils/printPathArray.d.ts.map +1 -0
  153. package/lib/jsutils/printPathArray.js +13 -0
  154. package/lib/jsutils/printPathArray.mjs +6 -0
  155. package/lib/jsutils/promiseForObject.d.ts +10 -0
  156. package/lib/jsutils/promiseForObject.d.ts.map +1 -0
  157. package/lib/jsutils/promiseForObject.js +19 -0
  158. package/lib/jsutils/promiseForObject.mjs +12 -0
  159. package/lib/jsutils/promiseReduce.d.ts +10 -0
  160. package/lib/jsutils/promiseReduce.d.ts.map +1 -0
  161. package/lib/jsutils/promiseReduce.js +34 -0
  162. package/lib/jsutils/promiseReduce.mjs +11 -0
  163. package/lib/jsutils/suggestionList.d.ts +6 -0
  164. package/lib/jsutils/suggestionList.d.ts.map +1 -0
  165. package/lib/jsutils/suggestionList.js +109 -0
  166. package/lib/jsutils/suggestionList.mjs +86 -0
  167. package/lib/jsutils/toObjMap.d.ts +4 -0
  168. package/lib/jsutils/toObjMap.d.ts.map +1 -0
  169. package/lib/jsutils/toObjMap.js +20 -0
  170. package/lib/jsutils/toObjMap.mjs +13 -0
  171. package/lib/transforms/annotateDocumentGraphQLTransform.d.ts +3 -0
  172. package/lib/transforms/annotateDocumentGraphQLTransform.d.ts.map +1 -0
  173. package/lib/transforms/annotateDocumentGraphQLTransform.js +37 -0
  174. package/lib/transforms/annotateDocumentGraphQLTransform.mjs +16 -0
  175. package/lib/transforms/transformerTestUtils.d.ts +79 -0
  176. package/lib/transforms/transformerTestUtils.d.ts.map +1 -0
  177. package/lib/transforms/transformerTestUtils.js +175 -0
  178. package/lib/transforms/transformerTestUtils.mjs +154 -0
  179. package/lib/types.d.ts +74 -0
  180. package/lib/types.d.ts.map +1 -0
  181. package/lib/types.js +3 -0
  182. package/lib/types.mjs +0 -0
  183. package/lib/utilities/typeNameFromAST.d.ts +3 -0
  184. package/lib/utilities/typeNameFromAST.d.ts.map +1 -0
  185. package/lib/utilities/typeNameFromAST.js +34 -0
  186. package/lib/utilities/typeNameFromAST.mjs +11 -0
  187. package/lib/values.d.ts +64 -0
  188. package/lib/values.d.ts.map +1 -0
  189. package/lib/values.js +145 -0
  190. package/lib/values.mjs +137 -0
  191. package/package.json +9 -4
  192. package/CHANGELOG.json +0 -65
  193. package/benchmarks/fixtures/query1.graphql +0 -20
  194. package/benchmarks/index.ts +0 -68
  195. package/benchmarks/nice-benchmark.ts +0 -32
  196. package/benchmarks/swapi-schema/index.ts +0 -13
  197. package/benchmarks/swapi-schema/models.ts +0 -4
  198. package/benchmarks/swapi-schema/resolvers.ts +0 -331
  199. package/benchmarks/swapi-schema/schema.graphql +0 -164
  200. package/benchmarks/swapi-schema/starwars.json +0 -5991
  201. package/lib/index.test.mjs +0 -63
  202. package/lib/src/ast/TypedAST.d.ts.map +0 -1
  203. package/lib/src/ast/addTypesToRequestDocument.d.ts.map +0 -1
  204. package/lib/src/index.d.ts +0 -16
  205. package/lib/src/index.d.ts.map +0 -1
  206. package/lib/src/index.test.d.ts +0 -2
  207. package/lib/src/index.test.d.ts.map +0 -1
  208. package/starwars.json +0 -1
@@ -0,0 +1,49 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import {Suite} from "benchmark";
22
+ class NiceBenchmark {
23
+ constructor(name) {
24
+ this.name = name;
25
+ this.suite = new Suite(name);
26
+ this.suite.on("cycle", function(event) {
27
+ console.log(String(event.target));
28
+ });
29
+ }
30
+ add(name, fn) {
31
+ this.suite.add(name, {
32
+ defer: true,
33
+ fn: (deferred) => __async(this, null, function* () {
34
+ yield fn();
35
+ deferred.resolve();
36
+ })
37
+ });
38
+ }
39
+ run(options) {
40
+ return new Promise((resolve) => {
41
+ this.suite.on("complete", resolve);
42
+ console.log(this.name);
43
+ this.suite.run(options);
44
+ });
45
+ }
46
+ }
47
+ export {
48
+ NiceBenchmark as default
49
+ };
@@ -1,3 +1,4 @@
1
+ export declare const typeDefs: import("graphql").DocumentNode;
1
2
  declare const _default: import("graphql").GraphQLSchema;
2
3
  export default _default;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../benchmarks/swapi-schema/index.ts"],"names":[],"mappings":";AASA,wBAGG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,gCAIpB,CAAC;;AAEF,wBAGG"}
@@ -0,0 +1,39 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, {get: all[name], enumerable: true});
11
+ };
12
+ var __reExport = (target, module2, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && key !== "default")
16
+ __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
17
+ }
18
+ return target;
19
+ };
20
+ var __toModule = (module2) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
22
+ };
23
+ __markAsModule(exports);
24
+ __export(exports, {
25
+ default: () => swapi_schema_default,
26
+ typeDefs: () => typeDefs
27
+ });
28
+ var import_schema = __toModule(require("@graphql-tools/schema"));
29
+ var import_graphql = __toModule(require("graphql"));
30
+ var import_path = __toModule(require("path"));
31
+ var import_fs = __toModule(require("fs"));
32
+ var import_resolvers = __toModule(require("./resolvers"));
33
+ const typeDefs = (0, import_graphql.parse)((0, import_fs.readFileSync)((0, import_path.join)(__dirname, "./schema.graphql"), {
34
+ encoding: "utf-8"
35
+ }));
36
+ var swapi_schema_default = (0, import_schema.makeExecutableSchema)({
37
+ typeDefs,
38
+ resolvers: import_resolvers.default
39
+ });
@@ -0,0 +1,16 @@
1
+ import {makeExecutableSchema} from "@graphql-tools/schema";
2
+ import {parse} from "graphql";
3
+ import {join} from "path";
4
+ import {readFileSync} from "fs";
5
+ import resolvers from "./resolvers";
6
+ const typeDefs = parse(readFileSync(join(__dirname, "./schema.graphql"), {
7
+ encoding: "utf-8"
8
+ }));
9
+ var swapi_schema_default = makeExecutableSchema({
10
+ typeDefs,
11
+ resolvers
12
+ });
13
+ export {
14
+ swapi_schema_default as default,
15
+ typeDefs
16
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../benchmarks/swapi-schema/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;;AAEtC,wBAA8D"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;;AAEtC,wBAA8D"}
@@ -0,0 +1,29 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, {get: all[name], enumerable: true});
11
+ };
12
+ var __reExport = (target, module2, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && key !== "default")
16
+ __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
17
+ }
18
+ return target;
19
+ };
20
+ var __toModule = (module2) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
22
+ };
23
+ __markAsModule(exports);
24
+ __export(exports, {
25
+ default: () => models_default
26
+ });
27
+ var import_path = __toModule(require("path"));
28
+ var import_node_json_db = __toModule(require("node-json-db"));
29
+ var models_default = new import_node_json_db.JsonDB(import_path.default.join(__dirname, "./starwars"));
@@ -0,0 +1,6 @@
1
+ import path from "path";
2
+ import {JsonDB} from "node-json-db";
3
+ var models_default = new JsonDB(path.join(__dirname, "./starwars"));
4
+ export {
5
+ models_default as default
6
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../benchmarks/swapi-schema/resolvers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAyMpE,QAAA,MAAM,SAAS,EAAE,2BAA2B,CAAC,WAAW,CA2HvD,CAAC;AAKF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/resolvers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAyMpE,QAAA,MAAM,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAmKvD,CAAC;AAKF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,237 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
6
+ var __objSpread = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
18
+ var __export = (target, all) => {
19
+ for (var name in all)
20
+ __defProp(target, name, {get: all[name], enumerable: true});
21
+ };
22
+ __markAsModule(exports);
23
+ __export(exports, {
24
+ default: () => resolvers_default
25
+ });
26
+ const films = (parent, args, {models}) => {
27
+ return models.getData("/films").filter(({id}) => parent.films.includes(id));
28
+ };
29
+ const starships = (parent, {id}, {models}) => {
30
+ return models.getData("/starships").filter(({id: id2}) => parent.starships.includes(id2));
31
+ };
32
+ function people(key) {
33
+ return (parent, args, {models}) => {
34
+ return models.getData("/people").filter(({id}) => parent[key].includes(id));
35
+ };
36
+ }
37
+ const vehicles = (parent, args, {models}) => {
38
+ return models.getData("/vehicles").filter(({id}) => parent.vehicles.includes(id));
39
+ };
40
+ const transports = (parent, args, {models}) => {
41
+ return models.getData("/transport").filter(({id}) => parent.starships.includes(id));
42
+ };
43
+ const planets = (parent, args, {models}) => {
44
+ return models.getData("/planets").filter(({id}) => parent.planets.includes(id));
45
+ };
46
+ const species = (parent, args, {models}) => {
47
+ return models.getData("/species").filter(({id}) => parent.species.includes(id));
48
+ };
49
+ const homeworld = (parent, args, {models}) => {
50
+ return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
51
+ };
52
+ const person = (parent, {id}, {models}) => {
53
+ return models.getData("/people").find((person2) => person2.id === id);
54
+ };
55
+ const planet = (parent, {id}, {models}) => {
56
+ return models.getData("/planets").find((planet2) => planet2.id === id);
57
+ };
58
+ const film = (parent, {id}, {models}) => {
59
+ return models.getData("/films").find((film2) => film2.id === id);
60
+ };
61
+ const starship = (parent, {id}, {models}) => {
62
+ return models.getData("/starships").find((starship2) => starship2.id === id);
63
+ };
64
+ const transport = (parent, {id}, {models}) => {
65
+ return models.getData("/transport").find((transport2) => transport2.id === id);
66
+ };
67
+ const vehicle = (parent, {id}, {models}) => {
68
+ return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
69
+ };
70
+ const searchPeopleByName = (parent, {search}, {models}) => {
71
+ return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
72
+ };
73
+ const searchPlanetsByName = (parent, {search}, {models}) => {
74
+ return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
75
+ };
76
+ const searchFilmsByTitle = (parent, {search}, {models}) => {
77
+ return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
78
+ };
79
+ const searchSpeciesByName = (parent, {search}, {models}) => {
80
+ return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
81
+ };
82
+ const searchStarshipsByName = (parent, {search}, {models}) => {
83
+ return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
84
+ };
85
+ const searchVehiclesByName = (parent, {search}, {models}) => {
86
+ return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
87
+ };
88
+ const searchTransportsByName = (parent, {search}, {models}) => {
89
+ return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
90
+ };
91
+ const resolvers = {
92
+ SearchResult: {
93
+ __resolveType(parent) {
94
+ return parent.__typename;
95
+ }
96
+ },
97
+ Query: {
98
+ search(parent, {search}, {models}, info) {
99
+ const result = [
100
+ ...searchFilmsByTitle(parent, {search}, {models}, info).map((r) => (r.__typename = "Film") && r),
101
+ ...searchPeopleByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Person") && r),
102
+ ...searchPlanetsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Planet") && r),
103
+ ...searchSpeciesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Species") && r),
104
+ ...searchStarshipsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Starship") && r),
105
+ ...searchTransportsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Transport") && r),
106
+ ...searchVehiclesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Vehicle") && r)
107
+ ];
108
+ return result;
109
+ },
110
+ node(parent, args, context, info) {
111
+ let result;
112
+ switch (args.nodeType) {
113
+ case "Person": {
114
+ result = person(parent, args, context, info);
115
+ break;
116
+ }
117
+ case "Starship": {
118
+ result = starship(parent, args, context, info);
119
+ break;
120
+ }
121
+ case "Transport": {
122
+ result = transport(parent, args, context, info);
123
+ break;
124
+ }
125
+ case "Species": {
126
+ result = species(parent, args, context, info);
127
+ break;
128
+ }
129
+ case "Vehicle": {
130
+ result = vehicle(parent, args, context, info);
131
+ break;
132
+ }
133
+ case "Planet": {
134
+ result = planet(parent, args, context, info);
135
+ break;
136
+ }
137
+ case "Film": {
138
+ result = film(parent, args, context, info);
139
+ break;
140
+ }
141
+ default:
142
+ throw new Error(`Invalid node type ${args.nodeType}`);
143
+ }
144
+ return __objSpread(__objSpread({}, result), {
145
+ __typename: args.nodeType
146
+ });
147
+ },
148
+ person,
149
+ planet,
150
+ film,
151
+ transport,
152
+ starship,
153
+ vehicle,
154
+ searchPeopleByName,
155
+ searchStarshipsByName,
156
+ searchTransportsByName,
157
+ searchSpeciesByName,
158
+ searchVehiclesByName,
159
+ searchPlanetsByName,
160
+ searchFilmsByTitle,
161
+ allStarships(parent, args, {models}) {
162
+ return models.getData("/starships");
163
+ },
164
+ allFilms(parent, args, {models}) {
165
+ return models.getData("/films");
166
+ },
167
+ allPeople(parent, args, {models}) {
168
+ return models.getData("/people");
169
+ },
170
+ allPlanets(parent, args, {models}) {
171
+ return models.getData("/planets");
172
+ },
173
+ allSpecies(parent, args, {models}) {
174
+ return models.getData("/species");
175
+ },
176
+ allTransports(parent, args, {models}) {
177
+ return models.getData("/transport");
178
+ }
179
+ },
180
+ Film: {
181
+ starships,
182
+ vehicles,
183
+ planets,
184
+ characters: people("characters"),
185
+ species
186
+ },
187
+ Starship: {
188
+ MGLT: (starship2) => +starship2.MGLT,
189
+ hyperdrive_rating: (starship2) => +starship2.hyperdrive_rating,
190
+ cargo_capacity: (starship2) => +starship2.cargo_capacity,
191
+ passengers: (starship2) => +starship2.passengers,
192
+ max_atmosphering_speed: (starship2) => +starship2.max_atmosphering_speed,
193
+ length: (starship2) => +starship2.length,
194
+ cost_in_credits: (starship2) => +starship2.cost_in_credits,
195
+ pilots: people("pilots"),
196
+ films
197
+ },
198
+ Person: {
199
+ height: (pilot) => +pilot.height,
200
+ mass: (pilot) => +pilot.mass,
201
+ starships,
202
+ homeworld
203
+ },
204
+ Vehicle: {
205
+ cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
206
+ passengers: (vehicle2) => +vehicle2.passengers,
207
+ max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
208
+ crew: (vehicle2) => forceNumber(vehicle2.crew),
209
+ length: (vehicle2) => +vehicle2.length,
210
+ cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits,
211
+ pilots: people("pilots")
212
+ },
213
+ Planet: {
214
+ diameter: (planet2) => +planet2.diameter,
215
+ rotation_period: (planet2) => +planet2.rotation_period,
216
+ orbital_period: (planet2) => +planet2.orbital_period,
217
+ population: (planet2) => +planet2.population,
218
+ residents: people("residents"),
219
+ films
220
+ },
221
+ Species: {
222
+ average_lifespan: (species2) => +species2.average_lifespan,
223
+ average_height: (species2) => +species2.average_height,
224
+ homeworld,
225
+ people: people("people")
226
+ },
227
+ Transport: {
228
+ cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
229
+ passengers: (vehicle2) => +vehicle2.passengers,
230
+ max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
231
+ crew: (vehicle2) => forceNumber(vehicle2.crew),
232
+ length: (vehicle2) => +vehicle2.length,
233
+ cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits
234
+ }
235
+ };
236
+ const forceNumber = (i) => Number(i.split(",").join("").split("-")[0]) || -1;
237
+ var resolvers_default = resolvers;
@@ -0,0 +1,231 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
6
+ var __objSpread = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ const films = (parent, args, {models}) => {
18
+ return models.getData("/films").filter(({id}) => parent.films.includes(id));
19
+ };
20
+ const starships = (parent, {id}, {models}) => {
21
+ return models.getData("/starships").filter(({id: id2}) => parent.starships.includes(id2));
22
+ };
23
+ function people(key) {
24
+ return (parent, args, {models}) => {
25
+ return models.getData("/people").filter(({id}) => parent[key].includes(id));
26
+ };
27
+ }
28
+ const vehicles = (parent, args, {models}) => {
29
+ return models.getData("/vehicles").filter(({id}) => parent.vehicles.includes(id));
30
+ };
31
+ const transports = (parent, args, {models}) => {
32
+ return models.getData("/transport").filter(({id}) => parent.starships.includes(id));
33
+ };
34
+ const planets = (parent, args, {models}) => {
35
+ return models.getData("/planets").filter(({id}) => parent.planets.includes(id));
36
+ };
37
+ const species = (parent, args, {models}) => {
38
+ return models.getData("/species").filter(({id}) => parent.species.includes(id));
39
+ };
40
+ const homeworld = (parent, args, {models}) => {
41
+ return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
42
+ };
43
+ const person = (parent, {id}, {models}) => {
44
+ return models.getData("/people").find((person2) => person2.id === id);
45
+ };
46
+ const planet = (parent, {id}, {models}) => {
47
+ return models.getData("/planets").find((planet2) => planet2.id === id);
48
+ };
49
+ const film = (parent, {id}, {models}) => {
50
+ return models.getData("/films").find((film2) => film2.id === id);
51
+ };
52
+ const starship = (parent, {id}, {models}) => {
53
+ return models.getData("/starships").find((starship2) => starship2.id === id);
54
+ };
55
+ const transport = (parent, {id}, {models}) => {
56
+ return models.getData("/transport").find((transport2) => transport2.id === id);
57
+ };
58
+ const vehicle = (parent, {id}, {models}) => {
59
+ return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
60
+ };
61
+ const searchPeopleByName = (parent, {search}, {models}) => {
62
+ return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
63
+ };
64
+ const searchPlanetsByName = (parent, {search}, {models}) => {
65
+ return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
66
+ };
67
+ const searchFilmsByTitle = (parent, {search}, {models}) => {
68
+ return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
69
+ };
70
+ const searchSpeciesByName = (parent, {search}, {models}) => {
71
+ return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
72
+ };
73
+ const searchStarshipsByName = (parent, {search}, {models}) => {
74
+ return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
75
+ };
76
+ const searchVehiclesByName = (parent, {search}, {models}) => {
77
+ return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
78
+ };
79
+ const searchTransportsByName = (parent, {search}, {models}) => {
80
+ return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
81
+ };
82
+ const resolvers = {
83
+ SearchResult: {
84
+ __resolveType(parent) {
85
+ return parent.__typename;
86
+ }
87
+ },
88
+ Query: {
89
+ search(parent, {search}, {models}, info) {
90
+ const result = [
91
+ ...searchFilmsByTitle(parent, {search}, {models}, info).map((r) => (r.__typename = "Film") && r),
92
+ ...searchPeopleByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Person") && r),
93
+ ...searchPlanetsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Planet") && r),
94
+ ...searchSpeciesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Species") && r),
95
+ ...searchStarshipsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Starship") && r),
96
+ ...searchTransportsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Transport") && r),
97
+ ...searchVehiclesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Vehicle") && r)
98
+ ];
99
+ return result;
100
+ },
101
+ node(parent, args, context, info) {
102
+ let result;
103
+ switch (args.nodeType) {
104
+ case "Person": {
105
+ result = person(parent, args, context, info);
106
+ break;
107
+ }
108
+ case "Starship": {
109
+ result = starship(parent, args, context, info);
110
+ break;
111
+ }
112
+ case "Transport": {
113
+ result = transport(parent, args, context, info);
114
+ break;
115
+ }
116
+ case "Species": {
117
+ result = species(parent, args, context, info);
118
+ break;
119
+ }
120
+ case "Vehicle": {
121
+ result = vehicle(parent, args, context, info);
122
+ break;
123
+ }
124
+ case "Planet": {
125
+ result = planet(parent, args, context, info);
126
+ break;
127
+ }
128
+ case "Film": {
129
+ result = film(parent, args, context, info);
130
+ break;
131
+ }
132
+ default:
133
+ throw new Error(`Invalid node type ${args.nodeType}`);
134
+ }
135
+ return __objSpread(__objSpread({}, result), {
136
+ __typename: args.nodeType
137
+ });
138
+ },
139
+ person,
140
+ planet,
141
+ film,
142
+ transport,
143
+ starship,
144
+ vehicle,
145
+ searchPeopleByName,
146
+ searchStarshipsByName,
147
+ searchTransportsByName,
148
+ searchSpeciesByName,
149
+ searchVehiclesByName,
150
+ searchPlanetsByName,
151
+ searchFilmsByTitle,
152
+ allStarships(parent, args, {models}) {
153
+ return models.getData("/starships");
154
+ },
155
+ allFilms(parent, args, {models}) {
156
+ return models.getData("/films");
157
+ },
158
+ allPeople(parent, args, {models}) {
159
+ return models.getData("/people");
160
+ },
161
+ allPlanets(parent, args, {models}) {
162
+ return models.getData("/planets");
163
+ },
164
+ allSpecies(parent, args, {models}) {
165
+ return models.getData("/species");
166
+ },
167
+ allTransports(parent, args, {models}) {
168
+ return models.getData("/transport");
169
+ }
170
+ },
171
+ Film: {
172
+ starships,
173
+ vehicles,
174
+ planets,
175
+ characters: people("characters"),
176
+ species
177
+ },
178
+ Starship: {
179
+ MGLT: (starship2) => +starship2.MGLT,
180
+ hyperdrive_rating: (starship2) => +starship2.hyperdrive_rating,
181
+ cargo_capacity: (starship2) => +starship2.cargo_capacity,
182
+ passengers: (starship2) => +starship2.passengers,
183
+ max_atmosphering_speed: (starship2) => +starship2.max_atmosphering_speed,
184
+ length: (starship2) => +starship2.length,
185
+ cost_in_credits: (starship2) => +starship2.cost_in_credits,
186
+ pilots: people("pilots"),
187
+ films
188
+ },
189
+ Person: {
190
+ height: (pilot) => +pilot.height,
191
+ mass: (pilot) => +pilot.mass,
192
+ starships,
193
+ homeworld
194
+ },
195
+ Vehicle: {
196
+ cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
197
+ passengers: (vehicle2) => +vehicle2.passengers,
198
+ max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
199
+ crew: (vehicle2) => forceNumber(vehicle2.crew),
200
+ length: (vehicle2) => +vehicle2.length,
201
+ cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits,
202
+ pilots: people("pilots")
203
+ },
204
+ Planet: {
205
+ diameter: (planet2) => +planet2.diameter,
206
+ rotation_period: (planet2) => +planet2.rotation_period,
207
+ orbital_period: (planet2) => +planet2.orbital_period,
208
+ population: (planet2) => +planet2.population,
209
+ residents: people("residents"),
210
+ films
211
+ },
212
+ Species: {
213
+ average_lifespan: (species2) => +species2.average_lifespan,
214
+ average_height: (species2) => +species2.average_height,
215
+ homeworld,
216
+ people: people("people")
217
+ },
218
+ Transport: {
219
+ cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
220
+ passengers: (vehicle2) => +vehicle2.passengers,
221
+ max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
222
+ crew: (vehicle2) => forceNumber(vehicle2.crew),
223
+ length: (vehicle2) => +vehicle2.length,
224
+ cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits
225
+ }
226
+ };
227
+ const forceNumber = (i) => Number(i.split(",").join("").split("-")[0]) || -1;
228
+ var resolvers_default = resolvers;
229
+ export {
230
+ resolvers_default as default
231
+ };
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function supermassive(): Command;
3
+ //# sourceMappingURL=supermassive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supermassive.d.ts","sourceRoot":"","sources":["../../src/bin/supermassive.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,YAAY,IAAI,OAAO,CAUtC"}