UNPKG

graphql-mocks

Version:

Tools for setting up graphql test resolvers

35 lines (32 loc) 1.36 kB
'use strict'; var referenceMask = require('./reference-mask.js'); // TODO: When this library supports node >= 22, replace these with actual Set methods // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#set_composition function referenceIntersection(groupA, groupB) { const maskedGroupA = new Set(groupA.map(referenceMask.maskReference)); const maskedGroupB = new Set(groupB.map(referenceMask.maskReference)); const intersection = []; for (const maskedGroupAReference of maskedGroupA) { if (maskedGroupB.has(maskedGroupAReference)) { intersection.push(referenceMask.unmaskReference(maskedGroupAReference)); } } return intersection; } function referenceDifference(groupA, groupB) { if (groupA.length === 0 || groupB.length === 0) { return groupA; } const maskedGroupA = new Set(groupA.map(referenceMask.maskReference)); const maskedGroupB = new Set(groupB.map(referenceMask.maskReference)); const difference = []; for (const maskedGroupAReference of maskedGroupA) { if (!maskedGroupB.has(maskedGroupAReference)) { difference.push(referenceMask.unmaskReference(maskedGroupAReference)); } } return difference; } exports.referenceDifference = referenceDifference; exports.referenceIntersection = referenceIntersection; //# sourceMappingURL=reference-set-helpers.js.map