UNPKG

graphql-mocks

Version:

Tools for setting up graphql test resolvers

32 lines (30 loc) 1.22 kB
import { maskReference, unmaskReference } from './reference-mask.mjs'; // 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) { var maskedGroupA = new Set(groupA.map(maskReference)); var maskedGroupB = new Set(groupB.map(maskReference)); var intersection = []; for (var maskedGroupAReference of maskedGroupA) { if (maskedGroupB.has(maskedGroupAReference)) { intersection.push(unmaskReference(maskedGroupAReference)); } } return intersection; } function referenceDifference(groupA, groupB) { if (groupA.length === 0 || groupB.length === 0) { return groupA; } var maskedGroupA = new Set(groupA.map(maskReference)); var maskedGroupB = new Set(groupB.map(maskReference)); var difference = []; for (var maskedGroupAReference of maskedGroupA) { if (!maskedGroupB.has(maskedGroupAReference)) { difference.push(unmaskReference(maskedGroupAReference)); } } return difference; } export { referenceDifference, referenceIntersection }; //# sourceMappingURL=reference-set-helpers.mjs.map