UNPKG

1.27 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/_grouping.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA8B,EAC9B,WAAqD,EACrD,eAA6D;IAE7D,IAAI,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE;QAC7B,IAAI,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjB,QAAQ,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACxB;QACD,IAAI,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,QAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzB;IAED,OAAO,GAAG,CAAC;AACb,CAAC","file":"_grouping.js","sourcesContent":["/**\n * @ignore\n */\nexport async function createGrouping<TSource, TKey, TValue>(\n source: AsyncIterable<TSource>,\n keySelector: (value: TSource) => TKey | Promise<TKey>,\n elementSelector: (value: TSource) => TValue | Promise<TValue>\n): Promise<Map<TKey, TValue[]>> {\n let map = new Map<TKey, TValue[]>();\n for await (let item of source) {\n let key = await keySelector(item);\n let grouping = map.get(key);\n if (!map.has(key)) {\n grouping = [];\n map.set(key, grouping);\n }\n let element = await elementSelector(item);\n grouping!.push(element);\n }\n\n return map;\n}\n"]}
\No newline at end of file