@graphql-tools/schema 7.1.0-alpha-796c16fa.0 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/buildSchemaFromTypeDefinitions.d.ts +1 -2
- package/checkForResolveTypeResolver.d.ts +1 -1
- package/concatenateTypeDefs.d.ts +1 -1
- package/es5/buildSchemaFromTypeDefinitions.d.ts +1 -2
- package/es5/checkForResolveTypeResolver.d.ts +1 -1
- package/es5/concatenateTypeDefs.d.ts +1 -1
- package/es5/extensionDefinitions.d.ts +14 -2
- package/es5/index.cjs.js +86 -64
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.d.ts +1 -1
- package/es5/index.esm.js +86 -65
- package/es5/index.esm.js.map +1 -1
- package/es5/makeExecutableSchema.d.ts +1 -1
- package/es5/package.json +2 -2
- package/es5/types.d.ts +10 -1
- package/extensionDefinitions.d.ts +14 -2
- package/index.cjs.js +85 -63
- package/index.cjs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.esm.js +85 -64
- package/index.esm.js.map +1 -1
- package/makeExecutableSchema.d.ts +1 -1
- package/package.json +2 -2
- package/types.d.ts +10 -1
package/es5/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __assign, __spread } from 'tslib';
|
|
2
2
|
import { defaultFieldResolver, isScalarType, getNamedType, Kind, print, buildASTSchema, extendSchema, isSchema, isSpecifiedScalarType, isEnumType, isUnionType, isObjectType, isInterfaceType, GraphQLEnumType, GraphQLScalarType, GraphQLUnionType, GraphQLObjectType, GraphQLInterfaceType } from 'graphql';
|
|
3
|
-
import { mapSchema, MapperKind, forEachField, getDirectives, parseGraphQLSDL, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils/es5';
|
|
3
|
+
import { mapSchema, MapperKind, forEachField, getDirectives, parseGraphQLSDL, isDocumentNode, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils/es5';
|
|
4
4
|
|
|
5
5
|
// wraps all resolvers of query, mutation or subscription fields
|
|
6
6
|
// with the provided function to simulate a root schema level resolver
|
|
@@ -142,74 +142,77 @@ function attachDirectiveResolvers(schema, directiveResolvers) {
|
|
|
142
142
|
_a));
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
function
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
145
|
+
var isExtensionNode = function (def) {
|
|
146
|
+
return def.kind === Kind.OBJECT_TYPE_EXTENSION ||
|
|
147
|
+
def.kind === Kind.INTERFACE_TYPE_EXTENSION ||
|
|
148
|
+
def.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||
|
|
149
|
+
def.kind === Kind.UNION_TYPE_EXTENSION ||
|
|
150
|
+
def.kind === Kind.ENUM_TYPE_EXTENSION ||
|
|
151
|
+
def.kind === Kind.SCALAR_TYPE_EXTENSION ||
|
|
152
|
+
def.kind === Kind.SCHEMA_EXTENSION;
|
|
153
|
+
};
|
|
154
|
+
function filterAndExtractExtensionDefinitions(ast) {
|
|
155
|
+
var extensionDefs = [];
|
|
156
|
+
var typesDefs = [];
|
|
157
|
+
ast.definitions.forEach(function (def) {
|
|
158
|
+
if (isExtensionNode(def)) {
|
|
159
|
+
extensionDefs.push(def);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
typesDefs.push(def);
|
|
163
|
+
}
|
|
154
164
|
});
|
|
155
|
-
return
|
|
165
|
+
return {
|
|
166
|
+
typesAst: __assign(__assign({}, ast), { definitions: typesDefs }),
|
|
167
|
+
extensionsAst: __assign(__assign({}, ast), { definitions: extensionDefs }),
|
|
168
|
+
};
|
|
156
169
|
}
|
|
157
170
|
function filterExtensionDefinitions(ast) {
|
|
158
|
-
var
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
def.kind !== Kind.SCALAR_TYPE_EXTENSION &&
|
|
165
|
-
def.kind !== Kind.SCHEMA_EXTENSION;
|
|
166
|
-
});
|
|
167
|
-
return __assign(__assign({}, ast), { definitions: extensionDefs });
|
|
171
|
+
var typesAst = filterAndExtractExtensionDefinitions(ast).typesAst;
|
|
172
|
+
return typesAst;
|
|
173
|
+
}
|
|
174
|
+
function extractExtensionDefinitions(ast) {
|
|
175
|
+
var extensionsAst = filterAndExtractExtensionDefinitions(ast).extensionsAst;
|
|
176
|
+
return extensionsAst;
|
|
168
177
|
}
|
|
169
178
|
|
|
170
179
|
function concatenateTypeDefs(typeDefinitionsAry, calledFunctionRefs) {
|
|
171
|
-
if (calledFunctionRefs === void 0) { calledFunctionRefs =
|
|
172
|
-
var resolvedTypeDefinitions =
|
|
180
|
+
if (calledFunctionRefs === void 0) { calledFunctionRefs = new Set(); }
|
|
181
|
+
var resolvedTypeDefinitions = new Set();
|
|
173
182
|
typeDefinitionsAry.forEach(function (typeDef) {
|
|
174
183
|
if (typeof typeDef === 'function') {
|
|
175
|
-
if (calledFunctionRefs.
|
|
176
|
-
calledFunctionRefs.
|
|
177
|
-
resolvedTypeDefinitions
|
|
184
|
+
if (!calledFunctionRefs.has(typeDef)) {
|
|
185
|
+
calledFunctionRefs.add(typeDef);
|
|
186
|
+
resolvedTypeDefinitions.add(concatenateTypeDefs(typeDef(), calledFunctionRefs));
|
|
178
187
|
}
|
|
179
188
|
}
|
|
180
189
|
else if (typeof typeDef === 'string') {
|
|
181
|
-
resolvedTypeDefinitions.
|
|
190
|
+
resolvedTypeDefinitions.add(typeDef.trim());
|
|
182
191
|
}
|
|
183
192
|
else if (typeDef.kind !== undefined) {
|
|
184
|
-
resolvedTypeDefinitions.
|
|
193
|
+
resolvedTypeDefinitions.add(print(typeDef).trim());
|
|
185
194
|
}
|
|
186
195
|
else {
|
|
187
196
|
var type = typeof typeDef;
|
|
188
197
|
throw new Error("typeDef array must contain only strings, documents, or functions, got " + type);
|
|
189
198
|
}
|
|
190
199
|
});
|
|
191
|
-
return
|
|
192
|
-
}
|
|
193
|
-
function uniq(array) {
|
|
194
|
-
return array.reduce(function (accumulator, currentValue) {
|
|
195
|
-
return accumulator.indexOf(currentValue) === -1 ? __spread(accumulator, [currentValue]) : accumulator;
|
|
196
|
-
}, []);
|
|
200
|
+
return __spread(resolvedTypeDefinitions).join('\n');
|
|
197
201
|
}
|
|
198
202
|
|
|
199
|
-
function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions) {
|
|
203
|
+
function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions, noExtensionExtraction) {
|
|
200
204
|
var document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);
|
|
201
|
-
|
|
205
|
+
if (noExtensionExtraction) {
|
|
206
|
+
return buildASTSchema(document);
|
|
207
|
+
}
|
|
208
|
+
var _a = filterAndExtractExtensionDefinitions(document), typesAst = _a.typesAst, extensionsAst = _a.extensionsAst;
|
|
202
209
|
var backcompatOptions = { commentDescriptions: true };
|
|
203
210
|
var schema = buildASTSchema(typesAst, backcompatOptions);
|
|
204
|
-
var extensionsAst = extractExtensionDefinitions(document);
|
|
205
211
|
if (extensionsAst.definitions.length > 0) {
|
|
206
212
|
schema = extendSchema(schema, extensionsAst, backcompatOptions);
|
|
207
213
|
}
|
|
208
214
|
return schema;
|
|
209
215
|
}
|
|
210
|
-
function isDocumentNode(typeDefinitions) {
|
|
211
|
-
return typeDefinitions.kind !== undefined;
|
|
212
|
-
}
|
|
213
216
|
function buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions) {
|
|
214
217
|
var document;
|
|
215
218
|
if (typeof typeDefinitions === 'string') {
|
|
@@ -285,7 +288,7 @@ function checkForResolveTypeResolver(schema, requireResolversForResolveType) {
|
|
|
285
288
|
var _a;
|
|
286
289
|
mapSchema(schema, (_a = {},
|
|
287
290
|
_a[MapperKind.ABSTRACT_TYPE] = function (type) {
|
|
288
|
-
if (!type.resolveType
|
|
291
|
+
if (!type.resolveType) {
|
|
289
292
|
var message = "Type \"" + type.name + "\" is missing a \"__resolveType\" resolver. Pass 'ignore' into " +
|
|
290
293
|
'"resolverValidationOptions.requireResolversForResolveType" to disable this error.';
|
|
291
294
|
if (requireResolversForResolveType === 'error') {
|
|
@@ -415,7 +418,9 @@ function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInput
|
|
|
415
418
|
schema = updateResolversInPlace
|
|
416
419
|
? addResolversToExistingSchema(schema, resolvers, defaultFieldResolver)
|
|
417
420
|
: createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver);
|
|
418
|
-
|
|
421
|
+
if (requireResolversForResolveType || requireResolversForResolveType !== 'ignore') {
|
|
422
|
+
checkForResolveTypeResolver(schema, requireResolversForResolveType);
|
|
423
|
+
}
|
|
419
424
|
return schema;
|
|
420
425
|
}
|
|
421
426
|
function addResolversToExistingSchema(schema, resolvers, defaultFieldResolver) {
|
|
@@ -716,7 +721,7 @@ function addCatchUndefinedToSchema(schema) {
|
|
|
716
721
|
* ```
|
|
717
722
|
*/
|
|
718
723
|
function makeExecutableSchema(_a) {
|
|
719
|
-
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,
|
|
724
|
+
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, userProvidedSchemaTransforms = _a.schemaTransforms, _e = _a.parseOptions, parseOptions = _e === void 0 ? {} : _e, _f = _a.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _f === void 0 ? false : _f, pruningOptions = _a.pruningOptions, _g = _a.updateResolversInPlace, updateResolversInPlace = _g === void 0 ? false : _g, _h = _a.noExtensionExtraction, noExtensionExtraction = _h === void 0 ? false : _h;
|
|
720
725
|
// Validate and clean up arguments
|
|
721
726
|
if (typeof resolverValidationOptions !== 'object') {
|
|
722
727
|
throw new Error('Expected `resolverValidationOptions` to be an object');
|
|
@@ -724,43 +729,59 @@ function makeExecutableSchema(_a) {
|
|
|
724
729
|
if (!typeDefs) {
|
|
725
730
|
throw new Error('Must provide typeDefs');
|
|
726
731
|
}
|
|
727
|
-
// We allow passing in an array of resolver maps, in which case we merge them
|
|
728
|
-
var resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;
|
|
729
732
|
// Arguments are now validated and cleaned up
|
|
730
|
-
var
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
733
|
+
var schemaTransforms = [
|
|
734
|
+
function (schema) {
|
|
735
|
+
// We allow passing in an array of resolver maps, in which case we merge them
|
|
736
|
+
var resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;
|
|
737
|
+
var schemaWithResolvers = addResolversToSchema({
|
|
738
|
+
schema: schema,
|
|
739
|
+
resolvers: resolverMap,
|
|
740
|
+
resolverValidationOptions: resolverValidationOptions,
|
|
741
|
+
inheritResolversFromInterfaces: inheritResolversFromInterfaces,
|
|
742
|
+
updateResolversInPlace: updateResolversInPlace,
|
|
743
|
+
});
|
|
744
|
+
if (Object.keys(resolverValidationOptions).length > 0) {
|
|
745
|
+
assertResolversPresent(schemaWithResolvers, resolverValidationOptions);
|
|
746
|
+
}
|
|
747
|
+
return schemaWithResolvers;
|
|
748
|
+
},
|
|
749
|
+
];
|
|
740
750
|
if (!allowUndefinedInResolve) {
|
|
741
|
-
|
|
751
|
+
schemaTransforms.push(addCatchUndefinedToSchema);
|
|
742
752
|
}
|
|
743
753
|
if (logger != null) {
|
|
744
|
-
schema
|
|
754
|
+
schemaTransforms.push(function (schema) { return addErrorLoggingToSchema(schema, logger); });
|
|
745
755
|
}
|
|
746
756
|
if (typeof resolvers['__schema'] === 'function') {
|
|
747
757
|
// TODO a bit of a hack now, better rewrite generateSchema to attach it there.
|
|
748
758
|
// not doing that now, because I'd have to rewrite a lot of tests.
|
|
749
|
-
|
|
759
|
+
schemaTransforms.push(function (schema) {
|
|
760
|
+
return addSchemaLevelResolver(schema, resolvers['__schema']);
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
if (userProvidedSchemaTransforms) {
|
|
764
|
+
schemaTransforms.push(function (schema) {
|
|
765
|
+
return userProvidedSchemaTransforms.reduce(function (s, schemaTransform) { return schemaTransform(s); }, schema);
|
|
766
|
+
});
|
|
750
767
|
}
|
|
751
|
-
schemaTransforms.forEach(function (schemaTransform) {
|
|
752
|
-
schema = schemaTransform(schema);
|
|
753
|
-
});
|
|
754
768
|
// directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives
|
|
755
769
|
// schema visiting modifies the schema in place
|
|
756
770
|
if (directiveResolvers != null) {
|
|
757
|
-
schema
|
|
771
|
+
schemaTransforms.push(function (schema) { return attachDirectiveResolvers(schema, directiveResolvers); });
|
|
758
772
|
}
|
|
759
773
|
if (schemaDirectives != null) {
|
|
760
|
-
|
|
774
|
+
schemaTransforms.push(function (schema) {
|
|
775
|
+
SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);
|
|
776
|
+
return schema;
|
|
777
|
+
});
|
|
778
|
+
}
|
|
779
|
+
if (pruningOptions) {
|
|
780
|
+
schemaTransforms.push(pruneSchema);
|
|
761
781
|
}
|
|
762
|
-
|
|
782
|
+
var schemaFromTypeDefs = buildSchemaFromTypeDefinitions(typeDefs, parseOptions, noExtensionExtraction);
|
|
783
|
+
return schemaTransforms.reduce(function (schema, schemaTransform) { return schemaTransform(schema); }, schemaFromTypeDefs);
|
|
763
784
|
}
|
|
764
785
|
|
|
765
|
-
export { addCatchUndefinedToSchema, addErrorLoggingToSchema, addResolversToSchema, addSchemaLevelResolver, assertResolversPresent, attachDirectiveResolvers, buildDocumentFromTypeDefinitions, buildSchemaFromTypeDefinitions, chainResolvers, checkForResolveTypeResolver, concatenateTypeDefs, decorateWithLogger, extendResolversFromInterfaces, extractExtensionDefinitions, filterExtensionDefinitions, makeExecutableSchema };
|
|
786
|
+
export { addCatchUndefinedToSchema, addErrorLoggingToSchema, addResolversToSchema, addSchemaLevelResolver, assertResolversPresent, attachDirectiveResolvers, buildDocumentFromTypeDefinitions, buildSchemaFromTypeDefinitions, chainResolvers, checkForResolveTypeResolver, concatenateTypeDefs, decorateWithLogger, extendResolversFromInterfaces, extractExtensionDefinitions, filterAndExtractExtensionDefinitions, filterExtensionDefinitions, makeExecutableSchema };
|
|
766
787
|
//# sourceMappingURL=index.esm.js.map
|
package/es5/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.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 if (Object.keys(resolverValidationOptions).length > 0) {\n assertResolversPresent(schema, resolverValidationOptions);\n }\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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.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';\nvar isExtensionNode = 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};\nexport function filterAndExtractExtensionDefinitions(ast) {\n var extensionDefs = [];\n var typesDefs = [];\n ast.definitions.forEach(function (def) {\n if (isExtensionNode(def)) {\n extensionDefs.push(def);\n }\n else {\n typesDefs.push(def);\n }\n });\n return {\n typesAst: __assign(__assign({}, ast), { definitions: typesDefs }),\n extensionsAst: __assign(__assign({}, ast), { definitions: extensionDefs }),\n };\n}\nexport function filterExtensionDefinitions(ast) {\n var typesAst = filterAndExtractExtensionDefinitions(ast).typesAst;\n return typesAst;\n}\nexport function extractExtensionDefinitions(ast) {\n var extensionsAst = filterAndExtractExtensionDefinitions(ast).extensionsAst;\n return extensionsAst;\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 = new Set(); }\n var resolvedTypeDefinitions = new Set();\n typeDefinitionsAry.forEach(function (typeDef) {\n if (typeof typeDef === 'function') {\n if (!calledFunctionRefs.has(typeDef)) {\n calledFunctionRefs.add(typeDef);\n resolvedTypeDefinitions.add(concatenateTypeDefs(typeDef(), calledFunctionRefs));\n }\n }\n else if (typeof typeDef === 'string') {\n resolvedTypeDefinitions.add(typeDef.trim());\n }\n else if (typeDef.kind !== undefined) {\n resolvedTypeDefinitions.add(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 __spread(resolvedTypeDefinitions).join('\\n');\n}\n//# sourceMappingURL=concatenateTypeDefs.js.map","import { extendSchema, buildASTSchema } from 'graphql';\nimport { parseGraphQLSDL, isDocumentNode } from '@graphql-tools/utils';\nimport { filterAndExtractExtensionDefinitions } from './extensionDefinitions';\nimport { concatenateTypeDefs } from './concatenateTypeDefs';\nexport function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions, noExtensionExtraction) {\n var document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);\n if (noExtensionExtraction) {\n return buildASTSchema(document);\n }\n var _a = filterAndExtractExtensionDefinitions(document), typesAst = _a.typesAst, extensionsAst = _a.extensionsAst;\n var backcompatOptions = { commentDescriptions: true };\n var schema = buildASTSchema(typesAst, backcompatOptions);\n if (extensionsAst.definitions.length > 0) {\n schema = extendSchema(schema, extensionsAst, backcompatOptions);\n }\n return schema;\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) {\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 if (requireResolversForResolveType || requireResolversForResolveType !== 'ignore') {\n checkForResolveTypeResolver(schema, requireResolversForResolveType);\n }\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, userProvidedSchemaTransforms = _a.schemaTransforms, _e = _a.parseOptions, parseOptions = _e === void 0 ? {} : _e, _f = _a.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _f === void 0 ? false : _f, pruningOptions = _a.pruningOptions, _g = _a.updateResolversInPlace, updateResolversInPlace = _g === void 0 ? false : _g, _h = _a.noExtensionExtraction, noExtensionExtraction = _h === void 0 ? false : _h;\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 // Arguments are now validated and cleaned up\n var schemaTransforms = [\n function (schema) {\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 var schemaWithResolvers = addResolversToSchema({\n schema: schema,\n resolvers: resolverMap,\n resolverValidationOptions: resolverValidationOptions,\n inheritResolversFromInterfaces: inheritResolversFromInterfaces,\n updateResolversInPlace: updateResolversInPlace,\n });\n if (Object.keys(resolverValidationOptions).length > 0) {\n assertResolversPresent(schemaWithResolvers, resolverValidationOptions);\n }\n return schemaWithResolvers;\n },\n ];\n if (!allowUndefinedInResolve) {\n schemaTransforms.push(addCatchUndefinedToSchema);\n }\n if (logger != null) {\n schemaTransforms.push(function (schema) { return 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 schemaTransforms.push(function (schema) {\n return addSchemaLevelResolver(schema, resolvers['__schema']);\n });\n }\n if (userProvidedSchemaTransforms) {\n schemaTransforms.push(function (schema) {\n return userProvidedSchemaTransforms.reduce(function (s, schemaTransform) { return schemaTransform(s); }, schema);\n });\n }\n // directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives\n // schema visiting modifies the schema in place\n if (directiveResolvers != null) {\n schemaTransforms.push(function (schema) { return attachDirectiveResolvers(schema, directiveResolvers); });\n }\n if (schemaDirectives != null) {\n schemaTransforms.push(function (schema) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);\n return schema;\n });\n }\n if (pruningOptions) {\n schemaTransforms.push(pruneSchema);\n }\n var schemaFromTypeDefs = buildSchemaFromTypeDefinitions(typeDefs, parseOptions, noExtensionExtraction);\n return schemaTransforms.reduce(function (schema, schemaTransform) { return schemaTransform(schema); }, schemaFromTypeDefs);\n}\n//# sourceMappingURL=makeExecutableSchema.js.map"],"names":[],"mappings":"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"}
|