UNPKG

@graphql-mesh/transport-rest

Version:
10 lines (9 loc) 500 B
export 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; }; }