@graphitation/supermassive 0.7.2 → 0.8.2

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.
@@ -33,10 +33,18 @@ const SPECIFIED_SCALARS = {
33
33
  Float: "GraphQLFloat",
34
34
  Boolean: "GraphQLBoolean"
35
35
  };
36
+ const SUPERMASSIVE_TYPES = {
37
+ INTERFACE_TYPE_RESOLVER: "InterfaceTypeResolver",
38
+ UNION_TYPE_RESOLVER: "UnionTypeResolver",
39
+ OBJECT_TYPE_RESOLVER: "ObjectTypeResolver",
40
+ ENUM_TYPE_RESOLVER: "EnumTypeResolver",
41
+ SCALAR_TYPE_RESOLVER: "ScalarTypeResolver",
42
+ INPUT_OBJECT_TYPE_RESOLVER: "InputObjectTypeResolver"
43
+ };
36
44
  function extractImplicitTypesToTypescript(document) {
37
45
  var _a, _b;
38
46
  const definitions = [];
39
- const imports = [
47
+ const graphQLImports = [
40
48
  "GraphQLList",
41
49
  "GraphQLNonNull",
42
50
  "GraphQLID",
@@ -45,30 +53,36 @@ function extractImplicitTypesToTypescript(document) {
45
53
  "GraphQLFloat",
46
54
  "GraphQLBoolean"
47
55
  ];
56
+ const supermassiveImports = ["Resolvers"];
48
57
  const identifiers = [];
49
58
  const implementedBy = {};
50
59
  const interfaceAstNodes = [];
51
60
  for (let astNode of document.definitions) {
52
61
  if (astNode.kind === import_graphql.Kind.SCALAR_TYPE_DEFINITION) {
53
62
  definitions.push(createScalarType(astNode));
54
- addToSetArray(imports, "GraphQLScalarType");
63
+ addToSetArray(graphQLImports, "GraphQLScalarType");
64
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.SCALAR_TYPE_RESOLVER);
55
65
  addToSetArray(identifiers, astNode.name.value);
56
66
  } else if (astNode.kind === import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION) {
57
67
  definitions.push(createInputObjectType(astNode));
58
- addToSetArray(imports, "GraphQLInputObjectType");
68
+ addToSetArray(graphQLImports, "GraphQLInputObjectType");
69
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.INPUT_OBJECT_TYPE_RESOLVER);
59
70
  addToSetArray(identifiers, astNode.name.value);
60
71
  } else if (astNode.kind === import_graphql.Kind.ENUM_TYPE_DEFINITION) {
61
72
  definitions.push(createEnumType(astNode));
62
- addToSetArray(imports, "GraphQLEnumType");
73
+ addToSetArray(graphQLImports, "GraphQLEnumType");
74
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.ENUM_TYPE_RESOLVER);
63
75
  addToSetArray(identifiers, astNode.name.value);
64
76
  } else if (astNode.kind === import_graphql.Kind.INTERFACE_TYPE_DEFINITION) {
65
77
  interfaceAstNodes.push(astNode);
78
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.INTERFACE_TYPE_RESOLVER);
66
79
  addToSetArray(identifiers, astNode.name.value);
67
80
  } else if (astNode.kind === import_graphql.Kind.UNION_TYPE_DEFINITION) {
68
81
  const types = (_a = astNode.types) == null ? void 0 : _a.map((typeNode) => {
69
82
  return typeNode.name.value;
70
83
  });
71
- definitions.push(createAbstractType(astNode, void 0, types));
84
+ definitions.push(createUnionType(astNode, types || []));
85
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.UNION_TYPE_RESOLVER);
72
86
  addToSetArray(identifiers, astNode.name.value);
73
87
  } else if (astNode.kind === import_graphql.Kind.OBJECT_TYPE_DEFINITION) {
74
88
  (_b = astNode.interfaces) == null ? void 0 : _b.forEach((node) => {
@@ -78,6 +92,7 @@ function extractImplicitTypesToTypescript(document) {
78
92
  implementedBy[node.name.value].push(astNode.name.value);
79
93
  });
80
94
  definitions.push(createObjectType(astNode));
95
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.OBJECT_TYPE_RESOLVER);
81
96
  addToSetArray(identifiers, astNode.name.value);
82
97
  }
