@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
1 lines • 2.26 kB
Source Map (JSON)
{"version":3,"sources":["add/asynciterable-operators/groupby.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,OAAO,EACP,0BAA0B,EAE3B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiBpD;;GAEG;AACH,MAAM,UAAU,YAAY,CAE1B,WAAqD,EACrD,kBAAgE,aAAa,EAC7E,iBAGkC,0BAA0B;IAE5D,OAAO,OAAO,CAAiC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAC1F,IAAI,CACL,CAAC;AACJ,CAAC;AAED,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC","file":"groupby.js","sourcesContent":["import { AsyncIterableX } from '../../asynciterable/asynciterablex';\nimport {\n groupBy,\n groupByResultIdentityAsync,\n GroupedAsyncIterable\n} from '../../asynciterable/operators/groupby';\nimport { identityAsync } from '../../util/identity';\n\nexport function groupByProto<TSource, TKey>(\n this: AsyncIterableX<TSource>,\n keySelector: (value: TSource) => TKey | Promise<TKey>\n): AsyncIterableX<GroupedAsyncIterable<TKey, TSource>>;\nexport function groupByProto<TSource, TKey, TValue>(\n this: AsyncIterableX<TSource>,\n keySelector: (value: TSource) => TKey | Promise<TKey>,\n elementSelector?: (value: TSource) => TValue | Promise<TValue>\n): AsyncIterableX<GroupedAsyncIterable<TKey, TValue>>;\nexport function groupByProto<TSource, TKey, TValue, TResult>(\n this: AsyncIterableX<TSource>,\n keySelector: (value: TSource) => TKey | Promise<TKey>,\n elementSelector?: (value: TSource) => TValue | Promise<TValue>,\n resultSelector?: (key: TKey, values: Iterable<TValue>) => TResult | Promise<TResult>\n): AsyncIterableX<TResult>;\n/**\n * @ignore\n */\nexport function groupByProto<TSource, TKey, TValue, TResult>(\n this: AsyncIterableX<TSource>,\n keySelector: (value: TSource) => TKey | Promise<TKey>,\n elementSelector: (value: TSource) => TValue | Promise<TValue> = identityAsync,\n resultSelector: (\n key: TKey,\n values: Iterable<TValue>\n ) => TResult | Promise<TResult> = groupByResultIdentityAsync\n): AsyncIterableX<TResult> {\n return groupBy<TSource, TKey, TValue, TResult>(keySelector, elementSelector, resultSelector)(\n this\n );\n}\n\nAsyncIterableX.prototype.groupBy = groupByProto;\n\ndeclare module '../../asynciterable/asynciterablex' {\n interface AsyncIterableX<T> {\n groupBy: typeof groupByProto;\n }\n}\n"]}