@graphitation/supermassive 3.0.0-alpha.6 → 3.0.0-alpha.7
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/benchmarks/index.js.map +2 -2
- package/lib/benchmarks/index.mjs.map +2 -2
- package/lib/collectFields.d.ts.map +1 -1
- package/lib/collectFields.js +6 -5
- package/lib/collectFields.js.map +2 -2
- package/lib/collectFields.mjs +6 -5
- package/lib/collectFields.mjs.map +2 -2
- package/lib/executeWithoutSchema.d.ts +1 -3
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +153 -69
- package/lib/executeWithoutSchema.js.map +2 -2
- package/lib/executeWithoutSchema.mjs +143 -71
- package/lib/executeWithoutSchema.mjs.map +2 -2
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +2 -2
- package/lib/index.mjs +10 -2
- package/lib/index.mjs.map +2 -2
- package/lib/schema/definition.d.ts +43 -33
- package/lib/schema/definition.d.ts.map +1 -1
- package/lib/schema/definition.js +284 -9
- package/lib/schema/definition.js.map +2 -2
- package/lib/schema/definition.mjs +284 -55
- package/lib/schema/definition.mjs.map +3 -3
- package/lib/schema/directives.d.ts.map +1 -1
- package/lib/schema/directives.js +3 -3
- package/lib/schema/directives.js.map +2 -2
- package/lib/schema/directives.mjs +4 -4
- package/lib/schema/directives.mjs.map +2 -2
- package/lib/schema/reference.d.ts +3 -1
- package/lib/schema/reference.d.ts.map +1 -1
- package/lib/schema/reference.js.map +2 -2
- package/lib/schema/reference.mjs.map +2 -2
- package/lib/schema/resolvers.d.ts +10 -4
- package/lib/schema/resolvers.d.ts.map +1 -1
- package/lib/schema/resolvers.js +92 -9
- package/lib/schema/resolvers.js.map +2 -2
- package/lib/schema/resolvers.mjs +99 -9
- package/lib/schema/resolvers.mjs.map +2 -2
- package/lib/types.d.ts +25 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utilities/coerceInputValue.d.ts +3 -3
- package/lib/utilities/coerceInputValue.d.ts.map +1 -1
- package/lib/utilities/coerceInputValue.js +17 -12
- package/lib/utilities/coerceInputValue.js.map +2 -2
- package/lib/utilities/coerceInputValue.mjs +22 -12
- package/lib/utilities/coerceInputValue.mjs.map +2 -2
- package/lib/utilities/decodeASTSchema.d.ts.map +1 -1
- package/lib/utilities/decodeASTSchema.js +32 -40
- package/lib/utilities/decodeASTSchema.js.map +2 -2
- package/lib/utilities/decodeASTSchema.mjs +51 -49
- package/lib/utilities/decodeASTSchema.mjs.map +2 -2
- package/lib/utilities/encodeASTSchema.d.ts.map +1 -1
- package/lib/utilities/encodeASTSchema.js +16 -20
- package/lib/utilities/encodeASTSchema.js.map +2 -2
- package/lib/utilities/encodeASTSchema.mjs +22 -21
- package/lib/utilities/encodeASTSchema.mjs.map +2 -2
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.d.ts.map +1 -1
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js +20 -22
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js.map +2 -2
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs +35 -29
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs.map +2 -2
- package/lib/utilities/mergeSchemaDefinitions.d.ts.map +1 -1
- package/lib/utilities/mergeSchemaDefinitions.js +18 -28
- package/lib/utilities/mergeSchemaDefinitions.js.map +2 -2
- package/lib/utilities/mergeSchemaDefinitions.mjs +28 -34
- package/lib/utilities/mergeSchemaDefinitions.mjs.map +2 -2
- package/lib/utilities/valueFromAST.d.ts +3 -3
- package/lib/utilities/valueFromAST.d.ts.map +1 -1
- package/lib/utilities/valueFromAST.js +23 -10
- package/lib/utilities/valueFromAST.js.map +2 -2
- package/lib/utilities/valueFromAST.mjs +13 -10
- package/lib/utilities/valueFromAST.mjs.map +2 -2
- package/lib/values.d.ts +2 -2
- package/lib/values.d.ts.map +1 -1
- package/lib/values.js +14 -14
- package/lib/values.js.map +2 -2
- package/lib/values.mjs +21 -14
- package/lib/values.mjs.map +2 -2
- package/package.json +1 -1
- package/lib/schema/fragment.d.ts +0 -63
- package/lib/schema/fragment.d.ts.map +0 -1
- package/lib/schema/fragment.js +0 -295
- package/lib/schema/fragment.js.map +0 -7
- package/lib/schema/fragment.mjs +0 -292
- package/lib/schema/fragment.mjs.map +0 -7
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { Resolver, UserUnionTypeResolver, UserInterfaceTypeResolver, ScalarTypeResolver } from "../types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare function isScalarTypeResolver(resolver: unknown): resolver is ScalarTypeResolver;
|
|
1
|
+
import { Resolver, UserUnionTypeResolver, UserInterfaceTypeResolver, ScalarTypeResolver, FunctionFieldResolver, SchemaFragment, TypeResolver } from "../types";
|
|
2
|
+
import { GraphQLLeafType } from "graphql";
|
|
3
|
+
import { TypeName, TypeReference } from "./reference";
|
|
5
4
|
export declare const specifiedScalarResolvers: {
|
|
6
5
|
[key: string]: ScalarTypeResolver;
|
|
7
6
|
};
|
|
8
7
|
export declare function isSpecifiedScalarType(typeName: string): boolean;
|
|
8
|
+
export declare function isInterfaceTypeResolver(resolver: Resolver<unknown, unknown>): resolver is UserInterfaceTypeResolver;
|
|
9
|
+
export declare function isUnionTypeResolver(resolver: Resolver<unknown, unknown>): resolver is UserUnionTypeResolver;
|
|
10
|
+
export declare function isScalarTypeResolver(resolver: unknown): resolver is ScalarTypeResolver;
|
|
11
|
+
export declare function getFieldResolver(schemaFragment: SchemaFragment, typeName: TypeName, fieldName: string): FunctionFieldResolver<unknown, unknown> | undefined;
|
|
12
|
+
export declare function getSubscriptionFieldResolver(schemaFragment: SchemaFragment, subscriptionTypeName: TypeName, fieldName: string): FunctionFieldResolver<unknown, unknown> | undefined;
|
|
13
|
+
export declare function getAbstractTypeResolver(schemaFragment: SchemaFragment, typeName: TypeName): TypeResolver<unknown, unknown> | undefined;
|
|
14
|
+
export declare function getLeafTypeResolver(schemaFragment: SchemaFragment, typeRef: TypeReference): GraphQLLeafType | undefined;
|
|
9
15
|
//# sourceMappingURL=resolvers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../src/schema/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../src/schema/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EAErB,cAAc,EAEd,YAAY,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAML,eAAe,EAIhB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAyB,aAAa,EAAE,MAAM,aAAa,CAAC;AAkB7E,eAAO,MAAM,wBAAwB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAMzE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GACnC,QAAQ,IAAI,yBAAyB,CAEvC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GACnC,QAAQ,IAAI,qBAAqB,CAEnC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,kBAAkB,CAEhC;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,CAYrD;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,QAAQ,EAC9B,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,CASrD;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,GACjB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,CAM5C;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,aAAa,GACrB,eAAe,GAAG,SAAS,CAgD7B"}
|
package/lib/schema/resolvers.js
CHANGED
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var resolvers_exports = {};
|
|
20
20
|
__export(resolvers_exports, {
|
|
21
|
+
getAbstractTypeResolver: () => getAbstractTypeResolver,
|
|
22
|
+
getFieldResolver: () => getFieldResolver,
|
|
23
|
+
getLeafTypeResolver: () => getLeafTypeResolver,
|
|
24
|
+
getSubscriptionFieldResolver: () => getSubscriptionFieldResolver,
|
|
21
25
|
isInterfaceTypeResolver: () => isInterfaceTypeResolver,
|
|
22
26
|
isScalarTypeResolver: () => isScalarTypeResolver,
|
|
23
27
|
isSpecifiedScalarType: () => isSpecifiedScalarType,
|
|
@@ -26,15 +30,11 @@ __export(resolvers_exports, {
|
|
|
26
30
|
});
|
|
27
31
|
module.exports = __toCommonJS(resolvers_exports);
|
|
28
32
|
var import_graphql = require("graphql");
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
function isScalarTypeResolver(resolver) {
|
|
36
|
-
return (0, import_graphql.isScalarType)(resolver);
|
|
37
|
-
}
|
|
33
|
+
var import_reference = require("./reference");
|
|
34
|
+
var import_definition = require("./definition");
|
|
35
|
+
var import_isObjectLike = require("../jsutils/isObjectLike");
|
|
36
|
+
const resolveTypeName = (_source, _args, _context, info) => info.parentTypeName;
|
|
37
|
+
const emptyObject = Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
38
38
|
const specifiedScalarResolvers = {
|
|
39
39
|
ID: import_graphql.GraphQLID,
|
|
40
40
|
String: import_graphql.GraphQLString,
|
|
@@ -45,3 +45,86 @@ const specifiedScalarResolvers = {
|
|
|
45
45
|
function isSpecifiedScalarType(typeName) {
|
|
46
46
|
return !!specifiedScalarResolvers[typeName];
|
|
47
47
|
}
|
|
48
|
+
function isInterfaceTypeResolver(resolver) {
|
|
49
|
+
return resolver && "__resolveType" in resolver;
|
|
50
|
+
}
|
|
51
|
+
function isUnionTypeResolver(resolver) {
|
|
52
|
+
return resolver && "__resolveType" in resolver;
|
|
53
|
+
}
|
|
54
|
+
function isScalarTypeResolver(resolver) {
|
|
55
|
+
return (0, import_graphql.isScalarType)(resolver);
|
|
56
|
+
}
|
|
57
|
+
function getFieldResolver(schemaFragment, typeName, fieldName) {
|
|
58
|
+
if (fieldName === "__typename") {
|
|
59
|
+
return resolveTypeName;
|
|
60
|
+
}
|
|
61
|
+
const typeResolvers = schemaFragment.resolvers[typeName];
|
|
62
|
+
const fieldResolver = typeResolvers == null ? void 0 : typeResolvers[fieldName];
|
|
63
|
+
return typeof fieldResolver === "function" ? fieldResolver : fieldResolver == null ? void 0 : fieldResolver.resolve;
|
|
64
|
+
}
|
|
65
|
+
function getSubscriptionFieldResolver(schemaFragment, subscriptionTypeName, fieldName) {
|
|
66
|
+
const typeResolvers = schemaFragment.resolvers[subscriptionTypeName];
|
|
67
|
+
const fieldResolver = typeResolvers == null ? void 0 : typeResolvers[fieldName];
|
|
68
|
+
return typeof fieldResolver === "function" ? fieldResolver : fieldResolver == null ? void 0 : fieldResolver.subscribe;
|
|
69
|
+
}
|
|
70
|
+
function getAbstractTypeResolver(schemaFragment, typeName) {
|
|
71
|
+
const resolver = schemaFragment.resolvers[typeName];
|
|
72
|
+
return resolver && (isUnionTypeResolver(resolver) || isInterfaceTypeResolver(resolver)) ? resolver.__resolveType : void 0;
|
|
73
|
+
}
|
|
74
|
+
function getLeafTypeResolver(schemaFragment, typeRef) {
|
|
75
|
+
const typeName = (0, import_reference.typeNameFromReference)(typeRef);
|
|
76
|
+
if (specifiedScalarResolvers[typeName]) {
|
|
77
|
+
return specifiedScalarResolvers[typeName];
|
|
78
|
+
}
|
|
79
|
+
const typeDef = (0, import_definition.getLeafType)(schemaFragment.definitions, typeRef);
|
|
80
|
+
if (!typeDef) {
|
|
81
|
+
return void 0;
|
|
82
|
+
}
|
|
83
|
+
if ((0, import_definition.isScalarTypeDefinition)(typeDef)) {
|
|
84
|
+
const scalarTypesMap = getSchemaScalarTypes(schemaFragment);
|
|
85
|
+
let scalarType = scalarTypesMap.get(typeName);
|
|
86
|
+
if (!scalarType) {
|
|
87
|
+
const tmp = schemaFragment.resolvers[typeName];
|
|
88
|
+
scalarType = isScalarTypeResolver(tmp) ? tmp : new import_graphql.GraphQLScalarType({ name: typeName, description: "" });
|
|
89
|
+
scalarTypesMap.set(typeName, scalarType);
|
|
90
|
+
}
|
|
91
|
+
return scalarType;
|
|
92
|
+
}
|
|
93
|
+
if ((0, import_definition.isEnumTypeDefinition)(typeDef)) {
|
|
94
|
+
const enumTypesMap = getSchemaEnumTypes(schemaFragment);
|
|
95
|
+
let enumType = enumTypesMap.get(typeName);
|
|
96
|
+
if (!enumType) {
|
|
97
|
+
const tmp = schemaFragment.resolvers[typeName];
|
|
98
|
+
const customValues = (0, import_isObjectLike.isObjectLike)(tmp) ? tmp : emptyObject;
|
|
99
|
+
const values = {};
|
|
100
|
+
for (const value of (0, import_definition.getEnumValues)(typeDef)) {
|
|
101
|
+
values[value] = typeof customValues[value] !== "undefined" ? { value: customValues[value] } : {};
|
|
102
|
+
}
|
|
103
|
+
enumType = new import_graphql.GraphQLEnumType({
|
|
104
|
+
name: typeName,
|
|
105
|
+
values
|
|
106
|
+
});
|
|
107
|
+
enumTypesMap.set(typeName, enumType);
|
|
108
|
+
}
|
|
109
|
+
return enumType;
|
|
110
|
+
}
|
|
111
|
+
return void 0;
|
|
112
|
+
}
|
|
113
|
+
const scalarTypesBySchema = /* @__PURE__ */ new Map();
|
|
114
|
+
const enumTypesBySchema = /* @__PURE__ */ new Map();
|
|
115
|
+
function getSchemaScalarTypes(schemaFragment) {
|
|
116
|
+
let scalarTypes = scalarTypesBySchema.get(schemaFragment.schemaId);
|
|
117
|
+
if (!scalarTypes) {
|
|
118
|
+
scalarTypes = /* @__PURE__ */ new Map();
|
|
119
|
+
scalarTypesBySchema.set(schemaFragment.schemaId, scalarTypes);
|
|
120
|
+
}
|
|
121
|
+
return scalarTypes;
|
|
122
|
+
}
|
|
123
|
+
function getSchemaEnumTypes(schemaFragment) {
|
|
124
|
+
let enumTypes = enumTypesBySchema.get(schemaFragment.schemaId);
|
|
125
|
+
if (!enumTypes) {
|
|
126
|
+
enumTypes = /* @__PURE__ */ new Map();
|
|
127
|
+
enumTypesBySchema.set(schemaFragment.schemaId, enumTypes);
|
|
128
|
+
}
|
|
129
|
+
return enumTypes;
|
|
130
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/schema/resolvers.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n Resolver,\n UserUnionTypeResolver,\n UserInterfaceTypeResolver,\n ScalarTypeResolver,\n} from \"../types\";\nimport {\n GraphQLBoolean,\n GraphQLFloat,\n GraphQLID,\n GraphQLInt,\n GraphQLString,\n isScalarType,\n} from \"graphql\";\n\nexport function isInterfaceTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserInterfaceTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserUnionTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isScalarTypeResolver(\n resolver: unknown,\n): resolver is ScalarTypeResolver {\n return isScalarType(resolver);\n}\n\nexport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import {\n Resolver,\n UserUnionTypeResolver,\n UserInterfaceTypeResolver,\n ScalarTypeResolver,\n FunctionFieldResolver,\n SchemaId,\n SchemaFragment,\n ObjectTypeResolver,\n TypeResolver,\n} from \"../types\";\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLID,\n GraphQLInt,\n GraphQLLeafType,\n GraphQLScalarType,\n GraphQLString,\n isScalarType,\n} from \"graphql\";\nimport { TypeName, typeNameFromReference, TypeReference } from \"./reference\";\nimport {\n getEnumValues,\n getLeafType,\n isEnumTypeDefinition,\n isScalarTypeDefinition,\n} from \"./definition\";\nimport { isObjectLike } from \"../jsutils/isObjectLike\";\n\nconst resolveTypeName: FunctionFieldResolver<unknown, unknown> = (\n _source,\n _args,\n _context,\n info,\n) => info.parentTypeName;\n\nconst emptyObject = Object.freeze(Object.create(null));\n\nexport const specifiedScalarResolvers: { [key: string]: ScalarTypeResolver } = {\n ID: GraphQLID,\n String: GraphQLString,\n Int: GraphQLInt,\n Float: GraphQLFloat,\n Boolean: GraphQLBoolean,\n};\n\nexport function isSpecifiedScalarType(typeName: string): boolean {\n return !!specifiedScalarResolvers[typeName];\n}\n\nexport function isInterfaceTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserInterfaceTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserUnionTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isScalarTypeResolver(\n resolver: unknown,\n): resolver is ScalarTypeResolver {\n return isScalarType(resolver);\n}\n\nexport function getFieldResolver(\n schemaFragment: SchemaFragment,\n typeName: TypeName,\n fieldName: string,\n): FunctionFieldResolver<unknown, unknown> | undefined {\n if (fieldName === \"__typename\") {\n return resolveTypeName;\n }\n // TODO: sanity check that this is an object type resolver\n const typeResolvers = schemaFragment.resolvers[typeName] as\n | ObjectTypeResolver<unknown, unknown, unknown>\n | undefined;\n const fieldResolver = typeResolvers?.[fieldName];\n return typeof fieldResolver === \"function\"\n ? fieldResolver\n : fieldResolver?.resolve;\n}\n\nexport function getSubscriptionFieldResolver(\n schemaFragment: SchemaFragment,\n subscriptionTypeName: TypeName,\n fieldName: string,\n): FunctionFieldResolver<unknown, unknown> | undefined {\n // TODO: sanity check that this is an object type resolver\n const typeResolvers = schemaFragment.resolvers[subscriptionTypeName] as\n | ObjectTypeResolver<unknown, unknown, unknown>\n | undefined;\n const fieldResolver = typeResolvers?.[fieldName];\n return typeof fieldResolver === \"function\"\n ? fieldResolver\n : fieldResolver?.subscribe;\n}\n\nexport function getAbstractTypeResolver(\n schemaFragment: SchemaFragment,\n typeName: TypeName,\n): TypeResolver<unknown, unknown> | undefined {\n const resolver = schemaFragment.resolvers[typeName];\n return resolver &&\n (isUnionTypeResolver(resolver) || isInterfaceTypeResolver(resolver))\n ? resolver.__resolveType\n : undefined;\n}\n\nexport function getLeafTypeResolver(\n schemaFragment: SchemaFragment,\n typeRef: TypeReference,\n): GraphQLLeafType | undefined {\n // TODO: consider removing GraphQLEnumType and GraphQLScalarType\n const typeName = typeNameFromReference(typeRef);\n\n if (specifiedScalarResolvers[typeName]) {\n return specifiedScalarResolvers[typeName];\n }\n\n const typeDef = getLeafType(schemaFragment.definitions, typeRef);\n if (!typeDef) {\n // TODO: Could be still in resolvers (i.e., add \"found in resolvers, not found in schema\" error?)\n return undefined;\n }\n if (isScalarTypeDefinition(typeDef)) {\n const scalarTypesMap = getSchemaScalarTypes(schemaFragment);\n let scalarType = scalarTypesMap.get(typeName);\n if (!scalarType) {\n const tmp = schemaFragment.resolvers[typeName];\n scalarType = isScalarTypeResolver(tmp)\n ? tmp\n : new GraphQLScalarType({ name: typeName, description: \"\" });\n scalarTypesMap.set(typeName, scalarType);\n }\n return scalarType;\n }\n if (isEnumTypeDefinition(typeDef)) {\n const enumTypesMap = getSchemaEnumTypes(schemaFragment);\n let enumType = enumTypesMap.get(typeName);\n if (!enumType) {\n const tmp = schemaFragment.resolvers[typeName]; // Can only be graphql-tools map\n const customValues = isObjectLike(tmp) ? tmp : emptyObject;\n\n const values: Record<string, object> = {};\n for (const value of getEnumValues(typeDef)) {\n values[value] =\n typeof customValues[value] !== \"undefined\"\n ? { value: customValues[value] }\n : {};\n }\n enumType = new GraphQLEnumType({\n name: typeName,\n values,\n });\n enumTypesMap.set(typeName, enumType);\n }\n return enumType;\n }\n return undefined;\n}\n\ntype ScalarTypeMap = Map<TypeName, GraphQLScalarType>;\ntype EnumTypeMap = Map<TypeName, GraphQLEnumType>;\n\nconst scalarTypesBySchema = new Map<SchemaId, ScalarTypeMap>();\nconst enumTypesBySchema = new Map<SchemaId, EnumTypeMap>();\n\nfunction getSchemaScalarTypes(schemaFragment: SchemaFragment) {\n let scalarTypes = scalarTypesBySchema.get(schemaFragment.schemaId);\n if (!scalarTypes) {\n scalarTypes = new Map<TypeName, GraphQLScalarType>();\n scalarTypesBySchema.set(schemaFragment.schemaId, scalarTypes);\n }\n return scalarTypes;\n}\n\nfunction getSchemaEnumTypes(schemaFragment: SchemaFragment) {\n let enumTypes = enumTypesBySchema.get(schemaFragment.schemaId);\n if (!enumTypes) {\n enumTypes = new Map<TypeName, GraphQLEnumType>();\n enumTypesBySchema.set(schemaFragment.schemaId, enumTypes);\n }\n return enumTypes;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/schema/resolvers.mjs
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
// src/schema/resolvers.ts
|
|
2
2
|
import {
|
|
3
3
|
GraphQLBoolean,
|
|
4
|
+
GraphQLEnumType,
|
|
4
5
|
GraphQLFloat,
|
|
5
6
|
GraphQLID,
|
|
6
7
|
GraphQLInt,
|
|
8
|
+
GraphQLScalarType,
|
|
7
9
|
GraphQLString,
|
|
8
10
|
isScalarType
|
|
9
11
|
} from "graphql";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
import { typeNameFromReference } from "./reference.mjs";
|
|
13
|
+
import {
|
|
14
|
+
getEnumValues,
|
|
15
|
+
getLeafType,
|
|
16
|
+
isEnumTypeDefinition,
|
|
17
|
+
isScalarTypeDefinition
|
|
18
|
+
} from "./definition.mjs";
|
|
19
|
+
import { isObjectLike } from "../jsutils/isObjectLike.mjs";
|
|
20
|
+
var resolveTypeName = (_source, _args, _context, info) => info.parentTypeName;
|
|
21
|
+
var emptyObject = Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
19
22
|
var specifiedScalarResolvers = {
|
|
20
23
|
ID: GraphQLID,
|
|
21
24
|
String: GraphQLString,
|
|
@@ -26,7 +29,94 @@ var specifiedScalarResolvers = {
|
|
|
26
29
|
function isSpecifiedScalarType(typeName) {
|
|
27
30
|
return !!specifiedScalarResolvers[typeName];
|
|
28
31
|
}
|
|
32
|
+
function isInterfaceTypeResolver(resolver) {
|
|
33
|
+
return resolver && "__resolveType" in resolver;
|
|
34
|
+
}
|
|
35
|
+
function isUnionTypeResolver(resolver) {
|
|
36
|
+
return resolver && "__resolveType" in resolver;
|
|
37
|
+
}
|
|
38
|
+
function isScalarTypeResolver(resolver) {
|
|
39
|
+
return isScalarType(resolver);
|
|
40
|
+
}
|
|
41
|
+
function getFieldResolver(schemaFragment, typeName, fieldName) {
|
|
42
|
+
if (fieldName === "__typename") {
|
|
43
|
+
return resolveTypeName;
|
|
44
|
+
}
|
|
45
|
+
const typeResolvers = schemaFragment.resolvers[typeName];
|
|
46
|
+
const fieldResolver = typeResolvers == null ? void 0 : typeResolvers[fieldName];
|
|
47
|
+
return typeof fieldResolver === "function" ? fieldResolver : fieldResolver == null ? void 0 : fieldResolver.resolve;
|
|
48
|
+
}
|
|
49
|
+
function getSubscriptionFieldResolver(schemaFragment, subscriptionTypeName, fieldName) {
|
|
50
|
+
const typeResolvers = schemaFragment.resolvers[subscriptionTypeName];
|
|
51
|
+
const fieldResolver = typeResolvers == null ? void 0 : typeResolvers[fieldName];
|
|
52
|
+
return typeof fieldResolver === "function" ? fieldResolver : fieldResolver == null ? void 0 : fieldResolver.subscribe;
|
|
53
|
+
}
|
|
54
|
+
function getAbstractTypeResolver(schemaFragment, typeName) {
|
|
55
|
+
const resolver = schemaFragment.resolvers[typeName];
|
|
56
|
+
return resolver && (isUnionTypeResolver(resolver) || isInterfaceTypeResolver(resolver)) ? resolver.__resolveType : void 0;
|
|
57
|
+
}
|
|
58
|
+
function getLeafTypeResolver(schemaFragment, typeRef) {
|
|
59
|
+
const typeName = typeNameFromReference(typeRef);
|
|
60
|
+
if (specifiedScalarResolvers[typeName]) {
|
|
61
|
+
return specifiedScalarResolvers[typeName];
|
|
62
|
+
}
|
|
63
|
+
const typeDef = getLeafType(schemaFragment.definitions, typeRef);
|
|
64
|
+
if (!typeDef) {
|
|
65
|
+
return void 0;
|
|
66
|
+
}
|
|
67
|
+
if (isScalarTypeDefinition(typeDef)) {
|
|
68
|
+
const scalarTypesMap = getSchemaScalarTypes(schemaFragment);
|
|
69
|
+
let scalarType = scalarTypesMap.get(typeName);
|
|
70
|
+
if (!scalarType) {
|
|
71
|
+
const tmp = schemaFragment.resolvers[typeName];
|
|
72
|
+
scalarType = isScalarTypeResolver(tmp) ? tmp : new GraphQLScalarType({ name: typeName, description: "" });
|
|
73
|
+
scalarTypesMap.set(typeName, scalarType);
|
|
74
|
+
}
|
|
75
|
+
return scalarType;
|
|
76
|
+
}
|
|
77
|
+
if (isEnumTypeDefinition(typeDef)) {
|
|
78
|
+
const enumTypesMap = getSchemaEnumTypes(schemaFragment);
|
|
79
|
+
let enumType = enumTypesMap.get(typeName);
|
|
80
|
+
if (!enumType) {
|
|
81
|
+
const tmp = schemaFragment.resolvers[typeName];
|
|
82
|
+
const customValues = isObjectLike(tmp) ? tmp : emptyObject;
|
|
83
|
+
const values = {};
|
|
84
|
+
for (const value of getEnumValues(typeDef)) {
|
|
85
|
+
values[value] = typeof customValues[value] !== "undefined" ? { value: customValues[value] } : {};
|
|
86
|
+
}
|
|
87
|
+
enumType = new GraphQLEnumType({
|
|
88
|
+
name: typeName,
|
|
89
|
+
values
|
|
90
|
+
});
|
|
91
|
+
enumTypesMap.set(typeName, enumType);
|
|
92
|
+
}
|
|
93
|
+
return enumType;
|
|
94
|
+
}
|
|
95
|
+
return void 0;
|
|
96
|
+
}
|
|
97
|
+
var scalarTypesBySchema = /* @__PURE__ */ new Map();
|
|
98
|
+
var enumTypesBySchema = /* @__PURE__ */ new Map();
|
|
99
|
+
function getSchemaScalarTypes(schemaFragment) {
|
|
100
|
+
let scalarTypes = scalarTypesBySchema.get(schemaFragment.schemaId);
|
|
101
|
+
if (!scalarTypes) {
|
|
102
|
+
scalarTypes = /* @__PURE__ */ new Map();
|
|
103
|
+
scalarTypesBySchema.set(schemaFragment.schemaId, scalarTypes);
|
|
104
|
+
}
|
|
105
|
+
return scalarTypes;
|
|
106
|
+
}
|
|
107
|
+
function getSchemaEnumTypes(schemaFragment) {
|
|
108
|
+
let enumTypes = enumTypesBySchema.get(schemaFragment.schemaId);
|
|
109
|
+
if (!enumTypes) {
|
|
110
|
+
enumTypes = /* @__PURE__ */ new Map();
|
|
111
|
+
enumTypesBySchema.set(schemaFragment.schemaId, enumTypes);
|
|
112
|
+
}
|
|
113
|
+
return enumTypes;
|
|
114
|
+
}
|
|
29
115
|
export {
|
|
116
|
+
getAbstractTypeResolver,
|
|
117
|
+
getFieldResolver,
|
|
118
|
+
getLeafTypeResolver,
|
|
119
|
+
getSubscriptionFieldResolver,
|
|
30
120
|
isInterfaceTypeResolver,
|
|
31
121
|
isScalarTypeResolver,
|
|
32
122
|
isSpecifiedScalarType,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/schema/resolvers.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n Resolver,\n UserUnionTypeResolver,\n UserInterfaceTypeResolver,\n ScalarTypeResolver,\n} from \"../types\";\nimport {\n GraphQLBoolean,\n GraphQLFloat,\n GraphQLID,\n GraphQLInt,\n GraphQLString,\n isScalarType,\n} from \"graphql\";\n\nexport function isInterfaceTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserInterfaceTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserUnionTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isScalarTypeResolver(\n resolver: unknown,\n): resolver is ScalarTypeResolver {\n return isScalarType(resolver);\n}\n\nexport
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import {\n Resolver,\n UserUnionTypeResolver,\n UserInterfaceTypeResolver,\n ScalarTypeResolver,\n FunctionFieldResolver,\n SchemaId,\n SchemaFragment,\n ObjectTypeResolver,\n TypeResolver,\n} from \"../types\";\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLID,\n GraphQLInt,\n GraphQLLeafType,\n GraphQLScalarType,\n GraphQLString,\n isScalarType,\n} from \"graphql\";\nimport { TypeName, typeNameFromReference, TypeReference } from \"./reference\";\nimport {\n getEnumValues,\n getLeafType,\n isEnumTypeDefinition,\n isScalarTypeDefinition,\n} from \"./definition\";\nimport { isObjectLike } from \"../jsutils/isObjectLike\";\n\nconst resolveTypeName: FunctionFieldResolver<unknown, unknown> = (\n _source,\n _args,\n _context,\n info,\n) => info.parentTypeName;\n\nconst emptyObject = Object.freeze(Object.create(null));\n\nexport const specifiedScalarResolvers: { [key: string]: ScalarTypeResolver } = {\n ID: GraphQLID,\n String: GraphQLString,\n Int: GraphQLInt,\n Float: GraphQLFloat,\n Boolean: GraphQLBoolean,\n};\n\nexport function isSpecifiedScalarType(typeName: string): boolean {\n return !!specifiedScalarResolvers[typeName];\n}\n\nexport function isInterfaceTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserInterfaceTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isUnionTypeResolver(\n resolver: Resolver<unknown, unknown>,\n): resolver is UserUnionTypeResolver {\n return resolver && \"__resolveType\" in resolver;\n}\n\nexport function isScalarTypeResolver(\n resolver: unknown,\n): resolver is ScalarTypeResolver {\n return isScalarType(resolver);\n}\n\nexport function getFieldResolver(\n schemaFragment: SchemaFragment,\n typeName: TypeName,\n fieldName: string,\n): FunctionFieldResolver<unknown, unknown> | undefined {\n if (fieldName === \"__typename\") {\n return resolveTypeName;\n }\n // TODO: sanity check that this is an object type resolver\n const typeResolvers = schemaFragment.resolvers[typeName] as\n | ObjectTypeResolver<unknown, unknown, unknown>\n | undefined;\n const fieldResolver = typeResolvers?.[fieldName];\n return typeof fieldResolver === \"function\"\n ? fieldResolver\n : fieldResolver?.resolve;\n}\n\nexport function getSubscriptionFieldResolver(\n schemaFragment: SchemaFragment,\n subscriptionTypeName: TypeName,\n fieldName: string,\n): FunctionFieldResolver<unknown, unknown> | undefined {\n // TODO: sanity check that this is an object type resolver\n const typeResolvers = schemaFragment.resolvers[subscriptionTypeName] as\n | ObjectTypeResolver<unknown, unknown, unknown>\n | undefined;\n const fieldResolver = typeResolvers?.[fieldName];\n return typeof fieldResolver === \"function\"\n ? fieldResolver\n : fieldResolver?.subscribe;\n}\n\nexport function getAbstractTypeResolver(\n schemaFragment: SchemaFragment,\n typeName: TypeName,\n): TypeResolver<unknown, unknown> | undefined {\n const resolver = schemaFragment.resolvers[typeName];\n return resolver &&\n (isUnionTypeResolver(resolver) || isInterfaceTypeResolver(resolver))\n ? resolver.__resolveType\n : undefined;\n}\n\nexport function getLeafTypeResolver(\n schemaFragment: SchemaFragment,\n typeRef: TypeReference,\n): GraphQLLeafType | undefined {\n // TODO: consider removing GraphQLEnumType and GraphQLScalarType\n const typeName = typeNameFromReference(typeRef);\n\n if (specifiedScalarResolvers[typeName]) {\n return specifiedScalarResolvers[typeName];\n }\n\n const typeDef = getLeafType(schemaFragment.definitions, typeRef);\n if (!typeDef) {\n // TODO: Could be still in resolvers (i.e., add \"found in resolvers, not found in schema\" error?)\n return undefined;\n }\n if (isScalarTypeDefinition(typeDef)) {\n const scalarTypesMap = getSchemaScalarTypes(schemaFragment);\n let scalarType = scalarTypesMap.get(typeName);\n if (!scalarType) {\n const tmp = schemaFragment.resolvers[typeName];\n scalarType = isScalarTypeResolver(tmp)\n ? tmp\n : new GraphQLScalarType({ name: typeName, description: \"\" });\n scalarTypesMap.set(typeName, scalarType);\n }\n return scalarType;\n }\n if (isEnumTypeDefinition(typeDef)) {\n const enumTypesMap = getSchemaEnumTypes(schemaFragment);\n let enumType = enumTypesMap.get(typeName);\n if (!enumType) {\n const tmp = schemaFragment.resolvers[typeName]; // Can only be graphql-tools map\n const customValues = isObjectLike(tmp) ? tmp : emptyObject;\n\n const values: Record<string, object> = {};\n for (const value of getEnumValues(typeDef)) {\n values[value] =\n typeof customValues[value] !== \"undefined\"\n ? { value: customValues[value] }\n : {};\n }\n enumType = new GraphQLEnumType({\n name: typeName,\n values,\n });\n enumTypesMap.set(typeName, enumType);\n }\n return enumType;\n }\n return undefined;\n}\n\ntype ScalarTypeMap = Map<TypeName, GraphQLScalarType>;\ntype EnumTypeMap = Map<TypeName, GraphQLEnumType>;\n\nconst scalarTypesBySchema = new Map<SchemaId, ScalarTypeMap>();\nconst enumTypesBySchema = new Map<SchemaId, EnumTypeMap>();\n\nfunction getSchemaScalarTypes(schemaFragment: SchemaFragment) {\n let scalarTypes = scalarTypesBySchema.get(schemaFragment.schemaId);\n if (!scalarTypes) {\n scalarTypes = new Map<TypeName, GraphQLScalarType>();\n scalarTypesBySchema.set(schemaFragment.schemaId, scalarTypes);\n }\n return scalarTypes;\n}\n\nfunction getSchemaEnumTypes(schemaFragment: SchemaFragment) {\n let enumTypes = enumTypesBySchema.get(schemaFragment.schemaId);\n if (!enumTypes) {\n enumTypes = new Map<TypeName, GraphQLEnumType>();\n enumTypesBySchema.set(schemaFragment.schemaId, enumTypes);\n }\n return enumTypes;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { ObjMap } from "./jsutils/ObjMap";
|
|
|
5
5
|
import { Path } from "./jsutils/Path";
|
|
6
6
|
import { ExecutionHooks } from "./hooks/types";
|
|
7
7
|
import { FieldGroup } from "./collectFields";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { OperationTypes, SchemaDefinitions } from "./schema/definition";
|
|
9
|
+
import { TypeName } from "./schema/reference";
|
|
10
10
|
export type ScalarTypeResolver = GraphQLScalarType;
|
|
11
11
|
export type EnumTypeResolver = Record<string, unknown>;
|
|
12
12
|
export type FunctionFieldResolver<TSource, TContext, TArgs = Record<string, unknown>, TReturn = unknown> = (source: TSource, args: TArgs, context: TContext, info: ResolveInfo) => TReturn;
|
|
@@ -137,4 +137,27 @@ export type ExecutionWithSchemaArgs = CommonExecutionArgs & {
|
|
|
137
137
|
resolvers: UserResolvers;
|
|
138
138
|
};
|
|
139
139
|
};
|
|
140
|
+
export type SchemaId = string;
|
|
141
|
+
export type SchemaFragment = {
|
|
142
|
+
schemaId: SchemaId;
|
|
143
|
+
definitions: SchemaDefinitions;
|
|
144
|
+
resolvers: UserResolvers;
|
|
145
|
+
operationTypes?: OperationTypes;
|
|
146
|
+
};
|
|
147
|
+
export type SchemaFragmentForReturnTypeRequest = {
|
|
148
|
+
kind: "ReturnType";
|
|
149
|
+
parentTypeName: TypeName;
|
|
150
|
+
fieldName: string;
|
|
151
|
+
};
|
|
152
|
+
export type SchemaFragmentForRuntimeTypeRequest = {
|
|
153
|
+
kind: "RuntimeType";
|
|
154
|
+
abstractTypeName: TypeName;
|
|
155
|
+
runtimeTypeName: TypeName;
|
|
156
|
+
};
|
|
157
|
+
export type SchemaFragmentRequest = SchemaFragmentForReturnTypeRequest | SchemaFragmentForRuntimeTypeRequest;
|
|
158
|
+
export type SchemaFragmentLoaderResult = {
|
|
159
|
+
mergedFragment: SchemaFragment;
|
|
160
|
+
mergedContextValue?: unknown;
|
|
161
|
+
};
|
|
162
|
+
export type SchemaFragmentLoader = (currentFragment: SchemaFragment, currentContextValue: unknown, req: SchemaFragmentRequest) => Promise<SchemaFragmentLoaderResult>;
|
|
140
163
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/types.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n GraphQLError,\n GraphQLFormattedError,\n GraphQLScalarType,\n DocumentNode,\n FragmentDefinitionNode,\n OperationDefinitionNode,\n} from \"graphql\";\nimport { Maybe } from \"./jsutils/Maybe\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { ObjMap } from \"./jsutils/ObjMap\";\nimport { Path } from \"./jsutils/Path\";\nimport { ExecutionHooks } from \"./hooks/types\";\nimport { FieldGroup } from \"./collectFields\";\nimport {
|
|
4
|
+
"sourcesContent": ["import {\n GraphQLError,\n GraphQLFormattedError,\n GraphQLScalarType,\n DocumentNode,\n FragmentDefinitionNode,\n OperationDefinitionNode,\n} from \"graphql\";\nimport { Maybe } from \"./jsutils/Maybe\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { ObjMap } from \"./jsutils/ObjMap\";\nimport { Path } from \"./jsutils/Path\";\nimport { ExecutionHooks } from \"./hooks/types\";\nimport { FieldGroup } from \"./collectFields\";\nimport { OperationTypes, SchemaDefinitions } from \"./schema/definition\";\nimport { TypeName } from \"./schema/reference\";\n\nexport type ScalarTypeResolver = GraphQLScalarType;\nexport type EnumTypeResolver = Record<string, unknown>;\nexport type FunctionFieldResolver<\n TSource,\n TContext,\n TArgs = Record<string, unknown>,\n TReturn = unknown,\n> = (\n source: TSource,\n args: TArgs,\n context: TContext,\n info: ResolveInfo,\n) => TReturn;\n\nexport type FieldResolver<\n TSource,\n TContext,\n TArgs = Record<string, unknown>,\n TReturn = unknown,\n> =\n | FunctionFieldResolver<TSource, TContext, TArgs, TReturn>\n | FieldResolverObject<TSource, TContext, TArgs, TReturn>;\n\nexport type FieldResolverObject<\n TSource,\n TContext,\n TArgs = Record<string, unknown>,\n TReturn = unknown,\n> = {\n subscribe?: FunctionFieldResolver<TSource, TContext, TArgs, TReturn>;\n resolve?: FunctionFieldResolver<TSource, TContext, TArgs, TReturn>;\n};\n\nexport type TypeResolver<TSource, TContext> = (\n value: TSource,\n context: TContext,\n info: ResolveInfo,\n) => PromiseOrValue<Maybe<string>>;\n\nexport type ObjectTypeResolver<\n TSource = unknown,\n TContext = unknown,\n TArgs = unknown,\n> = {\n [key: string]: FieldResolver<TSource, TContext, TArgs>;\n};\n\nexport type UserInterfaceTypeResolver = {\n __resolveType?: TypeResolver<unknown, unknown>;\n};\n\nexport type UserUnionTypeResolver = {\n __resolveType?: TypeResolver<unknown, unknown>;\n};\n\nexport type UserResolver<TSource, TContext> =\n | ObjectTypeResolver<TSource, TContext>\n | UserInterfaceTypeResolver\n | UserUnionTypeResolver\n | ScalarTypeResolver\n | EnumTypeResolver;\n\n// TODO: Keep only UserResolver\nexport type Resolver<TSource, TContext> = UserResolver<TSource, TContext>;\n\nexport type Resolvers<TSource = unknown, TContext = unknown> = UserResolvers<\n TSource,\n TContext\n>;\n\nexport type UserResolvers<TSource = unknown, TContext = unknown> = Record<\n string,\n UserResolver<TSource, TContext>\n>;\n\nexport interface ResolveInfo {\n fieldName: string;\n fieldGroup: FieldGroup;\n returnTypeName: string;\n parentTypeName: string;\n // readonly returnType: GraphQLOutputType;\n // readonly parentType: GraphQLObjectType;\n path: Path;\n // readonly schema: GraphQLSchema;\n fragments: ObjMap<FragmentDefinitionNode>;\n rootValue: unknown;\n operation: OperationDefinitionNode;\n variableValues: { [variable: string]: unknown };\n}\n\nexport type ExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> =\n | TotalExecutionResult<TData, TExtensions>\n | SubscriptionExecutionResult<TData, TExtensions>\n | IncrementalExecutionResult<TData, TExtensions>;\n\n/**\n * The result of GraphQL execution.\n *\n * - `errors` is included when any errors occurred as a non-empty array.\n * - `data` is the result of a successful execution of the query.\n * - `hasNext` is true if a future payload is expected.\n * - `extensions` is reserved for adding non-standard properties.\n * - `incremental` is a list of the results from defer/stream directives.\n */\nexport interface TotalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLError>;\n data?: TData | null;\n extensions?: TExtensions;\n}\n\nexport type SubscriptionExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> = AsyncGenerator<TotalExecutionResult<TData, TExtensions>>;\n\nexport interface FormattedTotalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLFormattedError>;\n data?: TData | null;\n extensions?: TExtensions;\n}\n\nexport interface IncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n initialResult: InitialIncrementalExecutionResult<TData, TExtensions>;\n subsequentResults: AsyncGenerator<\n SubsequentIncrementalExecutionResult<TData, TExtensions>,\n void,\n void\n >;\n}\n\nexport interface InitialIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends TotalExecutionResult<TData, TExtensions> {\n hasNext: boolean;\n incremental?: ReadonlyArray<IncrementalResult<TData, TExtensions>>;\n extensions?: TExtensions;\n}\n\nexport interface FormattedInitialIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends FormattedTotalExecutionResult<TData, TExtensions> {\n hasNext: boolean;\n incremental?: ReadonlyArray<FormattedIncrementalResult<TData, TExtensions>>;\n extensions?: TExtensions;\n}\n\nexport interface SubsequentIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n hasNext: boolean;\n incremental?: ReadonlyArray<IncrementalResult<TData, TExtensions>>;\n extensions?: TExtensions;\n}\n\nexport interface FormattedSubsequentIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n hasNext: boolean;\n incremental?: ReadonlyArray<FormattedIncrementalResult<TData, TExtensions>>;\n extensions?: TExtensions;\n}\n\nexport interface IncrementalDeferResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends TotalExecutionResult<TData, TExtensions> {\n path?: ReadonlyArray<string | number>;\n label?: string;\n}\n\nexport interface FormattedIncrementalDeferResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends FormattedTotalExecutionResult<TData, TExtensions> {\n path?: ReadonlyArray<string | number>;\n label?: string;\n}\n\nexport interface IncrementalStreamResult<\n TData = Array<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLError>;\n items?: TData | null;\n path?: ReadonlyArray<string | number>;\n label?: string;\n extensions?: TExtensions;\n}\n\nexport interface FormattedIncrementalStreamResult<\n TData = Array<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLFormattedError>;\n items?: TData | null;\n path?: ReadonlyArray<string | number>;\n label?: string;\n extensions?: TExtensions;\n}\n\nexport type IncrementalResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> =\n | IncrementalDeferResult<TData, TExtensions>\n | IncrementalStreamResult<TData, TExtensions>;\n\nexport type FormattedIncrementalResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> =\n | FormattedIncrementalDeferResult<TData, TExtensions>\n | FormattedIncrementalStreamResult<TData, TExtensions>;\n\nexport interface CommonExecutionArgs {\n rootValue?: unknown;\n contextValue?: unknown;\n buildContextValue?: (contextValue?: unknown) => unknown;\n variableValues?: Maybe<{ [variable: string]: unknown }>;\n operationName?: Maybe<string>;\n fieldResolver?: Maybe<FunctionFieldResolver<unknown, unknown>>;\n typeResolver?: Maybe<TypeResolver<unknown, unknown>>;\n subscribeFieldResolver?: Maybe<FunctionFieldResolver<unknown, unknown>>;\n fieldExecutionHooks?: ExecutionHooks;\n}\nexport type ExecutionWithoutSchemaArgs = CommonExecutionArgs & {\n document: DocumentNode;\n schemaFragment: SchemaFragment;\n schemaFragmentLoader?: SchemaFragmentLoader;\n};\n\nexport type ExecutionWithSchemaArgs = CommonExecutionArgs & {\n document: DocumentNode;\n schema: {\n schemaId: string;\n definitions: DocumentNode;\n resolvers: UserResolvers;\n };\n};\n\nexport type SchemaId = string;\n\nexport type SchemaFragment = {\n schemaId: SchemaId;\n definitions: SchemaDefinitions;\n resolvers: UserResolvers;\n operationTypes?: OperationTypes;\n};\n\nexport type SchemaFragmentForReturnTypeRequest = {\n kind: \"ReturnType\";\n parentTypeName: TypeName;\n fieldName: string;\n};\nexport type SchemaFragmentForRuntimeTypeRequest = {\n kind: \"RuntimeType\";\n abstractTypeName: TypeName;\n runtimeTypeName: TypeName;\n};\n\nexport type SchemaFragmentRequest =\n | SchemaFragmentForReturnTypeRequest\n | SchemaFragmentForRuntimeTypeRequest;\n\nexport type SchemaFragmentLoaderResult = {\n mergedFragment: SchemaFragment;\n mergedContextValue?: unknown;\n};\n\nexport type SchemaFragmentLoader = (\n currentFragment: SchemaFragment,\n currentContextValue: unknown,\n req: SchemaFragmentRequest,\n) => Promise<SchemaFragmentLoaderResult>;\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { GraphQLError } from "graphql";
|
|
2
|
-
import { TypeReference } from "../schema/
|
|
3
|
-
import {
|
|
2
|
+
import { TypeReference } from "../schema/reference";
|
|
3
|
+
import { SchemaFragment } from "../types";
|
|
4
4
|
type OnErrorCB = (path: ReadonlyArray<string | number>, invalidValue: unknown, error: GraphQLError) => void;
|
|
5
5
|
/**
|
|
6
6
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
7
7
|
*/
|
|
8
|
-
export declare function coerceInputValue(inputValue: unknown, typeRef: TypeReference,
|
|
8
|
+
export declare function coerceInputValue(inputValue: unknown, typeRef: TypeReference, schemaFragment: SchemaFragment, onError?: OnErrorCB): unknown;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=coerceInputValue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerceInputValue.d.ts","sourceRoot":"","sources":["../../src/utilities/coerceInputValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,OAAO,
|
|
1
|
+
{"version":3,"file":"coerceInputValue.d.ts","sourceRoot":"","sources":["../../src/utilities/coerceInputValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,OAAO,EACL,aAAa,EAKd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS1C,KAAK,SAAS,GAAG,CACf,IAAI,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,EACpC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,YAAY,KAChB,IAAI,CAAC;AAEV;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,SAA0B,GAClC,OAAO,CAQT"}
|
|
@@ -31,11 +31,13 @@ var import_Path = require("../jsutils/Path");
|
|
|
31
31
|
var import_printPathArray = require("../jsutils/printPathArray");
|
|
32
32
|
var import_suggestionList = require("../jsutils/suggestionList");
|
|
33
33
|
var import_reference = require("../schema/reference");
|
|
34
|
-
|
|
34
|
+
var import_definition = require("../schema/definition");
|
|
35
|
+
var import_resolvers = require("../schema/resolvers");
|
|
36
|
+
function coerceInputValue(inputValue, typeRef, schemaFragment, onError = defaultOnError) {
|
|
35
37
|
return coerceInputValueImpl(
|
|
36
38
|
inputValue,
|
|
37
39
|
typeRef,
|
|
38
|
-
|
|
40
|
+
schemaFragment,
|
|
39
41
|
onError,
|
|
40
42
|
void 0
|
|
41
43
|
);
|
|
@@ -48,13 +50,13 @@ function defaultOnError(path, invalidValue, error) {
|
|
|
48
50
|
error.message = errorPrefix + ": " + error.message;
|
|
49
51
|
throw error;
|
|
50
52
|
}
|
|
51
|
-
function coerceInputValueImpl(inputValue, typeRef,
|
|
53
|
+
function coerceInputValueImpl(inputValue, typeRef, schemaFragment, onError, path) {
|
|
52
54
|
if ((0, import_reference.isNonNullType)(typeRef)) {
|
|
53
55
|
if (inputValue != null) {
|
|
54
56
|
return coerceInputValueImpl(
|
|
55
57
|
inputValue,
|
|
56
58
|
(0, import_reference.unwrap)(typeRef),
|
|
57
|
-
|
|
59
|
+
schemaFragment,
|
|
58
60
|
onError,
|
|
59
61
|
path
|
|
60
62
|
);
|
|
@@ -81,17 +83,20 @@ function coerceInputValueImpl(inputValue, typeRef, schemaTypes, onError, path) {
|
|
|
81
83
|
return coerceInputValueImpl(
|
|
82
84
|
itemValue,
|
|
83
85
|
itemType,
|
|
84
|
-
|
|
86
|
+
schemaFragment,
|
|
85
87
|
onError,
|
|
86
88
|
itemPath
|
|
87
89
|
);
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
return [
|
|
91
|
-
coerceInputValueImpl(inputValue, itemType,
|
|
93
|
+
coerceInputValueImpl(inputValue, itemType, schemaFragment, onError, path)
|
|
92
94
|
];
|
|
93
95
|
}
|
|
94
|
-
const inputObjectType =
|
|
96
|
+
const inputObjectType = (0, import_definition.getInputObjectType)(
|
|
97
|
+
schemaFragment.definitions,
|
|
98
|
+
typeRef
|
|
99
|
+
);
|
|
95
100
|
if (inputObjectType) {
|
|
96
101
|
const typeName = (0, import_reference.inspectTypeReference)(typeRef);
|
|
97
102
|
if (!(0, import_isObjectLike.isObjectLike)(inputValue)) {
|
|
@@ -103,11 +108,11 @@ function coerceInputValueImpl(inputValue, typeRef, schemaTypes, onError, path) {
|
|
|
103
108
|
return;
|
|
104
109
|
}
|
|
105
110
|
const coercedValue = {};
|
|
106
|
-
const fieldDefs =
|
|
111
|
+
const fieldDefs = (0, import_definition.getInputObjectFields)(inputObjectType);
|
|
107
112
|
for (const [fieldName, field] of Object.entries(fieldDefs)) {
|
|
108
113
|
const fieldValue = inputValue[fieldName];
|
|
109
|
-
const defaultValue =
|
|
110
|
-
const fieldTypeRef =
|
|
114
|
+
const defaultValue = (0, import_definition.getInputDefaultValue)(field);
|
|
115
|
+
const fieldTypeRef = (0, import_definition.getInputValueTypeReference)(field);
|
|
111
116
|
if (fieldValue === void 0) {
|
|
112
117
|
if (defaultValue !== void 0) {
|
|
113
118
|
coercedValue[fieldName] = defaultValue;
|
|
@@ -126,7 +131,7 @@ function coerceInputValueImpl(inputValue, typeRef, schemaTypes, onError, path) {
|
|
|
126
131
|
coercedValue[fieldName] = coerceInputValueImpl(
|
|
127
132
|
fieldValue,
|
|
128
133
|
fieldTypeRef,
|
|
129
|
-
|
|
134
|
+
schemaFragment,
|
|
130
135
|
onError,
|
|
131
136
|
(0, import_Path.addPath)(path, fieldName, typeName)
|
|
132
137
|
);
|
|
@@ -145,7 +150,7 @@ function coerceInputValueImpl(inputValue, typeRef, schemaTypes, onError, path) {
|
|
|
145
150
|
}
|
|
146
151
|
return coercedValue;
|
|
147
152
|
}
|
|
148
|
-
const leafType =
|
|
153
|
+
const leafType = (0, import_resolvers.getLeafTypeResolver)(schemaFragment, typeRef);
|
|
149
154
|
if (leafType) {
|
|
150
155
|
let parseResult;
|
|
151
156
|
try {
|