83
98
  }
@@ -85,17 +100,23 @@ function extractImplicitTypesToTypescript(document) {
85
100
  if (!implementedBy[astNode.name.value]) {
86
101
  implementedBy[astNode.name.value] = [];
87
102
  }
88
- definitions.push(createAbstractType(astNode, implementedBy[astNode.name.value]));
103
+ definitions.push(createInterfaceType(astNode, implementedBy[astNode.name.value]));
89
104
  });
90
- const importDefinition = import_typescript.factory.createImportDeclaration(void 0, void 0, import_typescript.factory.createImportClause(false, void 0, import_typescript.factory.createNamedImports(imports.map((imp) => import_typescript.factory.createImportSpecifier(void 0, import_typescript.factory.createIdentifier(imp))))), import_typescript.factory.createStringLiteral("graphql"));
105
+ const graphQLImportDefinition = import_typescript.factory.createImportDeclaration(void 0, void 0, import_typescript.factory.createImportClause(false, void 0, import_typescript.factory.createNamedImports(graphQLImports.map((imp) => import_typescript.factory.createImportSpecifier(void 0, import_typescript.factory.createIdentifier(imp))))), import_typescript.factory.createStringLiteral("graphql"));
106
+ const supermassiveImportDefinition = import_typescript.factory.createImportDeclaration(void 0, void 0, import_typescript.factory.createImportClause(false, void 0, import_typescript.factory.createNamedImports(supermassiveImports.map((imp) => import_typescript.factory.createImportSpecifier(void 0, import_typescript.factory.createIdentifier(imp))))), import_typescript.factory.createStringLiteral("@graphitation/supermassive"));
91
107
  const exportDefinition = import_typescript.factory.createVariableStatement([import_typescript.factory.createModifier(import_typescript.default.SyntaxKind.ExportKeyword)], import_typescript.factory.createVariableDeclarationList([
92
- import_typescript.factory.createVariableDeclaration(import_typescript.factory.createIdentifier("resolvers"), void 0, void 0, import_typescript.factory.createObjectLiteralExpression(identifiers.map((def) => import_typescript.factory.createShorthandPropertyAssignment(import_typescript.factory.createIdentifier(def), void 0))))
108
+ import_typescript.factory.createVariableDeclaration(import_typescript.factory.createIdentifier("resolvers"), void 0, import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier("Resolvers"), void 0), import_typescript.factory.createObjectLiteralExpression(identifiers.map((def) => import_typescript.factory.createShorthandPropertyAssignment(import_typescript.factory.createIdentifier(def), void 0))))
93
109
  ], import_typescript.default.NodeFlags.Const));
94
- return import_typescript.factory.createSourceFile([importDefinition, ...definitions, exportDefinition], import_typescript.factory.createToken(import_typescript.default.SyntaxKind.EndOfFileToken), 0);
110
+ return import_typescript.factory.createSourceFile([
111
+ graphQLImportDefinition,
112
+ supermassiveImportDefinition,
113
+ ...definitions,
114
+ exportDefinition
115
+ ], import_typescript.factory.createToken(import_typescript.default.SyntaxKind.EndOfFileToken), 0);
95
116
  }
96
- function createDeclaration(name, decl) {
117
+ function createDeclaration(name, decl, typeReferenceNode) {
97
118
  return import_typescript.factory.createVariableStatement(void 0, import_typescript.factory.createVariableDeclarationList([
98
- import_typescript.factory.createVariableDeclaration(import_typescript.factory.createIdentifier(name), void 0, void 0, decl)
119
+ import_typescript.factory.createVariableDeclaration(import_typescript.factory.createIdentifier(name), void 0, typeReferenceNode, decl)
99
120
  ], import_typescript.default.NodeFlags.Const));
100
121
  }
101
122
  function createScalarType(astNode) {
@@ -105,7 +126,7 @@ function createScalarType(astNode) {
105
126
  import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("name"), import_typescript.factory.createStringLiteral(astNode.name.value)),
106
127
  import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("description"), import_typescript.factory.createStringLiteral(((_a = astNode.description) == null ? void 0 : _a.value) || ""))
107
128
  ], true)
