UNPKG

@graphql-mesh/transport-rest

Version:
13 lines (12 loc) 645 B
"use strict"; 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; }; }