UNPKG

groupby-typename

Version:

Type-safe and tested utility to easily group an array of GraphQL objects by their typename

20 lines (18 loc) 641 B
//#region src/legacyGroupByTypename.ts /** * Replaces `Object.groupBy` with a legacy implementation for environments that don't support it. * * This is part of the new baseline for 2024 and currently implemented by all major browsers. * TypeScript support requires 5.4 or later, and should target `ESNext` or upcoming `ES2024`. * Node support requires Node 21 or later. */ function legacyGroupByTypename(objects) { return objects.reduce((acc, object) => { const key = object.__typename; if (!acc[key]) acc[key] = []; acc[key].push(object); return acc; }, {}); } //#endregion exports.legacyGroupByTypename = legacyGroupByTypename;