108
- ]));
129
+ ]), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.SCALAR_TYPE_RESOLVER), void 0));
109
130
  }
110
131
  function createInputObjectType(astNode) {
111
132
  var _a;
@@ -115,7 +136,7 @@ function createInputObjectType(astNode) {
115
136
  import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("description"), import_typescript.factory.createStringLiteral(((_a = astNode.description) == null ? void 0 : _a.value) || "")),
116
137
  import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("fields"), import_typescript.factory.createArrowFunction(void 0, void 0, [], void 0, import_typescript.factory.createToken(import_typescript.default.SyntaxKind.EqualsGreaterThanToken), import_typescript.factory.createParenthesizedExpression(import_typescript.factory.createObjectLiteralExpression(createInputFields(astNode.fields || []), true))))
117
138
  ], true)
118
- ]));
139
+ ]), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.INPUT_OBJECT_TYPE_RESOLVER), void 0));
119
140
  }
120
141
  function createInputFields(astNodes) {
121
142
  return astNodes.map((astNode) => {
@@ -143,23 +164,22 @@ function createEnumType(astNode) {
143
164
  ]));
144
165
  })))
145
166
  ])
146
- ]));
167
+ ]), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.ENUM_TYPE_RESOLVER), void 0));
147
168
  }
148
- function createAbstractType(astNode, implementedBy, types) {
149
- const properties = [];
150
- if (implementedBy) {
151
- properties.push(import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__implementedBy"), import_typescript.factory.createArrayLiteralExpression(implementedBy.map((value) => import_typescript.factory.createStringLiteral(value)))));
152
- }
153
- if (types) {
154
- properties.push(import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__types"), import_typescript.factory.createArrayLiteralExpression(types.map((value) => import_typescript.factory.createStringLiteral(value)))));
155
- }
169
+ function createUnionType(astNode, types) {
170
+ return createDeclaration(astNode.name.value, import_typescript.factory.createObjectLiteralExpression([
171
+ import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__types"), import_typescript.factory.createArrayLiteralExpression(types.map((value) => import_typescript.factory.createStringLiteral(value)))),
172
+ import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__resolveType"), import_typescript.factory.createIdentifier("undefined"))
173
+ ]), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.UNION_TYPE_RESOLVER), void 0));
174
+ }
175
+ function createInterfaceType(astNode, implementedBy) {
156
176
  return createDeclaration(astNode.name.value, import_typescript.factory.createObjectLiteralExpression([
157
- ...properties,
177
+ import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__implementedBy"), import_typescript.factory.createArrayLiteralExpression(implementedBy.map((value) => import_typescript.factory.createStringLiteral(value)))),
158
178
  import_typescript.factory.createPropertyAssignment(import_typescript.factory.createIdentifier("__resolveType"), import_typescript.factory.createIdentifier("undefined"))
159
- ]));
179
+ ]), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.INTERFACE_TYPE_RESOLVER), void 0));
160
180
  }
161
181
  function createObjectType(astNode) {
162
- return createDeclaration(astNode.name.value, import_typescript.factory.createObjectLiteralExpression());
182
+ return createDeclaration(astNode.name.value, import_typescript.factory.createObjectLiteralExpression(), import_typescript.factory.createTypeReferenceNode(import_typescript.factory.createIdentifier(SUPERMASSIVE_TYPES.OBJECT_TYPE_RESOLVER), void 0));
163
183
  }
