Sha256: aa741c39fe69d07630a309d4e4a00568d38f9beff0e2270491a14516c280374e

Contents?: true

Size: 375 Bytes

Versions: 26

Compression:

Stored size: 375 Bytes

Contents

/**
 * Groups array items into a Map, given a function to produce grouping key.
 */
export function groupBy(list, keyFn) {
  const result = new Map();

  for (const item of list) {
    const key = keyFn(item);
    const group = result.get(key);

    if (group === undefined) {
      result.set(key, [item]);
    } else {
      group.push(item);
    }
  }

  return result;
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.25 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.24 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.23 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.22 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.21 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.20 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.19 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.18 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.17 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.16 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.15 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.14 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.13 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.12 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.11 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.10 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.9 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.8 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs
clapton-0.0.7 lib/clapton/javascripts/node_modules/graphql/jsutils/groupBy.mjs