@graphitation/supermassive 3.0.0-alpha.1 → 3.0.0-alpha.3
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 +10 -2
- package/lib/__testUtils__/execute.d.ts +13 -0
- package/lib/__testUtils__/execute.d.ts.map +1 -0
- package/lib/__testUtils__/execute.js +196 -0
- package/lib/__testUtils__/execute.js.map +7 -0
- package/lib/__testUtils__/execute.mjs +174 -0
- package/lib/__testUtils__/execute.mjs.map +7 -0
- package/lib/benchmarks/index.js +10 -19
- package/lib/benchmarks/index.js.map +3 -3
- package/lib/benchmarks/index.mjs +11 -22
- package/lib/benchmarks/index.mjs.map +2 -2
- package/lib/collectFields.d.ts +4 -9
- package/lib/collectFields.d.ts.map +1 -1
- package/lib/collectFields.js +38 -99
- package/lib/collectFields.js.map +2 -2
- package/lib/collectFields.mjs +41 -100
- package/lib/collectFields.mjs.map +2 -2
- package/lib/executeWithSchema.d.ts +1 -1
- package/lib/executeWithSchema.d.ts.map +1 -1
- package/lib/executeWithSchema.js +7 -13
- package/lib/executeWithSchema.js.map +2 -2
- package/lib/executeWithSchema.mjs +9 -20
- package/lib/executeWithSchema.mjs.map +2 -2
- package/lib/executeWithoutSchema.d.ts +5 -5
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +175 -227
- package/lib/executeWithoutSchema.js.map +2 -2
- package/lib/executeWithoutSchema.mjs +176 -228
- package/lib/executeWithoutSchema.mjs.map +2 -2
- package/lib/index.d.ts +2 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -7
- package/lib/index.js.map +2 -2
- package/lib/index.mjs +0 -10
- package/lib/index.mjs.map +2 -2
- package/lib/schema/definition.d.ts +95 -0
- package/lib/schema/definition.d.ts.map +1 -0
- package/lib/schema/definition.js +77 -0
- package/lib/schema/definition.js.map +7 -0
- package/lib/schema/definition.mjs +58 -0
- package/lib/schema/definition.mjs.map +7 -0
- package/lib/schema/directives.d.ts +41 -0
- package/lib/schema/directives.d.ts.map +1 -0
- package/lib/schema/directives.js +82 -0
- package/lib/schema/directives.js.map +7 -0
- package/lib/schema/directives.mjs +65 -0
- package/lib/schema/directives.mjs.map +7 -0
- package/lib/schema/fragment.d.ts +41 -0
- package/lib/schema/fragment.d.ts.map +1 -0
- package/lib/schema/fragment.js +270 -0
- package/lib/schema/fragment.js.map +7 -0
- package/lib/schema/fragment.mjs +267 -0
- package/lib/schema/fragment.mjs.map +7 -0
- package/lib/schema/reference.d.ts +12 -0
- package/lib/schema/reference.d.ts.map +1 -0
- package/lib/schema/reference.js +137 -0
- package/lib/schema/reference.js.map +7 -0
- package/lib/schema/reference.mjs +118 -0
- package/lib/schema/reference.mjs.map +7 -0
- package/lib/schema/resolvers.d.ts +9 -0
- package/lib/schema/resolvers.d.ts.map +1 -0
- package/lib/schema/resolvers.js +47 -0
- package/lib/schema/resolvers.js.map +7 -0
- package/lib/schema/resolvers.mjs +35 -0
- package/lib/schema/resolvers.mjs.map +7 -0
- package/lib/subscribeWithSchema.d.ts +1 -1
- package/lib/subscribeWithSchema.d.ts.map +1 -1
- package/lib/subscribeWithSchema.js +7 -13
- package/lib/subscribeWithSchema.js.map +2 -2
- package/lib/subscribeWithSchema.mjs +9 -20
- package/lib/subscribeWithSchema.mjs.map +2 -2
- package/lib/types.d.ts +10 -24
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +2 -2
- package/lib/types.mjs.map +2 -2
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.d.ts +9 -0
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.d.ts.map +1 -0
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.js +303 -0
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.js.map +7 -0
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.mjs +317 -0
- package/lib/utilities/addMinimalViableSchemaToRequestDocument.mjs.map +7 -0
- package/lib/{supermassive-ast → utilities}/annotateDocumentGraphQLTransform.d.ts +1 -1
- package/lib/utilities/annotateDocumentGraphQLTransform.d.ts.map +1 -0
- package/lib/{supermassive-ast → utilities}/annotateDocumentGraphQLTransform.js +3 -3
- package/lib/utilities/annotateDocumentGraphQLTransform.js.map +7 -0
- package/lib/utilities/annotateDocumentGraphQLTransform.mjs +17 -0
- package/lib/utilities/annotateDocumentGraphQLTransform.mjs.map +7 -0
- package/lib/utilities/coerceInputValue.d.ts +10 -0
- package/lib/utilities/coerceInputValue.d.ts.map +1 -0
- package/lib/utilities/coerceInputValue.js +181 -0
- package/lib/utilities/coerceInputValue.js.map +7 -0
- package/lib/utilities/coerceInputValue.mjs +167 -0
- package/lib/utilities/coerceInputValue.mjs.map +7 -0
- package/lib/utilities/decodeASTSchema.d.ts +7 -0
- package/lib/utilities/decodeASTSchema.d.ts.map +1 -0
- package/lib/utilities/decodeASTSchema.js +243 -0
- package/lib/utilities/decodeASTSchema.js.map +7 -0
- package/lib/utilities/decodeASTSchema.mjs +242 -0
- package/lib/utilities/decodeASTSchema.mjs.map +7 -0
- package/lib/utilities/encodeASTSchema.d.ts +4 -0
- package/lib/utilities/encodeASTSchema.d.ts.map +1 -0
- package/lib/utilities/encodeASTSchema.js +122 -0
- package/lib/utilities/encodeASTSchema.js.map +7 -0
- package/lib/utilities/encodeASTSchema.mjs +105 -0
- package/lib/utilities/encodeASTSchema.mjs.map +7 -0
- package/lib/utilities/getSchemaFragment.d.ts +4 -0
- package/lib/utilities/getSchemaFragment.d.ts.map +1 -0
- package/lib/utilities/getSchemaFragment.js +38 -0
- package/lib/utilities/getSchemaFragment.js.map +7 -0
- package/lib/utilities/getSchemaFragment.mjs +22 -0
- package/lib/utilities/getSchemaFragment.mjs.map +7 -0
- package/lib/utilities/makeReadableErrorPath.d.ts +3 -0
- package/lib/utilities/makeReadableErrorPath.d.ts.map +1 -0
- package/lib/utilities/makeReadableErrorPath.js +47 -0
- package/lib/utilities/makeReadableErrorPath.js.map +7 -0
- package/lib/utilities/makeReadableErrorPath.mjs +28 -0
- package/lib/utilities/makeReadableErrorPath.mjs.map +7 -0
- package/lib/utilities/mergeDefinitions.d.ts +8 -0
- package/lib/utilities/mergeDefinitions.d.ts.map +1 -0
- package/lib/utilities/mergeDefinitions.js +126 -0
- package/lib/utilities/mergeDefinitions.js.map +7 -0
- package/lib/utilities/mergeDefinitions.mjs +114 -0
- package/lib/utilities/mergeDefinitions.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 +2 -2
- package/lib/utilities/typeNameFromAST.mjs.map +2 -2
- package/lib/utilities/valueFromAST.d.ts +27 -0
- package/lib/utilities/valueFromAST.d.ts.map +1 -0
- package/lib/utilities/valueFromAST.js +139 -0
- package/lib/utilities/valueFromAST.js.map +7 -0
- package/lib/utilities/valueFromAST.mjs +125 -0
- package/lib/utilities/valueFromAST.mjs.map +7 -0
- package/lib/utilities/valueFromASTUntyped.d.ts +21 -0
- package/lib/utilities/valueFromASTUntyped.d.ts.map +1 -0
- package/lib/utilities/valueFromASTUntyped.js +51 -0
- package/lib/utilities/valueFromASTUntyped.js.map +7 -0
- package/lib/utilities/valueFromASTUntyped.mjs +32 -0
- package/lib/utilities/valueFromASTUntyped.mjs.map +7 -0
- package/lib/values.d.ts +8 -12
- package/lib/values.d.ts.map +1 -1
- package/lib/values.js +75 -63
- package/lib/values.js.map +2 -2
- package/lib/values.mjs +77 -71
- package/lib/values.mjs.map +2 -2
- package/package.json +8 -6
- package/lib/definition.d.ts +0 -7
- package/lib/definition.d.ts.map +0 -1
- package/lib/definition.js +0 -59
- package/lib/definition.js.map +0 -7
- package/lib/definition.mjs +0 -40
- package/lib/definition.mjs.map +0 -7
- package/lib/directives.d.ts +0 -8
- package/lib/directives.d.ts.map +0 -1
- package/lib/directives.js +0 -47
- package/lib/directives.js.map +0 -7
- package/lib/directives.mjs +0 -37
- package/lib/directives.mjs.map +0 -7
- package/lib/extractImplicitTypesRuntime.d.ts +0 -4
- package/lib/extractImplicitTypesRuntime.d.ts.map +0 -1
- package/lib/extractImplicitTypesRuntime.js +0 -123
- package/lib/extractImplicitTypesRuntime.js.map +0 -7
- package/lib/extractImplicitTypesRuntime.mjs +0 -114
- package/lib/extractImplicitTypesRuntime.mjs.map +0 -7
- package/lib/supermassive-ast/TypedAST.d.ts +0 -370
- package/lib/supermassive-ast/TypedAST.d.ts.map +0 -1
- package/lib/supermassive-ast/TypedAST.js +0 -29
- package/lib/supermassive-ast/TypedAST.js.map +0 -7
- package/lib/supermassive-ast/TypedAST.mjs +0 -10
- package/lib/supermassive-ast/TypedAST.mjs.map +0 -7
- package/lib/supermassive-ast/addTypesToRequestDocument.d.ts +0 -56
- package/lib/supermassive-ast/addTypesToRequestDocument.d.ts.map +0 -1
- package/lib/supermassive-ast/addTypesToRequestDocument.js +0 -473
- package/lib/supermassive-ast/addTypesToRequestDocument.js.map +0 -7
- package/lib/supermassive-ast/addTypesToRequestDocument.mjs +0 -463
- package/lib/supermassive-ast/addTypesToRequestDocument.mjs.map +0 -7
- package/lib/supermassive-ast/annotateDocumentGraphQLTransform.d.ts.map +0 -1
- package/lib/supermassive-ast/annotateDocumentGraphQLTransform.js.map +0 -7
- package/lib/supermassive-ast/annotateDocumentGraphQLTransform.mjs +0 -17
- package/lib/supermassive-ast/annotateDocumentGraphQLTransform.mjs.map +0 -7
- package/lib/supermassive-ast/directives.d.ts +0 -36
- package/lib/supermassive-ast/directives.d.ts.map +0 -1
- package/lib/supermassive-ast/directives.js +0 -165
- package/lib/supermassive-ast/directives.js.map +0 -7
- package/lib/supermassive-ast/directives.mjs +0 -153
- package/lib/supermassive-ast/directives.mjs.map +0 -7
- package/lib/supermassive-ast/index.d.ts +0 -6
- package/lib/supermassive-ast/index.d.ts.map +0 -1
- package/lib/supermassive-ast/index.js +0 -37
- package/lib/supermassive-ast/index.js.map +0 -7
- package/lib/supermassive-ast/index.mjs +0 -27
- package/lib/supermassive-ast/index.mjs.map +0 -7
package/lib/directives.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var directives_exports = {};
|
|
20
|
-
__export(directives_exports, {
|
|
21
|
-
GraphQLDeferDirective: () => import_supermassive_ast.GraphQLDeferDirective,
|
|
22
|
-
GraphQLDeprecatedDirective: () => import_supermassive_ast.GraphQLDeprecatedDirective,
|
|
23
|
-
GraphQLIncludeDirective: () => import_supermassive_ast.GraphQLIncludeDirective,
|
|
24
|
-
GraphQLSkipDirective: () => import_supermassive_ast.GraphQLSkipDirective,
|
|
25
|
-
GraphQLSpecifiedByDirective: () => import_supermassive_ast.GraphQLSpecifiedByDirective,
|
|
26
|
-
GraphQLStreamDirective: () => import_supermassive_ast.GraphQLStreamDirective,
|
|
27
|
-
assertDirective: () => assertDirective,
|
|
28
|
-
isDirective: () => isDirective,
|
|
29
|
-
isSpecifiedDirective: () => import_supermassive_ast.isSpecifiedDirective,
|
|
30
|
-
specifiedDirectives: () => import_supermassive_ast.specifiedDirectives
|
|
31
|
-
});
|
|
32
|
-
module.exports = __toCommonJS(directives_exports);
|
|
33
|
-
var import_graphql = require("graphql");
|
|
34
|
-
var import_inspect = require("./jsutils/inspect");
|
|
35
|
-
var import_instanceOf = require("./jsutils/instanceOf");
|
|
36
|
-
var import_supermassive_ast = require("./supermassive-ast");
|
|
37
|
-
function isDirective(directive) {
|
|
38
|
-
return (0, import_instanceOf.instanceOf)(directive, import_graphql.GraphQLDirective);
|
|
39
|
-
}
|
|
40
|
-
function assertDirective(directive) {
|
|
41
|
-
if (!isDirective(directive)) {
|
|
42
|
-
throw new Error(
|
|
43
|
-
`Expected ${(0, import_inspect.inspect)(directive)} to be a GraphQL directive.`
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
return directive;
|
|
47
|
-
}
|
package/lib/directives.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/directives.ts"],
|
|
4
|
-
"sourcesContent": ["import { GraphQLDirective } from \"graphql\";\nimport { inspect } from \"./jsutils/inspect\";\nimport { instanceOf } from \"./jsutils/instanceOf\";\n\nexport {\n specifiedDirectives,\n isSpecifiedDirective,\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from \"./supermassive-ast\";\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"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAiC;AACjC,qBAAwB;AACxB,wBAA2B;AAE3B,8BASO;AAKA,SAAS,YAAY,WAAmD;AAC7E,aAAO,8BAAW,WAAW,+BAAgB;AAC/C;AAEO,SAAS,gBAAgB,WAAsC;AACpE,MAAI,CAAC,YAAY,SAAS,GAAG;AAC3B,UAAM,IAAI;AAAA,MACR,gBAAY,wBAAQ,SAAS;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/lib/directives.mjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// src/directives.ts
|
|
2
|
-
import { GraphQLDirective } from "graphql";
|
|
3
|
-
import { inspect } from "./jsutils/inspect.mjs";
|
|
4
|
-
import { instanceOf } from "./jsutils/instanceOf.mjs";
|
|
5
|
-
import {
|
|
6
|
-
specifiedDirectives,
|
|
7
|
-
isSpecifiedDirective,
|
|
8
|
-
GraphQLIncludeDirective,
|
|
9
|
-
GraphQLSkipDirective,
|
|
10
|
-
GraphQLDeprecatedDirective,
|
|
11
|
-
GraphQLSpecifiedByDirective,
|
|
12
|
-
GraphQLDeferDirective,
|
|
13
|
-
GraphQLStreamDirective
|
|
14
|
-
} from "./supermassive-ast/index.mjs";
|
|
15
|
-
function isDirective(directive) {
|
|
16
|
-
return instanceOf(directive, GraphQLDirective);
|
|
17
|
-
}
|
|
18
|
-
function assertDirective(directive) {
|
|
19
|
-
if (!isDirective(directive)) {
|
|
20
|
-
throw new Error(
|
|
21
|
-
`Expected ${inspect(directive)} to be a GraphQL directive.`
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
return directive;
|
|
25
|
-
}
|
|
26
|
-
export {
|
|
27
|
-
GraphQLDeferDirective,
|
|
28
|
-
GraphQLDeprecatedDirective,
|
|
29
|
-
GraphQLIncludeDirective,
|
|
30
|
-
GraphQLSkipDirective,
|
|
31
|
-
GraphQLSpecifiedByDirective,
|
|
32
|
-
GraphQLStreamDirective,
|
|
33
|
-
assertDirective,
|
|
34
|
-
isDirective,
|
|
35
|
-
isSpecifiedDirective,
|
|
36
|
-
specifiedDirectives
|
|
37
|
-
};
|
package/lib/directives.mjs.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/directives.ts"],
|
|
4
|
-
"sourcesContent": ["import { GraphQLDirective } from \"graphql\";\nimport { inspect } from \"./jsutils/inspect\";\nimport { instanceOf } from \"./jsutils/instanceOf\";\n\nexport {\n specifiedDirectives,\n isSpecifiedDirective,\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from \"./supermassive-ast\";\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"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAKA,SAAS,YAAY,WAAmD;AAC7E,SAAO,WAAW,WAAW,gBAAgB;AAC/C;AAEO,SAAS,gBAAgB,WAAsC;AACpE,MAAI,CAAC,YAAY,SAAS,GAAG;AAC3B,UAAM,IAAI;AAAA,MACR,YAAY,QAAQ,SAAS;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { DocumentNode, GraphQLInputType } from "graphql";
|
|
2
|
-
import { Resolvers } from "./types";
|
|
3
|
-
export declare function extractImplicitTypes<TSource = unknown, TContext = unknown>(document: DocumentNode, getTypeByName: (name: string) => GraphQLInputType): Resolvers<TSource, TContext>;
|
|
4
|
-
//# sourceMappingURL=extractImplicitTypesRuntime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractImplicitTypesRuntime.d.ts","sourceRoot":"","sources":["../src/extractImplicitTypesRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAgBZ,gBAAgB,EAKjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAA4C,MAAM,SAAS,CAAC;AAE9E,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,EACxE,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,GAChD,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CA6C9B"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var extractImplicitTypesRuntime_exports = {};
|
|
20
|
-
__export(extractImplicitTypesRuntime_exports, {
|
|
21
|
-
extractImplicitTypes: () => extractImplicitTypes
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(extractImplicitTypesRuntime_exports);
|
|
24
|
-
var import_graphql = require("graphql");
|
|
25
|
-
function extractImplicitTypes(document, getTypeByName) {
|
|
26
|
-
var _a, _b, _c;
|
|
27
|
-
const result = /* @__PURE__ */ Object.create(null);
|
|
28
|
-
const implementedBy = {};
|
|
29
|
-
for (const astNode of document.definitions) {
|
|
30
|
-
if (astNode.kind === import_graphql.Kind.SCALAR_TYPE_DEFINITION) {
|
|
31
|
-
const name = astNode.name.value;
|
|
32
|
-
result[name] = new import_graphql.GraphQLScalarType({
|
|
33
|
-
name,
|
|
34
|
-
description: (_a = astNode.description) == null ? void 0 : _a.value
|
|
35
|
-
});
|
|
36
|
-
} else if (astNode.kind === import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION) {
|
|
37
|
-
result[astNode.name.value] = makeInputObject(astNode, getTypeByName);
|
|
38
|
-
} else if (astNode.kind === import_graphql.Kind.ENUM_TYPE_DEFINITION) {
|
|
39
|
-
result[astNode.name.value] = makeEnum(astNode);
|
|
40
|
-
} else if (astNode.kind === import_graphql.Kind.INTERFACE_TYPE_DEFINITION) {
|
|
41
|
-
if (!implementedBy[astNode.name.value]) {
|
|
42
|
-
implementedBy[astNode.name.value] = [];
|
|
43
|
-
}
|
|
44
|
-
result[astNode.name.value] = {
|
|
45
|
-
__resolveType: void 0,
|
|
46
|
-
__implementedBy: implementedBy[astNode.name.value]
|
|
47
|
-
};
|
|
48
|
-
} else if (astNode.kind === import_graphql.Kind.UNION_TYPE_DEFINITION) {
|
|
49
|
-
const types = (_b = astNode.types) == null ? void 0 : _b.map((typeNode) => {
|
|
50
|
-
return typeNode.name.value;
|
|
51
|
-
});
|
|
52
|
-
result[astNode.name.value] = {
|
|
53
|
-
__resolveType: void 0,
|
|
54
|
-
__types: types || []
|
|
55
|
-
};
|
|
56
|
-
} else if (astNode.kind === import_graphql.Kind.OBJECT_TYPE_DEFINITION) {
|
|
57
|
-
(_c = astNode.interfaces) == null ? void 0 : _c.forEach((node) => {
|
|
58
|
-
if (!implementedBy[node.name.value]) {
|
|
59
|
-
implementedBy[node.name.value] = [];
|
|
60
|
-
}
|
|
61
|
-
implementedBy[node.name.value].push(
|
|
62
|
-
astNode.name.value
|
|
63
|
-
);
|
|
64
|
-
});
|
|
65
|
-
result[astNode.name.value] = {};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
function makeEnum(astNode) {
|
|
71
|
-
var _a, _b;
|
|
72
|
-
const enumValueMap = /* @__PURE__ */ Object.create(null);
|
|
73
|
-
for (const value of astNode.values || []) {
|
|
74
|
-
enumValueMap[value.name.value] = {
|
|
75
|
-
description: (_a = value.description) == null ? void 0 : _a.value,
|
|
76
|
-
deprecationReason: getDeprecationReason(value),
|
|
77
|
-
astNode: value
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
return new import_graphql.GraphQLEnumType({
|
|
81
|
-
name: astNode.name.value,
|
|
82
|
-
description: (_b = astNode.description) == null ? void 0 : _b.value,
|
|
83
|
-
values: enumValueMap
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function makeInputObject(astNode, getTypeByName) {
|
|
87
|
-
var _a;
|
|
88
|
-
const name = astNode.name.value;
|
|
89
|
-
return new import_graphql.GraphQLInputObjectType({
|
|
90
|
-
name,
|
|
91
|
-
description: (_a = astNode.description) == null ? void 0 : _a.value,
|
|
92
|
-
fields: () => buildInputFieldMap(astNode.fields || [], getTypeByName),
|
|
93
|
-
astNode
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
function buildInputFieldMap(fieldGroup, getTypeByName) {
|
|
97
|
-
var _a;
|
|
98
|
-
const inputFieldMap = /* @__PURE__ */ Object.create(null);
|
|
99
|
-
for (const field of fieldGroup) {
|
|
100
|
-
const type = getWrappedType(field.type, getTypeByName);
|
|
101
|
-
inputFieldMap[field.name.value] = {
|
|
102
|
-
type,
|
|
103
|
-
description: (_a = field.description) == null ? void 0 : _a.value,
|
|
104
|
-
defaultValue: (0, import_graphql.valueFromAST)(field.defaultValue, type),
|
|
105
|
-
deprecationReason: getDeprecationReason(field),
|
|
106
|
-
astNode: field
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
return inputFieldMap;
|
|
110
|
-
}
|
|
111
|
-
function getWrappedType(type, getTypeByName) {
|
|
112
|
-
if (type.kind === import_graphql.Kind.LIST_TYPE) {
|
|
113
|
-
return new import_graphql.GraphQLList(getWrappedType(type.type, getTypeByName));
|
|
114
|
-
} else if (type.kind === import_graphql.Kind.NON_NULL_TYPE) {
|
|
115
|
-
return new import_graphql.GraphQLNonNull(getWrappedType(type.type, getTypeByName));
|
|
116
|
-
} else {
|
|
117
|
-
return getTypeByName(type.name.value);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
function getDeprecationReason(node) {
|
|
121
|
-
const deprecated = (0, import_graphql.getDirectiveValues)(import_graphql.GraphQLDeprecatedDirective, node);
|
|
122
|
-
return deprecated == null ? void 0 : deprecated.reason;
|
|
123
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/extractImplicitTypesRuntime.ts"],
|
|
4
|
-
"sourcesContent": ["// Given a GraphQL document with type definitions, extract all types that can be defined implicitly.\nimport {\n DocumentNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n getDirectiveValues,\n ObjectTypeDefinitionNode,\n GraphQLDeprecatedDirective,\n NamedTypeNode,\n GraphQLEnumType,\n GraphQLEnumValueConfigMap,\n GraphQLScalarType,\n InputValueDefinitionNode,\n Kind,\n EnumTypeDefinitionNode,\n InputObjectTypeDefinitionNode,\n GraphQLInputObjectType,\n GraphQLInputFieldConfigMap,\n GraphQLInputType,\n valueFromAST,\n TypeNode,\n GraphQLNonNull,\n GraphQLList,\n} from \"graphql\";\nimport { Maybe } from \"./jsutils/Maybe\";\nimport { Resolvers, UnionTypeResolver, InterfaceTypeResolver } from \"./types\";\n\nexport function extractImplicitTypes<TSource = unknown, TContext = unknown>(\n document: DocumentNode,\n getTypeByName: (name: string) => GraphQLInputType,\n): Resolvers<TSource, TContext> {\n const result: Resolvers<TSource, TContext> = Object.create(null);\n const implementedBy: Record<string, Array<string>> = {};\n for (const astNode of document.definitions) {\n if (astNode.kind === Kind.SCALAR_TYPE_DEFINITION) {\n const name = astNode.name.value;\n result[name] = new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n });\n } else if (astNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION) {\n result[astNode.name.value] = makeInputObject(astNode, getTypeByName);\n } else if (astNode.kind === Kind.ENUM_TYPE_DEFINITION) {\n result[astNode.name.value] = makeEnum(astNode);\n } else if (astNode.kind === Kind.INTERFACE_TYPE_DEFINITION) {\n if (!implementedBy[astNode.name.value]) {\n implementedBy[astNode.name.value] = [];\n }\n result[astNode.name.value] = {\n __resolveType: undefined,\n __implementedBy: implementedBy[astNode.name.value],\n } as InterfaceTypeResolver;\n } else if (astNode.kind === Kind.UNION_TYPE_DEFINITION) {\n const types = astNode.types?.map((typeNode) => {\n return typeNode.name.value;\n });\n\n result[astNode.name.value] = {\n __resolveType: undefined,\n __types: types || [],\n } as UnionTypeResolver;\n } else if (astNode.kind === Kind.OBJECT_TYPE_DEFINITION) {\n astNode.interfaces?.forEach((node: NamedTypeNode) => {\n if (!implementedBy[node.name.value]) {\n implementedBy[node.name.value] = [];\n }\n implementedBy[node.name.value].push(\n (astNode as ObjectTypeDefinitionNode).name.value,\n );\n });\n\n result[astNode.name.value] = {};\n }\n }\n return result;\n}\n\nfunction makeEnum(astNode: EnumTypeDefinitionNode) {\n const enumValueMap: GraphQLEnumValueConfigMap = Object.create(null);\n for (const value of astNode.values || []) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n\n return new GraphQLEnumType({\n name: astNode.name.value,\n description: astNode.description?.value,\n values: enumValueMap,\n });\n}\n\nfunction makeInputObject(\n astNode: InputObjectTypeDefinitionNode,\n getTypeByName: (name: string) => GraphQLInputType,\n) {\n const name = astNode.name.value;\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(astNode.fields || [], getTypeByName),\n astNode,\n });\n}\n\nfunction buildInputFieldMap(\n fieldGroup: ReadonlyArray<InputValueDefinitionNode>,\n getTypeByName: (name: string) => GraphQLInputType,\n): GraphQLInputFieldConfigMap {\n const inputFieldMap = Object.create(null);\n for (const field of fieldGroup) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: GraphQLInputType = getWrappedType(field.type, getTypeByName);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n defaultValue: valueFromAST(field.defaultValue, type),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n return inputFieldMap;\n}\n\nfunction getWrappedType(\n type: TypeNode,\n getTypeByName: (name: string) => GraphQLInputType,\n): GraphQLInputType {\n if (type.kind === Kind.LIST_TYPE) {\n return new GraphQLList(getWrappedType(type.type, getTypeByName));\n } else if (type.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(getWrappedType(type.type, getTypeByName));\n } else {\n return getTypeByName(type.name.value);\n }\n}\n\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node) as\n | { reason: string }\n | undefined;\n return deprecated?.reason;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAsBO;AAIA,SAAS,qBACd,UACA,eAC8B;AA9BhC;AA+BE,QAAM,SAAuC,uBAAO,OAAO,IAAI;AAC/D,QAAM,gBAA+C,CAAC;AACtD,aAAW,WAAW,SAAS,aAAa;AAC1C,QAAI,QAAQ,SAAS,oBAAK,wBAAwB;AAChD,YAAM,OAAO,QAAQ,KAAK;AAC1B,aAAO,IAAI,IAAI,IAAI,iCAAkB;AAAA,QACnC;AAAA,QACA,cAAa,aAAQ,gBAAR,mBAAqB;AAAA,MACpC,CAAC;AAAA,IACH,WAAW,QAAQ,SAAS,oBAAK,8BAA8B;AAC7D,aAAO,QAAQ,KAAK,KAAK,IAAI,gBAAgB,SAAS,aAAa;AAAA,IACrE,WAAW,QAAQ,SAAS,oBAAK,sBAAsB;AACrD,aAAO,QAAQ,KAAK,KAAK,IAAI,SAAS,OAAO;AAAA,IAC/C,WAAW,QAAQ,SAAS,oBAAK,2BAA2B;AAC1D,UAAI,CAAC,cAAc,QAAQ,KAAK,KAAK,GAAG;AACtC,sBAAc,QAAQ,KAAK,KAAK,IAAI,CAAC;AAAA,MACvC;AACA,aAAO,QAAQ,KAAK,KAAK,IAAI;AAAA,QAC3B,eAAe;AAAA,QACf,iBAAiB,cAAc,QAAQ,KAAK,KAAK;AAAA,MACnD;AAAA,IACF,WAAW,QAAQ,SAAS,oBAAK,uBAAuB;AACtD,YAAM,SAAQ,aAAQ,UAAR,mBAAe,IAAI,CAAC,aAAa;AAC7C,eAAO,SAAS,KAAK;AAAA,MACvB;AAEA,aAAO,QAAQ,KAAK,KAAK,IAAI;AAAA,QAC3B,eAAe;AAAA,QACf,SAAS,SAAS,CAAC;AAAA,MACrB;AAAA,IACF,WAAW,QAAQ,SAAS,oBAAK,wBAAwB;AACvD,oBAAQ,eAAR,mBAAoB,QAAQ,CAAC,SAAwB;AACnD,YAAI,CAAC,cAAc,KAAK,KAAK,KAAK,GAAG;AACnC,wBAAc,KAAK,KAAK,KAAK,IAAI,CAAC;AAAA,QACpC;AACA,sBAAc,KAAK,KAAK,KAAK,EAAE;AAAA,UAC5B,QAAqC,KAAK;AAAA,QAC7C;AAAA,MACF;AAEA,aAAO,QAAQ,KAAK,KAAK,IAAI,CAAC;AAAA,IAChC;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,SAAS,SAAiC;AA7EnD;AA8EE,QAAM,eAA0C,uBAAO,OAAO,IAAI;AAClE,aAAW,SAAS,QAAQ,UAAU,CAAC,GAAG;AACxC,iBAAa,MAAM,KAAK,KAAK,IAAI;AAAA,MAC/B,cAAa,WAAM,gBAAN,mBAAmB;AAAA,MAChC,mBAAmB,qBAAqB,KAAK;AAAA,MAC7C,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO,IAAI,+BAAgB;AAAA,IACzB,MAAM,QAAQ,KAAK;AAAA,IACnB,cAAa,aAAQ,gBAAR,mBAAqB;AAAA,IAClC,QAAQ;AAAA,EACV,CAAC;AACH;AAEA,SAAS,gBACP,SACA,eACA;AAjGF;AAkGE,QAAM,OAAO,QAAQ,KAAK;AAE1B,SAAO,IAAI,sCAAuB;AAAA,IAChC;AAAA,IACA,cAAa,aAAQ,gBAAR,mBAAqB;AAAA,IAClC,QAAQ,MAAM,mBAAmB,QAAQ,UAAU,CAAC,GAAG,aAAa;AAAA,IACpE;AAAA,EACF,CAAC;AACH;AAEA,SAAS,mBACP,YACA,eAC4B;AA/G9B;AAgHE,QAAM,gBAAgB,uBAAO,OAAO,IAAI;AACxC,aAAW,SAAS,YAAY;AAI9B,UAAM,OAAyB,eAAe,MAAM,MAAM,aAAa;AAEvE,kBAAc,MAAM,KAAK,KAAK,IAAI;AAAA,MAChC;AAAA,MACA,cAAa,WAAM,gBAAN,mBAAmB;AAAA,MAChC,kBAAc,6BAAa,MAAM,cAAc,IAAI;AAAA,MACnD,mBAAmB,qBAAqB,KAAK;AAAA,MAC7C,SAAS;AAAA,IACX;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,eACP,MACA,eACkB;AAClB,MAAI,KAAK,SAAS,oBAAK,WAAW;AAChC,WAAO,IAAI,2BAAY,eAAe,KAAK,MAAM,aAAa,CAAC;AAAA,EACjE,WAAW,KAAK,SAAS,oBAAK,eAAe;AAC3C,WAAO,IAAI,8BAAe,eAAe,KAAK,MAAM,aAAa,CAAC;AAAA,EACpE,OAAO;AACL,WAAO,cAAc,KAAK,KAAK,KAAK;AAAA,EACtC;AACF;AAEA,SAAS,qBACP,MAIe;AACf,QAAM,iBAAa,mCAAmB,2CAA4B,IAAI;AAGtE,SAAO,yCAAY;AACrB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
// src/extractImplicitTypesRuntime.ts
|
|
2
|
-
import {
|
|
3
|
-
getDirectiveValues,
|
|
4
|
-
GraphQLDeprecatedDirective,
|
|
5
|
-
GraphQLEnumType,
|
|
6
|
-
GraphQLScalarType,
|
|
7
|
-
Kind,
|
|
8
|
-
GraphQLInputObjectType,
|
|
9
|
-
valueFromAST,
|
|
10
|
-
GraphQLNonNull,
|
|
11
|
-
GraphQLList
|
|
12
|
-
} from "graphql";
|
|
13
|
-
function extractImplicitTypes(document, getTypeByName) {
|
|
14
|
-
var _a, _b, _c;
|
|
15
|
-
const result = /* @__PURE__ */ Object.create(null);
|
|
16
|
-
const implementedBy = {};
|
|
17
|
-
for (const astNode of document.definitions) {
|
|
18
|
-
if (astNode.kind === Kind.SCALAR_TYPE_DEFINITION) {
|
|
19
|
-
const name = astNode.name.value;
|
|
20
|
-
result[name] = new GraphQLScalarType({
|
|
21
|
-
name,
|
|
22
|
-
description: (_a = astNode.description) == null ? void 0 : _a.value
|
|
23
|
-
});
|
|
24
|
-
} else if (astNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION) {
|
|
25
|
-
result[astNode.name.value] = makeInputObject(astNode, getTypeByName);
|
|
26
|
-
} else if (astNode.kind === Kind.ENUM_TYPE_DEFINITION) {
|
|
27
|
-
result[astNode.name.value] = makeEnum(astNode);
|
|
28
|
-
} else if (astNode.kind === Kind.INTERFACE_TYPE_DEFINITION) {
|
|
29
|
-
if (!implementedBy[astNode.name.value]) {
|
|
30
|
-
implementedBy[astNode.name.value] = [];
|
|
31
|
-
}
|
|
32
|
-
result[astNode.name.value] = {
|
|
33
|
-
__resolveType: void 0,
|
|
34
|
-
__implementedBy: implementedBy[astNode.name.value]
|
|
35
|
-
};
|
|
36
|
-
} else if (astNode.kind === Kind.UNION_TYPE_DEFINITION) {
|
|
37
|
-
const types = (_b = astNode.types) == null ? void 0 : _b.map((typeNode) => {
|
|
38
|
-
return typeNode.name.value;
|
|
39
|
-
});
|
|
40
|
-
result[astNode.name.value] = {
|
|
41
|
-
__resolveType: void 0,
|
|
42
|
-
__types: types || []
|
|
43
|
-
};
|
|
44
|
-
} else if (astNode.kind === Kind.OBJECT_TYPE_DEFINITION) {
|
|
45
|
-
(_c = astNode.interfaces) == null ? void 0 : _c.forEach((node) => {
|
|
46
|
-
if (!implementedBy[node.name.value]) {
|
|
47
|
-
implementedBy[node.name.value] = [];
|
|
48
|
-
}
|
|
49
|
-
implementedBy[node.name.value].push(
|
|
50
|
-
astNode.name.value
|
|
51
|
-
);
|
|
52
|
-
});
|
|
53
|
-
result[astNode.name.value] = {};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
function makeEnum(astNode) {
|
|
59
|
-
var _a, _b;
|
|
60
|
-
const enumValueMap = /* @__PURE__ */ Object.create(null);
|
|
61
|
-
for (const value of astNode.values || []) {
|
|
62
|
-
enumValueMap[value.name.value] = {
|
|
63
|
-
description: (_a = value.description) == null ? void 0 : _a.value,
|
|
64
|
-
deprecationReason: getDeprecationReason(value),
|
|
65
|
-
astNode: value
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return new GraphQLEnumType({
|
|
69
|
-
name: astNode.name.value,
|
|
70
|
-
description: (_b = astNode.description) == null ? void 0 : _b.value,
|
|
71
|
-
values: enumValueMap
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
function makeInputObject(astNode, getTypeByName) {
|
|
75
|
-
var _a;
|
|
76
|
-
const name = astNode.name.value;
|
|
77
|
-
return new GraphQLInputObjectType({
|
|
78
|
-
name,
|
|
79
|
-
description: (_a = astNode.description) == null ? void 0 : _a.value,
|
|
80
|
-
fields: () => buildInputFieldMap(astNode.fields || [], getTypeByName),
|
|
81
|
-
astNode
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function buildInputFieldMap(fieldGroup, getTypeByName) {
|
|
85
|
-
var _a;
|
|
86
|
-
const inputFieldMap = /* @__PURE__ */ Object.create(null);
|
|
87
|
-
for (const field of fieldGroup) {
|
|
88
|
-
const type = getWrappedType(field.type, getTypeByName);
|
|
89
|
-
inputFieldMap[field.name.value] = {
|
|
90
|
-
type,
|
|
91
|
-
description: (_a = field.description) == null ? void 0 : _a.value,
|
|
92
|
-
defaultValue: valueFromAST(field.defaultValue, type),
|
|
93
|
-
deprecationReason: getDeprecationReason(field),
|
|
94
|
-
astNode: field
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
return inputFieldMap;
|
|
98
|
-
}
|
|
99
|
-
function getWrappedType(type, getTypeByName) {
|
|
100
|
-
if (type.kind === Kind.LIST_TYPE) {
|
|
101
|
-
return new GraphQLList(getWrappedType(type.type, getTypeByName));
|
|
102
|
-
} else if (type.kind === Kind.NON_NULL_TYPE) {
|
|
103
|
-
return new GraphQLNonNull(getWrappedType(type.type, getTypeByName));
|
|
104
|
-
} else {
|
|
105
|
-
return getTypeByName(type.name.value);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
function getDeprecationReason(node) {
|
|
109
|
-
const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);
|
|
110
|
-
return deprecated == null ? void 0 : deprecated.reason;
|
|
111
|
-
}
|
|
112
|
-
export {
|
|
113
|
-
extractImplicitTypes
|
|
114
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/extractImplicitTypesRuntime.ts"],
|
|
4
|
-
"sourcesContent": ["// Given a GraphQL document with type definitions, extract all types that can be defined implicitly.\nimport {\n DocumentNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n getDirectiveValues,\n ObjectTypeDefinitionNode,\n GraphQLDeprecatedDirective,\n NamedTypeNode,\n GraphQLEnumType,\n GraphQLEnumValueConfigMap,\n GraphQLScalarType,\n InputValueDefinitionNode,\n Kind,\n EnumTypeDefinitionNode,\n InputObjectTypeDefinitionNode,\n GraphQLInputObjectType,\n GraphQLInputFieldConfigMap,\n GraphQLInputType,\n valueFromAST,\n TypeNode,\n GraphQLNonNull,\n GraphQLList,\n} from \"graphql\";\nimport { Maybe } from \"./jsutils/Maybe\";\nimport { Resolvers, UnionTypeResolver, InterfaceTypeResolver } from \"./types\";\n\nexport function extractImplicitTypes<TSource = unknown, TContext = unknown>(\n document: DocumentNode,\n getTypeByName: (name: string) => GraphQLInputType,\n): Resolvers<TSource, TContext> {\n const result: Resolvers<TSource, TContext> = Object.create(null);\n const implementedBy: Record<string, Array<string>> = {};\n for (const astNode of document.definitions) {\n if (astNode.kind === Kind.SCALAR_TYPE_DEFINITION) {\n const name = astNode.name.value;\n result[name] = new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n });\n } else if (astNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION) {\n result[astNode.name.value] = makeInputObject(astNode, getTypeByName);\n } else if (astNode.kind === Kind.ENUM_TYPE_DEFINITION) {\n result[astNode.name.value] = makeEnum(astNode);\n } else if (astNode.kind === Kind.INTERFACE_TYPE_DEFINITION) {\n if (!implementedBy[astNode.name.value]) {\n implementedBy[astNode.name.value] = [];\n }\n result[astNode.name.value] = {\n __resolveType: undefined,\n __implementedBy: implementedBy[astNode.name.value],\n } as InterfaceTypeResolver;\n } else if (astNode.kind === Kind.UNION_TYPE_DEFINITION) {\n const types = astNode.types?.map((typeNode) => {\n return typeNode.name.value;\n });\n\n result[astNode.name.value] = {\n __resolveType: undefined,\n __types: types || [],\n } as UnionTypeResolver;\n } else if (astNode.kind === Kind.OBJECT_TYPE_DEFINITION) {\n astNode.interfaces?.forEach((node: NamedTypeNode) => {\n if (!implementedBy[node.name.value]) {\n implementedBy[node.name.value] = [];\n }\n implementedBy[node.name.value].push(\n (astNode as ObjectTypeDefinitionNode).name.value,\n );\n });\n\n result[astNode.name.value] = {};\n }\n }\n return result;\n}\n\nfunction makeEnum(astNode: EnumTypeDefinitionNode) {\n const enumValueMap: GraphQLEnumValueConfigMap = Object.create(null);\n for (const value of astNode.values || []) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n\n return new GraphQLEnumType({\n name: astNode.name.value,\n description: astNode.description?.value,\n values: enumValueMap,\n });\n}\n\nfunction makeInputObject(\n astNode: InputObjectTypeDefinitionNode,\n getTypeByName: (name: string) => GraphQLInputType,\n) {\n const name = astNode.name.value;\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(astNode.fields || [], getTypeByName),\n astNode,\n });\n}\n\nfunction buildInputFieldMap(\n fieldGroup: ReadonlyArray<InputValueDefinitionNode>,\n getTypeByName: (name: string) => GraphQLInputType,\n): GraphQLInputFieldConfigMap {\n const inputFieldMap = Object.create(null);\n for (const field of fieldGroup) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: GraphQLInputType = getWrappedType(field.type, getTypeByName);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n defaultValue: valueFromAST(field.defaultValue, type),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n return inputFieldMap;\n}\n\nfunction getWrappedType(\n type: TypeNode,\n getTypeByName: (name: string) => GraphQLInputType,\n): GraphQLInputType {\n if (type.kind === Kind.LIST_TYPE) {\n return new GraphQLList(getWrappedType(type.type, getTypeByName));\n } else if (type.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(getWrappedType(type.type, getTypeByName));\n } else {\n return getTypeByName(type.name.value);\n }\n}\n\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node) as\n | { reason: string }\n | undefined;\n return deprecated?.reason;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|