164
184
  function createType(astNode) {
165
185
  if (astNode.kind === import_graphql.Kind.LIST_TYPE) {
@@ -10,10 +10,18 @@ var SPECIFIED_SCALARS = {
10
10
  Float: "GraphQLFloat",
11
11
  Boolean: "GraphQLBoolean"
12
12
  };
13
+ var SUPERMASSIVE_TYPES = {
14
+ INTERFACE_TYPE_RESOLVER: "InterfaceTypeResolver",
15
+ UNION_TYPE_RESOLVER: "UnionTypeResolver",
16
+ OBJECT_TYPE_RESOLVER: "ObjectTypeResolver",
17
+ ENUM_TYPE_RESOLVER: "EnumTypeResolver",
18
+ SCALAR_TYPE_RESOLVER: "ScalarTypeResolver",
19
+ INPUT_OBJECT_TYPE_RESOLVER: "InputObjectTypeResolver"
20
+ };
13
21
  function extractImplicitTypesToTypescript(document) {
14
22
  var _a, _b;
15
23
  const definitions = [];
16
- const imports = [
24
+ const graphQLImports = [
17
25
  "GraphQLList",
18
26
  "GraphQLNonNull",
19
27
  "GraphQLID",
@@ -22,30 +30,36 @@ function extractImplicitTypesToTypescript(document) {
22
30
  "GraphQLFloat",
23
31
  "GraphQLBoolean"
24
32
  ];
33
+ const supermassiveImports = ["Resolvers"];
25
34
  const identifiers = [];
26
35
  const implementedBy = {};
27
36
  const interfaceAstNodes = [];
28
37
  for (let astNode of document.definitions) {
29
38
  if (astNode.kind === Kind.SCALAR_TYPE_DEFINITION) {
30
39
  definitions.push(createScalarType(astNode));
31
- addToSetArray(imports, "GraphQLScalarType");
40
+ addToSetArray(graphQLImports, "GraphQLScalarType");
41
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.SCALAR_TYPE_RESOLVER);
32
42
  addToSetArray(identifiers, astNode.name.value);
33
43
  } else if (astNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION) {
34
44
  definitions.push(createInputObjectType(astNode));
35
- addToSetArray(imports, "GraphQLInputObjectType");
45
+ addToSetArray(graphQLImports, "GraphQLInputObjectType");
46
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.INPUT_OBJECT_TYPE_RESOLVER);
36
47
  addToSetArray(identifiers, astNode.name.value);
37
48
  } else if (astNode.kind === Kind.ENUM_TYPE_DEFINITION) {
38
49
  definitions.push(createEnumType(astNode));
39
- addToSetArray(imports, "GraphQLEnumType");
50
+ addToSetArray(graphQLImports, "GraphQLEnumType");
51
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.ENUM_TYPE_RESOLVER);
40
52
  addToSetArray(identifiers, astNode.name.value);
41
53
  } else if (astNode.kind === Kind.INTERFACE_TYPE_DEFINITION) {
42
54
  interfaceAstNodes.push(astNode);
55
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.INTERFACE_TYPE_RESOLVER);
43
56
  addToSetArray(identifiers, astNode.name.value);
44
57
  } else if (astNode.kind === Kind.UNION_TYPE_DEFINITION) {
45
58
  const types = (_a = astNode.types) == null ? void 0 : _a.map((typeNode) => {
46
59
  return typeNode.name.value;
47
60
  });
48
- definitions.push(createAbstractType(astNode, void 0, types));
61
+ definitions.push(createUnionType(astNode, types || []));
62
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.UNION_TYPE_RESOLVER);
49
63
  addToSetArray(identifiers, astNode.name.value);
50
64
  } else if (astNode.kind === Kind.OBJECT_TYPE_DEFINITION) {
51
65
  (_b = astNode.interfaces) == null ? void 0 : _b.forEach((node) => {
@@ -55,6 +69,7 @@ function extractImplicitTypesToTypescript(document) {
55
69
  implementedBy[node.name.value].push(astNode.name.value);
56
70
  });
57
71
  definitions.push(createObjectType(astNode));
72
+ addToSetArray(supermassiveImports, SUPERMASSIVE_TYPES.OBJECT_TYPE_RESOLVER);
58
73
  addToSetArray(identifiers, astNode.name.value);
59
74
  }
60
75
  }
@@ -62,17 +77,23 @@ function extractImplicitTypesToTypescript(document) {
62
77
  if (!implementedBy[astNode.name.value]) {
63
78
  implementedBy[astNode.name.value] = [];
64
79
  }
65
- definitions.push(createAbstractType(astNode, implementedBy[astNode.name.value]));
80
+ definitions.push(createInterfaceType(astNode, implementedBy[astNode.name.value]));
66
81
  });
