@graphql-tools/schema 6.2.5-alpha-624d205a.0 → 7.0.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/checkForResolveTypeResolver.d.ts +2 -1
- package/es5/checkForResolveTypeResolver.d.ts +2 -1
- package/es5/index.cjs.js +40 -28
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.esm.js +41 -29
- package/es5/index.esm.js.map +1 -1
- package/es5/makeExecutableSchema.d.ts +1 -1
- package/es5/package.json +2 -2
- package/index.cjs.js +42 -32
- package/index.cjs.js.map +1 -1
- package/index.esm.js +43 -33
- package/index.esm.js.map +1 -1
- package/makeExecutableSchema.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { GraphQLSchema } from 'graphql';
|
|
2
|
-
|
|
2
|
+
import { ValidatorBehavior } from '@graphql-tools/utils';
|
|
3
|
+
export declare function checkForResolveTypeResolver(schema: GraphQLSchema, requireResolversForResolveType?: ValidatorBehavior): void;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { GraphQLSchema } from 'graphql';
|
|
2
|
-
|
|
2
|
+
import { ValidatorBehavior } from '@graphql-tools/utils';
|
|
3
|
+
export declare function checkForResolveTypeResolver(schema: GraphQLSchema, requireResolversForResolveType?: ValidatorBehavior): void;
|
package/es5/index.cjs.js
CHANGED
|
@@ -73,7 +73,7 @@ function runAtMostOncePerRequest(fn) {
|
|
|
73
73
|
|
|
74
74
|
function assertResolversPresent(schema, resolverValidationOptions) {
|
|
75
75
|
if (resolverValidationOptions === void 0) { resolverValidationOptions = {}; }
|
|
76
|
-
var
|
|
76
|
+
var requireResolversForArgs = resolverValidationOptions.requireResolversForArgs, requireResolversForNonScalar = resolverValidationOptions.requireResolversForNonScalar, requireResolversForAllFields = resolverValidationOptions.requireResolversForAllFields;
|
|
77
77
|
if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {
|
|
78
78
|
throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +
|
|
79
79
|
'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +
|
|
@@ -82,22 +82,28 @@ function assertResolversPresent(schema, resolverValidationOptions) {
|
|
|
82
82
|
utils.forEachField(schema, function (field, typeName, fieldName) {
|
|
83
83
|
// requires a resolver for *every* field.
|
|
84
84
|
if (requireResolversForAllFields) {
|
|
85
|
-
expectResolver(field, typeName, fieldName);
|
|
85
|
+
expectResolver('requireResolversForAllFields', requireResolversForAllFields, field, typeName, fieldName);
|
|
86
86
|
}
|
|
87
87
|
// requires a resolver on every field that has arguments
|
|
88
88
|
if (requireResolversForArgs && field.args.length > 0) {
|
|
89
|
-
expectResolver(field, typeName, fieldName);
|
|
89
|
+
expectResolver('requireResolversForArgs', requireResolversForArgs, field, typeName, fieldName);
|
|
90
90
|
}
|
|
91
91
|
// requires a resolver on every field that returns a non-scalar type
|
|
92
|
-
if (requireResolversForNonScalar && !graphql.isScalarType(graphql.getNamedType(field.type))) {
|
|
93
|
-
expectResolver(field, typeName, fieldName);
|
|
92
|
+
if (requireResolversForNonScalar !== 'ignore' && !graphql.isScalarType(graphql.getNamedType(field.type))) {
|
|
93
|
+
expectResolver('requireResolversForNonScalar', requireResolversForNonScalar, field, typeName, fieldName);
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
-
function expectResolver(field, typeName, fieldName) {
|
|
97
|
+
function expectResolver(validator, behavior, field, typeName, fieldName) {
|
|
98
98
|
if (!field.resolve) {
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
var message = "Resolver missing for \"" + typeName + "." + fieldName + "\".\nTo disable this validator, use:\n resolverValidationOptions: {\n " + validator + ": 'ignore'\n }";
|
|
100
|
+
if (behavior === 'error') {
|
|
101
|
+
throw new Error(message);
|
|
102
|
+
}
|
|
103
|
+
if (behavior === 'warn') {
|
|
104
|
+
// eslint-disable-next-line no-console
|
|
105
|
+
console.warn(message);
|
|
106
|
+
}
|
|
101
107
|
return;
|
|
102
108
|
}
|
|
103
109
|
if (typeof field.resolve !== 'function') {
|
|
@@ -278,22 +284,25 @@ function decorateWithLogger(fn, logger, hint) {
|
|
|
278
284
|
};
|
|
279
285
|
}
|
|
280
286
|
|
|
281
|
-
// If we have any union or interface types throw if no there is no resolveType
|
|
287
|
+
// If we have any union or interface types throw if no there is no resolveType resolver
|
|
282
288
|
function checkForResolveTypeResolver(schema, requireResolversForResolveType) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
289
|
+
var _a;
|
|
290
|
+
utils.mapSchema(schema, (_a = {},
|
|
291
|
+
_a[utils.MapperKind.ABSTRACT_TYPE] = function (type) {
|
|
292
|
+
if (!type.resolveType && requireResolversForResolveType) {
|
|
293
|
+
var message = "Type \"" + type.name + "\" is missing a \"__resolveType\" resolver. Pass 'ignore' into " +
|
|
294
|
+
'"resolverValidationOptions.requireResolversForResolveType" to disable this error.';
|
|
295
|
+
if (requireResolversForResolveType === 'error') {
|
|
296
|
+
throw new Error(message);
|
|
297
|
+
}
|
|
298
|
+
if (requireResolversForResolveType === 'warn') {
|
|
299
|
+
// eslint-disable-next-line no-console
|
|
300
|
+
console.warn(message);
|
|
301
|
+
}
|
|
292
302
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
});
|
|
303
|
+
return undefined;
|
|
304
|
+
},
|
|
305
|
+
_a));
|
|
297
306
|
}
|
|
298
307
|
|
|
299
308
|
function extendResolversFromInterfaces(schema, resolvers) {
|
|
@@ -336,7 +345,7 @@ function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInput
|
|
|
336
345
|
}
|
|
337
346
|
: schemaOrOptions;
|
|
338
347
|
var schema = options.schema, inputResolvers = options.resolvers, defaultFieldResolver = options.defaultFieldResolver, _a = options.resolverValidationOptions, resolverValidationOptions = _a === void 0 ? {} : _a, _b = options.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _b === void 0 ? false : _b, _c = options.updateResolversInPlace, updateResolversInPlace = _c === void 0 ? false : _c;
|
|
339
|
-
var _d = resolverValidationOptions.
|
|
348
|
+
var _d = resolverValidationOptions.requireResolversToMatchSchema, requireResolversToMatchSchema = _d === void 0 ? 'error' : _d, requireResolversForResolveType = resolverValidationOptions.requireResolversForResolveType;
|
|
340
349
|
var resolvers = inheritResolversFromInterfaces
|
|
341
350
|
? extendResolversFromInterfaces(schema, inputResolvers)
|
|
342
351
|
: inputResolvers;
|
|
@@ -354,7 +363,7 @@ function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInput
|
|
|
354
363
|
}
|
|
355
364
|
var type_1 = schema.getType(typeName);
|
|
356
365
|
if (type_1 == null) {
|
|
357
|
-
if (
|
|
366
|
+
if (requireResolversToMatchSchema === 'ignore') {
|
|
358
367
|
return;
|
|
359
368
|
}
|
|
360
369
|
throw new Error("\"" + typeName + "\" defined in resolvers, but not in schema");
|
|
@@ -375,14 +384,17 @@ function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInput
|
|
|
375
384
|
Object.keys(resolverValue).forEach(function (fieldName) {
|
|
376
385
|
if (!fieldName.startsWith('__') &&
|
|
377
386
|
!values_1.some(function (value) { return value.name === fieldName; }) &&
|
|
378
|
-
|
|
387
|
+
requireResolversToMatchSchema &&
|
|
388
|
+
requireResolversToMatchSchema !== 'ignore') {
|
|
379
389
|
throw new Error(type_1.name + "." + fieldName + " was defined in resolvers, but not present within " + type_1.name);
|
|
380
390
|
}
|
|
381
391
|
});
|
|
382
392
|
}
|
|
383
393
|
else if (graphql.isUnionType(type_1)) {
|
|
384
394
|
Object.keys(resolverValue).forEach(function (fieldName) {
|
|
385
|
-
if (!fieldName.startsWith('__') &&
|
|
395
|
+
if (!fieldName.startsWith('__') &&
|
|
396
|
+
requireResolversToMatchSchema &&
|
|
397
|
+
requireResolversToMatchSchema !== 'ignore') {
|
|
386
398
|
throw new Error(type_1.name + "." + fieldName + " was defined in resolvers, but " + type_1.name + " is not an object or interface type");
|
|
387
399
|
}
|
|
388
400
|
});
|
|
@@ -392,7 +404,7 @@ function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInput
|
|
|
392
404
|
if (!fieldName.startsWith('__')) {
|
|
393
405
|
var fields = type_1.getFields();
|
|
394
406
|
var field = fields[fieldName];
|
|
395
|
-
if (field == null &&
|
|
407
|
+
if (field == null && requireResolversToMatchSchema && requireResolversToMatchSchema !== 'ignore') {
|
|
396
408
|
throw new Error(typeName + "." + fieldName + " defined in resolvers, but not in schema");
|
|
397
409
|
}
|
|
398
410
|
var fieldResolve = resolverValue[fieldName];
|
|
@@ -672,7 +684,7 @@ function addCatchUndefinedToSchema(schema) {
|
|
|
672
684
|
* should return an array of strings or `DocumentNode`s.
|
|
673
685
|
*
|
|
674
686
|
* Note: You can use `graphql-tag` to not only parse a string into a
|
|
675
|
-
* `DocumentNode` but also to provide
|
|
687
|
+
* `DocumentNode` but also to provide additional syntax highlighting in your
|
|
676
688
|
* editor (with the appropriate editor plugin).
|
|
677
689
|
*
|
|
678
690
|
* ```js
|
package/es5/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/schema/src/addSchemaLevelResolver.js","../../../dist-es5/schema/src/assertResolversPresent.js","../../../dist-es5/schema/src/attachDirectiveResolvers.js","../../../dist-es5/schema/src/extensionDefinitions.js","../../../dist-es5/schema/src/concatenateTypeDefs.js","../../../dist-es5/schema/src/buildSchemaFromTypeDefinitions.js","../../../dist-es5/schema/src/chainResolvers.js","../../../dist-es5/schema/src/decorateWithLogger.js","../../../dist-es5/schema/src/checkForResolveTypeResolver.js","../../../dist-es5/schema/src/extendResolversFromInterfaces.js","../../../dist-es5/schema/src/addResolversToSchema.js","../../../dist-es5/schema/src/addErrorLoggingToSchema.js","../../../dist-es5/schema/src/addCatchUndefinedToSchema.js","../../../dist-es5/schema/src/makeExecutableSchema.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\n// wraps all resolvers of query, mutation or subscription fields\n// with the provided function to simulate a root schema level resolver\nexport function addSchemaLevelResolver(schema, fn) {\n var _a;\n // TODO test that schema is a schema, fn is a function\n var fnToRunOnlyOnce = runAtMostOncePerRequest(fn);\n return mapSchema(schema, (_a = {},\n _a[MapperKind.ROOT_FIELD] = function (fieldConfig, _fieldName, typeName, schema) {\n // XXX this should run at most once per request to simulate a true root resolver\n // for graphql-js this is an approximation that works with queries but not mutations\n // XXX if the type is a subscription, a same query AST will be ran multiple times so we\n // deactivate here the runOnce if it's a subscription. This may not be optimal though...\n var subscription = schema.getSubscriptionType();\n if (subscription != null && subscription.name === typeName) {\n return __assign(__assign({}, fieldConfig), { resolve: wrapResolver(fieldConfig.resolve, fn) });\n }\n return __assign(__assign({}, fieldConfig), { resolve: wrapResolver(fieldConfig.resolve, fnToRunOnlyOnce) });\n },\n _a));\n}\n// XXX badly named function. this doesn't really wrap, it just chains resolvers...\nfunction wrapResolver(innerResolver, outerResolver) {\n return function (obj, args, ctx, info) {\n return resolveMaybePromise(outerResolver(obj, args, ctx, info), function (root) {\n if (innerResolver != null) {\n return innerResolver(root, args, ctx, info);\n }\n return defaultFieldResolver(root, args, ctx, info);\n });\n };\n}\nfunction isPromise(maybePromise) {\n return maybePromise && typeof maybePromise.then === 'function';\n}\n// resolvers can be synchronous or asynchronous. if all resolvers\n// in an operation return synchronously, the execution should return\n// synchronously. the maybe-sync/maybe-async nature of resolvers should be\n// preserved\nfunction resolveMaybePromise(maybePromise, fulfillmentCallback) {\n if (isPromise(maybePromise)) {\n return maybePromise.then(fulfillmentCallback);\n }\n return fulfillmentCallback(maybePromise);\n}\n// XXX this function only works for resolvers\n// XXX very hacky way to remember if the function\n// already ran for this request. This will only work\n// if people don't actually cache the operation.\n// if they do cache the operation, they will have to\n// manually remove the __runAtMostOnce before every request.\nfunction runAtMostOncePerRequest(fn) {\n var value;\n var randomNumber = Math.random();\n return function (root, args, ctx, info) {\n if (!info.operation['__runAtMostOnce']) {\n info.operation['__runAtMostOnce'] = {};\n }\n if (!info.operation['__runAtMostOnce'][randomNumber]) {\n info.operation['__runAtMostOnce'][randomNumber] = true;\n value = fn(root, args, ctx, info);\n }\n return value;\n };\n}\n//# sourceMappingURL=addSchemaLevelResolver.js.map","import { getNamedType, isScalarType } from 'graphql';\nimport { forEachField } from '@graphql-tools/utils';\nexport function assertResolversPresent(schema, resolverValidationOptions) {\n if (resolverValidationOptions === void 0) { resolverValidationOptions = {}; }\n var _a = resolverValidationOptions.requireResolversForArgs, requireResolversForArgs = _a === void 0 ? false : _a, _b = resolverValidationOptions.requireResolversForNonScalar, requireResolversForNonScalar = _b === void 0 ? false : _b, _c = resolverValidationOptions.requireResolversForAllFields, requireResolversForAllFields = _c === void 0 ? false : _c;\n if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {\n throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +\n 'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +\n 'requireResolversForNonScalar, but not a combination of them.');\n }\n forEachField(schema, function (field, typeName, fieldName) {\n // requires a resolver for *every* field.\n if (requireResolversForAllFields) {\n expectResolver(field, typeName, fieldName);\n }\n // requires a resolver on every field that has arguments\n if (requireResolversForArgs && field.args.length > 0) {\n expectResolver(field, typeName, fieldName);\n }\n // requires a resolver on every field that returns a non-scalar type\n if (requireResolversForNonScalar && !isScalarType(getNamedType(field.type))) {\n expectResolver(field, typeName, fieldName);\n }\n });\n}\nfunction expectResolver(field, typeName, fieldName) {\n if (!field.resolve) {\n // eslint-disable-next-line no-console\n console.warn(\"Resolver missing for \\\"\" + typeName + \".\" + fieldName + \"\\\".\\nTo disable this warning check pass;\\nresolverValidationOptions: {\\n requireResolversForNonScalar: false\\n}\\n \");\n return;\n }\n if (typeof field.resolve !== 'function') {\n throw new Error(\"Resolver \\\"\" + typeName + \".\" + fieldName + \"\\\" must be a function\");\n }\n}\n//# sourceMappingURL=assertResolversPresent.js.map","import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind, getDirectives } from '@graphql-tools/utils';\nexport function attachDirectiveResolvers(schema, directiveResolvers) {\n var _a;\n if (typeof directiveResolvers !== 'object') {\n throw new Error(\"Expected directiveResolvers to be of type object, got \" + typeof directiveResolvers);\n }\n if (Array.isArray(directiveResolvers)) {\n throw new Error('Expected directiveResolvers to be of type object, got Array');\n }\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig) {\n var newFieldConfig = __assign({}, fieldConfig);\n var directives = getDirectives(schema, fieldConfig);\n Object.keys(directives).forEach(function (directiveName) {\n if (directiveResolvers[directiveName]) {\n var resolver_1 = directiveResolvers[directiveName];\n var originalResolver_1 = newFieldConfig.resolve != null ? newFieldConfig.resolve : defaultFieldResolver;\n var directiveArgs_1 = directives[directiveName];\n newFieldConfig.resolve = function (source, originalArgs, context, info) {\n return resolver_1(function () {\n return new Promise(function (resolve, reject) {\n var result = originalResolver_1(source, originalArgs, context, info);\n if (result instanceof Error) {\n reject(result);\n }\n resolve(result);\n });\n }, source, directiveArgs_1, context, info);\n };\n }\n });\n return newFieldConfig;\n },\n _a));\n}\n//# sourceMappingURL=attachDirectiveResolvers.js.map","import { __assign } from \"tslib\";\nimport { Kind } from 'graphql';\nexport function extractExtensionDefinitions(ast) {\n var extensionDefs = ast.definitions.filter(function (def) {\n return def.kind === Kind.OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.INTERFACE_TYPE_EXTENSION ||\n def.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.UNION_TYPE_EXTENSION ||\n def.kind === Kind.ENUM_TYPE_EXTENSION ||\n def.kind === Kind.SCALAR_TYPE_EXTENSION ||\n def.kind === Kind.SCHEMA_EXTENSION;\n });\n return __assign(__assign({}, ast), { definitions: extensionDefs });\n}\nexport function filterExtensionDefinitions(ast) {\n var extensionDefs = ast.definitions.filter(function (def) {\n return def.kind !== Kind.OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.INTERFACE_TYPE_EXTENSION &&\n def.kind !== Kind.INPUT_OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.UNION_TYPE_EXTENSION &&\n def.kind !== Kind.ENUM_TYPE_EXTENSION &&\n def.kind !== Kind.SCALAR_TYPE_EXTENSION &&\n def.kind !== Kind.SCHEMA_EXTENSION;\n });\n return __assign(__assign({}, ast), { definitions: extensionDefs });\n}\n//# sourceMappingURL=extensionDefinitions.js.map","import { __read, __spread } from \"tslib\";\nimport { print } from 'graphql';\nexport function concatenateTypeDefs(typeDefinitionsAry, calledFunctionRefs) {\n if (calledFunctionRefs === void 0) { calledFunctionRefs = []; }\n var resolvedTypeDefinitions = [];\n typeDefinitionsAry.forEach(function (typeDef) {\n if (typeof typeDef === 'function') {\n if (calledFunctionRefs.indexOf(typeDef) === -1) {\n calledFunctionRefs.push(typeDef);\n resolvedTypeDefinitions = resolvedTypeDefinitions.concat(concatenateTypeDefs(typeDef(), calledFunctionRefs));\n }\n }\n else if (typeof typeDef === 'string') {\n resolvedTypeDefinitions.push(typeDef.trim());\n }\n else if (typeDef.kind !== undefined) {\n resolvedTypeDefinitions.push(print(typeDef).trim());\n }\n else {\n var type = typeof typeDef;\n throw new Error(\"typeDef array must contain only strings, documents, or functions, got \" + type);\n }\n });\n return uniq(resolvedTypeDefinitions.map(function (x) { return x.trim(); })).join('\\n');\n}\nfunction uniq(array) {\n return array.reduce(function (accumulator, currentValue) {\n return accumulator.indexOf(currentValue) === -1 ? __spread(accumulator, [currentValue]) : accumulator;\n }, []);\n}\n//# sourceMappingURL=concatenateTypeDefs.js.map","import { extendSchema, buildASTSchema } from 'graphql';\nimport { parseGraphQLSDL } from '@graphql-tools/utils';\nimport { extractExtensionDefinitions, filterExtensionDefinitions } from './extensionDefinitions';\nimport { concatenateTypeDefs } from './concatenateTypeDefs';\nexport function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions) {\n var document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);\n var typesAst = filterExtensionDefinitions(document);\n var backcompatOptions = { commentDescriptions: true };\n var schema = buildASTSchema(typesAst, backcompatOptions);\n var extensionsAst = extractExtensionDefinitions(document);\n if (extensionsAst.definitions.length > 0) {\n schema = extendSchema(schema, extensionsAst, backcompatOptions);\n }\n return schema;\n}\nexport function isDocumentNode(typeDefinitions) {\n return typeDefinitions.kind !== undefined;\n}\nexport function buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions) {\n var document;\n if (typeof typeDefinitions === 'string') {\n document = parseGraphQLSDL('', typeDefinitions, parseOptions).document;\n }\n else if (Array.isArray(typeDefinitions)) {\n document = parseGraphQLSDL('', concatenateTypeDefs(typeDefinitions), parseOptions).document;\n }\n else if (isDocumentNode(typeDefinitions)) {\n document = typeDefinitions;\n }\n else {\n var type = typeof typeDefinitions;\n throw new Error(\"typeDefs must be a string, array or schema AST, got \" + type);\n }\n return document;\n}\n//# sourceMappingURL=buildSchemaFromTypeDefinitions.js.map","import { defaultFieldResolver } from 'graphql';\nexport function chainResolvers(resolvers) {\n return function (root, args, ctx, info) {\n return resolvers.reduce(function (prev, curResolver) {\n if (curResolver != null) {\n return curResolver(prev, args, ctx, info);\n }\n return defaultFieldResolver(prev, args, ctx, info);\n }, root);\n };\n}\n//# sourceMappingURL=chainResolvers.js.map","import { defaultFieldResolver } from 'graphql';\n/*\n * fn: The function to decorate with the logger\n * logger: an object instance of type Logger\n * hint: an optional hint to add to the error's message\n */\nexport function decorateWithLogger(fn, logger, hint) {\n var resolver = fn != null ? fn : defaultFieldResolver;\n var logError = function (e) {\n // TODO: clone the error properly\n var newE = new Error();\n newE.stack = e.stack;\n /* istanbul ignore else: always get the hint from addErrorLoggingToSchema */\n if (hint) {\n newE['originalMessage'] = e.message;\n newE.message = \"Error in resolver \" + hint + \"\\n\" + e.message;\n }\n logger.log(newE);\n };\n return function (root, args, ctx, info) {\n try {\n var result = resolver(root, args, ctx, info);\n // If the resolver returns a Promise log any Promise rejects.\n if (result && typeof result.then === 'function' && typeof result.catch === 'function') {\n result.catch(function (reason) {\n // make sure that it's an error we're logging.\n var error = reason instanceof Error ? reason : new Error(reason);\n logError(error);\n // We don't want to leave an unhandled exception so pass on error.\n return reason;\n });\n }\n return result;\n }\n catch (e) {\n logError(e);\n // we want to pass on the error, just in case.\n throw e;\n }\n };\n}\n//# sourceMappingURL=decorateWithLogger.js.map","import { isAbstractType } from 'graphql';\n// If we have any union or interface types throw if no there is no resolveType or isTypeOf resolvers\nexport function checkForResolveTypeResolver(schema, requireResolversForResolveType) {\n Object.keys(schema.getTypeMap())\n .map(function (typeName) { return schema.getType(typeName); })\n .forEach(function (type) {\n if (!isAbstractType(type)) {\n return;\n }\n if (!type.resolveType) {\n if (!requireResolversForResolveType) {\n return;\n }\n throw new Error(\"Type \\\"\" + type.name + \"\\\" is missing a \\\"__resolveType\\\" resolver. Pass false into \" +\n '\"resolverValidationOptions.requireResolversForResolveType\" to disable this error.');\n }\n });\n}\n//# sourceMappingURL=checkForResolveTypeResolver.js.map","import { __assign } from \"tslib\";\nexport function extendResolversFromInterfaces(schema, resolvers) {\n var typeNames = Object.keys(__assign(__assign({}, schema.getTypeMap()), resolvers));\n var extendedResolvers = {};\n typeNames.forEach(function (typeName) {\n var type = schema.getType(typeName);\n if ('getInterfaces' in type) {\n var allInterfaceResolvers = type\n .getInterfaces()\n .map(function (iFace) { return resolvers[iFace.name]; })\n .filter(function (interfaceResolvers) { return interfaceResolvers != null; });\n extendedResolvers[typeName] = {};\n allInterfaceResolvers.forEach(function (interfaceResolvers) {\n Object.keys(interfaceResolvers).forEach(function (fieldName) {\n if (fieldName === '__isTypeOf' || !fieldName.startsWith('__')) {\n extendedResolvers[typeName][fieldName] = interfaceResolvers[fieldName];\n }\n });\n });\n var typeResolvers = resolvers[typeName];\n extendedResolvers[typeName] = __assign(__assign({}, extendedResolvers[typeName]), typeResolvers);\n }\n else {\n var typeResolvers = resolvers[typeName];\n if (typeResolvers != null) {\n extendedResolvers[typeName] = typeResolvers;\n }\n }\n });\n return extendedResolvers;\n}\n//# sourceMappingURL=extendResolversFromInterfaces.js.map","import { __assign } from \"tslib\";\nimport { GraphQLEnumType, isSchema, GraphQLScalarType, GraphQLUnionType, GraphQLInterfaceType, GraphQLObjectType, isSpecifiedScalarType, isScalarType, isEnumType, isUnionType, isInterfaceType, isObjectType, } from 'graphql';\nimport { mapSchema, MapperKind, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, forEachField, } from '@graphql-tools/utils';\nimport { checkForResolveTypeResolver } from './checkForResolveTypeResolver';\nimport { extendResolversFromInterfaces } from './extendResolversFromInterfaces';\nexport function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInputValidationOptions) {\n var options = isSchema(schemaOrOptions)\n ? {\n schema: schemaOrOptions,\n resolvers: legacyInputResolvers,\n resolverValidationOptions: legacyInputValidationOptions,\n }\n : schemaOrOptions;\n var schema = options.schema, inputResolvers = options.resolvers, defaultFieldResolver = options.defaultFieldResolver, _a = options.resolverValidationOptions, resolverValidationOptions = _a === void 0 ? {} : _a, _b = options.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _b === void 0 ? false : _b, _c = options.updateResolversInPlace, updateResolversInPlace = _c === void 0 ? false : _c;\n var _d = resolverValidationOptions.allowResolversNotInSchema, allowResolversNotInSchema = _d === void 0 ? false : _d, requireResolversForResolveType = resolverValidationOptions.requireResolversForResolveType;\n var resolvers = inheritResolversFromInterfaces\n ? extendResolversFromInterfaces(schema, inputResolvers)\n : inputResolvers;\n Object.keys(resolvers).forEach(function (typeName) {\n var resolverValue = resolvers[typeName];\n var resolverType = typeof resolverValue;\n if (typeName === '__schema') {\n if (resolverType !== 'function') {\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but has invalid value \\\"\" + resolverValue + \"\\\". A schema resolver's value must be of type object or function.\");\n }\n }\n else {\n if (resolverType !== 'object') {\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but has invalid value \\\"\" + resolverValue + \"\\\". The resolver's value must be of type object.\");\n }\n var type_1 = schema.getType(typeName);\n if (type_1 == null) {\n if (allowResolversNotInSchema) {\n return;\n }\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but not in schema\");\n }\n else if (isSpecifiedScalarType(type_1)) {\n // allow -- without recommending -- overriding of specified scalar types\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n type_1[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else {\n type_1[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type_1)) {\n var values_1 = type_1.getValues();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__') &&\n !values_1.some(function (value) { return value.name === fieldName; }) &&\n !allowResolversNotInSchema) {\n throw new Error(type_1.name + \".\" + fieldName + \" was defined in resolvers, but not present within \" + type_1.name);\n }\n });\n }\n else if (isUnionType(type_1)) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__') && !allowResolversNotInSchema) {\n throw new Error(type_1.name + \".\" + fieldName + \" was defined in resolvers, but \" + type_1.name + \" is not an object or interface type\");\n }\n });\n }\n else if (isObjectType(type_1) || isInterfaceType(type_1)) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__')) {\n var fields = type_1.getFields();\n var field = fields[fieldName];\n if (field == null && !allowResolversNotInSchema) {\n throw new Error(typeName + \".\" + fieldName + \" defined in resolvers, but not in schema\");\n }\n var fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve !== 'function' && typeof fieldResolve !== 'object') {\n throw new Error(\"Resolver \" + typeName + \".\" + fieldName + \" must be object or function\");\n }\n }\n });\n }\n }\n });\n schema = updateResolversInPlace\n ? addResolversToExistingSchema(schema, resolvers, defaultFieldResolver)\n : createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver);\n checkForResolveTypeResolver(schema, requireResolversForResolveType);\n return schema;\n}\nfunction addResolversToExistingSchema(schema, resolvers, defaultFieldResolver) {\n var typeMap = schema.getTypeMap();\n Object.keys(resolvers).forEach(function (typeName) {\n if (typeName !== '__schema') {\n var type_2 = schema.getType(typeName);\n var resolverValue_1 = resolvers[typeName];\n if (isScalarType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (fieldName.startsWith('__')) {\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n else if (fieldName === 'astNode' && type_2.astNode != null) {\n type_2.astNode = __assign(__assign({}, type_2.astNode), { description: (_c = (_b = (_a = resolverValue_1) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : type_2.astNode.description, directives: ((_d = type_2.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue_1) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && type_2.extensionASTNodes != null) {\n type_2.extensionASTNodes = ((_h = []) !== null && _h !== void 0 ? _h : type_2.extensionASTNodes).concat((_k = (_j = resolverValue_1) === null || _j === void 0 ? void 0 : _j.extensionASTNodes) !== null && _k !== void 0 ? _k : []);\n }\n else if (fieldName === 'extensions' &&\n type_2.extensions != null &&\n resolverValue_1.extensions != null) {\n type_2.extensions = Object.assign({}, type_2.extensions, resolverValue_1.extensions);\n }\n else {\n type_2[fieldName] = resolverValue_1[fieldName];\n }\n });\n }\n else if (isEnumType(type_2)) {\n var config_1 = type_2.toConfig();\n var enumValueConfigMap_1 = config_1.values;\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config_1[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n else if (fieldName === 'astNode' && config_1.astNode != null) {\n config_1.astNode = __assign(__assign({}, config_1.astNode), { description: (_c = (_b = (_a = resolverValue_1) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config_1.astNode.description, directives: ((_d = config_1.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue_1) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config_1.extensionASTNodes != null) {\n config_1.extensionASTNodes = config_1.extensionASTNodes.concat((_j = (_h = resolverValue_1) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n type_2.extensions != null &&\n resolverValue_1.extensions != null) {\n type_2.extensions = Object.assign({}, type_2.extensions, resolverValue_1.extensions);\n }\n else if (enumValueConfigMap_1[fieldName]) {\n enumValueConfigMap_1[fieldName].value = resolverValue_1[fieldName];\n }\n });\n typeMap[typeName] = new GraphQLEnumType(config_1);\n }\n else if (isUnionType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n });\n }\n else if (isObjectType(type_2) || isInterfaceType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n // this is for isTypeOf and resolveType and all the other stuff.\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n return;\n }\n var fields = type_2.getFields();\n var field = fields[fieldName];\n if (field != null) {\n var fieldResolve = resolverValue_1[fieldName];\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n field.resolve = fieldResolve;\n }\n else {\n setFieldProperties(field, fieldResolve);\n }\n }\n });\n }\n }\n });\n // serialize all default values prior to healing fields with new scalar/enum types.\n forEachDefaultValue(schema, serializeInputValue);\n // schema may have new scalar/enum types that require healing\n healSchema(schema);\n // reparse all default values with new parsing functions.\n forEachDefaultValue(schema, parseInputValue);\n if (defaultFieldResolver != null) {\n forEachField(schema, function (field) {\n if (!field.resolve) {\n field.resolve = defaultFieldResolver;\n }\n });\n }\n return schema;\n}\nfunction createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver) {\n var _a, _b;\n schema = mapSchema(schema, (_a = {},\n _a[MapperKind.SCALAR_TYPE] = function (type) {\n var config = type.toConfig();\n var resolverValue = resolvers[type.name];\n if (!isSpecifiedScalarType(type) && resolverValue != null) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = __assign(__assign({}, config.astNode), { description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description, directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n config[fieldName] = resolverValue[fieldName];\n }\n });\n return new GraphQLScalarType(config);\n }\n },\n _a[MapperKind.ENUM_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n var config = type.toConfig();\n var enumValueConfigMap = config.values;\n if (resolverValue != null) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = __assign(__assign({}, config.astNode), { description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description, directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n return new GraphQLEnumType(config);\n }\n },\n _a[MapperKind.UNION_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_2 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_2[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLUnionType(config_2);\n }\n },\n _a[MapperKind.OBJECT_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_3 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_3[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLObjectType(config_3);\n }\n },\n _a[MapperKind.INTERFACE_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_4 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_4[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLInterfaceType(config_4);\n }\n },\n _a[MapperKind.COMPOSITE_FIELD] = function (fieldConfig, fieldName, typeName) {\n var resolverValue = resolvers[typeName];\n if (resolverValue != null) {\n var fieldResolve = resolverValue[fieldName];\n if (fieldResolve != null) {\n var newFieldConfig = __assign({}, fieldConfig);\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n newFieldConfig.resolve = fieldResolve;\n }\n else {\n setFieldProperties(newFieldConfig, fieldResolve);\n }\n return newFieldConfig;\n }\n }\n },\n _a));\n if (defaultFieldResolver != null) {\n schema = mapSchema(schema, (_b = {},\n _b[MapperKind.OBJECT_FIELD] = function (fieldConfig) { return (__assign(__assign({}, fieldConfig), { resolve: fieldConfig.resolve != null ? fieldConfig.resolve : defaultFieldResolver })); },\n _b));\n }\n return schema;\n}\nfunction setFieldProperties(field, propertiesObj) {\n Object.keys(propertiesObj).forEach(function (propertyName) {\n field[propertyName] = propertiesObj[propertyName];\n });\n}\n//# sourceMappingURL=addResolversToSchema.js.map","import { __assign } from \"tslib\";\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nimport { decorateWithLogger } from './decorateWithLogger';\nexport function addErrorLoggingToSchema(schema, logger) {\n var _a;\n if (!logger) {\n throw new Error('Must provide a logger');\n }\n if (typeof logger.log !== 'function') {\n throw new Error('Logger.log must be a function');\n }\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig, fieldName, typeName) { return (__assign(__assign({}, fieldConfig), { resolve: decorateWithLogger(fieldConfig.resolve, logger, typeName + \".\" + fieldName) })); },\n _a));\n}\n//# sourceMappingURL=addErrorLoggingToSchema.js.map","import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nfunction decorateToCatchUndefined(fn, hint) {\n var resolve = fn == null ? defaultFieldResolver : fn;\n return function (root, args, ctx, info) {\n var result = resolve(root, args, ctx, info);\n if (typeof result === 'undefined') {\n throw new Error(\"Resolver for \\\"\" + hint + \"\\\" returned undefined\");\n }\n return result;\n };\n}\nexport function addCatchUndefinedToSchema(schema) {\n var _a;\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig, fieldName, typeName) { return (__assign(__assign({}, fieldConfig), { resolve: decorateToCatchUndefined(fieldConfig.resolve, typeName + \".\" + fieldName) })); },\n _a));\n}\n//# sourceMappingURL=addCatchUndefinedToSchema.js.map","import { mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils';\nimport { addResolversToSchema } from './addResolversToSchema';\nimport { attachDirectiveResolvers } from './attachDirectiveResolvers';\nimport { assertResolversPresent } from './assertResolversPresent';\nimport { addSchemaLevelResolver } from './addSchemaLevelResolver';\nimport { buildSchemaFromTypeDefinitions } from './buildSchemaFromTypeDefinitions';\nimport { addErrorLoggingToSchema } from './addErrorLoggingToSchema';\nimport { addCatchUndefinedToSchema } from './addCatchUndefinedToSchema';\n/**\n * Builds a schema from the provided type definitions and resolvers.\n *\n * The type definitions are written using Schema Definition Language (SDL). They\n * can be provided as a string, a `DocumentNode`, a function, or an array of any\n * of these. If a function is provided, it will be passed no arguments and\n * should return an array of strings or `DocumentNode`s.\n *\n * Note: You can use `graphql-tag` to not only parse a string into a\n * `DocumentNode` but also to provide additinal syntax hightlighting in your\n * editor (with the appropriate editor plugin).\n *\n * ```js\n * const typeDefs = gql`\n * type Query {\n * posts: [Post]\n * author(id: Int!): Author\n * }\n * `;\n * ```\n *\n * The `resolvers` object should be a map of type names to nested object, which\n * themselves map the type's fields to their appropriate resolvers.\n * See the [Resolvers](/docs/resolvers) section of the documentation for more details.\n *\n * ```js\n * const resolvers = {\n * Query: {\n * posts: (obj, args, ctx, info) => getAllPosts(),\n * author: (obj, args, ctx, info) => getAuthorById(args.id)\n * }\n * };\n * ```\n *\n * Once you've defined both the `typeDefs` and `resolvers`, you can create your\n * schema:\n *\n * ```js\n * const schema = makeExecutableSchema({\n * typeDefs,\n * resolvers,\n * })\n * ```\n */\nexport function makeExecutableSchema(_a) {\n var typeDefs = _a.typeDefs, _b = _a.resolvers, resolvers = _b === void 0 ? {} : _b, logger = _a.logger, _c = _a.allowUndefinedInResolve, allowUndefinedInResolve = _c === void 0 ? true : _c, _d = _a.resolverValidationOptions, resolverValidationOptions = _d === void 0 ? {} : _d, directiveResolvers = _a.directiveResolvers, schemaDirectives = _a.schemaDirectives, _e = _a.schemaTransforms, schemaTransforms = _e === void 0 ? [] : _e, _f = _a.parseOptions, parseOptions = _f === void 0 ? {} : _f, _g = _a.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _g === void 0 ? false : _g, pruningOptions = _a.pruningOptions;\n // Validate and clean up arguments\n if (typeof resolverValidationOptions !== 'object') {\n throw new Error('Expected `resolverValidationOptions` to be an object');\n }\n if (!typeDefs) {\n throw new Error('Must provide typeDefs');\n }\n // We allow passing in an array of resolver maps, in which case we merge them\n var resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;\n // Arguments are now validated and cleaned up\n var schema = buildSchemaFromTypeDefinitions(typeDefs, parseOptions);\n schema = addResolversToSchema({\n schema: schema,\n resolvers: resolverMap,\n resolverValidationOptions: resolverValidationOptions,\n inheritResolversFromInterfaces: inheritResolversFromInterfaces,\n });\n assertResolversPresent(schema, resolverValidationOptions);\n if (!allowUndefinedInResolve) {\n schema = addCatchUndefinedToSchema(schema);\n }\n if (logger != null) {\n schema = addErrorLoggingToSchema(schema, logger);\n }\n if (typeof resolvers['__schema'] === 'function') {\n // TODO a bit of a hack now, better rewrite generateSchema to attach it there.\n // not doing that now, because I'd have to rewrite a lot of tests.\n schema = addSchemaLevelResolver(schema, resolvers['__schema']);\n }\n schemaTransforms.forEach(function (schemaTransform) {\n schema = schemaTransform(schema);\n });\n // directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives\n // schema visiting modifies the schema in place\n if (directiveResolvers != null) {\n schema = attachDirectiveResolvers(schema, directiveResolvers);\n }\n if (schemaDirectives != null) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);\n }\n return pruningOptions ? pruneSchema(schema, pruningOptions) : schema;\n}\n//# sourceMappingURL=makeExecutableSchema.js.map"],"names":["mapSchema","MapperKind","__assign","defaultFieldResolver","forEachField","isScalarType","getNamedType","getDirectives","Kind","print","__spread","buildASTSchema","extendSchema","parseGraphQLSDL","isAbstractType","isSchema","isSpecifiedScalarType","isEnumType","isUnionType","isObjectType","isInterfaceType","GraphQLEnumType","forEachDefaultValue","serializeInputValue","healSchema","parseInputValue","GraphQLScalarType","GraphQLUnionType","GraphQLObjectType","GraphQLInterfaceType","mergeDeep","SchemaDirectiveVisitor","pruneSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/schema/src/addSchemaLevelResolver.js","../../../dist-es5/schema/src/assertResolversPresent.js","../../../dist-es5/schema/src/attachDirectiveResolvers.js","../../../dist-es5/schema/src/extensionDefinitions.js","../../../dist-es5/schema/src/concatenateTypeDefs.js","../../../dist-es5/schema/src/buildSchemaFromTypeDefinitions.js","../../../dist-es5/schema/src/chainResolvers.js","../../../dist-es5/schema/src/decorateWithLogger.js","../../../dist-es5/schema/src/checkForResolveTypeResolver.js","../../../dist-es5/schema/src/extendResolversFromInterfaces.js","../../../dist-es5/schema/src/addResolversToSchema.js","../../../dist-es5/schema/src/addErrorLoggingToSchema.js","../../../dist-es5/schema/src/addCatchUndefinedToSchema.js","../../../dist-es5/schema/src/makeExecutableSchema.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\n// wraps all resolvers of query, mutation or subscription fields\n// with the provided function to simulate a root schema level resolver\nexport function addSchemaLevelResolver(schema, fn) {\n var _a;\n // TODO test that schema is a schema, fn is a function\n var fnToRunOnlyOnce = runAtMostOncePerRequest(fn);\n return mapSchema(schema, (_a = {},\n _a[MapperKind.ROOT_FIELD] = function (fieldConfig, _fieldName, typeName, schema) {\n // XXX this should run at most once per request to simulate a true root resolver\n // for graphql-js this is an approximation that works with queries but not mutations\n // XXX if the type is a subscription, a same query AST will be ran multiple times so we\n // deactivate here the runOnce if it's a subscription. This may not be optimal though...\n var subscription = schema.getSubscriptionType();\n if (subscription != null && subscription.name === typeName) {\n return __assign(__assign({}, fieldConfig), { resolve: wrapResolver(fieldConfig.resolve, fn) });\n }\n return __assign(__assign({}, fieldConfig), { resolve: wrapResolver(fieldConfig.resolve, fnToRunOnlyOnce) });\n },\n _a));\n}\n// XXX badly named function. this doesn't really wrap, it just chains resolvers...\nfunction wrapResolver(innerResolver, outerResolver) {\n return function (obj, args, ctx, info) {\n return resolveMaybePromise(outerResolver(obj, args, ctx, info), function (root) {\n if (innerResolver != null) {\n return innerResolver(root, args, ctx, info);\n }\n return defaultFieldResolver(root, args, ctx, info);\n });\n };\n}\nfunction isPromise(maybePromise) {\n return maybePromise && typeof maybePromise.then === 'function';\n}\n// resolvers can be synchronous or asynchronous. if all resolvers\n// in an operation return synchronously, the execution should return\n// synchronously. the maybe-sync/maybe-async nature of resolvers should be\n// preserved\nfunction resolveMaybePromise(maybePromise, fulfillmentCallback) {\n if (isPromise(maybePromise)) {\n return maybePromise.then(fulfillmentCallback);\n }\n return fulfillmentCallback(maybePromise);\n}\n// XXX this function only works for resolvers\n// XXX very hacky way to remember if the function\n// already ran for this request. This will only work\n// if people don't actually cache the operation.\n// if they do cache the operation, they will have to\n// manually remove the __runAtMostOnce before every request.\nfunction runAtMostOncePerRequest(fn) {\n var value;\n var randomNumber = Math.random();\n return function (root, args, ctx, info) {\n if (!info.operation['__runAtMostOnce']) {\n info.operation['__runAtMostOnce'] = {};\n }\n if (!info.operation['__runAtMostOnce'][randomNumber]) {\n info.operation['__runAtMostOnce'][randomNumber] = true;\n value = fn(root, args, ctx, info);\n }\n return value;\n };\n}\n//# sourceMappingURL=addSchemaLevelResolver.js.map","import { getNamedType, isScalarType } from 'graphql';\nimport { forEachField } from '@graphql-tools/utils';\nexport function assertResolversPresent(schema, resolverValidationOptions) {\n if (resolverValidationOptions === void 0) { resolverValidationOptions = {}; }\n var requireResolversForArgs = resolverValidationOptions.requireResolversForArgs, requireResolversForNonScalar = resolverValidationOptions.requireResolversForNonScalar, requireResolversForAllFields = resolverValidationOptions.requireResolversForAllFields;\n if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {\n throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +\n 'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +\n 'requireResolversForNonScalar, but not a combination of them.');\n }\n forEachField(schema, function (field, typeName, fieldName) {\n // requires a resolver for *every* field.\n if (requireResolversForAllFields) {\n expectResolver('requireResolversForAllFields', requireResolversForAllFields, field, typeName, fieldName);\n }\n // requires a resolver on every field that has arguments\n if (requireResolversForArgs && field.args.length > 0) {\n expectResolver('requireResolversForArgs', requireResolversForArgs, field, typeName, fieldName);\n }\n // requires a resolver on every field that returns a non-scalar type\n if (requireResolversForNonScalar !== 'ignore' && !isScalarType(getNamedType(field.type))) {\n expectResolver('requireResolversForNonScalar', requireResolversForNonScalar, field, typeName, fieldName);\n }\n });\n}\nfunction expectResolver(validator, behavior, field, typeName, fieldName) {\n if (!field.resolve) {\n var message = \"Resolver missing for \\\"\" + typeName + \".\" + fieldName + \"\\\".\\nTo disable this validator, use:\\n resolverValidationOptions: {\\n \" + validator + \": 'ignore'\\n }\";\n if (behavior === 'error') {\n throw new Error(message);\n }\n if (behavior === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n return;\n }\n if (typeof field.resolve !== 'function') {\n throw new Error(\"Resolver \\\"\" + typeName + \".\" + fieldName + \"\\\" must be a function\");\n }\n}\n//# sourceMappingURL=assertResolversPresent.js.map","import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind, getDirectives } from '@graphql-tools/utils';\nexport function attachDirectiveResolvers(schema, directiveResolvers) {\n var _a;\n if (typeof directiveResolvers !== 'object') {\n throw new Error(\"Expected directiveResolvers to be of type object, got \" + typeof directiveResolvers);\n }\n if (Array.isArray(directiveResolvers)) {\n throw new Error('Expected directiveResolvers to be of type object, got Array');\n }\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig) {\n var newFieldConfig = __assign({}, fieldConfig);\n var directives = getDirectives(schema, fieldConfig);\n Object.keys(directives).forEach(function (directiveName) {\n if (directiveResolvers[directiveName]) {\n var resolver_1 = directiveResolvers[directiveName];\n var originalResolver_1 = newFieldConfig.resolve != null ? newFieldConfig.resolve : defaultFieldResolver;\n var directiveArgs_1 = directives[directiveName];\n newFieldConfig.resolve = function (source, originalArgs, context, info) {\n return resolver_1(function () {\n return new Promise(function (resolve, reject) {\n var result = originalResolver_1(source, originalArgs, context, info);\n if (result instanceof Error) {\n reject(result);\n }\n resolve(result);\n });\n }, source, directiveArgs_1, context, info);\n };\n }\n });\n return newFieldConfig;\n },\n _a));\n}\n//# sourceMappingURL=attachDirectiveResolvers.js.map","import { __assign } from \"tslib\";\nimport { Kind } from 'graphql';\nexport function extractExtensionDefinitions(ast) {\n var extensionDefs = ast.definitions.filter(function (def) {\n return def.kind === Kind.OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.INTERFACE_TYPE_EXTENSION ||\n def.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.UNION_TYPE_EXTENSION ||\n def.kind === Kind.ENUM_TYPE_EXTENSION ||\n def.kind === Kind.SCALAR_TYPE_EXTENSION ||\n def.kind === Kind.SCHEMA_EXTENSION;\n });\n return __assign(__assign({}, ast), { definitions: extensionDefs });\n}\nexport function filterExtensionDefinitions(ast) {\n var extensionDefs = ast.definitions.filter(function (def) {\n return def.kind !== Kind.OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.INTERFACE_TYPE_EXTENSION &&\n def.kind !== Kind.INPUT_OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.UNION_TYPE_EXTENSION &&\n def.kind !== Kind.ENUM_TYPE_EXTENSION &&\n def.kind !== Kind.SCALAR_TYPE_EXTENSION &&\n def.kind !== Kind.SCHEMA_EXTENSION;\n });\n return __assign(__assign({}, ast), { definitions: extensionDefs });\n}\n//# sourceMappingURL=extensionDefinitions.js.map","import { __read, __spread } from \"tslib\";\nimport { print } from 'graphql';\nexport function concatenateTypeDefs(typeDefinitionsAry, calledFunctionRefs) {\n if (calledFunctionRefs === void 0) { calledFunctionRefs = []; }\n var resolvedTypeDefinitions = [];\n typeDefinitionsAry.forEach(function (typeDef) {\n if (typeof typeDef === 'function') {\n if (calledFunctionRefs.indexOf(typeDef) === -1) {\n calledFunctionRefs.push(typeDef);\n resolvedTypeDefinitions = resolvedTypeDefinitions.concat(concatenateTypeDefs(typeDef(), calledFunctionRefs));\n }\n }\n else if (typeof typeDef === 'string') {\n resolvedTypeDefinitions.push(typeDef.trim());\n }\n else if (typeDef.kind !== undefined) {\n resolvedTypeDefinitions.push(print(typeDef).trim());\n }\n else {\n var type = typeof typeDef;\n throw new Error(\"typeDef array must contain only strings, documents, or functions, got \" + type);\n }\n });\n return uniq(resolvedTypeDefinitions.map(function (x) { return x.trim(); })).join('\\n');\n}\nfunction uniq(array) {\n return array.reduce(function (accumulator, currentValue) {\n return accumulator.indexOf(currentValue) === -1 ? __spread(accumulator, [currentValue]) : accumulator;\n }, []);\n}\n//# sourceMappingURL=concatenateTypeDefs.js.map","import { extendSchema, buildASTSchema } from 'graphql';\nimport { parseGraphQLSDL } from '@graphql-tools/utils';\nimport { extractExtensionDefinitions, filterExtensionDefinitions } from './extensionDefinitions';\nimport { concatenateTypeDefs } from './concatenateTypeDefs';\nexport function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions) {\n var document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);\n var typesAst = filterExtensionDefinitions(document);\n var backcompatOptions = { commentDescriptions: true };\n var schema = buildASTSchema(typesAst, backcompatOptions);\n var extensionsAst = extractExtensionDefinitions(document);\n if (extensionsAst.definitions.length > 0) {\n schema = extendSchema(schema, extensionsAst, backcompatOptions);\n }\n return schema;\n}\nexport function isDocumentNode(typeDefinitions) {\n return typeDefinitions.kind !== undefined;\n}\nexport function buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions) {\n var document;\n if (typeof typeDefinitions === 'string') {\n document = parseGraphQLSDL('', typeDefinitions, parseOptions).document;\n }\n else if (Array.isArray(typeDefinitions)) {\n document = parseGraphQLSDL('', concatenateTypeDefs(typeDefinitions), parseOptions).document;\n }\n else if (isDocumentNode(typeDefinitions)) {\n document = typeDefinitions;\n }\n else {\n var type = typeof typeDefinitions;\n throw new Error(\"typeDefs must be a string, array or schema AST, got \" + type);\n }\n return document;\n}\n//# sourceMappingURL=buildSchemaFromTypeDefinitions.js.map","import { defaultFieldResolver } from 'graphql';\nexport function chainResolvers(resolvers) {\n return function (root, args, ctx, info) {\n return resolvers.reduce(function (prev, curResolver) {\n if (curResolver != null) {\n return curResolver(prev, args, ctx, info);\n }\n return defaultFieldResolver(prev, args, ctx, info);\n }, root);\n };\n}\n//# sourceMappingURL=chainResolvers.js.map","import { defaultFieldResolver } from 'graphql';\n/*\n * fn: The function to decorate with the logger\n * logger: an object instance of type Logger\n * hint: an optional hint to add to the error's message\n */\nexport function decorateWithLogger(fn, logger, hint) {\n var resolver = fn != null ? fn : defaultFieldResolver;\n var logError = function (e) {\n // TODO: clone the error properly\n var newE = new Error();\n newE.stack = e.stack;\n /* istanbul ignore else: always get the hint from addErrorLoggingToSchema */\n if (hint) {\n newE['originalMessage'] = e.message;\n newE.message = \"Error in resolver \" + hint + \"\\n\" + e.message;\n }\n logger.log(newE);\n };\n return function (root, args, ctx, info) {\n try {\n var result = resolver(root, args, ctx, info);\n // If the resolver returns a Promise log any Promise rejects.\n if (result && typeof result.then === 'function' && typeof result.catch === 'function') {\n result.catch(function (reason) {\n // make sure that it's an error we're logging.\n var error = reason instanceof Error ? reason : new Error(reason);\n logError(error);\n // We don't want to leave an unhandled exception so pass on error.\n return reason;\n });\n }\n return result;\n }\n catch (e) {\n logError(e);\n // we want to pass on the error, just in case.\n throw e;\n }\n };\n}\n//# sourceMappingURL=decorateWithLogger.js.map","import { MapperKind, mapSchema } from '@graphql-tools/utils';\n// If we have any union or interface types throw if no there is no resolveType resolver\nexport function checkForResolveTypeResolver(schema, requireResolversForResolveType) {\n var _a;\n mapSchema(schema, (_a = {},\n _a[MapperKind.ABSTRACT_TYPE] = function (type) {\n if (!type.resolveType && requireResolversForResolveType) {\n var message = \"Type \\\"\" + type.name + \"\\\" is missing a \\\"__resolveType\\\" resolver. Pass 'ignore' into \" +\n '\"resolverValidationOptions.requireResolversForResolveType\" to disable this error.';\n if (requireResolversForResolveType === 'error') {\n throw new Error(message);\n }\n if (requireResolversForResolveType === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n }\n return undefined;\n },\n _a));\n}\n//# sourceMappingURL=checkForResolveTypeResolver.js.map","import { __assign } from \"tslib\";\nexport function extendResolversFromInterfaces(schema, resolvers) {\n var typeNames = Object.keys(__assign(__assign({}, schema.getTypeMap()), resolvers));\n var extendedResolvers = {};\n typeNames.forEach(function (typeName) {\n var type = schema.getType(typeName);\n if ('getInterfaces' in type) {\n var allInterfaceResolvers = type\n .getInterfaces()\n .map(function (iFace) { return resolvers[iFace.name]; })\n .filter(function (interfaceResolvers) { return interfaceResolvers != null; });\n extendedResolvers[typeName] = {};\n allInterfaceResolvers.forEach(function (interfaceResolvers) {\n Object.keys(interfaceResolvers).forEach(function (fieldName) {\n if (fieldName === '__isTypeOf' || !fieldName.startsWith('__')) {\n extendedResolvers[typeName][fieldName] = interfaceResolvers[fieldName];\n }\n });\n });\n var typeResolvers = resolvers[typeName];\n extendedResolvers[typeName] = __assign(__assign({}, extendedResolvers[typeName]), typeResolvers);\n }\n else {\n var typeResolvers = resolvers[typeName];\n if (typeResolvers != null) {\n extendedResolvers[typeName] = typeResolvers;\n }\n }\n });\n return extendedResolvers;\n}\n//# sourceMappingURL=extendResolversFromInterfaces.js.map","import { __assign } from \"tslib\";\nimport { GraphQLEnumType, isSchema, GraphQLScalarType, GraphQLUnionType, GraphQLInterfaceType, GraphQLObjectType, isSpecifiedScalarType, isScalarType, isEnumType, isUnionType, isInterfaceType, isObjectType, } from 'graphql';\nimport { mapSchema, MapperKind, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, forEachField, } from '@graphql-tools/utils';\nimport { checkForResolveTypeResolver } from './checkForResolveTypeResolver';\nimport { extendResolversFromInterfaces } from './extendResolversFromInterfaces';\nexport function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInputValidationOptions) {\n var options = isSchema(schemaOrOptions)\n ? {\n schema: schemaOrOptions,\n resolvers: legacyInputResolvers,\n resolverValidationOptions: legacyInputValidationOptions,\n }\n : schemaOrOptions;\n var schema = options.schema, inputResolvers = options.resolvers, defaultFieldResolver = options.defaultFieldResolver, _a = options.resolverValidationOptions, resolverValidationOptions = _a === void 0 ? {} : _a, _b = options.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _b === void 0 ? false : _b, _c = options.updateResolversInPlace, updateResolversInPlace = _c === void 0 ? false : _c;\n var _d = resolverValidationOptions.requireResolversToMatchSchema, requireResolversToMatchSchema = _d === void 0 ? 'error' : _d, requireResolversForResolveType = resolverValidationOptions.requireResolversForResolveType;\n var resolvers = inheritResolversFromInterfaces\n ? extendResolversFromInterfaces(schema, inputResolvers)\n : inputResolvers;\n Object.keys(resolvers).forEach(function (typeName) {\n var resolverValue = resolvers[typeName];\n var resolverType = typeof resolverValue;\n if (typeName === '__schema') {\n if (resolverType !== 'function') {\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but has invalid value \\\"\" + resolverValue + \"\\\". A schema resolver's value must be of type object or function.\");\n }\n }\n else {\n if (resolverType !== 'object') {\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but has invalid value \\\"\" + resolverValue + \"\\\". The resolver's value must be of type object.\");\n }\n var type_1 = schema.getType(typeName);\n if (type_1 == null) {\n if (requireResolversToMatchSchema === 'ignore') {\n return;\n }\n throw new Error(\"\\\"\" + typeName + \"\\\" defined in resolvers, but not in schema\");\n }\n else if (isSpecifiedScalarType(type_1)) {\n // allow -- without recommending -- overriding of specified scalar types\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n type_1[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else {\n type_1[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type_1)) {\n var values_1 = type_1.getValues();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__') &&\n !values_1.some(function (value) { return value.name === fieldName; }) &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(type_1.name + \".\" + fieldName + \" was defined in resolvers, but not present within \" + type_1.name);\n }\n });\n }\n else if (isUnionType(type_1)) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__') &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(type_1.name + \".\" + fieldName + \" was defined in resolvers, but \" + type_1.name + \" is not an object or interface type\");\n }\n });\n }\n else if (isObjectType(type_1) || isInterfaceType(type_1)) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (!fieldName.startsWith('__')) {\n var fields = type_1.getFields();\n var field = fields[fieldName];\n if (field == null && requireResolversToMatchSchema && requireResolversToMatchSchema !== 'ignore') {\n throw new Error(typeName + \".\" + fieldName + \" defined in resolvers, but not in schema\");\n }\n var fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve !== 'function' && typeof fieldResolve !== 'object') {\n throw new Error(\"Resolver \" + typeName + \".\" + fieldName + \" must be object or function\");\n }\n }\n });\n }\n }\n });\n schema = updateResolversInPlace\n ? addResolversToExistingSchema(schema, resolvers, defaultFieldResolver)\n : createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver);\n checkForResolveTypeResolver(schema, requireResolversForResolveType);\n return schema;\n}\nfunction addResolversToExistingSchema(schema, resolvers, defaultFieldResolver) {\n var typeMap = schema.getTypeMap();\n Object.keys(resolvers).forEach(function (typeName) {\n if (typeName !== '__schema') {\n var type_2 = schema.getType(typeName);\n var resolverValue_1 = resolvers[typeName];\n if (isScalarType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (fieldName.startsWith('__')) {\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n else if (fieldName === 'astNode' && type_2.astNode != null) {\n type_2.astNode = __assign(__assign({}, type_2.astNode), { description: (_c = (_b = (_a = resolverValue_1) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : type_2.astNode.description, directives: ((_d = type_2.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue_1) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && type_2.extensionASTNodes != null) {\n type_2.extensionASTNodes = ((_h = []) !== null && _h !== void 0 ? _h : type_2.extensionASTNodes).concat((_k = (_j = resolverValue_1) === null || _j === void 0 ? void 0 : _j.extensionASTNodes) !== null && _k !== void 0 ? _k : []);\n }\n else if (fieldName === 'extensions' &&\n type_2.extensions != null &&\n resolverValue_1.extensions != null) {\n type_2.extensions = Object.assign({}, type_2.extensions, resolverValue_1.extensions);\n }\n else {\n type_2[fieldName] = resolverValue_1[fieldName];\n }\n });\n }\n else if (isEnumType(type_2)) {\n var config_1 = type_2.toConfig();\n var enumValueConfigMap_1 = config_1.values;\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config_1[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n else if (fieldName === 'astNode' && config_1.astNode != null) {\n config_1.astNode = __assign(__assign({}, config_1.astNode), { description: (_c = (_b = (_a = resolverValue_1) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config_1.astNode.description, directives: ((_d = config_1.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue_1) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config_1.extensionASTNodes != null) {\n config_1.extensionASTNodes = config_1.extensionASTNodes.concat((_j = (_h = resolverValue_1) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n type_2.extensions != null &&\n resolverValue_1.extensions != null) {\n type_2.extensions = Object.assign({}, type_2.extensions, resolverValue_1.extensions);\n }\n else if (enumValueConfigMap_1[fieldName]) {\n enumValueConfigMap_1[fieldName].value = resolverValue_1[fieldName];\n }\n });\n typeMap[typeName] = new GraphQLEnumType(config_1);\n }\n else if (isUnionType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n }\n });\n }\n else if (isObjectType(type_2) || isInterfaceType(type_2)) {\n Object.keys(resolverValue_1).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n // this is for isTypeOf and resolveType and all the other stuff.\n type_2[fieldName.substring(2)] = resolverValue_1[fieldName];\n return;\n }\n var fields = type_2.getFields();\n var field = fields[fieldName];\n if (field != null) {\n var fieldResolve = resolverValue_1[fieldName];\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n field.resolve = fieldResolve;\n }\n else {\n setFieldProperties(field, fieldResolve);\n }\n }\n });\n }\n }\n });\n // serialize all default values prior to healing fields with new scalar/enum types.\n forEachDefaultValue(schema, serializeInputValue);\n // schema may have new scalar/enum types that require healing\n healSchema(schema);\n // reparse all default values with new parsing functions.\n forEachDefaultValue(schema, parseInputValue);\n if (defaultFieldResolver != null) {\n forEachField(schema, function (field) {\n if (!field.resolve) {\n field.resolve = defaultFieldResolver;\n }\n });\n }\n return schema;\n}\nfunction createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver) {\n var _a, _b;\n schema = mapSchema(schema, (_a = {},\n _a[MapperKind.SCALAR_TYPE] = function (type) {\n var config = type.toConfig();\n var resolverValue = resolvers[type.name];\n if (!isSpecifiedScalarType(type) && resolverValue != null) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = __assign(__assign({}, config.astNode), { description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description, directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n config[fieldName] = resolverValue[fieldName];\n }\n });\n return new GraphQLScalarType(config);\n }\n },\n _a[MapperKind.ENUM_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n var config = type.toConfig();\n var enumValueConfigMap = config.values;\n if (resolverValue != null) {\n Object.keys(resolverValue).forEach(function (fieldName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = __assign(__assign({}, config.astNode), { description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description, directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []) });\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n return new GraphQLEnumType(config);\n }\n },\n _a[MapperKind.UNION_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_2 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_2[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLUnionType(config_2);\n }\n },\n _a[MapperKind.OBJECT_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_3 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_3[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLObjectType(config_3);\n }\n },\n _a[MapperKind.INTERFACE_TYPE] = function (type) {\n var resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n var config_4 = type.toConfig();\n Object.keys(resolverValue).forEach(function (fieldName) {\n if (fieldName.startsWith('__')) {\n config_4[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLInterfaceType(config_4);\n }\n },\n _a[MapperKind.COMPOSITE_FIELD] = function (fieldConfig, fieldName, typeName) {\n var resolverValue = resolvers[typeName];\n if (resolverValue != null) {\n var fieldResolve = resolverValue[fieldName];\n if (fieldResolve != null) {\n var newFieldConfig = __assign({}, fieldConfig);\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n newFieldConfig.resolve = fieldResolve;\n }\n else {\n setFieldProperties(newFieldConfig, fieldResolve);\n }\n return newFieldConfig;\n }\n }\n },\n _a));\n if (defaultFieldResolver != null) {\n schema = mapSchema(schema, (_b = {},\n _b[MapperKind.OBJECT_FIELD] = function (fieldConfig) { return (__assign(__assign({}, fieldConfig), { resolve: fieldConfig.resolve != null ? fieldConfig.resolve : defaultFieldResolver })); },\n _b));\n }\n return schema;\n}\nfunction setFieldProperties(field, propertiesObj) {\n Object.keys(propertiesObj).forEach(function (propertyName) {\n field[propertyName] = propertiesObj[propertyName];\n });\n}\n//# sourceMappingURL=addResolversToSchema.js.map","import { __assign } from \"tslib\";\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nimport { decorateWithLogger } from './decorateWithLogger';\nexport function addErrorLoggingToSchema(schema, logger) {\n var _a;\n if (!logger) {\n throw new Error('Must provide a logger');\n }\n if (typeof logger.log !== 'function') {\n throw new Error('Logger.log must be a function');\n }\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig, fieldName, typeName) { return (__assign(__assign({}, fieldConfig), { resolve: decorateWithLogger(fieldConfig.resolve, logger, typeName + \".\" + fieldName) })); },\n _a));\n}\n//# sourceMappingURL=addErrorLoggingToSchema.js.map","import { __assign } from \"tslib\";\nimport { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nfunction decorateToCatchUndefined(fn, hint) {\n var resolve = fn == null ? defaultFieldResolver : fn;\n return function (root, args, ctx, info) {\n var result = resolve(root, args, ctx, info);\n if (typeof result === 'undefined') {\n throw new Error(\"Resolver for \\\"\" + hint + \"\\\" returned undefined\");\n }\n return result;\n };\n}\nexport function addCatchUndefinedToSchema(schema) {\n var _a;\n return mapSchema(schema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig, fieldName, typeName) { return (__assign(__assign({}, fieldConfig), { resolve: decorateToCatchUndefined(fieldConfig.resolve, typeName + \".\" + fieldName) })); },\n _a));\n}\n//# sourceMappingURL=addCatchUndefinedToSchema.js.map","import { mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils';\nimport { addResolversToSchema } from './addResolversToSchema';\nimport { attachDirectiveResolvers } from './attachDirectiveResolvers';\nimport { assertResolversPresent } from './assertResolversPresent';\nimport { addSchemaLevelResolver } from './addSchemaLevelResolver';\nimport { buildSchemaFromTypeDefinitions } from './buildSchemaFromTypeDefinitions';\nimport { addErrorLoggingToSchema } from './addErrorLoggingToSchema';\nimport { addCatchUndefinedToSchema } from './addCatchUndefinedToSchema';\n/**\n * Builds a schema from the provided type definitions and resolvers.\n *\n * The type definitions are written using Schema Definition Language (SDL). They\n * can be provided as a string, a `DocumentNode`, a function, or an array of any\n * of these. If a function is provided, it will be passed no arguments and\n * should return an array of strings or `DocumentNode`s.\n *\n * Note: You can use `graphql-tag` to not only parse a string into a\n * `DocumentNode` but also to provide additional syntax highlighting in your\n * editor (with the appropriate editor plugin).\n *\n * ```js\n * const typeDefs = gql`\n * type Query {\n * posts: [Post]\n * author(id: Int!): Author\n * }\n * `;\n * ```\n *\n * The `resolvers` object should be a map of type names to nested object, which\n * themselves map the type's fields to their appropriate resolvers.\n * See the [Resolvers](/docs/resolvers) section of the documentation for more details.\n *\n * ```js\n * const resolvers = {\n * Query: {\n * posts: (obj, args, ctx, info) => getAllPosts(),\n * author: (obj, args, ctx, info) => getAuthorById(args.id)\n * }\n * };\n * ```\n *\n * Once you've defined both the `typeDefs` and `resolvers`, you can create your\n * schema:\n *\n * ```js\n * const schema = makeExecutableSchema({\n * typeDefs,\n * resolvers,\n * })\n * ```\n */\nexport function makeExecutableSchema(_a) {\n var typeDefs = _a.typeDefs, _b = _a.resolvers, resolvers = _b === void 0 ? {} : _b, logger = _a.logger, _c = _a.allowUndefinedInResolve, allowUndefinedInResolve = _c === void 0 ? true : _c, _d = _a.resolverValidationOptions, resolverValidationOptions = _d === void 0 ? {} : _d, directiveResolvers = _a.directiveResolvers, schemaDirectives = _a.schemaDirectives, _e = _a.schemaTransforms, schemaTransforms = _e === void 0 ? [] : _e, _f = _a.parseOptions, parseOptions = _f === void 0 ? {} : _f, _g = _a.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _g === void 0 ? false : _g, pruningOptions = _a.pruningOptions;\n // Validate and clean up arguments\n if (typeof resolverValidationOptions !== 'object') {\n throw new Error('Expected `resolverValidationOptions` to be an object');\n }\n if (!typeDefs) {\n throw new Error('Must provide typeDefs');\n }\n // We allow passing in an array of resolver maps, in which case we merge them\n var resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;\n // Arguments are now validated and cleaned up\n var schema = buildSchemaFromTypeDefinitions(typeDefs, parseOptions);\n schema = addResolversToSchema({\n schema: schema,\n resolvers: resolverMap,\n resolverValidationOptions: resolverValidationOptions,\n inheritResolversFromInterfaces: inheritResolversFromInterfaces,\n });\n assertResolversPresent(schema, resolverValidationOptions);\n if (!allowUndefinedInResolve) {\n schema = addCatchUndefinedToSchema(schema);\n }\n if (logger != null) {\n schema = addErrorLoggingToSchema(schema, logger);\n }\n if (typeof resolvers['__schema'] === 'function') {\n // TODO a bit of a hack now, better rewrite generateSchema to attach it there.\n // not doing that now, because I'd have to rewrite a lot of tests.\n schema = addSchemaLevelResolver(schema, resolvers['__schema']);\n }\n schemaTransforms.forEach(function (schemaTransform) {\n schema = schemaTransform(schema);\n });\n // directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives\n // schema visiting modifies the schema in place\n if (directiveResolvers != null) {\n schema = attachDirectiveResolvers(schema, directiveResolvers);\n }\n if (schemaDirectives != null) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);\n }\n return pruningOptions ? pruneSchema(schema, pruningOptions) : schema;\n}\n//# sourceMappingURL=makeExecutableSchema.js.map"],"names":["mapSchema","MapperKind","__assign","defaultFieldResolver","forEachField","isScalarType","getNamedType","getDirectives","Kind","print","__spread","buildASTSchema","extendSchema","parseGraphQLSDL","isSchema","isSpecifiedScalarType","isEnumType","isUnionType","isObjectType","isInterfaceType","GraphQLEnumType","forEachDefaultValue","serializeInputValue","healSchema","parseInputValue","GraphQLScalarType","GraphQLUnionType","GraphQLObjectType","GraphQLInterfaceType","mergeDeep","SchemaDirectiveVisitor","pruneSchema"],"mappings":"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"}
|