inqjs 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +34 -12
  2. package/dist/Query.d.ts +45 -0
  3. package/dist/Query.d.ts.map +1 -0
  4. package/dist/Query.js +44 -3
  5. package/dist/Query.js.map +1 -0
  6. package/dist/async/AsyncQuery.d.ts +41 -0
  7. package/dist/async/AsyncQuery.d.ts.map +1 -0
  8. package/dist/async/AsyncQuery.js +181 -0
  9. package/dist/async/AsyncQuery.js.map +1 -0
  10. package/dist/async/operators/allAsync.d.ts +2 -0
  11. package/dist/async/operators/allAsync.d.ts.map +1 -0
  12. package/dist/async/operators/allAsync.js +12 -0
  13. package/dist/async/operators/allAsync.js.map +1 -0
  14. package/dist/async/operators/anyAsync.d.ts +2 -0
  15. package/dist/async/operators/anyAsync.d.ts.map +1 -0
  16. package/dist/async/operators/anyAsync.js +18 -0
  17. package/dist/async/operators/anyAsync.js.map +1 -0
  18. package/dist/async/operators/appendAsync.d.ts +2 -0
  19. package/dist/async/operators/appendAsync.d.ts.map +1 -0
  20. package/dist/async/operators/appendAsync.js +8 -0
  21. package/dist/async/operators/appendAsync.js.map +1 -0
  22. package/dist/async/operators/concatAsync.d.ts +2 -0
  23. package/dist/async/operators/concatAsync.d.ts.map +1 -0
  24. package/dist/async/operators/concatAsync.js +8 -0
  25. package/dist/async/operators/concatAsync.js.map +1 -0
  26. package/dist/async/operators/countAsync.d.ts +2 -0
  27. package/dist/async/operators/countAsync.d.ts.map +1 -0
  28. package/dist/async/operators/countAsync.js +13 -0
  29. package/dist/async/operators/countAsync.js.map +1 -0
  30. package/dist/async/operators/distinctAsync.d.ts +2 -0
  31. package/dist/async/operators/distinctAsync.d.ts.map +1 -0
  32. package/dist/async/operators/distinctAsync.js +14 -0
  33. package/dist/async/operators/distinctAsync.js.map +1 -0
  34. package/dist/async/operators/exceptAsync.d.ts +2 -0
  35. package/dist/async/operators/exceptAsync.d.ts.map +1 -0
  36. package/dist/async/operators/exceptAsync.js +18 -0
  37. package/dist/async/operators/exceptAsync.js.map +1 -0
  38. package/dist/async/operators/firstAsync.d.ts +2 -0
  39. package/dist/async/operators/firstAsync.d.ts.map +1 -0
  40. package/dist/async/operators/firstAsync.js +21 -0
  41. package/dist/async/operators/firstAsync.js.map +1 -0
  42. package/dist/async/operators/groupByAsync.d.ts +3 -0
  43. package/dist/async/operators/groupByAsync.d.ts.map +1 -0
  44. package/dist/async/operators/groupByAsync.js +22 -0
  45. package/dist/async/operators/groupByAsync.js.map +1 -0
  46. package/dist/async/operators/intersectAsync.d.ts +2 -0
  47. package/dist/async/operators/intersectAsync.d.ts.map +1 -0
  48. package/dist/async/operators/intersectAsync.js +18 -0
  49. package/dist/async/operators/intersectAsync.js.map +1 -0
  50. package/dist/async/operators/joinAsync.d.ts +2 -0
  51. package/dist/async/operators/joinAsync.d.ts.map +1 -0
  52. package/dist/async/operators/joinAsync.js +25 -0
  53. package/dist/async/operators/joinAsync.js.map +1 -0
  54. package/dist/async/operators/maxAsync.d.ts +2 -0
  55. package/dist/async/operators/maxAsync.d.ts.map +1 -0
  56. package/dist/async/operators/maxAsync.js +17 -0
  57. package/dist/async/operators/maxAsync.js.map +1 -0
  58. package/dist/async/operators/minAsync.d.ts +2 -0
  59. package/dist/async/operators/minAsync.d.ts.map +1 -0
  60. package/dist/async/operators/minAsync.js +17 -0
  61. package/dist/async/operators/minAsync.js.map +1 -0
  62. package/dist/async/operators/orderByAsync.d.ts +2 -0
  63. package/dist/async/operators/orderByAsync.d.ts.map +1 -0
  64. package/dist/async/operators/orderByAsync.js +19 -0
  65. package/dist/async/operators/orderByAsync.js.map +1 -0
  66. package/dist/async/operators/orderByManyAsync.d.ts +6 -0
  67. package/dist/async/operators/orderByManyAsync.d.ts.map +1 -0
  68. package/dist/async/operators/orderByManyAsync.js +25 -0
  69. package/dist/async/operators/orderByManyAsync.js.map +1 -0
  70. package/dist/async/operators/prependAsync.d.ts +2 -0
  71. package/dist/async/operators/prependAsync.d.ts.map +1 -0
  72. package/dist/async/operators/prependAsync.js +8 -0
  73. package/dist/async/operators/prependAsync.js.map +1 -0
  74. package/dist/async/operators/selectAsync.d.ts +2 -0
  75. package/dist/async/operators/selectAsync.d.ts.map +1 -0
  76. package/dist/async/operators/selectAsync.js +10 -0
  77. package/dist/async/operators/selectAsync.js.map +1 -0
  78. package/dist/async/operators/selectManyAsync.d.ts +2 -0
  79. package/dist/async/operators/selectManyAsync.d.ts.map +1 -0
  80. package/dist/async/operators/selectManyAsync.js +13 -0
  81. package/dist/async/operators/selectManyAsync.js.map +1 -0
  82. package/dist/async/operators/skipAsync.d.ts +2 -0
  83. package/dist/async/operators/skipAsync.d.ts.map +1 -0
  84. package/dist/async/operators/skipAsync.js +14 -0
  85. package/dist/async/operators/skipAsync.js.map +1 -0
  86. package/dist/async/operators/sumAsync.d.ts +2 -0
  87. package/dist/async/operators/sumAsync.d.ts.map +1 -0
  88. package/dist/async/operators/sumAsync.js +15 -0
  89. package/dist/async/operators/sumAsync.js.map +1 -0
  90. package/dist/async/operators/takeAsync.d.ts +2 -0
  91. package/dist/async/operators/takeAsync.d.ts.map +1 -0
  92. package/dist/async/operators/takeAsync.js +13 -0
  93. package/dist/async/operators/takeAsync.js.map +1 -0
  94. package/dist/async/operators/toArrayAsync.d.ts +2 -0
  95. package/dist/async/operators/toArrayAsync.d.ts.map +1 -0
  96. package/dist/async/operators/toArrayAsync.js +11 -0
  97. package/dist/async/operators/toArrayAsync.js.map +1 -0
  98. package/dist/async/operators/unionAsync.d.ts +2 -0
  99. package/dist/async/operators/unionAsync.d.ts.map +1 -0
  100. package/dist/async/operators/unionAsync.js +21 -0
  101. package/dist/async/operators/unionAsync.js.map +1 -0
  102. package/dist/async/operators/whereAsync.d.ts +2 -0
  103. package/dist/async/operators/whereAsync.d.ts.map +1 -0
  104. package/dist/async/operators/whereAsync.js +12 -0
  105. package/dist/async/operators/whereAsync.js.map +1 -0
  106. package/dist/json/fromJson.d.ts +20 -0
  107. package/dist/json/fromJson.d.ts.map +1 -0
  108. package/dist/json/fromJson.js +49 -0
  109. package/dist/json/fromJson.js.map +1 -0
  110. package/dist/operators/all.d.ts +2 -0
  111. package/dist/operators/all.d.ts.map +1 -0
  112. package/dist/operators/all.js +12 -0
  113. package/dist/operators/all.js.map +1 -0
  114. package/dist/operators/any.d.ts +2 -0
  115. package/dist/operators/any.d.ts.map +1 -0
  116. package/dist/operators/any.js +17 -0
  117. package/dist/operators/any.js.map +1 -0
  118. package/dist/operators/append.d.ts +2 -0
  119. package/dist/operators/append.d.ts.map +1 -0
  120. package/dist/operators/append.js +8 -0
  121. package/dist/operators/append.js.map +1 -0
  122. package/dist/operators/concat.d.ts +2 -0
  123. package/dist/operators/concat.d.ts.map +1 -0
  124. package/dist/operators/concat.js +8 -0
  125. package/dist/operators/concat.js.map +1 -0
  126. package/dist/operators/count.d.ts +2 -0
  127. package/dist/operators/count.d.ts.map +1 -0
  128. package/dist/operators/count.js +13 -0
  129. package/dist/operators/count.js.map +1 -0
  130. package/dist/operators/distinct.d.ts +2 -0
  131. package/dist/operators/distinct.d.ts.map +1 -0
  132. package/dist/operators/distinct.js +14 -0
  133. package/dist/operators/distinct.js.map +1 -0
  134. package/dist/operators/except.d.ts +2 -0
  135. package/dist/operators/except.d.ts.map +1 -0
  136. package/dist/operators/except.js +18 -0
  137. package/dist/operators/except.js.map +1 -0
  138. package/dist/operators/first.d.ts +2 -0
  139. package/dist/operators/first.d.ts.map +1 -0
  140. package/dist/operators/first.js +21 -0
  141. package/dist/operators/first.js.map +1 -0
  142. package/dist/operators/groupBy.d.ts +8 -0
  143. package/dist/operators/groupBy.d.ts.map +1 -0
  144. package/dist/operators/groupBy.js +31 -0
  145. package/dist/operators/groupBy.js.map +1 -0
  146. package/dist/operators/intersect.d.ts +2 -0
  147. package/dist/operators/intersect.d.ts.map +1 -0
  148. package/dist/operators/intersect.js +18 -0
  149. package/dist/operators/intersect.js.map +1 -0
  150. package/dist/operators/join.d.ts +2 -0
  151. package/dist/operators/join.d.ts.map +1 -0
  152. package/dist/operators/join.js +25 -0
  153. package/dist/operators/join.js.map +1 -0
  154. package/dist/operators/max.d.ts +2 -0
  155. package/dist/operators/max.d.ts.map +1 -0
  156. package/dist/operators/max.js +17 -0
  157. package/dist/operators/max.js.map +1 -0
  158. package/dist/operators/min.d.ts +2 -0
  159. package/dist/operators/min.d.ts.map +1 -0
  160. package/dist/operators/min.js +17 -0
  161. package/dist/operators/min.js.map +1 -0
  162. package/dist/operators/orderBy.d.ts +2 -0
  163. package/dist/operators/orderBy.d.ts.map +1 -0
  164. package/dist/operators/orderBy.js +15 -0
  165. package/dist/operators/orderBy.js.map +1 -0
  166. package/dist/operators/orderByMany.d.ts +6 -0
  167. package/dist/operators/orderByMany.d.ts.map +1 -0
  168. package/dist/operators/orderByMany.js +18 -0
  169. package/dist/operators/orderByMany.js.map +1 -0
  170. package/dist/operators/prepend.d.ts +2 -0
  171. package/dist/operators/prepend.d.ts.map +1 -0
  172. package/dist/operators/prepend.js +8 -0
  173. package/dist/operators/prepend.js.map +1 -0
  174. package/dist/operators/select.d.ts +2 -0
  175. package/dist/operators/select.d.ts.map +1 -0
  176. package/dist/operators/select.js +10 -0
  177. package/dist/operators/select.js.map +1 -0
  178. package/dist/operators/selectMany.d.ts +2 -0
  179. package/dist/operators/selectMany.d.ts.map +1 -0
  180. package/dist/operators/selectMany.js +12 -0
  181. package/dist/operators/selectMany.js.map +1 -0
  182. package/dist/operators/skip.d.ts +2 -0
  183. package/dist/operators/skip.d.ts.map +1 -0
  184. package/dist/operators/skip.js +14 -0
  185. package/dist/operators/skip.js.map +1 -0
  186. package/dist/operators/sum.d.ts +2 -0
  187. package/dist/operators/sum.d.ts.map +1 -0
  188. package/dist/operators/sum.js +15 -0
  189. package/dist/operators/sum.js.map +1 -0
  190. package/dist/operators/take.d.ts +2 -0
  191. package/dist/operators/take.d.ts.map +1 -0
  192. package/dist/operators/take.js +13 -0
  193. package/dist/operators/take.js.map +1 -0
  194. package/dist/operators/toArray.d.ts +2 -0
  195. package/dist/operators/toArray.d.ts.map +1 -0
  196. package/dist/operators/toArray.js +7 -0
  197. package/dist/operators/toArray.js.map +1 -0
  198. package/dist/operators/union.d.ts +2 -0
  199. package/dist/operators/union.d.ts.map +1 -0
  200. package/dist/operators/union.js +21 -0
  201. package/dist/operators/union.js.map +1 -0
  202. package/dist/operators/where.d.ts +2 -0
  203. package/dist/operators/where.d.ts.map +1 -0
  204. package/dist/operators/where.js +12 -0
  205. package/dist/operators/where.js.map +1 -0
  206. package/dist/utils/comparers.d.ts +3 -0
  207. package/dist/utils/comparers.d.ts.map +1 -0
  208. package/dist/utils/comparers.js +21 -0
  209. package/dist/utils/comparers.js.map +1 -0
  210. package/dist/utils/guards.d.ts +10 -0
  211. package/dist/utils/guards.d.ts.map +1 -0
  212. package/dist/utils/guards.js +49 -0
  213. package/dist/utils/guards.js.map +1 -0
  214. package/package.json +24 -4
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.countAsync = countAsync;
4
+ async function countAsync(source, predicate) {
5
+ let count = 0;
6
+ for await (const item of source) {
7
+ if (!predicate || await predicate(item)) {
8
+ count++;
9
+ }
10
+ }
11
+ return count;
12
+ }
13
+ //# sourceMappingURL=countAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countAsync.js","sourceRoot":"","sources":["../../../src/async/operators/countAsync.ts"],"names":[],"mappings":";;AAAA,gCAWC;AAXM,KAAK,UAAU,UAAU,CAC5B,MAAwB,EACxB,SAAmD;IAEnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function distinctAsync<T, TKey>(source: AsyncIterable<T>, keySelector: (item: T) => TKey | Promise<TKey>): AsyncIterable<T>;
2
+ //# sourceMappingURL=distinctAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distinctAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/distinctAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,aAAa,CAAC,CAAC,EAAE,IAAI,EACxC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC/C,aAAa,CAAC,CAAC,CAAC,CASlB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.distinctAsync = distinctAsync;
4
+ async function* distinctAsync(source, keySelector) {
5
+ const seen = new Set();
6
+ for await (const item of source) {
7
+ const key = await keySelector(item);
8
+ if (!seen.has(key)) {
9
+ seen.add(key);
10
+ yield item;
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=distinctAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distinctAsync.js","sourceRoot":"","sources":["../../../src/async/operators/distinctAsync.ts"],"names":[],"mappings":";;AAAA,sCAYC;AAZM,KAAK,SAAS,CAAC,CAAC,aAAa,CAChC,MAAwB,EACxB,WAA8C;IAE9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function exceptAsync<T, TKey = T>(source: AsyncIterable<T>, other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncIterable<T>;
2
+ //# sourceMappingURL=exceptAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/exceptAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAC1C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EACrC,WAAW,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAwB,GACtE,aAAa,CAAC,CAAC,CAAC,CAclB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exceptAsync = exceptAsync;
4
+ async function* exceptAsync(source, other, keySelector = ((x) => x)) {
5
+ const otherKeys = new Set();
6
+ for await (const item of other) {
7
+ otherKeys.add(await keySelector(item));
8
+ }
9
+ const seen = new Set();
10
+ for await (const item of source) {
11
+ const key = await keySelector(item);
12
+ if (!otherKeys.has(key) && !seen.has(key)) {
13
+ seen.add(key);
14
+ yield item;
15
+ }
16
+ }
17
+ }
18
+ //# sourceMappingURL=exceptAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptAsync.js","sourceRoot":"","sources":["../../../src/async/operators/exceptAsync.ts"],"names":[],"mappings":";;AAAA,kCAkBC;AAlBM,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAwB,EACxB,KAAqC,EACrC,cAAiD,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAQ;IAErE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAQ,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC7B,SAAS,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function firstAsync<T>(source: AsyncIterable<T>, predicate?: (item: T) => boolean | Promise<boolean>): Promise<T>;
2
+ //# sourceMappingURL=firstAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/firstAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,UAAU,CAAC,CAAC,EAC9B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CAeZ"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstAsync = firstAsync;
4
+ async function firstAsync(source, predicate) {
5
+ if (predicate) {
6
+ for await (const item of source) {
7
+ if (await predicate(item)) {
8
+ return item;
9
+ }
10
+ }
11
+ }
12
+ else {
13
+ const iterator = source[Symbol.asyncIterator]();
14
+ const result = await iterator.next();
15
+ if (!result.done) {
16
+ return result.value;
17
+ }
18
+ }
19
+ throw new Error('Sequence contains no matching element.');
20
+ }
21
+ //# sourceMappingURL=firstAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstAsync.js","sourceRoot":"","sources":["../../../src/async/operators/firstAsync.ts"],"names":[],"mappings":";;AAAA,gCAkBC;AAlBM,KAAK,UAAU,UAAU,CAC5B,MAAwB,EACxB,SAAmD;IAEnD,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Grouping } from '../../operators/groupBy';
2
+ export declare function groupByAsync<T, TKey, TElement = T>(source: AsyncIterable<T>, keySelector: (item: T) => TKey | Promise<TKey>, elementSelector?: (item: T) => TElement | Promise<TElement>): AsyncIterable<Grouping<TKey, TElement>>;
3
+ //# sourceMappingURL=groupByAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupByAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/groupByAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,wBAAuB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EACrD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9C,eAAe,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAA8C,GACxG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAiBzC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupByAsync = groupByAsync;
4
+ const groupBy_1 = require("../../operators/groupBy");
5
+ async function* groupByAsync(source, keySelector, elementSelector = ((item) => item)) {
6
+ const groups = new Map();
7
+ for await (const item of source) {
8
+ const key = await keySelector(item);
9
+ const element = await elementSelector(item);
10
+ const group = groups.get(key);
11
+ if (group) {
12
+ group.push(element);
13
+ }
14
+ else {
15
+ groups.set(key, [element]);
16
+ }
17
+ }
18
+ for (const [key, values] of groups) {
19
+ yield new groupBy_1.Grouping(key, values);
20
+ }
21
+ }
22
+ //# sourceMappingURL=groupByAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupByAsync.js","sourceRoot":"","sources":["../../../src/async/operators/groupByAsync.ts"],"names":[],"mappings":";;AAEA,oCAqBC;AAvBD,qDAAmD;AAE5C,KAAK,SAAS,CAAC,CAAC,YAAY,CAC/B,MAAwB,EACxB,WAA8C,EAC9C,kBAA6D,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAA2B,CAAC;IAEvG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,kBAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function intersectAsync<T, TKey = T>(source: AsyncIterable<T>, other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncIterable<T>;
2
+ //# sourceMappingURL=intersectAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersectAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/intersectAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAC7C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EACrC,WAAW,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAwB,GACtE,aAAa,CAAC,CAAC,CAAC,CAclB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.intersectAsync = intersectAsync;
4
+ async function* intersectAsync(source, other, keySelector = ((x) => x)) {
5
+ const otherKeys = new Set();
6
+ for await (const item of other) {
7
+ otherKeys.add(await keySelector(item));
8
+ }
9
+ const seen = new Set();
10
+ for await (const item of source) {
11
+ const key = await keySelector(item);
12
+ if (otherKeys.has(key) && !seen.has(key)) {
13
+ seen.add(key);
14
+ yield item;
15
+ }
16
+ }
17
+ }
18
+ //# sourceMappingURL=intersectAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersectAsync.js","sourceRoot":"","sources":["../../../src/async/operators/intersectAsync.ts"],"names":[],"mappings":";;AAAA,wCAkBC;AAlBM,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,MAAwB,EACxB,KAAqC,EACrC,cAAiD,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAQ;IAErE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAQ,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC7B,SAAS,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function joinAsync<TOuter, TInner, TKey, TResult>(outer: AsyncIterable<TOuter>, inner: Iterable<TInner> | AsyncIterable<TInner>, outerKeySelector: (item: TOuter) => TKey | Promise<TKey>, innerKeySelector: (item: TInner) => TKey | Promise<TKey>, resultSelector: (outer: TOuter, inner: TInner) => TResult | Promise<TResult>): AsyncIterable<TResult>;
2
+ //# sourceMappingURL=joinAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/joinAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAC1D,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EAC/C,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACxD,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACxD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC7E,aAAa,CAAC,OAAO,CAAC,CAoBxB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.joinAsync = joinAsync;
4
+ async function* joinAsync(outer, inner, outerKeySelector, innerKeySelector, resultSelector) {
5
+ const lookup = new Map();
6
+ for await (const innerItem of inner) {
7
+ const key = await innerKeySelector(innerItem);
8
+ const group = lookup.get(key);
9
+ if (group) {
10
+ group.push(innerItem);
11
+ }
12
+ else {
13
+ lookup.set(key, [innerItem]);
14
+ }
15
+ }
16
+ for await (const outerItem of outer) {
17
+ const matches = lookup.get(await outerKeySelector(outerItem));
18
+ if (!matches)
19
+ continue;
20
+ for (const innerItem of matches) {
21
+ yield await resultSelector(outerItem, innerItem);
22
+ }
23
+ }
24
+ }
25
+ //# sourceMappingURL=joinAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinAsync.js","sourceRoot":"","sources":["../../../src/async/operators/joinAsync.ts"],"names":[],"mappings":";;AAAA,8BA0BC;AA1BM,KAAK,SAAS,CAAC,CAAC,SAAS,CAC5B,KAA4B,EAC5B,KAA+C,EAC/C,gBAAwD,EACxD,gBAAwD,EACxD,cAA4E;IAE5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function maxAsync<T>(source: AsyncIterable<T>, selector: (item: T) => number | Promise<number>): Promise<number | undefined>;
2
+ //# sourceMappingURL=maxAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/maxAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAChD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maxAsync = maxAsync;
4
+ async function maxAsync(source, selector) {
5
+ let maxValue;
6
+ for await (const item of source) {
7
+ const value = await selector(item);
8
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
9
+ throw new TypeError('maxAsync: value must be a finite number.');
10
+ }
11
+ if (maxValue === undefined || value > maxValue) {
12
+ maxValue = value;
13
+ }
14
+ }
15
+ return maxValue;
16
+ }
17
+ //# sourceMappingURL=maxAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxAsync.js","sourceRoot":"","sources":["../../../src/async/operators/maxAsync.ts"],"names":[],"mappings":";;AAAA,4BAeC;AAfM,KAAK,UAAU,QAAQ,CAC1B,MAAwB,EACxB,QAA+C;IAE/C,IAAI,QAA4B,CAAC;IACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC7C,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function minAsync<T>(source: AsyncIterable<T>, selector: (item: T) => number | Promise<number>): Promise<number | undefined>;
2
+ //# sourceMappingURL=minAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/minAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAChD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.minAsync = minAsync;
4
+ async function minAsync(source, selector) {
5
+ let minValue;
6
+ for await (const item of source) {
7
+ const value = await selector(item);
8
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
9
+ throw new TypeError('minAsync: value must be a finite number.');
10
+ }
11
+ if (minValue === undefined || value < minValue) {
12
+ minValue = value;
13
+ }
14
+ }
15
+ return minValue;
16
+ }
17
+ //# sourceMappingURL=minAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minAsync.js","sourceRoot":"","sources":["../../../src/async/operators/minAsync.ts"],"names":[],"mappings":";;AAAA,4BAeC;AAfM,KAAK,UAAU,QAAQ,CAC1B,MAAwB,EACxB,QAA+C;IAE/C,IAAI,QAA4B,CAAC;IACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC7C,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function orderByAsync<T, TKey>(source: AsyncIterable<T>, keySelector: (item: T) => TKey | Promise<TKey>, comparer: (a: TKey, b: TKey) => number): AsyncIterable<T>;
2
+ //# sourceMappingURL=orderByAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderByAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/orderByAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,YAAY,CAAC,CAAC,EAAE,IAAI,EACvC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,MAAM,GACvC,aAAa,CAAC,CAAC,CAAC,CAmBlB"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderByAsync = orderByAsync;
4
+ async function* orderByAsync(source, keySelector, comparer) {
5
+ const buffer = [];
6
+ for await (const item of source) {
7
+ buffer.push(item);
8
+ }
9
+ // We need to resolve keys for all items to sort them
10
+ const itemsWithKeys = await Promise.all(buffer.map(async (item) => ({
11
+ item,
12
+ key: await keySelector(item),
13
+ })));
14
+ itemsWithKeys.sort((a, b) => comparer(a.key, b.key));
15
+ for (const { item } of itemsWithKeys) {
16
+ yield item;
17
+ }
18
+ }
19
+ //# sourceMappingURL=orderByAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderByAsync.js","sourceRoot":"","sources":["../../../src/async/operators/orderByAsync.ts"],"names":[],"mappings":";;AAAA,oCAuBC;AAvBM,KAAK,SAAS,CAAC,CAAC,YAAY,CAC/B,MAAwB,EACxB,WAA8C,EAC9C,QAAsC;IAEtC,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI;QACJ,GAAG,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC,CACN,CAAC;IAEF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC;IACf,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface AsyncSortCriterion<T, TKey = any> {
2
+ keySelector: (item: T) => TKey | Promise<TKey>;
3
+ comparer: (a: TKey, b: TKey) => number;
4
+ }
5
+ export declare function orderByManyAsync<T>(source: AsyncIterable<T>, criteria: ReadonlyArray<AsyncSortCriterion<T>>): AsyncIterable<T>;
6
+ //# sourceMappingURL=orderByManyAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderByManyAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/orderByManyAsync.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;CAC1C;AAED,wBAAuB,gBAAgB,CAAC,CAAC,EACrC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC/C,aAAa,CAAC,CAAC,CAAC,CAwBlB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderByManyAsync = orderByManyAsync;
4
+ async function* orderByManyAsync(source, criteria) {
5
+ const buffer = [];
6
+ for await (const item of source) {
7
+ buffer.push(item);
8
+ }
9
+ const itemsWithKeys = await Promise.all(buffer.map(async (item) => ({
10
+ item,
11
+ keys: await Promise.all(criteria.map(criterion => criterion.keySelector(item))),
12
+ })));
13
+ itemsWithKeys.sort((a, b) => {
14
+ for (let index = 0; index < criteria.length; index++) {
15
+ const comparison = criteria[index].comparer(a.keys[index], b.keys[index]);
16
+ if (comparison !== 0)
17
+ return comparison;
18
+ }
19
+ return 0;
20
+ });
21
+ for (const { item } of itemsWithKeys) {
22
+ yield item;
23
+ }
24
+ }
25
+ //# sourceMappingURL=orderByManyAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderByManyAsync.js","sourceRoot":"","sources":["../../../src/async/operators/orderByManyAsync.ts"],"names":[],"mappings":";;AAKA,4CA2BC;AA3BM,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAwB,EACxB,QAA8C;IAE9C,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI;QACJ,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;KAClF,CAAC,CAAC,CACN,CAAC;IAEF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC;IACf,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function prependAsync<T>(source: AsyncIterable<T>, element: T): AsyncIterable<T>;
2
+ //# sourceMappingURL=prependAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prependAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/prependAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAG7F"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prependAsync = prependAsync;
4
+ async function* prependAsync(source, element) {
5
+ yield element;
6
+ yield* source;
7
+ }
8
+ //# sourceMappingURL=prependAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prependAsync.js","sourceRoot":"","sources":["../../../src/async/operators/prependAsync.ts"],"names":[],"mappings":";;AAAA,oCAGC;AAHM,KAAK,SAAS,CAAC,CAAC,YAAY,CAAI,MAAwB,EAAE,OAAU;IACvE,MAAM,OAAO,CAAC;IACd,KAAK,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function selectAsync<T, U>(source: AsyncIterable<T>, selector: (item: T, index: number) => U | Promise<U>): AsyncIterable<U>;
2
+ //# sourceMappingURL=selectAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/selectAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,WAAW,CAAC,CAAC,EAAE,CAAC,EACnC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACrD,aAAa,CAAC,CAAC,CAAC,CAKlB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectAsync = selectAsync;
4
+ async function* selectAsync(source, selector) {
5
+ let index = 0;
6
+ for await (const item of source) {
7
+ yield await selector(item, index++);
8
+ }
9
+ }
10
+ //# sourceMappingURL=selectAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectAsync.js","sourceRoot":"","sources":["../../../src/async/operators/selectAsync.ts"],"names":[],"mappings":";;AAAA,kCAQC;AARM,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAwB,EACxB,QAAoD;IAEpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function selectManyAsync<T, U, R = U>(source: AsyncIterable<T>, collectionSelector: (item: T, index: number) => Iterable<U> | AsyncIterable<U> | Promise<Iterable<U> | AsyncIterable<U>>, resultSelector?: (item: T, collectionItem: U) => R | Promise<R>): AsyncIterable<U | R>;
2
+ //# sourceMappingURL=selectManyAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectManyAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/selectManyAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAC9C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,EACxH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAChE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAQtB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectManyAsync = selectManyAsync;
4
+ async function* selectManyAsync(source, collectionSelector, resultSelector) {
5
+ let index = 0;
6
+ for await (const item of source) {
7
+ const collection = await collectionSelector(item, index++);
8
+ for await (const collectionItem of collection) {
9
+ yield resultSelector ? await resultSelector(item, collectionItem) : collectionItem;
10
+ }
11
+ }
12
+ }
13
+ //# sourceMappingURL=selectManyAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectManyAsync.js","sourceRoot":"","sources":["../../../src/async/operators/selectManyAsync.ts"],"names":[],"mappings":";;AAAA,0CAYC;AAZM,KAAK,SAAS,CAAC,CAAC,eAAe,CAClC,MAAwB,EACxB,kBAAwH,EACxH,cAA+D;IAE/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;YAC5C,MAAM,cAAc,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACvF,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function skipAsync<T>(source: AsyncIterable<T>, count: number): AsyncIterable<T>;
2
+ //# sourceMappingURL=skipAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skipAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/skipAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAS7F"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.skipAsync = skipAsync;
4
+ async function* skipAsync(source, count) {
5
+ let skipped = 0;
6
+ for await (const item of source) {
7
+ if (skipped < count) {
8
+ skipped++;
9
+ continue;
10
+ }
11
+ yield item;
12
+ }
13
+ }
14
+ //# sourceMappingURL=skipAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skipAsync.js","sourceRoot":"","sources":["../../../src/async/operators/skipAsync.ts"],"names":[],"mappings":";;AAAA,8BASC;AATM,KAAK,SAAS,CAAC,CAAC,SAAS,CAAI,MAAwB,EAAE,KAAa;IACvE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;YACV,SAAS;QACb,CAAC;QACD,MAAM,IAAI,CAAC;IACf,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sumAsync<T>(source: AsyncIterable<T>, selector: (item: T) => number | Promise<number>): Promise<number>;
2
+ //# sourceMappingURL=sumAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sumAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/sumAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sumAsync = sumAsync;
4
+ async function sumAsync(source, selector) {
5
+ let total = 0;
6
+ for await (const item of source) {
7
+ const value = await selector(item);
8
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
9
+ throw new TypeError('sumAsync: value must be a finite number.');
10
+ }
11
+ total += value;
12
+ }
13
+ return total;
14
+ }
15
+ //# sourceMappingURL=sumAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sumAsync.js","sourceRoot":"","sources":["../../../src/async/operators/sumAsync.ts"],"names":[],"mappings":";;AAAA,4BAaC;AAbM,KAAK,UAAU,QAAQ,CAC1B,MAAwB,EACxB,QAA+C;IAE/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,IAAI,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function takeAsync<T>(source: AsyncIterable<T>, count: number): AsyncIterable<T>;
2
+ //# sourceMappingURL=takeAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"takeAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/takeAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAO7F"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.takeAsync = takeAsync;
4
+ async function* takeAsync(source, count) {
5
+ let taken = 0;
6
+ for await (const item of source) {
7
+ if (taken >= count)
8
+ break;
9
+ yield item;
10
+ taken++;
11
+ }
12
+ }
13
+ //# sourceMappingURL=takeAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"takeAsync.js","sourceRoot":"","sources":["../../../src/async/operators/takeAsync.ts"],"names":[],"mappings":";;AAAA,8BAOC;AAPM,KAAK,SAAS,CAAC,CAAC,SAAS,CAAI,MAAwB,EAAE,KAAa;IACvE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK;YAAE,MAAM;QAC1B,MAAM,IAAI,CAAC;QACX,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function toArrayAsync<T>(source: AsyncIterable<T>): Promise<T[]>;
2
+ //# sourceMappingURL=toArrayAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toArrayAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/toArrayAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAM5E"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toArrayAsync = toArrayAsync;
4
+ async function toArrayAsync(source) {
5
+ const result = [];
6
+ for await (const item of source) {
7
+ result.push(item);
8
+ }
9
+ return result;
10
+ }
11
+ //# sourceMappingURL=toArrayAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toArrayAsync.js","sourceRoot":"","sources":["../../../src/async/operators/toArrayAsync.ts"],"names":[],"mappings":";;AAAA,oCAMC;AANM,KAAK,UAAU,YAAY,CAAI,MAAwB;IAC1D,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function unionAsync<T, TKey = T>(source: AsyncIterable<T>, other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncIterable<T>;
2
+ //# sourceMappingURL=unionAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unionAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/unionAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EACzC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EACrC,WAAW,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAwB,GACtE,aAAa,CAAC,CAAC,CAAC,CAkBlB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unionAsync = unionAsync;
4
+ async function* unionAsync(source, other, keySelector = ((x) => x)) {
5
+ const seen = new Set();
6
+ for await (const item of source) {
7
+ const key = await keySelector(item);
8
+ if (!seen.has(key)) {
9
+ seen.add(key);
10
+ yield item;
11
+ }
12
+ }
13
+ for await (const item of other) {
14
+ const key = await keySelector(item);
15
+ if (!seen.has(key)) {
16
+ seen.add(key);
17
+ yield item;
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=unionAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unionAsync.js","sourceRoot":"","sources":["../../../src/async/operators/unionAsync.ts"],"names":[],"mappings":";;AAAA,gCAsBC;AAtBM,KAAK,SAAS,CAAC,CAAC,UAAU,CAC7B,MAAwB,EACxB,KAAqC,EACrC,cAAiD,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAQ;IAErE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAQ,CAAC;IAE7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function whereAsync<T>(source: AsyncIterable<T>, predicate: (item: T, index: number) => boolean | Promise<boolean>): AsyncIterable<T>;
2
+ //# sourceMappingURL=whereAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whereAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/whereAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,UAAU,CAAC,CAAC,EAC/B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAClE,aAAa,CAAC,CAAC,CAAC,CAOlB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.whereAsync = whereAsync;
4
+ async function* whereAsync(source, predicate) {
5
+ let index = 0;
6
+ for await (const item of source) {
7
+ if (await predicate(item, index++)) {
8
+ yield item;
9
+ }
10
+ }
11
+ }
12
+ //# sourceMappingURL=whereAsync.js.map