67
- const importDefinition = factory.createImportDeclaration(void 0, void 0, factory.createImportClause(false, void 0, factory.createNamedImports(imports.map((imp) => factory.createImportSpecifier(void 0, factory.createIdentifier(imp))))), factory.createStringLiteral("graphql"));
82
+ const graphQLImportDefinition = factory.createImportDeclaration(void 0, void 0, factory.createImportClause(false, void 0, factory.createNamedImports(graphQLImports.map((imp) => factory.createImportSpecifier(void 0, factory.createIdentifier(imp))))), factory.createStringLiteral("graphql"));
83
+ const supermassiveImportDefinition = factory.createImportDeclaration(void 0, void 0, factory.createImportClause(false, void 0, factory.createNamedImports(supermassiveImports.map((imp) => factory.createImportSpecifier(void 0, factory.createIdentifier(imp))))), factory.createStringLiteral("@graphitation/supermassive"));
68
84
  const exportDefinition = factory.createVariableStatement([factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createVariableDeclarationList([
69
- factory.createVariableDeclaration(factory.createIdentifier("resolvers"), void 0, void 0, factory.createObjectLiteralExpression(identifiers.map((def) => factory.createShorthandPropertyAssignment(factory.createIdentifier(def), void 0))))
85
+ factory.createVariableDeclaration(factory.createIdentifier("resolvers"), void 0, factory.createTypeReferenceNode(factory.createIdentifier("Resolvers"), void 0), factory.createObjectLiteralExpression(identifiers.map((def) => factory.createShorthandPropertyAssignment(factory.createIdentifier(def), void 0))))
70
86
  ], ts.NodeFlags.Const));
71
- return factory.createSourceFile([importDefinition, ...definitions, exportDefinition], factory.createToken(ts.SyntaxKind.EndOfFileToken), 0);
87
+ return factory.createSourceFile([
88
+ graphQLImportDefinition,
89
+ supermassiveImportDefinition,
90
+ ...definitions,
91
+ exportDefinition
92
+ ], factory.createToken(ts.SyntaxKind.EndOfFileToken), 0);
72
93
  }
73
- function createDeclaration(name, decl) {
94
+ function createDeclaration(name, decl, typeReferenceNode) {
74
95
  return factory.createVariableStatement(void 0, factory.createVariableDeclarationList([
75
- factory.createVariableDeclaration(factory.createIdentifier(name), void 0, void 0, decl)
96
+ factory.createVariableDeclaration(factory.createIdentifier(name), void 0, typeReferenceNode, decl)
76
97
  ], ts.NodeFlags.Const));
77
98
  }
78
99
  function createScalarType(astNode) {
@@ -82,7 +103,7 @@ function createScalarType(astNode) {
82
103
  factory.createPropertyAssignment(factory.createIdentifier("name"), factory.createStringLiteral(astNode.name.value)),
83
104
  factory.createPropertyAssignment(factory.createIdentifier("description"), factory.createStringLiteral(((_a = astNode.description) == null ? void 0 : _a.value) || ""))
84
105
  ], true)
85
- ]));
106
+ ]), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.SCALAR_TYPE_RESOLVER), void 0));
86
107
  }
87
108
  function createInputObjectType(astNode) {
88
109
  var _a;
@@ -92,7 +113,7 @@ function createInputObjectType(astNode) {
92
113
  factory.createPropertyAssignment(factory.createIdentifier("description"), factory.createStringLiteral(((_a = astNode.description) == null ? void 0 : _a.value) || "")),
93
114
  factory.createPropertyAssignment(factory.createIdentifier("fields"), factory.createArrowFunction(void 0, void 0, [], void 0, factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), factory.createParenthesizedExpression(factory.createObjectLiteralExpression(createInputFields(astNode.fields || []), true))))
94
115
  ], true)
