@graphitation/supermassive 2.4.7 → 2.5.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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +18 -2
- package/README.md +2 -42
- package/lib/benchmarks/index.js +3 -3
- package/lib/benchmarks/index.js.map +7 -0
- package/lib/benchmarks/index.mjs +2 -2
- package/lib/benchmarks/index.mjs.map +7 -0
- package/lib/benchmarks/nice-benchmark.js.map +7 -0
- package/lib/benchmarks/nice-benchmark.mjs.map +7 -0
- package/lib/benchmarks/swapi-schema/index.js.map +7 -0
- package/lib/benchmarks/swapi-schema/index.mjs.map +7 -0
- package/lib/benchmarks/swapi-schema/models.js.map +7 -0
- package/lib/benchmarks/swapi-schema/models.mjs.map +7 -0
- package/lib/benchmarks/swapi-schema/resolvers.js.map +7 -0
- package/lib/benchmarks/swapi-schema/resolvers.mjs.map +7 -0
- package/lib/collectFields.d.ts +1 -1
- package/lib/collectFields.d.ts.map +1 -1
- package/lib/collectFields.js.map +7 -0
- package/lib/collectFields.mjs.map +7 -0
- package/lib/definition.js.map +7 -0
- package/lib/definition.mjs.map +7 -0
- package/lib/directives.d.ts +1 -1
- package/lib/directives.d.ts.map +1 -1
- package/lib/directives.js.map +7 -0
- package/lib/directives.mjs.map +7 -0
- package/lib/executeWithSchema.js.map +7 -0
- package/lib/executeWithSchema.mjs.map +7 -0
- package/lib/executeWithoutSchema.d.ts +1 -1
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js.map +7 -0
- package/lib/executeWithoutSchema.mjs.map +7 -0
- package/lib/extractImplicitTypesRuntime.js.map +7 -0
- package/lib/extractImplicitTypesRuntime.mjs.map +7 -0
- package/lib/hooks/types.js.map +7 -0
- package/lib/hooks/types.mjs.map +7 -0
- package/lib/index.d.ts +6 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -4
- package/lib/index.js.map +7 -0
- package/lib/index.mjs +4 -2
- package/lib/index.mjs.map +7 -0
- package/lib/jsutils/Maybe.js.map +7 -0
- package/lib/jsutils/Maybe.mjs.map +7 -0
- package/lib/jsutils/ObjMap.js.map +7 -0
- package/lib/jsutils/ObjMap.mjs.map +7 -0
- package/lib/jsutils/Path.js.map +7 -0
- package/lib/jsutils/Path.mjs.map +7 -0
- package/lib/jsutils/PromiseOrValue.js.map +7 -0
- package/lib/jsutils/PromiseOrValue.mjs.map +7 -0
- package/lib/jsutils/devAssert.js.map +7 -0
- package/lib/jsutils/devAssert.mjs.map +7 -0
- package/lib/jsutils/didYouMean.js.map +7 -0
- package/lib/jsutils/didYouMean.mjs.map +7 -0
- package/lib/jsutils/identityFunc.js.map +7 -0
- package/lib/jsutils/identityFunc.mjs.map +7 -0
- package/lib/jsutils/inspect.js.map +7 -0
- package/lib/jsutils/inspect.mjs.map +7 -0
- package/lib/jsutils/instanceOf.d.ts.map +1 -1
- package/lib/jsutils/instanceOf.js +1 -4
- package/lib/jsutils/instanceOf.js.map +7 -0
- package/lib/jsutils/instanceOf.mjs +1 -4
- package/lib/jsutils/instanceOf.mjs.map +7 -0
- package/lib/jsutils/invariant.js.map +7 -0
- package/lib/jsutils/invariant.mjs.map +7 -0
- package/lib/jsutils/isAsyncIterable.js.map +7 -0
- package/lib/jsutils/isAsyncIterable.mjs.map +7 -0
- package/lib/jsutils/isIterableObject.js.map +7 -0
- package/lib/jsutils/isIterableObject.mjs.map +7 -0
- package/lib/jsutils/isObjectLike.js.map +7 -0
- package/lib/jsutils/isObjectLike.mjs.map +7 -0
- package/lib/jsutils/isPromise.js.map +7 -0
- package/lib/jsutils/isPromise.mjs.map +7 -0
- package/lib/jsutils/keyMap.js.map +7 -0
- package/lib/jsutils/keyMap.mjs.map +7 -0
- package/lib/jsutils/keyValMap.js.map +7 -0
- package/lib/jsutils/keyValMap.mjs.map +7 -0
- package/lib/jsutils/mapValue.js.map +7 -0
- package/lib/jsutils/mapValue.mjs.map +7 -0
- package/lib/jsutils/memoize3.js.map +7 -0
- package/lib/jsutils/memoize3.mjs.map +7 -0
- package/lib/jsutils/naturalCompare.js.map +7 -0
- package/lib/jsutils/naturalCompare.mjs.map +7 -0
- package/lib/jsutils/printPathArray.js.map +7 -0
- package/lib/jsutils/printPathArray.mjs.map +7 -0
- package/lib/jsutils/promiseForObject.js.map +7 -0
- package/lib/jsutils/promiseForObject.mjs.map +7 -0
- package/lib/jsutils/promiseReduce.js.map +7 -0
- package/lib/jsutils/promiseReduce.mjs.map +7 -0
- package/lib/jsutils/suggestionList.js.map +7 -0
- package/lib/jsutils/suggestionList.mjs.map +7 -0
- package/lib/jsutils/toObjMap.js.map +7 -0
- package/lib/jsutils/toObjMap.mjs.map +7 -0
- package/lib/subscribeWithSchema.js.map +7 -0
- package/lib/subscribeWithSchema.mjs.map +7 -0
- package/lib/subscribeWithoutSchema.d.ts +1 -1
- package/lib/subscribeWithoutSchema.d.ts.map +1 -1
- package/lib/subscribeWithoutSchema.js.map +7 -0
- package/lib/subscribeWithoutSchema.mjs.map +7 -0
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +7 -0
- package/lib/types.mjs.map +7 -0
- package/lib/utilities/array.js.map +7 -0
- package/lib/utilities/array.mjs.map +7 -0
- package/lib/utilities/blankGraphQLTag.js.map +7 -0
- package/lib/utilities/blankGraphQLTag.mjs.map +7 -0
- package/lib/utilities/mapAsyncIterator.js.map +7 -0
- package/lib/utilities/mapAsyncIterator.mjs.map +7 -0
- package/lib/utilities/mergeResolvers.d.ts.map +1 -1
- package/lib/utilities/mergeResolvers.js +2 -1
- package/lib/utilities/mergeResolvers.js.map +7 -0
- package/lib/utilities/mergeResolvers.mjs +2 -1
- package/lib/utilities/mergeResolvers.mjs.map +7 -0
- package/lib/utilities/typeNameFromAST.d.ts +1 -1
- package/lib/utilities/typeNameFromAST.d.ts.map +1 -1
- package/lib/utilities/typeNameFromAST.js.map +7 -0
- package/lib/utilities/typeNameFromAST.mjs.map +7 -0
- package/lib/values.d.ts +1 -1
- package/lib/values.d.ts.map +1 -1
- package/lib/values.js.map +7 -0
- package/lib/values.mjs.map +7 -0
- package/package.json +7 -3
- package/lib/ast/TypedAST.d.ts +0 -367
- package/lib/ast/TypedAST.d.ts.map +0 -1
- package/lib/ast/TypedAST.js +0 -16
- package/lib/ast/TypedAST.mjs +0 -0
- package/lib/ast/addTypesToRequestDocument.d.ts +0 -6
- package/lib/ast/addTypesToRequestDocument.d.ts.map +0 -1
- package/lib/ast/addTypesToRequestDocument.js +0 -161
- package/lib/ast/addTypesToRequestDocument.mjs +0 -153
- package/lib/transforms/annotateDocumentGraphQLTransform.d.ts +0 -3
- package/lib/transforms/annotateDocumentGraphQLTransform.d.ts.map +0 -1
- package/lib/transforms/annotateDocumentGraphQLTransform.js +0 -34
- package/lib/transforms/annotateDocumentGraphQLTransform.mjs +0 -17
package/README.md
CHANGED
|
@@ -208,51 +208,11 @@ function executeWithSchema(args: ExecutionWithSchemaArgs): PromiseOrValue<Execut
|
|
|
208
208
|
|
|
209
209
|
### Transform
|
|
210
210
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
```js
|
|
214
|
-
function addTypesToRequestDocument(
|
|
215
|
-
schema: GraphQLSchema,
|
|
216
|
-
document: TypelessAST.DocumentNode
|
|
217
|
-
): TypedAST.DocumentNode
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
With `@graphitation/graphql-js-tag` and `@graphitation/ts-transform-graphql-js-tag` (in webpack config)
|
|
221
|
-
|
|
222
|
-
```js
|
|
223
|
-
import { buildASTSchema } from 'graphql'
|
|
224
|
-
import { getTransformer } from "@graphitation/ts-transform-graphql-js-tag";
|
|
225
|
-
import { annotateDocumentGraphQLTransform } from "@graphitation/supermassive";
|
|
226
|
-
|
|
227
|
-
// ...
|
|
228
|
-
|
|
229
|
-
{
|
|
230
|
-
test: /\.tsx?$/,
|
|
231
|
-
loader: "ts-loader",
|
|
232
|
-
options: {
|
|
233
|
-
getCustomTransformers: () => ({
|
|
234
|
-
before: [
|
|
235
|
-
getTransformer({
|
|
236
|
-
graphqlTagModuleExport: "graphql",
|
|
237
|
-
transformer: annotateDocumentGraphQLTransform(
|
|
238
|
-
buildASTSchema({
|
|
239
|
-
fs.readFileSync(
|
|
240
|
-
"PATH_TO_SCHEMA_TYPEDEFS.graphql",
|
|
241
|
-
{ encoding: "utf-8" }
|
|
242
|
-
),
|
|
243
|
-
)
|
|
244
|
-
),
|
|
245
|
-
}),
|
|
246
|
-
],
|
|
247
|
-
}),
|
|
248
|
-
},
|
|
249
|
-
},
|
|
250
|
-
}
|
|
251
|
-
```
|
|
211
|
+
Supermassive requires annotated GraphQL documents. See [`@graphitation/supermassive-ast`](../supermassive-ast/).
|
|
252
212
|
|
|
253
213
|
### Resolver extractor
|
|
254
214
|
|
|
255
|
-
Supermassive provides a bin command to extract implicit resolvers.
|
|
215
|
+
Supermassive provides a bin command to extract implicit resolvers. See [`@graphitation/supermassive-extractors`](../supermassive-extractors/) and [`@graphitation/cli`](../cli).
|
|
256
216
|
|
|
257
217
|
```sh
|
|
258
218
|
supermassive extract-schema PATH_TO_TYPEDEFS.graphql
|
package/lib/benchmarks/index.js
CHANGED
|
@@ -50,7 +50,7 @@ var import_models = __toESM(require("./swapi-schema/models"));
|
|
|
50
50
|
var import_graphql = require("graphql");
|
|
51
51
|
var import_graphql_jit = require("graphql-jit");
|
|
52
52
|
var import_executeWithoutSchema = require("../executeWithoutSchema");
|
|
53
|
-
var
|
|
53
|
+
var import_supermassive_ast = require("@graphitation/supermassive-ast");
|
|
54
54
|
var import_extractImplicitTypesRuntime = require("../extractImplicitTypesRuntime");
|
|
55
55
|
var import_values = require("../values");
|
|
56
56
|
const query = import_fs.default.readFileSync(
|
|
@@ -61,7 +61,7 @@ const query = import_fs.default.readFileSync(
|
|
|
61
61
|
);
|
|
62
62
|
const parsedQuery = (0, import_graphql.parse)(query);
|
|
63
63
|
const compiledQuery = (0, import_graphql_jit.compileQuery)(import_swapi_schema.default, parsedQuery);
|
|
64
|
-
const typeAnnotatedQuery = (0,
|
|
64
|
+
const typeAnnotatedQuery = (0, import_supermassive_ast.addTypesToRequestDocument)(import_swapi_schema.default, parsedQuery);
|
|
65
65
|
const queryRunningSuite = new import_nice_benchmark.default("Query Running");
|
|
66
66
|
queryRunningSuite.add("graphql-js - string queries", () => __async(exports, null, function* () {
|
|
67
67
|
const result = yield (0, import_graphql.graphql)({
|
|
@@ -135,7 +135,7 @@ queryCompilingSuite.add("graphql-jit", () => __async(exports, null, function* ()
|
|
|
135
135
|
}));
|
|
136
136
|
const queryAnnotationSuite = new import_nice_benchmark.default("Query annotation");
|
|
137
137
|
queryAnnotationSuite.add("supermassive", () => {
|
|
138
|
-
(0,
|
|
138
|
+
(0, import_supermassive_ast.addTypesToRequestDocument)(import_swapi_schema.default, parsedQuery);
|
|
139
139
|
});
|
|
140
140
|
function main() {
|
|
141
141
|
return __async(this, null, function* () {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/benchmarks/index.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n graphql,\n execute as graphqlExecute,\n parse,\n isInputType,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { addTypesToRequestDocument } from \"@graphitation/supermassive-ast\";\nimport { Resolvers, UserResolvers } from \"../types\";\nimport { extractImplicitTypes } from \"../extractImplicitTypesRuntime\";\nimport { specifiedScalars } from \"../values\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\n\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst typeAnnotatedQuery = addTypesToRequestDocument(schema, parsedQuery);\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphql({\n schema,\n source: query,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(parsedQuery, getTypeByName);\n\n const result = await supermassiveExecute({\n resolvers: resolvers as UserResolvers,\n schemaResolvers: extractedResolvers,\n document: typeAnnotatedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n addTypesToRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["fs", "path", "schema", "NiceBenchmark", "models", "graphqlExecute", "supermassiveExecute", "resolvers"]
|
|
7
|
+
}
|
package/lib/benchmarks/index.mjs
CHANGED
|
@@ -27,7 +27,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
27
27
|
import fs from "fs";
|
|
28
28
|
import path from "path";
|
|
29
29
|
import NiceBenchmark from "./nice-benchmark.mjs";
|
|
30
|
-
import schema from "./swapi-schema.mjs";
|
|
30
|
+
import schema from "./swapi-schema/index.mjs";
|
|
31
31
|
import resolvers from "./swapi-schema/resolvers.mjs";
|
|
32
32
|
import models from "./swapi-schema/models.mjs";
|
|
33
33
|
import {
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
} from "graphql";
|
|
39
39
|
import { compileQuery, isCompiledQuery } from "graphql-jit";
|
|
40
40
|
import { executeWithoutSchema as supermassiveExecute } from "../executeWithoutSchema.mjs";
|
|
41
|
-
import { addTypesToRequestDocument } from "
|
|
41
|
+
import { addTypesToRequestDocument } from "@graphitation/supermassive-ast";
|
|
42
42
|
import { extractImplicitTypes } from "../extractImplicitTypesRuntime.mjs";
|
|
43
43
|
import { specifiedScalars } from "../values.mjs";
|
|
44
44
|
var require_benchmarks = __commonJS({
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/benchmarks/index.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n graphql,\n execute as graphqlExecute,\n parse,\n isInputType,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { addTypesToRequestDocument } from \"@graphitation/supermassive-ast\";\nimport { Resolvers, UserResolvers } from \"../types\";\nimport { extractImplicitTypes } from \"../extractImplicitTypesRuntime\";\nimport { specifiedScalars } from \"../values\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\n\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst typeAnnotatedQuery = addTypesToRequestDocument(schema, parsedQuery);\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphql({\n schema,\n source: query,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(parsedQuery, getTypeByName);\n\n const result = await supermassiveExecute({\n resolvers: resolvers as UserResolvers,\n schemaResolvers: extractedResolvers,\n document: typeAnnotatedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n addTypesToRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,mBAAmB;AAC1B,OAAO,YAAY;AACnB,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB;AAAA,EACE;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc,uBAAuB;AAC9C,SAAS,wBAAwB,2BAA2B;AAC5D,SAAS,iCAAiC;AAE1C,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAjBjC;AAAA;AAmBA,QAAM,QAAQ,GAAG;AAAA,MACf,KAAK,KAAK,WAAW,2BAA2B;AAAA,MAChD;AAAA,QACE,UAAU;AAAA,MACZ;AAAA,IACF;AAEA,QAAM,cAAc,MAAM,KAAK;AAE/B,QAAM,gBAAgB,aAAa,QAAQ,WAAW;AAEtD,QAAM,qBAAqB,0BAA0B,QAAQ,WAAW;AAExE,QAAM,oBAAoB,IAAI,cAAc,eAAe;AAC3D,sBAAkB,IAAI,+BAA+B,MAAY;AAC/D,YAAM,SAAS,MAAM,QAAQ;AAAA,QAC3B;AAAA,QACA,QAAQ;AAAA,QACR,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,+BAA+B,MAAY;AAC/D,YAAM,SAAS,MAAM,eAAe;AAAA,QAClC;AAAA,QACA,UAAU;AAAA,QACV,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,4BAA4B,MAAY;AAC5D,YAAM,qBAAqB,aAAa,QAAQ,WAAW;AAC3D,UAAI,gBAAgB,kBAAkB,GAAG;AACvC,cAAM,SAAS,MAAM,mBAAmB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC;AAChE,YAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,MAAM,aAAa;AAAA,MAC/B;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,6BAA6B,MAAY;AAC7D,UAAI,gBAAgB,aAAa,GAAG;AAClC,cAAM,SAAS,MAAM,cAAc,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC;AAC3D,YAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,MAAM,aAAa;AAAA,MAC/B;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,qCAAqC,MAAY;AACrE,UAAI,qBAAgC,CAAC;AACrC,YAAM,gBAAgB,CAAC,SAAiB;AACtC,cAAM,OAAO,iBAAiB,IAAI,KAAK,mBAAmB,IAAI;AAC9D,YAAI,YAAY,IAAI,GAAG;AACrB,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM,IAAI,MAAM,cAAc;AAAA,QAChC;AAAA,MACF;AACA,2BAAqB,qBAAqB,aAAa,aAAa;AAEpE,YAAM,SAAS,MAAM,oBAAoB;AAAA,QACvC;AAAA,QACA,iBAAiB;AAAA,QACjB,UAAU;AAAA,QACV,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AAED,QAAM,oBAAoB,IAAI,cAAc,eAAe;AAC3D,sBAAkB,IAAI,cAAc,MAAY;AAC9C,YAAM,KAAK;AAAA,IACb,EAAC;AAED,QAAM,sBAAsB,IAAI,cAAc,iBAAiB;AAC/D,wBAAoB,IAAI,eAAe,MAAY;AACjD,YAAM,aAAa,QAAQ,WAAW;AAAA,IACxC,EAAC;AAED,QAAM,uBAAuB,IAAI,cAAc,kBAAkB;AACjE,yBAAqB,IAAI,gBAAgB,MAAM;AAC7C,gCAA0B,QAAQ,WAAW;AAAA,IAC/C,CAAC;AAED,aAAe,OAAO;AAAA;AACpB,cAAM,oBAAoB,IAAI;AAC9B,cAAM,kBAAkB,IAAI;AAC5B,cAAM,qBAAqB,IAAI;AAC/B,cAAM,kBAAkB,IAAI;AAAA,MAC9B;AAAA;AAEA,SAAK;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/benchmarks/nice-benchmark.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Suite } from \"benchmark\";\n\nexport default class NiceBenchmark {\n private name: string;\n private suite: Suite;\n\n constructor(name: string) {\n this.name = name;\n this.suite = new Suite(name);\n this.suite.on(\"cycle\", function (event: any) {\n console.log(String(event.target));\n });\n }\n\n add(name: string, fn: () => Promise<void> | void) {\n this.suite.add(name, {\n defer: true,\n fn: async (deferred: any) => {\n await fn();\n deferred.resolve();\n },\n });\n }\n\n run(options?: any): Promise<unknown> {\n return new Promise((resolve) => {\n this.suite.on(\"complete\", resolve);\n console.log(this.name);\n this.suite.run(options);\n });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAAsB;AAEtB,MAAO,cAA4B;AAAA,EAIjC,YAAY,MAAc;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ,IAAI,uBAAM,IAAI;AAC3B,SAAK,MAAM,GAAG,SAAS,SAAU,OAAY;AAC3C,cAAQ,IAAI,OAAO,MAAM,MAAM,CAAC;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,MAAc,IAAgC;AAChD,SAAK,MAAM,IAAI,MAAM;AAAA,MACnB,OAAO;AAAA,MACP,IAAI,CAAO,aAAkB;AAC3B,cAAM,GAAG;AACT,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,SAAiC;AACnC,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAK,MAAM,GAAG,YAAY,OAAO;AACjC,cAAQ,IAAI,KAAK,IAAI;AACrB,WAAK,MAAM,IAAI,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/benchmarks/nice-benchmark.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Suite } from \"benchmark\";\n\nexport default class NiceBenchmark {\n private name: string;\n private suite: Suite;\n\n constructor(name: string) {\n this.name = name;\n this.suite = new Suite(name);\n this.suite.on(\"cycle\", function (event: any) {\n console.log(String(event.target));\n });\n }\n\n add(name: string, fn: () => Promise<void> | void) {\n this.suite.add(name, {\n defer: true,\n fn: async (deferred: any) => {\n await fn();\n deferred.resolve();\n },\n });\n }\n\n run(options?: any): Promise<unknown> {\n return new Promise((resolve) => {\n this.suite.on(\"complete\", resolve);\n console.log(this.name);\n this.suite.run(options);\n });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,aAAa;AAEtB,IAAqB,gBAArB,MAAmC;AAAA,EAIjC,YAAY,MAAc;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ,IAAI,MAAM,IAAI;AAC3B,SAAK,MAAM,GAAG,SAAS,SAAU,OAAY;AAC3C,cAAQ,IAAI,OAAO,MAAM,MAAM,CAAC;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,MAAc,IAAgC;AAChD,SAAK,MAAM,IAAI,MAAM;AAAA,MACnB,OAAO;AAAA,MACP,IAAI,CAAO,aAAkB;AAC3B,cAAM,GAAG;AACT,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,SAAiC;AACnC,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAK,MAAM,GAAG,YAAY,OAAO;AACjC,cAAQ,IAAI,KAAK,IAAI;AACrB,WAAK,MAAM,IAAI,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { parse } from \"graphql\";\nimport { join } from \"path\";\nimport { readFileSync } from \"fs\";\nimport resolvers from \"./resolvers\";\n\nexport const typeDefs = parse(\n readFileSync(join(__dirname, \"./schema.graphql\"), {\n encoding: \"utf-8\",\n }),\n);\n\nexport default makeExecutableSchema({\n typeDefs,\n resolvers,\n});\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,qBAAsB;AACtB,kBAAqB;AACrB,gBAA6B;AAC7B,uBAAsB;AAEf,MAAM,eAAW;AAAA,MACtB,4BAAa,kBAAK,WAAW,kBAAkB,GAAG;AAAA,IAChD,UAAU;AAAA,EACZ,CAAC;AACH;AAEA,IAAO,2BAAQ,oCAAqB;AAAA,EAClC;AAAA,EACA,4BAAAA;AACF,CAAC;",
|
|
6
|
+
"names": ["resolvers"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { parse } from \"graphql\";\nimport { join } from \"path\";\nimport { readFileSync } from \"fs\";\nimport resolvers from \"./resolvers\";\n\nexport const typeDefs = parse(\n readFileSync(join(__dirname, \"./schema.graphql\"), {\n encoding: \"utf-8\",\n }),\n);\n\nexport default makeExecutableSchema({\n typeDefs,\n resolvers,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,4BAA4B;AACrC,SAAS,aAAa;AACtB,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,OAAO,eAAe;AAEf,IAAM,WAAW;AAAA,EACtB,aAAa,KAAK,WAAW,kBAAkB,GAAG;AAAA,IAChD,UAAU;AAAA,EACZ,CAAC;AACH;AAEA,IAAO,uBAAQ,qBAAqB;AAAA,EAClC;AAAA,EACA;AACF,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/models.ts"],
|
|
4
|
+
"sourcesContent": ["import path from \"path\";\nimport { JsonDB } from \"node-json-db\";\n\nexport default new JsonDB(path.join(__dirname, \"./starwars\"));\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,0BAAuB;AAEvB,IAAO,iBAAQ,IAAI,2BAAO,YAAAA,QAAK,KAAK,WAAW,YAAY,CAAC;",
|
|
6
|
+
"names": ["path"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/models.ts"],
|
|
4
|
+
"sourcesContent": ["import path from \"path\";\nimport { JsonDB } from \"node-json-db\";\n\nexport default new JsonDB(path.join(__dirname, \"./starwars\"));\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,cAAc;AAEvB,IAAO,iBAAQ,IAAI,OAAO,KAAK,KAAK,WAAW,YAAY,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/resolvers.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { GraphQLFieldResolver } from \"graphql/type/definition\";\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator } from \"iterall\";\n\nconst films: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id));\n};\n\nconst starships: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id));\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any> = async function (\n _parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["planet", "person", "film", "starship", "transport", "vehicle", "species"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/benchmarks/swapi-schema/resolvers.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { GraphQLFieldResolver } from \"graphql/type/definition\";\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator } from \"iterall\";\n\nconst films: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id));\n};\n\nconst starships: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id));\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any> = async function (\n _parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any> = (\n _parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["planet", "person", "film", "starship", "transport", "vehicle", "species"]
|
|
7
|
+
}
|
package/lib/collectFields.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldNode, FragmentDefinitionNode, SelectionSetNode } from "
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, SelectionSetNode } from "@graphitation/supermassive-ast";
|
|
2
2
|
import type { ObjMap } from "./jsutils/ObjMap";
|
|
3
3
|
import { Resolvers } from "./types";
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectFields.d.ts","sourceRoot":"","sources":["../src/collectFields.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGtB,gBAAgB,EACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"collectFields.d.ts","sourceRoot":"","sources":["../src/collectFields.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGtB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACzC,cAAc,EAAE;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAC/C,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EACrC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAgE/B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/collectFields.ts"],
|
|
4
|
+
"sourcesContent": ["import { Kind } from \"graphql\";\nimport {\n FieldNode,\n FragmentDefinitionNode,\n InlineFragmentNode,\n SelectionNode,\n SelectionSetNode,\n} from \"@graphitation/supermassive-ast\";\nimport type { ObjMap } from \"./jsutils/ObjMap\";\nimport { getDirectiveValues } from \"./values\";\nimport { GraphQLSkipDirective, GraphQLIncludeDirective } from \"./directives\";\nimport { typeNameFromAST } from \"./utilities/typeNameFromAST\";\nimport { isUnionResolverType, isInterfaceResolverType } from \"./definition\";\n\nimport { Resolvers } from \"./types\";\n\n/**\n * Given a selectionSet, adds all of the fields in that selection to\n * the passed in map of fields, and returns it at the end.\n *\n * CollectFields requires the \"runtime type\" of an object. For a field which\n * returns an Interface or Union type, the \"runtime type\" will be the actual\n * Object type returned by that field.\n *\n * @internal\n */\nexport function collectFields(\n resolvers: Resolvers,\n fragments: ObjMap<FragmentDefinitionNode>,\n variableValues: { [variable: string]: unknown },\n runtimeTypeName: string,\n selectionSet: SelectionSetNode,\n fields: Map<string, Array<FieldNode>>,\n visitedFragmentNames: Set<string>,\n): Map<string, Array<FieldNode>> {\n for (const selection of selectionSet.selections) {\n switch (selection.kind) {\n case Kind.FIELD: {\n if (!shouldIncludeNode(resolvers, variableValues, selection)) {\n continue;\n }\n const name = getFieldEntryKey(selection);\n const fieldList = fields.get(name);\n if (fieldList !== undefined) {\n fieldList.push(selection);\n } else {\n fields.set(name, [selection]);\n }\n break;\n }\n case Kind.INLINE_FRAGMENT: {\n if (\n !shouldIncludeNode(resolvers, variableValues, selection) ||\n !doesFragmentConditionMatch(selection, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n selection.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n case Kind.FRAGMENT_SPREAD: {\n const fragName = selection.name.value;\n if (\n visitedFragmentNames.has(fragName) ||\n !shouldIncludeNode(resolvers, variableValues, selection)\n ) {\n continue;\n }\n visitedFragmentNames.add(fragName);\n const fragment = fragments[fragName];\n if (\n !fragment ||\n !doesFragmentConditionMatch(fragment, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n fragment.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n }\n }\n return fields;\n}\n\n/**\n * Determines if a field should be included based on the @include and @skip\n * directives, where @skip has higher precedence than @include.\n */\nfunction shouldIncludeNode(\n resolvers: Resolvers,\n variableValues: { [variable: string]: unknown },\n node: SelectionNode,\n): boolean {\n if (!node.directives?.length) {\n return true;\n }\n\n const skip = getDirectiveValues(\n GraphQLSkipDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n if (skip?.if === true) {\n return false;\n }\n\n const include = getDirectiveValues(\n GraphQLIncludeDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n\n if (include?.if === false) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Determines if a fragment is applicable to the given type.\n */\nfunction doesFragmentConditionMatch(\n fragment: FragmentDefinitionNode | InlineFragmentNode,\n typeName: string,\n resolvers: Resolvers,\n): boolean {\n const typeConditionNode = fragment.typeCondition;\n if (!typeConditionNode) {\n return true;\n }\n\n const conditionalType = typeNameFromAST(typeConditionNode);\n\n if (conditionalType === typeName) {\n return true;\n }\n\n const subTypes = getSubTypes(resolvers, new Set(), conditionalType);\n\n return subTypes.has(typeName);\n}\n\nfunction getSubTypes(\n resolvers: Resolvers,\n abstractTypes: Set<string>,\n conditionalType: string,\n): Set<string> {\n const resolver = resolvers[conditionalType];\n if (isInterfaceResolverType(resolver)) {\n const result = resolver.__implementedBy.reduce(\n (acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n },\n [],\n );\n\n return new Set([...result]);\n }\n\n if (isUnionResolverType(resolver)) {\n const result = resolver.__types.reduce((acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n }, []);\n\n return new Set([...result]);\n }\n\n return abstractTypes;\n}\n\n/**\n * Implements the logic to compute the key of a given field's entry\n */\nfunction getFieldEntryKey(node: FieldNode): string {\n return node.alias ? node.alias.value : node.name.value;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAqB;AASrB,oBAAmC;AACnC,wBAA8D;AAC9D,6BAAgC;AAChC,wBAA6D;AActD,SAAS,cACd,WACA,WACA,gBACA,iBACA,cACA,QACA,sBAC+B;AAC/B,aAAW,aAAa,aAAa,YAAY;AAC/C,YAAQ,UAAU,MAAM;AAAA,MACtB,KAAK,oBAAK,OAAO;AACf,YAAI,CAAC,kBAAkB,WAAW,gBAAgB,SAAS,GAAG;AAC5D;AAAA,QACF;AACA,cAAM,OAAO,iBAAiB,SAAS;AACvC,cAAM,YAAY,OAAO,IAAI,IAAI;AACjC,YAAI,cAAc,QAAW;AAC3B,oBAAU,KAAK,SAAS;AAAA,QAC1B,OAAO;AACL,iBAAO,IAAI,MAAM,CAAC,SAAS,CAAC;AAAA,QAC9B;AACA;AAAA,MACF;AAAA,MACA,KAAK,oBAAK,iBAAiB;AACzB,YACE,CAAC,kBAAkB,WAAW,gBAAgB,SAAS,KACvD,CAAC,2BAA2B,WAAW,iBAAiB,SAAS,GACjE;AACA;AAAA,QACF;AACA;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA;AAAA,QACF;AACA;AAAA,MACF;AAAA,MACA,KAAK,oBAAK,iBAAiB;AACzB,cAAM,WAAW,UAAU,KAAK;AAChC,YACE,qBAAqB,IAAI,QAAQ,KACjC,CAAC,kBAAkB,WAAW,gBAAgB,SAAS,GACvD;AACA;AAAA,QACF;AACA,6BAAqB,IAAI,QAAQ;AACjC,cAAM,WAAW,UAAU,QAAQ;AACnC,YACE,CAAC,YACD,CAAC,2BAA2B,UAAU,iBAAiB,SAAS,GAChE;AACA;AAAA,QACF;AACA;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT;AAAA,UACA;AAAA,QACF;AACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAMA,SAAS,kBACP,WACA,gBACA,MACS;AA5GX;AA6GE,MAAI,GAAC,UAAK,eAAL,mBAAiB,SAAQ;AAC5B,WAAO;AAAA,EACT;AAEA,QAAM,WAAO;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,OAAI,6BAAM,QAAO,MAAM;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,cAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,OAAI,mCAAS,QAAO,OAAO;AACzB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAKA,SAAS,2BACP,UACA,UACA,WACS;AACT,QAAM,oBAAoB,SAAS;AACnC,MAAI,CAAC,mBAAmB;AACtB,WAAO;AAAA,EACT;AAEA,QAAM,sBAAkB,wCAAgB,iBAAiB;AAEzD,MAAI,oBAAoB,UAAU;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,YAAY,WAAW,oBAAI,IAAI,GAAG,eAAe;AAElE,SAAO,SAAS,IAAI,QAAQ;AAC9B;AAEA,SAAS,YACP,WACA,eACA,iBACa;AACb,QAAM,WAAW,UAAU,eAAe;AAC1C,UAAI,2CAAwB,QAAQ,GAAG;AACrC,UAAM,SAAS,SAAS,gBAAgB;AAAA,MACtC,CAAC,KAAe,SAAiB;AAC/B,YAAI,CAAC,cAAc,IAAI,IAAI,GAAG;AAC5B,gBAAM,WAAW,oBAAI,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC;AAEjD,cAAI,KAAK,GAAG,eAAe,GAAG,YAAY,WAAW,UAAU,IAAI,CAAC;AAAA,QACtE;AACA,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AAEA,WAAO,oBAAI,IAAI,CAAC,GAAG,MAAM,CAAC;AAAA,EAC5B;AAEA,UAAI,uCAAoB,QAAQ,GAAG;AACjC,UAAM,SAAS,SAAS,QAAQ,OAAO,CAAC,KAAe,SAAiB;AACtE,UAAI,CAAC,cAAc,IAAI,IAAI,GAAG;AAC5B,cAAM,WAAW,oBAAI,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC;AAEjD,YAAI,KAAK,GAAG,eAAe,GAAG,YAAY,WAAW,UAAU,IAAI,CAAC;AAAA,MACtE;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAEL,WAAO,oBAAI,IAAI,CAAC,GAAG,MAAM,CAAC;AAAA,EAC5B;AAEA,SAAO;AACT;AAKA,SAAS,iBAAiB,MAAyB;AACjD,SAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,KAAK;AACnD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/collectFields.ts"],
|
|
4
|
+
"sourcesContent": ["import { Kind } from \"graphql\";\nimport {\n FieldNode,\n FragmentDefinitionNode,\n InlineFragmentNode,\n SelectionNode,\n SelectionSetNode,\n} from \"@graphitation/supermassive-ast\";\nimport type { ObjMap } from \"./jsutils/ObjMap\";\nimport { getDirectiveValues } from \"./values\";\nimport { GraphQLSkipDirective, GraphQLIncludeDirective } from \"./directives\";\nimport { typeNameFromAST } from \"./utilities/typeNameFromAST\";\nimport { isUnionResolverType, isInterfaceResolverType } from \"./definition\";\n\nimport { Resolvers } from \"./types\";\n\n/**\n * Given a selectionSet, adds all of the fields in that selection to\n * the passed in map of fields, and returns it at the end.\n *\n * CollectFields requires the \"runtime type\" of an object. For a field which\n * returns an Interface or Union type, the \"runtime type\" will be the actual\n * Object type returned by that field.\n *\n * @internal\n */\nexport function collectFields(\n resolvers: Resolvers,\n fragments: ObjMap<FragmentDefinitionNode>,\n variableValues: { [variable: string]: unknown },\n runtimeTypeName: string,\n selectionSet: SelectionSetNode,\n fields: Map<string, Array<FieldNode>>,\n visitedFragmentNames: Set<string>,\n): Map<string, Array<FieldNode>> {\n for (const selection of selectionSet.selections) {\n switch (selection.kind) {\n case Kind.FIELD: {\n if (!shouldIncludeNode(resolvers, variableValues, selection)) {\n continue;\n }\n const name = getFieldEntryKey(selection);\n const fieldList = fields.get(name);\n if (fieldList !== undefined) {\n fieldList.push(selection);\n } else {\n fields.set(name, [selection]);\n }\n break;\n }\n case Kind.INLINE_FRAGMENT: {\n if (\n !shouldIncludeNode(resolvers, variableValues, selection) ||\n !doesFragmentConditionMatch(selection, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n selection.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n case Kind.FRAGMENT_SPREAD: {\n const fragName = selection.name.value;\n if (\n visitedFragmentNames.has(fragName) ||\n !shouldIncludeNode(resolvers, variableValues, selection)\n ) {\n continue;\n }\n visitedFragmentNames.add(fragName);\n const fragment = fragments[fragName];\n if (\n !fragment ||\n !doesFragmentConditionMatch(fragment, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n fragment.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n }\n }\n return fields;\n}\n\n/**\n * Determines if a field should be included based on the @include and @skip\n * directives, where @skip has higher precedence than @include.\n */\nfunction shouldIncludeNode(\n resolvers: Resolvers,\n variableValues: { [variable: string]: unknown },\n node: SelectionNode,\n): boolean {\n if (!node.directives?.length) {\n return true;\n }\n\n const skip = getDirectiveValues(\n GraphQLSkipDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n if (skip?.if === true) {\n return false;\n }\n\n const include = getDirectiveValues(\n GraphQLIncludeDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n\n if (include?.if === false) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Determines if a fragment is applicable to the given type.\n */\nfunction doesFragmentConditionMatch(\n fragment: FragmentDefinitionNode | InlineFragmentNode,\n typeName: string,\n resolvers: Resolvers,\n): boolean {\n const typeConditionNode = fragment.typeCondition;\n if (!typeConditionNode) {\n return true;\n }\n\n const conditionalType = typeNameFromAST(typeConditionNode);\n\n if (conditionalType === typeName) {\n return true;\n }\n\n const subTypes = getSubTypes(resolvers, new Set(), conditionalType);\n\n return subTypes.has(typeName);\n}\n\nfunction getSubTypes(\n resolvers: Resolvers,\n abstractTypes: Set<string>,\n conditionalType: string,\n): Set<string> {\n const resolver = resolvers[conditionalType];\n if (isInterfaceResolverType(resolver)) {\n const result = resolver.__implementedBy.reduce(\n (acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n },\n [],\n );\n\n return new Set([...result]);\n }\n\n if (isUnionResolverType(resolver)) {\n const result = resolver.__types.reduce((acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n }, []);\n\n return new Set([...result]);\n }\n\n return abstractTypes;\n}\n\n/**\n * Implements the logic to compute the key of a given field's entry\n */\nfunction getFieldEntryKey(node: FieldNode): string {\n return node.alias ? node.alias.value : node.name.value;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/definition.ts"],
|
|
4
|
+
"sourcesContent": ["import { GraphQLFieldConfigArgumentMap, GraphQLArgument } from \"graphql\";\n\nimport { Resolver, UnionTypeResolver, InterfaceTypeResolver } from \"./types\";\nimport { toObjMap } from \"./jsutils/toObjMap\";\nimport { keyValMap } from \"./jsutils/keyValMap\";\n\nexport function defineArguments(\n config: GraphQLFieldConfigArgumentMap,\n): ReadonlyArray<GraphQLArgument> {\n return Object.entries(config).map(([argName, argConfig]) => ({\n name: argName,\n description: argConfig.description,\n type: argConfig.type,\n defaultValue: argConfig.defaultValue,\n deprecationReason: argConfig.deprecationReason,\n extensions: argConfig.extensions && toObjMap(argConfig.extensions),\n astNode: argConfig.astNode,\n }));\n}\n\nexport function argsToArgsConfig(\n args: ReadonlyArray<GraphQLArgument>,\n): GraphQLFieldConfigArgumentMap {\n return keyValMap(\n args,\n (arg) => arg.name,\n (arg) => ({\n description: arg.description,\n type: arg.type,\n defaultValue: arg.defaultValue,\n deprecationReason: arg.deprecationReason,\n extensions: arg.extensions,\n astNode: arg.astNode,\n }),\n );\n}\n\nexport function isInterfaceResolverType(\n resolver: Resolver<unknown, unknown>,\n): resolver is InterfaceTypeResolver {\n return \"__implementedBy\" in resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionResolverType(\n resolver: Resolver<unknown, unknown>,\n): resolver is UnionTypeResolver {\n return \"__types\" in resolver && \"__resolveType\" in resolver;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAyB;AACzB,uBAA0B;AAEnB,SAAS,gBACd,QACgC;AAChC,SAAO,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,SAAS,OAAO;AAAA,IAC3D,MAAM;AAAA,IACN,aAAa,UAAU;AAAA,IACvB,MAAM,UAAU;AAAA,IAChB,cAAc,UAAU;AAAA,IACxB,mBAAmB,UAAU;AAAA,IAC7B,YAAY,UAAU,kBAAc,0BAAS,UAAU,UAAU;AAAA,IACjE,SAAS,UAAU;AAAA,EACrB,EAAE;AACJ;AAEO,SAAS,iBACd,MAC+B;AAC/B,aAAO;AAAA,IACL;AAAA,IACA,CAAC,QAAQ,IAAI;AAAA,IACb,CAAC,SAAS;AAAA,MACR,aAAa,IAAI;AAAA,MACjB,MAAM,IAAI;AAAA,MACV,cAAc,IAAI;AAAA,MAClB,mBAAmB,IAAI;AAAA,MACvB,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,IACf;AAAA,EACF;AACF;AAEO,SAAS,wBACd,UACmC;AACnC,SAAO,qBAAqB,YAAY,mBAAmB;AAC7D;AAEO,SAAS,oBACd,UAC+B;AAC/B,SAAO,aAAa,YAAY,mBAAmB;AACrD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/definition.ts"],
|
|
4
|
+
"sourcesContent": ["import { GraphQLFieldConfigArgumentMap, GraphQLArgument } from \"graphql\";\n\nimport { Resolver, UnionTypeResolver, InterfaceTypeResolver } from \"./types\";\nimport { toObjMap } from \"./jsutils/toObjMap\";\nimport { keyValMap } from \"./jsutils/keyValMap\";\n\nexport function defineArguments(\n config: GraphQLFieldConfigArgumentMap,\n): ReadonlyArray<GraphQLArgument> {\n return Object.entries(config).map(([argName, argConfig]) => ({\n name: argName,\n description: argConfig.description,\n type: argConfig.type,\n defaultValue: argConfig.defaultValue,\n deprecationReason: argConfig.deprecationReason,\n extensions: argConfig.extensions && toObjMap(argConfig.extensions),\n astNode: argConfig.astNode,\n }));\n}\n\nexport function argsToArgsConfig(\n args: ReadonlyArray<GraphQLArgument>,\n): GraphQLFieldConfigArgumentMap {\n return keyValMap(\n args,\n (arg) => arg.name,\n (arg) => ({\n description: arg.description,\n type: arg.type,\n defaultValue: arg.defaultValue,\n deprecationReason: arg.deprecationReason,\n extensions: arg.extensions,\n astNode: arg.astNode,\n }),\n );\n}\n\nexport function isInterfaceResolverType(\n resolver: Resolver<unknown, unknown>,\n): resolver is InterfaceTypeResolver {\n return \"__implementedBy\" in resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionResolverType(\n resolver: Resolver<unknown, unknown>,\n): resolver is UnionTypeResolver {\n return \"__types\" in resolver && \"__resolveType\" in resolver;\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAEnB,SAAS,gBACd,QACgC;AAChC,SAAO,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,SAAS,OAAO;AAAA,IAC3D,MAAM;AAAA,IACN,aAAa,UAAU;AAAA,IACvB,MAAM,UAAU;AAAA,IAChB,cAAc,UAAU;AAAA,IACxB,mBAAmB,UAAU;AAAA,IAC7B,YAAY,UAAU,cAAc,SAAS,UAAU,UAAU;AAAA,IACjE,SAAS,UAAU;AAAA,EACrB,EAAE;AACJ;AAEO,SAAS,iBACd,MAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA,CAAC,QAAQ,IAAI;AAAA,IACb,CAAC,SAAS;AAAA,MACR,aAAa,IAAI;AAAA,MACjB,MAAM,IAAI;AAAA,MACV,cAAc,IAAI;AAAA,MAClB,mBAAmB,IAAI;AAAA,MACvB,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,IACf;AAAA,EACF;AACF;AAEO,SAAS,wBACd,UACmC;AACnC,SAAO,qBAAqB,YAAY,mBAAmB;AAC7D;AAEO,SAAS,oBACd,UAC+B;AAC/B,SAAO,aAAa,YAAY,mBAAmB;AACrD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/lib/directives.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphQLArgument, DirectiveLocationEnum, GraphQLFieldConfigArgumentMap } from "graphql";
|
|
2
2
|
import type { Maybe } from "./jsutils/Maybe";
|
|
3
|
-
import type { DirectiveDefinitionNode } from "
|
|
3
|
+
import type { DirectiveDefinitionNode } from "@graphitation/supermassive-ast";
|
|
4
4
|
/**
|
|
5
5
|
* Test if the given value is a GraphQL directive.
|
|
6
6
|
*/
|
package/lib/directives.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAEf,qBAAqB,EAErB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAMjB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAEf,qBAAqB,EAErB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAMjB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAI9E;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,gBAAgB,CAE7E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,CAOpE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAChD,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAE5B,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAuBpD,QAAQ,IAAI,gCAAgC;IAY5C,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;CAC1C;AAED,UAAU,gCAAiC,SAAQ,sBAAsB;IACvE,IAAI,EAAE,6BAA6B,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAepC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAejC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAkBrC,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,gBAWtC,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,gBAAgB,CAM5D,CAAC;AAEL,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAEzE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/directives.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n GraphQLString,\n GraphQLBoolean,\n GraphQLArgument,\n GraphQLNonNull,\n DirectiveLocationEnum,\n DirectiveLocation,\n GraphQLFieldConfigArgumentMap,\n} from \"graphql\";\nimport { inspect } from \"./jsutils/inspect\";\nimport { toObjMap } from \"./jsutils/toObjMap\";\nimport { devAssert } from \"./jsutils/devAssert\";\nimport { instanceOf } from \"./jsutils/instanceOf\";\nimport { isObjectLike } from \"./jsutils/isObjectLike\";\nimport type { Maybe } from \"./jsutils/Maybe\";\n\nimport type { DirectiveDefinitionNode } from \"@graphitation/supermassive-ast\";\n\nimport { defineArguments, argsToArgsConfig } from \"./definition\";\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective {\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocationEnum>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n extensions: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode: Maybe<DirectiveDefinitionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.name = config.name;\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n\n devAssert(config.name, \"Directive must be named.\");\n devAssert(\n Array.isArray(config.locations),\n `@${config.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${config.name} args must be an object with argument names as keys.`,\n );\n\n this.args = defineArguments(args);\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: argsToArgsConfig(this.args),\n isRepeatable: this.isRepeatable,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return \"@\" + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n\n get [Symbol.toStringTag]() {\n return \"GraphQLDirective\";\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocationEnum>;\n args?: Maybe<GraphQLFieldConfigArgumentMap>;\n isRepeatable?: Maybe<boolean>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n}\n\ninterface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: \"include\",\n description:\n \"Directs the executor to include this field or fragment only when the `if` argument is true.\",\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: \"Included when true.\",\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: \"skip\",\n description:\n \"Directs the executor to skip this field or fragment when the `if` argument is true.\",\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: \"Skipped when true.\",\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = \"No longer supported\";\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: \"deprecated\",\n description: \"Marks an element of a GraphQL schema as no longer supported.\",\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n ],\n args: {\n reason: {\n type: GraphQLString,\n description:\n \"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).\",\n defaultValue: DEFAULT_DEPRECATION_REASON,\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behaviour of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: \"specifiedBy\",\n description: \"Exposes a URL that specifies the behaviour of this scalar.\",\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: \"The URL that specifies the behaviour of this scalar.\",\n },\n },\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/directives.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n GraphQLString,\n GraphQLBoolean,\n GraphQLArgument,\n GraphQLNonNull,\n DirectiveLocationEnum,\n DirectiveLocation,\n GraphQLFieldConfigArgumentMap,\n} from \"graphql\";\nimport { inspect } from \"./jsutils/inspect\";\nimport { toObjMap } from \"./jsutils/toObjMap\";\nimport { devAssert } from \"./jsutils/devAssert\";\nimport { instanceOf } from \"./jsutils/instanceOf\";\nimport { isObjectLike } from \"./jsutils/isObjectLike\";\nimport type { Maybe } from \"./jsutils/Maybe\";\n\nimport type { DirectiveDefinitionNode } from \"@graphitation/supermassive-ast\";\n\nimport { defineArguments, argsToArgsConfig } from \"./definition\";\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective {\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocationEnum>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n extensions: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode: Maybe<DirectiveDefinitionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.name = config.name;\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n\n devAssert(config.name, \"Directive must be named.\");\n devAssert(\n Array.isArray(config.locations),\n `@${config.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${config.name} args must be an object with argument names as keys.`,\n );\n\n this.args = defineArguments(args);\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: argsToArgsConfig(this.args),\n isRepeatable: this.isRepeatable,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return \"@\" + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n\n get [Symbol.toStringTag]() {\n return \"GraphQLDirective\";\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocationEnum>;\n args?: Maybe<GraphQLFieldConfigArgumentMap>;\n isRepeatable?: Maybe<boolean>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n}\n\ninterface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: \"include\",\n description:\n \"Directs the executor to include this field or fragment only when the `if` argument is true.\",\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: \"Included when true.\",\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: \"skip\",\n description:\n \"Directs the executor to skip this field or fragment when the `if` argument is true.\",\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: \"Skipped when true.\",\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = \"No longer supported\";\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: \"deprecated\",\n description: \"Marks an element of a GraphQL schema as no longer supported.\",\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n ],\n args: {\n reason: {\n type: GraphQLString,\n description:\n \"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).\",\n defaultValue: DEFAULT_DEPRECATION_REASON,\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behaviour of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: \"specifiedBy\",\n description: \"Exposes a URL that specifies the behaviour of this scalar.\",\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: \"The URL that specifies the behaviour of this scalar.\",\n },\n },\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/executeWithSchema.ts"],
|
|
4
|
+
"sourcesContent": ["import { isInputType, buildASTSchema } from \"graphql\";\nimport {\n addTypesToRequestDocument,\n executeWithoutSchema,\n extractImplicitTypes,\n specifiedScalars,\n} from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { Resolvers, ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document: rawDocument,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);\n\n const document = addTypesToRequestDocument(schema, rawDocument);\n return executeWithoutSchema({\n document,\n resolvers,\n schemaResolvers: extractedResolvers,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4C;AAC5C,mBAKO;AAIA,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,aAAS,+BAAe,QAAQ;AACtC,MAAI,qBAAgC,CAAC;AACrC,QAAM,gBAAgB,CAAC,SAAiB;AACtC,UAAM,OAAO,8BAAiB,IAAI,KAAK,mBAAmB,IAAI;AAC9D,YAAI,4BAAY,IAAI,GAAG;AACrB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,IAAI,MAAM,cAAc;AAAA,IAChC;AAAA,EACF;AACA,2BAAqB,mCAAqB,UAAU,aAAa;AAEjE,QAAM,eAAW,wCAA0B,QAAQ,WAAW;AAC9D,aAAO,mCAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/executeWithSchema.ts"],
|
|
4
|
+
"sourcesContent": ["import { isInputType, buildASTSchema } from \"graphql\";\nimport {\n addTypesToRequestDocument,\n executeWithoutSchema,\n extractImplicitTypes,\n specifiedScalars,\n} from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { Resolvers, ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document: rawDocument,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);\n\n const document = addTypesToRequestDocument(schema, rawDocument);\n return executeWithoutSchema({\n document,\n resolvers,\n schemaResolvers: extractedResolvers,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,aAAa,sBAAsB;AAC5C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIA,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,SAAS,eAAe,QAAQ;AACtC,MAAI,qBAAgC,CAAC;AACrC,QAAM,gBAAgB,CAAC,SAAiB;AACtC,UAAM,OAAO,iBAAiB,IAAI,KAAK,mBAAmB,IAAI;AAC9D,QAAI,YAAY,IAAI,GAAG;AACrB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,IAAI,MAAM,cAAc;AAAA,IAChC;AAAA,EACF;AACA,uBAAqB,qBAAqB,UAAU,aAAa;AAEjE,QAAM,WAAW,0BAA0B,QAAQ,WAAW;AAC9D,SAAO,qBAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLError } from "graphql";
|
|
2
|
-
import { DocumentNode, FieldNode, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeDefinitionNode, TypeNode } from "
|
|
2
|
+
import { DocumentNode, FieldNode, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeDefinitionNode, TypeNode } from "@graphitation/supermassive-ast";
|
|
3
3
|
import type { Maybe } from "./jsutils/Maybe";
|
|
4
4
|
import type { ObjMap } from "./jsutils/ObjMap";
|
|
5
5
|
import type { Path } from "./jsutils/Path";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAOb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,QAAQ,EACT,MAAM,
|
|
1
|
+
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
|