Files
Home_Buying_App/node_modules/@graphql-tools/schema/cjs/extendResolversFromInterfaces.js
jackbeeby b412dfe2ca Initialisation
Added the packages and files for the backend server
2024-12-15 17:48:45 +11:00

36 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.extendResolversFromInterfaces = void 0;
function extendResolversFromInterfaces(schema, resolvers) {
const extendedResolvers = {};
const typeMap = schema.getTypeMap();
for (const typeName in typeMap) {
const type = typeMap[typeName];
if ('getInterfaces' in type) {
extendedResolvers[typeName] = {};
for (const iFace of type.getInterfaces()) {
if (resolvers[iFace.name]) {
for (const fieldName in resolvers[iFace.name]) {
if (fieldName === '__isTypeOf' || !fieldName.startsWith('__')) {
extendedResolvers[typeName][fieldName] = resolvers[iFace.name][fieldName];
}
}
}
}
const typeResolvers = resolvers[typeName];
extendedResolvers[typeName] = {
...extendedResolvers[typeName],
...typeResolvers,
};
}
else {
const typeResolvers = resolvers[typeName];
if (typeResolvers != null) {
extendedResolvers[typeName] = typeResolvers;
}
}
}
return extendedResolvers;
}
exports.extendResolversFromInterfaces = extendResolversFromInterfaces;