95
- ]));
116
+ ]), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.INPUT_OBJECT_TYPE_RESOLVER), void 0));
96
117
  }
97
118
  function createInputFields(astNodes) {
98
119
  return astNodes.map((astNode) => {
@@ -120,23 +141,22 @@ function createEnumType(astNode) {
120
141
  ]));
121
142
  })))
122
143
  ])
123
- ]));
144
+ ]), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.ENUM_TYPE_RESOLVER), void 0));
124
145
  }
125
- function createAbstractType(astNode, implementedBy, types) {
126
- const properties = [];
127
- if (implementedBy) {
128
- properties.push(factory.createPropertyAssignment(factory.createIdentifier("__implementedBy"), factory.createArrayLiteralExpression(implementedBy.map((value) => factory.createStringLiteral(value)))));
129
- }
130
- if (types) {
131
- properties.push(factory.createPropertyAssignment(factory.createIdentifier("__types"), factory.createArrayLiteralExpression(types.map((value) => factory.createStringLiteral(value)))));
132
- }
146
+ function createUnionType(astNode, types) {
147
+ return createDeclaration(astNode.name.value, factory.createObjectLiteralExpression([
148
+ factory.createPropertyAssignment(factory.createIdentifier("__types"), factory.createArrayLiteralExpression(types.map((value) => factory.createStringLiteral(value)))),
149
+ factory.createPropertyAssignment(factory.createIdentifier("__resolveType"), factory.createIdentifier("undefined"))
150
+ ]), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.UNION_TYPE_RESOLVER), void 0));
151
+ }
152
+ function createInterfaceType(astNode, implementedBy) {
133
153
  return createDeclaration(astNode.name.value, factory.createObjectLiteralExpression([
134
- ...properties,
154
+ factory.createPropertyAssignment(factory.createIdentifier("__implementedBy"), factory.createArrayLiteralExpression(implementedBy.map((value) => factory.createStringLiteral(value)))),
135
155
  factory.createPropertyAssignment(factory.createIdentifier("__resolveType"), factory.createIdentifier("undefined"))
136
- ]));
156
+ ]), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.INTERFACE_TYPE_RESOLVER), void 0));
137
157
  }
138
158
  function createObjectType(astNode) {
139
- return createDeclaration(astNode.name.value, factory.createObjectLiteralExpression());
159
+ return createDeclaration(astNode.name.value, factory.createObjectLiteralExpression(), factory.createTypeReferenceNode(factory.createIdentifier(SUPERMASSIVE_TYPES.OBJECT_TYPE_RESOLVER), void 0));
140
160
  }
