Initialisation
Added the packages and files for the backend server
This commit is contained in:
47
node_modules/@graphql-tools/schema/cjs/assertResolversPresent.js
generated
vendored
Normal file
47
node_modules/@graphql-tools/schema/cjs/assertResolversPresent.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.assertResolversPresent = void 0;
|
||||
const graphql_1 = require("graphql");
|
||||
const utils_1 = require("@graphql-tools/utils");
|
||||
function assertResolversPresent(schema, resolverValidationOptions = {}) {
|
||||
const { requireResolversForArgs, requireResolversForNonScalar, requireResolversForAllFields } = resolverValidationOptions;
|
||||
if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {
|
||||
throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +
|
||||
'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +
|
||||
'requireResolversForNonScalar, but not a combination of them.');
|
||||
}
|
||||
(0, utils_1.forEachField)(schema, (field, typeName, fieldName) => {
|
||||
// requires a resolver for *every* field.
|
||||
if (requireResolversForAllFields) {
|
||||
expectResolver('requireResolversForAllFields', requireResolversForAllFields, field, typeName, fieldName);
|
||||
}
|
||||
// requires a resolver on every field that has arguments
|
||||
if (requireResolversForArgs && field.args.length > 0) {
|
||||
expectResolver('requireResolversForArgs', requireResolversForArgs, field, typeName, fieldName);
|
||||
}
|
||||
// requires a resolver on every field that returns a non-scalar type
|
||||
if (requireResolversForNonScalar !== 'ignore' && !(0, graphql_1.isScalarType)((0, graphql_1.getNamedType)(field.type))) {
|
||||
expectResolver('requireResolversForNonScalar', requireResolversForNonScalar, field, typeName, fieldName);
|
||||
}
|
||||
});
|
||||
}
|
||||
exports.assertResolversPresent = assertResolversPresent;
|
||||
function expectResolver(validator, behavior, field, typeName, fieldName) {
|
||||
if (!field.resolve) {
|
||||
const message = `Resolver missing for "${typeName}.${fieldName}".
|
||||
To disable this validator, use:
|
||||
resolverValidationOptions: {
|
||||
${validator}: 'ignore'
|
||||
}`;
|
||||
if (behavior === 'error') {
|
||||
throw new Error(message);
|
||||
}
|
||||
if (behavior === 'warn') {
|
||||
console.warn(message);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (typeof field.resolve !== 'function') {
|
||||
throw new Error(`Resolver "${typeName}.${fieldName}" must be a function`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user