@graphitation/supermassive 0.6.3 → 0.8.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 (41) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.json +61 -1
  3. package/CHANGELOG.md +34 -2
  4. package/lib/benchmarks/index.js +13 -0
  5. package/lib/benchmarks/index.mjs +19 -1
  6. package/lib/benchmarks/swapi-schema/__generated__/schema.d.ts +3 -0
  7. package/lib/benchmarks/swapi-schema/__generated__/schema.d.ts.map +1 -0
  8. package/lib/collectFields.d.ts.map +1 -1
  9. package/lib/collectFields.js +33 -5
  10. package/lib/collectFields.mjs +33 -5
  11. package/lib/definition.d.ts +3 -0
  12. package/lib/definition.d.ts.map +1 -1
  13. package/lib/definition.js +9 -1
  14. package/lib/definition.mjs +9 -1
  15. package/lib/executeWithSchema.d.ts.map +1 -1
  16. package/lib/executeWithSchema.js +2 -16
  17. package/lib/executeWithSchema.mjs +2 -19
  18. package/lib/executeWithoutSchema.d.ts.map +1 -1
  19. package/lib/executeWithoutSchema.js +31 -12
  20. package/lib/executeWithoutSchema.mjs +31 -12
  21. package/lib/extractImplicitTypesRuntime.d.ts.map +1 -1
  22. package/lib/extractImplicitTypesRuntime.js +24 -3
  23. package/lib/extractImplicitTypesRuntime.mjs +24 -3
  24. package/lib/extractImplicitTypesToTypescript.d.ts.map +1 -1
  25. package/lib/extractImplicitTypesToTypescript.js +66 -17
  26. package/lib/extractImplicitTypesToTypescript.mjs +66 -17
  27. package/lib/index.d.ts +1 -1
  28. package/lib/index.d.ts.map +1 -1
  29. package/lib/subscribeWithSchema.d.ts.map +1 -1
  30. package/lib/subscribeWithSchema.js +2 -16
  31. package/lib/subscribeWithSchema.mjs +2 -19
  32. package/lib/subscribeWithoutSchema.d.ts.map +1 -1
  33. package/lib/subscribeWithoutSchema.js +5 -1
  34. package/lib/subscribeWithoutSchema.mjs +5 -1
  35. package/lib/types.d.ts +15 -2
  36. package/lib/types.d.ts.map +1 -1
  37. package/lib/utilities/mergeResolvers.d.ts +3 -0
  38. package/lib/utilities/mergeResolvers.d.ts.map +1 -0
  39. package/lib/utilities/mergeResolvers.js +36 -0
  40. package/lib/utilities/mergeResolvers.mjs +32 -0
  41. package/package.json +2 -2
@@ -4,20 +4,6 @@ var __getProtoOf = Object.getPrototypeOf;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
10
- var __objSpread = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
7
  var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