141
161
  function createType(astNode) {
142
162
  if (astNode.kind === Kind.LIST_TYPE) {
package/lib/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { executeWithoutSchema } from "./executeWithoutSchema";
2
2
  export { executeWithSchema } from "./executeWithSchema";
3
3
  export { subscribeWithSchema } from "./subscribeWithSchema";
4
4
  export { subscribeWithoutSchema } from "./subscribeWithoutSchema";
5
- export type { Resolvers } from "./types";
5
+ export type { ObjectTypeResolver, InterfaceTypeResolver, UnionTypeResolver, ScalarTypeResolver, EnumTypeResolver, InputObjectTypeResolver, Resolvers, } from "./types";
6
6
  export { addTypesToRequestDocument } from "./ast/addTypesToRequestDocument";
7
7
  export { extractImplicitTypes } from "./extractImplicitTypesRuntime";
8
8
  export { specifiedScalars } from "./values";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAEjG,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAEjG,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeWithSchema.d.ts","sourceRoot":"","sources":["../src/subscribeWithSchema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,uBAAuB,GAAG,OAAO,CAClC,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe,CAC9D,CA6BA"}
1
+ {"version":3,"file":"subscribeWithSchema.d.ts","sourceRoot":"","sources":["../src/subscribeWithSchema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,uBAAuB,GAAG,OAAO,CAClC,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe,CAC9D,CA0BA"}
@@ -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,18 +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
- __implementedBy: string[];
23
23
  };
24
24
  export declare type UnionTypeResolver = {
25
25
  __resolveType?: TypeResolver<any, any>;
26
26
  __types: string[];
27
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>;
35
+ };
28
36
  export declare type InputObjectTypeResolver = GraphQLInputObjectType;
37
+ export declare type UserResolver<TSource, TContext> = ObjectTypeResolver<TSource, TContext> | UserInterfaceTypeResolver<TSource, TContext> | UserUnionTypeResolver | ScalarTypeResolver | EnumTypeResolver | InputObjectTypeResolver;
29
38
  export declare type Resolver<TSource, TContext> = ObjectTypeResolver<TSource, TContext> | InterfaceTypeResolver<TSource, TContext> | UnionTypeResolver | ScalarTypeResolver | EnumTypeResolver | InputObjectTypeResolver;
30
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>>;
31
41
  export interface ResolveInfo {
32
42
  fieldName: string;
33
43
  fieldNodes: Array<FieldNode>;
@@ -60,7 +70,7 @@ export interface FormattedExecutionResult<TData = ObjMap<unknown>, TExtensions =
60
70
  extensions?: TExtensions;
61
71
  }
62
72
  export interface CommonExecutionArgs {
63
- resolvers: Resolvers;
73
+ resolvers: UserResolvers;
64
74
  rootValue?: unknown;
65
75
  contextValue?: unknown;
66
76
  variableValues?: Maybe<{
@@ -73,6 +83,7 @@ export interface CommonExecutionArgs {
73
83
  }
74
84
  export declare type ExecutionWithoutSchemaArgs = CommonExecutionArgs & {
75
85
  document: DocumentNode;
86
+ schemaResolvers: Resolvers;
76
87
  };
77
88
  export declare type ExecutionWithSchemaArgs = CommonExecutionArgs & {
78
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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"}
@@ -1,3 +1,3 @@
1
- import { Resolvers, Resolver } from "../types";
2
- export declare function mergeResolvers(resolvers: Resolvers<any, any>, extractedResolvers: Record<string, Resolver<any, any>>): Record<string, Resolver<any, any>>;
1
+ import { UserResolvers, Resolvers } from "../types";
2
+ export declare function mergeResolvers(resolvers: UserResolvers<any, any>, extractedResolvers: Resolvers): Resolvers<any, any>;
3
3
  //# sourceMappingURL=mergeResolvers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeResolvers.d.ts","sourceRoot":"","sources":["../../src/utilities/mergeResolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,sCAsBvD"}
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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@graphitation/supermassive",
3
3
  "license": "MIT",
4
- "version": "0.7.2",
4
+ "version": "0.8.2",
5
5
  "bin": {
6
6
  "supermassive": "./bin/supermassive.js"
7
7
  },
@@ -14,9 +14,10 @@
14
14
  "scripts": {
15
15
  "build": "monorepo-scripts build",
16
16
  "lint": "monorepo-scripts lint",
17
- "test": "supermassive extract-schema ./src/benchmarks/swapi-schema/schema.graphql && monorepo-scripts test",
18
- "types": "monorepo-scripts types",
17
+ "test": "yarn extract-schema && monorepo-scripts test",
18
+ "types": "yarn extract-schema && monorepo-scripts types",
19
19
  "just": "monorepo-scripts",
20
+ "extract-schema": "yarn build && node ./bin/supermassive.js extract-schema ./src/benchmarks/swapi-schema/schema.graphql",
20
21
  "benchmark": "ts-node -T ./src/benchmarks/index.ts"
21
22
  },
22
23
  "devDependencies": {
@@ -39,7 +40,7 @@
39
40
  "dependencies": {
40
41
  "commander": "^8.3.0",
41
42
  "graphql": "^15.6.1",
42
- "typescript": "^4.4.3"
43
+ "typescript": "^4.4.3 <4.5.0"
43
44
  },
44
45
  "types": "./lib/index.d.ts",
45
46
  "module": "./lib/index.mjs",