@graphql-mesh/transport-rest
Version:
13 lines (12 loc) • 645 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.processDiscriminatorAnnotations = processDiscriminatorAnnotations;
function processDiscriminatorAnnotations({ interfaceType, discriminatorField, discriminatorMapping, }) {
const discriminatorMappingObj = Array.isArray(discriminatorMapping)
? Object.fromEntries(discriminatorMapping)
: discriminatorMapping;
interfaceType.resolveType = function discriminatorDirectiveHandler(data) {
const discriminatorValue = data[discriminatorField];
return discriminatorMappingObj?.[discriminatorValue] || discriminatorValue;
};
}
;