22
8
  var __export = (target, all) => {
23
9
  for (var name in all)
@@ -62,11 +48,11 @@ function subscribeWithSchema({
62
48
  }
63
49
  };
64
50
  extractedResolvers = (0, import_index.extractImplicitTypes)(typeDefs, getTypeByName);
65
- const fullResolvers = __objSpread(__objSpread({}, extractedResolvers), resolvers);
66
51
  const document = (0, import_index.addTypesToRequestDocument)(schema, rawDocument);
67
52
  return (0, import_index.subscribeWithoutSchema)({
68
53
  document,
69
- resolvers: fullResolvers,
54
+ resolvers,
55
+ schemaResolvers: extractedResolvers,
70
56
  rootValue,
71
57
  contextValue,
72
58
  variableValues,
@@ -1,20 +1,3 @@
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
-
18
1
  // src/subscribeWithSchema.ts
19
2
  import {isInputType, buildASTSchema} from "graphql";
20
3
  import {
@@ -45,11 +28,11 @@ function subscribeWithSchema({
45
28
  }
46
29
  };
47
30
  extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);
48
- const fullResolvers = __objSpread(__objSpread({}, extractedResolvers), resolvers);
49
31
  const document = addTypesToRequestDocument(schema, rawDocument);
50
32
  return subscribeWithoutSchema({
51
33
  document,
52
- resolvers: fullResolvers,
34
+ resolvers,
35
+ schemaResolvers: extractedResolvers,
53
36
  rootValue,
54
37
  contextValue,
55
38
  variableValues,
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/subscribeWithoutSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgB9C,OAAO,EAEL,qBAAqB,EACrB,0BAA0B,EAE1B,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,CA6CxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,OAAO,EACnB,YAAY,CAAC,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,EAChE,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACrD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAyCnD"}
1
+ {"version":3,"file":"subscribeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/subscribeWithoutSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAiB9C,OAAO,EAEL,qBAAqB,EACrB,0BAA0B,EAE1B,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,CAiDxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,OAAO,EACnB,YAAY,CAAC,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,EAChE,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACrD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAyCnD"}
@@ -53,11 +53,13 @@ var import_executeWithoutSchema = __toModule(require("./executeWithoutSchema"));
53
53
  var import_collectFields = __toModule(require("./collectFields"));
54
54
  var import_values = __toModule(require("./values"));
55
55
  var import_typeNameFromAST = __toModule(require("./utilities/typeNameFromAST"));
56
+ var import_mergeResolvers = __toModule(require("./utilities/mergeResolvers"));
56
57
  var import_mapAsyncIterator = __toModule(require("./utilities/mapAsyncIterator"));
57
58
  function subscribeWithoutSchema(args) {
58
59
  return __async(this, null, function* () {
59
60
  const {
60
61
  resolvers,
62
+ schemaResolvers,
61
63
  document,
62
64
  rootValue,
63
65
  contextValue,
@@ -66,12 +68,14 @@ function subscribeWithoutSchema(args) {
66
68
  fieldResolver,
67
69
  subscribeFieldResolver
68
70
  } = args;
69
- const resultOrStream = yield createSourceEventStream(resolvers, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver);
71
+ const combinedResolvers = (0, import_mergeResolvers.mergeResolvers)(resolvers, schemaResolvers);
72
+ const resultOrStream = yield createSourceEventStream(combinedResolvers, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver);
70
73
  if (!(0, import_isAsyncIterable.isAsyncIterable)(resultOrStream)) {
71
74
  return resultOrStream;
72
75
  }
73
76
  const mapSourceToResponse = (payload) => (0, import_executeWithoutSchema.executeWithoutSchema)({
74
77
  resolvers,
78
+ schemaResolvers,
75
79
  document,
76
80
  rootValue: payload,
77
81
  contextValue,
@@ -38,11 +38,13 @@ import {
38
38
  import {collectFields} from "./collectFields.mjs";
39
39
  import {getArgumentValues} from "./values.mjs";
40
40
  import {typeNameFromAST} from "./utilities/typeNameFromAST.mjs";
41
+ import {mergeResolvers} from "./utilities/mergeResolvers.mjs";
41
42
  import {mapAsyncIterator} from "./utilities/mapAsyncIterator.mjs";
42
43
  function subscribeWithoutSchema(args) {
43
44
  return __async(this, null, function* () {
44
45
  const {
45
46
  resolvers,
47
+ schemaResolvers,
46
48
  document,
47
49
  rootValue,
48
50
  contextValue,
@@ -51,12 +53,14 @@ function subscribeWithoutSchema(args) {
51
53
  fieldResolver,
52
54
  subscribeFieldResolver
53
55
  } = args;
54
- const resultOrStream = yield createSourceEventStream(resolvers, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver);
56
+ const combinedResolvers = mergeResolvers(resolvers, schemaResolvers);
57
+ const resultOrStream = yield createSourceEventStream(combinedResolvers, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver);
55
58
  if (!isAsyncIterable(resultOrStream)) {
56
59
  return resultOrStream;
57
60
  }
58
61
  const mapSourceToResponse = (payload) => executeWithoutSchema({
59
62
  resolvers,
63
+ schemaResolvers,
60
64
  document,
61
65
  rootValue: payload,
62
66
  contextValue,
package/lib/types.d.ts CHANGED
@@ -16,16 +16,28 @@ export declare type ObjectTypeResolver<TSource = any, TContext = any, TArgs = an
16
16
  [key: string]: FieldResolver<TSource, TContext, TArgs>;
17
17
  };
18
18
  export declare type InterfaceTypeResolver<TSource = any, TContext = any, TArgs = any> = {
19
- [key: string]: FieldResolver<TSource, TContext, TArgs>;
19
+ __implementedBy: string[];
20
+ [key: string]: FieldResolver<TSource, TContext, TArgs> | string[] | undefined;
20
21
  } & {
21
22
  __resolveType?: TypeResolver<any, any>;
22
23
  };
23
24
  export declare type UnionTypeResolver = {
24
25
  __resolveType?: TypeResolver<any, any>;
26
+ __types: string[];
27
+ };
28
+ export declare type UserInterfaceTypeResolver<TSource = any, TContext = any, TArgs = any> = {
29
+ [key: string]: FieldResolver<TSource, TContext, TArgs>;
30
+ } & {
31
+ __resolveType?: TypeResolver<any, any>;
32
+ };
33
+ export declare type UserUnionTypeResolver = {
34
+ __resolveType?: TypeResolver<any, any>;
25
35
  };
26
36
  export declare type InputObjectTypeResolver = GraphQLInputObjectType;
37
+ export declare type UserResolver<TSource, TContext> = ObjectTypeResolver<TSource, TContext> | UserInterfaceTypeResolver<TSource, TContext> | UserUnionTypeResolver | ScalarTypeResolver | EnumTypeResolver | InputObjectTypeResolver;
27
38
  export declare type Resolver<TSource, TContext> = ObjectTypeResolver<TSource, TContext> | InterfaceTypeResolver<TSource, TContext> | UnionTypeResolver | ScalarTypeResolver | EnumTypeResolver | InputObjectTypeResolver;
28
39
  export declare type Resolvers<TSource = any, TContext = any> = Record<string, Resolver<TSource, TContext>>;
40
+ export declare type UserResolvers<TSource = any, TContext = any> = Record<string, UserResolver<TSource, TContext>>;
29
41
  export interface ResolveInfo {
30
42
  fieldName: string;
31
43
  fieldNodes: Array<FieldNode>;
@@ -58,7 +70,7 @@ export interface FormattedExecutionResult<TData = ObjMap<unknown>, TExtensions =
58
70
  extensions?: TExtensions;
59
71
  }
60
72
  export interface CommonExecutionArgs {
61
- resolvers: Resolvers;
73
+ resolvers: UserResolvers;
62
74
  rootValue?: unknown;
63
75
  contextValue?: unknown;
64
76
  variableValues?: Maybe<{
@@ -71,6 +83,7 @@ export interface CommonExecutionArgs {
71
83
  }
72
84
  export declare type ExecutionWithoutSchemaArgs = CommonExecutionArgs & {
73
85
  document: DocumentNode;
86
+ schemaResolvers: Resolvers;
74
87
  };
75
88
  export declare type ExecutionWithSchemaArgs = CommonExecutionArgs & {
76
89
  document: UntypedDocumentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { UserResolvers, Resolvers } from "../types";
2
+ export declare function mergeResolvers(resolvers: UserResolvers<any, any>, extractedResolvers: Resolvers): Resolvers<any, any>;
3
+ //# sourceMappingURL=mergeResolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeResolvers.d.ts","sourceRoot":"","sources":["../../src/utilities/mergeResolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAY,MAAM,UAAU,CAAC;AAE9D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,kBAAkB,EAAE,SAAS,uBAsB9B"}
@@ -0,0 +1,36 @@
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
+ mergeResolvers: () => mergeResolvers
25
+ });
26
+ function mergeResolvers(resolvers, extractedResolvers) {
27
+ const fullResolvers = __objSpread({}, extractedResolvers);
28
+ Object.keys(resolvers).forEach((resolverKey) => {
29
+ if (fullResolvers[resolverKey] && typeof resolvers[resolverKey] === "object" && resolvers[resolverKey].constructor === Object) {
30
+ fullResolvers[resolverKey] = __objSpread(__objSpread({}, fullResolvers[resolverKey]), resolvers[resolverKey]);
31
+ } else {
32
+ fullResolvers[resolverKey] = resolvers[resolverKey];
33
+ }
34
+ });
35
+ return fullResolvers;
36
+ }
@@ -0,0 +1,32 @@
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
+
18
+ // src/utilities/mergeResolvers.ts
19
+ function mergeResolvers(resolvers, extractedResolvers) {
20
+ const fullResolvers = __objSpread({}, extractedResolvers);
21
+ Object.keys(resolvers).forEach((resolverKey) => {
22
+ if (fullResolvers[resolverKey] && typeof resolvers[resolverKey] === "object" && resolvers[resolverKey].constructor === Object) {
23
+ fullResolvers[resolverKey] = __objSpread(__objSpread({}, fullResolvers[resolverKey]), resolvers[resolverKey]);
24
+ } else {
25
+ fullResolvers[resolverKey] = resolvers[resolverKey];
26
+ }
27
+ });
28
+ return fullResolvers;
29
+ }
30
+ export {
31
+ mergeResolvers
32
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@graphitation/supermassive",
3
3
  "license": "MIT",
4
- "version": "0.6.3",
4
+ "version": "0.8.0",
5
5
  "bin": {
6
6
  "supermassive": "./bin/supermassive.js"
7
7
  },
@@ -14,7 +14,7 @@
14
14
  "scripts": {
15
15
  "build": "monorepo-scripts build",
16
16
  "lint": "monorepo-scripts lint",
17
- "test": "monorepo-scripts test",
17
+ "test": "./bin/supermassive.js extract-schema ./src/benchmarks/swapi-schema/schema.graphql && monorepo-scripts test",
18
18
  "types": "monorepo-scripts types",
19
19
  "just": "monorepo-scripts",
20
20
  "benchmark": "ts-node -T ./src/benchmarks/index.ts"