iter-fest 0.1.1-main.0a3d131 → 0.1.1-main.149c8ad

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 (215) hide show
  1. package/README.md +175 -33
  2. package/dist/chunk-2DE3J4J7.mjs +35 -0
  3. package/dist/chunk-2DE3J4J7.mjs.map +1 -0
  4. package/dist/chunk-3S6LCGE6.mjs +10 -0
  5. package/dist/chunk-3S6LCGE6.mjs.map +1 -0
  6. package/dist/chunk-ANRVAYLW.mjs +35 -0
  7. package/dist/chunk-ANRVAYLW.mjs.map +1 -0
  8. package/dist/chunk-BWMXKULC.mjs +46 -0
  9. package/dist/chunk-BWMXKULC.mjs.map +1 -0
  10. package/dist/chunk-EIIP7YWB.mjs +27 -0
  11. package/dist/chunk-EIIP7YWB.mjs.map +1 -0
  12. package/dist/chunk-EUVK4YM7.mjs +25 -0
  13. package/dist/chunk-EUVK4YM7.mjs.map +1 -0
  14. package/dist/chunk-FBST4AUL.mjs +10 -0
  15. package/dist/chunk-FBST4AUL.mjs.map +1 -0
  16. package/dist/chunk-FMIHIL6A.mjs +10 -0
  17. package/dist/chunk-FMIHIL6A.mjs.map +1 -0
  18. package/dist/chunk-KYMTQJIJ.mjs +10 -0
  19. package/dist/chunk-KYMTQJIJ.mjs.map +1 -0
  20. package/dist/chunk-LIMQXDFK.mjs +10 -0
  21. package/dist/chunk-LIMQXDFK.mjs.map +1 -0
  22. package/dist/chunk-OWUGLCQB.mjs +10 -0
  23. package/dist/chunk-OWUGLCQB.mjs.map +1 -0
  24. package/dist/chunk-P4OSZLEH.mjs +15 -0
  25. package/dist/chunk-P4OSZLEH.mjs.map +1 -0
  26. package/dist/chunk-QX6EMOSQ.mjs +10 -0
  27. package/dist/chunk-QX6EMOSQ.mjs.map +1 -0
  28. package/dist/chunk-R6SXIXMH.mjs +10 -0
  29. package/dist/chunk-R6SXIXMH.mjs.map +1 -0
  30. package/dist/chunk-TDHR35S7.mjs +10 -0
  31. package/dist/chunk-TDHR35S7.mjs.map +1 -0
  32. package/dist/chunk-VCKLUCOT.mjs +10 -0
  33. package/dist/chunk-VCKLUCOT.mjs.map +1 -0
  34. package/dist/chunk-XQDGXAAF.mjs +10 -0
  35. package/dist/chunk-XQDGXAAF.mjs.map +1 -0
  36. package/dist/chunk-YJSIVBF7.mjs +22 -0
  37. package/dist/chunk-YJSIVBF7.mjs.map +1 -0
  38. package/dist/chunk-YLERARWI.mjs +10 -0
  39. package/dist/chunk-YLERARWI.mjs.map +1 -0
  40. package/dist/iter-fest.asyncGeneratorWithLastValue.d.mts +6 -0
  41. package/dist/iter-fest.asyncGeneratorWithLastValue.d.ts +6 -0
  42. package/dist/iter-fest.asyncGeneratorWithLastValue.js +59 -0
  43. package/dist/iter-fest.asyncGeneratorWithLastValue.js.map +1 -0
  44. package/dist/iter-fest.asyncGeneratorWithLastValue.mjs +7 -0
  45. package/dist/iter-fest.asyncIteratorToAsyncIterable.d.mts +3 -0
  46. package/dist/iter-fest.asyncIteratorToAsyncIterable.d.ts +3 -0
  47. package/dist/{iter-fest.iterableForEach.js → iter-fest.asyncIteratorToAsyncIterable.js} +15 -16
  48. package/dist/iter-fest.asyncIteratorToAsyncIterable.js.map +1 -0
  49. package/dist/iter-fest.asyncIteratorToAsyncIterable.mjs +7 -0
  50. package/dist/iter-fest.d.mts +19 -9
  51. package/dist/iter-fest.d.ts +19 -9
  52. package/dist/iter-fest.generatorWithLastValue.d.mts +6 -0
  53. package/dist/iter-fest.generatorWithLastValue.d.ts +6 -0
  54. package/dist/iter-fest.generatorWithLastValue.js +59 -0
  55. package/dist/iter-fest.generatorWithLastValue.js.map +1 -0
  56. package/dist/iter-fest.generatorWithLastValue.mjs +7 -0
  57. package/dist/iter-fest.iterableWritableStream.d.mts +7 -0
  58. package/dist/iter-fest.iterableWritableStream.d.ts +7 -0
  59. package/dist/{iter-fest.pushAsyncIterableIterator.js → iter-fest.iterableWritableStream.js} +39 -30
  60. package/dist/iter-fest.iterableWritableStream.js.map +1 -0
  61. package/dist/iter-fest.iterableWritableStream.mjs +7 -0
  62. package/dist/iter-fest.iteratorDrop.d.mts +12 -0
  63. package/dist/iter-fest.iteratorDrop.d.ts +12 -0
  64. package/dist/iter-fest.iteratorDrop.js +44 -0
  65. package/dist/iter-fest.iteratorDrop.js.map +1 -0
  66. package/dist/iter-fest.iteratorDrop.mjs +7 -0
  67. package/dist/iter-fest.iteratorEvery.d.mts +25 -0
  68. package/dist/iter-fest.iteratorEvery.d.ts +25 -0
  69. package/dist/iter-fest.iteratorEvery.js +44 -0
  70. package/dist/iter-fest.iteratorEvery.js.map +1 -0
  71. package/dist/iter-fest.iteratorEvery.mjs +7 -0
  72. package/dist/iter-fest.iteratorFilter.d.mts +18 -0
  73. package/dist/iter-fest.iteratorFilter.d.ts +18 -0
  74. package/dist/iter-fest.iteratorFilter.js +44 -0
  75. package/dist/iter-fest.iteratorFilter.js.map +1 -0
  76. package/dist/iter-fest.iteratorFilter.mjs +7 -0
  77. package/dist/iter-fest.iteratorFind.d.mts +14 -0
  78. package/dist/iter-fest.iteratorFind.d.ts +14 -0
  79. package/dist/iter-fest.iteratorFind.js +44 -0
  80. package/dist/iter-fest.iteratorFind.js.map +1 -0
  81. package/dist/iter-fest.iteratorFind.mjs +7 -0
  82. package/dist/iter-fest.iteratorFlatMap.d.mts +12 -0
  83. package/dist/iter-fest.iteratorFlatMap.d.ts +12 -0
  84. package/dist/iter-fest.iteratorFlatMap.js +44 -0
  85. package/dist/iter-fest.iteratorFlatMap.js.map +1 -0
  86. package/dist/iter-fest.iteratorFlatMap.mjs +7 -0
  87. package/dist/iter-fest.iteratorForEach.d.mts +10 -0
  88. package/dist/iter-fest.iteratorForEach.d.ts +10 -0
  89. package/dist/iter-fest.iteratorForEach.js +44 -0
  90. package/dist/iter-fest.iteratorForEach.js.map +1 -0
  91. package/dist/iter-fest.iteratorForEach.mjs +7 -0
  92. package/dist/iter-fest.iteratorForEach.mjs.map +1 -0
  93. package/dist/iter-fest.iteratorFrom.d.mts +12 -0
  94. package/dist/iter-fest.iteratorFrom.d.ts +12 -0
  95. package/dist/iter-fest.iteratorFrom.js +44 -0
  96. package/dist/iter-fest.iteratorFrom.js.map +1 -0
  97. package/dist/iter-fest.iteratorFrom.mjs +7 -0
  98. package/dist/iter-fest.iteratorFrom.mjs.map +1 -0
  99. package/dist/iter-fest.iteratorMap.d.mts +10 -0
  100. package/dist/iter-fest.iteratorMap.d.ts +10 -0
  101. package/dist/iter-fest.iteratorMap.js +44 -0
  102. package/dist/iter-fest.iteratorMap.js.map +1 -0
  103. package/dist/iter-fest.iteratorMap.mjs +7 -0
  104. package/dist/iter-fest.iteratorMap.mjs.map +1 -0
  105. package/dist/{iter-fest.iterableReduce.d.mts → iter-fest.iteratorReduce.d.mts} +13 -9
  106. package/dist/{iter-fest.iterableReduce.d.ts → iter-fest.iteratorReduce.d.ts} +13 -9
  107. package/dist/iter-fest.iteratorReduce.js +44 -0
  108. package/dist/iter-fest.iteratorReduce.js.map +1 -0
  109. package/dist/iter-fest.iteratorReduce.mjs +7 -0
  110. package/dist/iter-fest.iteratorReduce.mjs.map +1 -0
  111. package/dist/iter-fest.iteratorSome.d.mts +10 -0
  112. package/dist/iter-fest.iteratorSome.d.ts +10 -0
  113. package/dist/iter-fest.iteratorSome.js +44 -0
  114. package/dist/iter-fest.iteratorSome.js.map +1 -0
  115. package/dist/iter-fest.iteratorSome.mjs +7 -0
  116. package/dist/iter-fest.iteratorSome.mjs.map +1 -0
  117. package/dist/iter-fest.iteratorTake.d.mts +12 -0
  118. package/dist/iter-fest.iteratorTake.d.ts +12 -0
  119. package/dist/iter-fest.iteratorTake.js +44 -0
  120. package/dist/iter-fest.iteratorTake.js.map +1 -0
  121. package/dist/iter-fest.iteratorTake.mjs +7 -0
  122. package/dist/iter-fest.iteratorTake.mjs.map +1 -0
  123. package/dist/iter-fest.iteratorToArray.d.mts +13 -0
  124. package/dist/iter-fest.iteratorToArray.d.ts +13 -0
  125. package/dist/iter-fest.iteratorToArray.js +44 -0
  126. package/dist/iter-fest.iteratorToArray.js.map +1 -0
  127. package/dist/iter-fest.iteratorToArray.mjs +7 -0
  128. package/dist/iter-fest.iteratorToArray.mjs.map +1 -0
  129. package/dist/iter-fest.js +273 -186
  130. package/dist/iter-fest.js.map +1 -1
  131. package/dist/iter-fest.mjs +80 -41
  132. package/dist/{iter-fest.observableValues.d.mts → iter-fest.observableSubscribeAsReadable.d.mts} +2 -2
  133. package/dist/{iter-fest.observableValues.d.ts → iter-fest.observableSubscribeAsReadable.d.ts} +2 -2
  134. package/dist/{iter-fest.iterableFind.js → iter-fest.observableSubscribeAsReadable.js} +26 -18
  135. package/dist/iter-fest.observableSubscribeAsReadable.js.map +1 -0
  136. package/dist/iter-fest.observableSubscribeAsReadable.mjs +7 -0
  137. package/dist/iter-fest.observableSubscribeAsReadable.mjs.map +1 -0
  138. package/dist/iter-fest.readableStreamFrom.d.mts +3 -0
  139. package/dist/iter-fest.readableStreamFrom.d.ts +3 -0
  140. package/dist/{iter-fest.iterableFilter.js → iter-fest.readableStreamFrom.js} +21 -17
  141. package/dist/iter-fest.readableStreamFrom.js.map +1 -0
  142. package/dist/iter-fest.readableStreamFrom.mjs +7 -0
  143. package/dist/iter-fest.readableStreamFrom.mjs.map +1 -0
  144. package/dist/iter-fest.readerValues.d.mts +3 -0
  145. package/dist/iter-fest.readerValues.d.ts +3 -0
  146. package/dist/{iter-fest.iterableSome.js → iter-fest.readerValues.js} +24 -18
  147. package/dist/iter-fest.readerValues.js.map +1 -0
  148. package/dist/iter-fest.readerValues.mjs +7 -0
  149. package/dist/iter-fest.readerValues.mjs.map +1 -0
  150. package/package.json +182 -82
  151. package/dist/chunk-4LRYDU2Y.mjs +0 -62
  152. package/dist/chunk-4LRYDU2Y.mjs.map +0 -1
  153. package/dist/chunk-5CRMPYKD.mjs +0 -19
  154. package/dist/chunk-5CRMPYKD.mjs.map +0 -1
  155. package/dist/chunk-6C3P4TNK.mjs +0 -19
  156. package/dist/chunk-6C3P4TNK.mjs.map +0 -1
  157. package/dist/chunk-EZC33HE6.mjs +0 -15
  158. package/dist/chunk-EZC33HE6.mjs.map +0 -1
  159. package/dist/chunk-JU353VSE.mjs +0 -16
  160. package/dist/chunk-JU353VSE.mjs.map +0 -1
  161. package/dist/chunk-K5XV4W7G.mjs +0 -35
  162. package/dist/chunk-K5XV4W7G.mjs.map +0 -1
  163. package/dist/chunk-MNLOWKTC.mjs +0 -19
  164. package/dist/chunk-MNLOWKTC.mjs.map +0 -1
  165. package/dist/chunk-U6G4RNZ2.mjs +0 -10
  166. package/dist/chunk-U6G4RNZ2.mjs.map +0 -1
  167. package/dist/chunk-XW34KZRY.mjs +0 -17
  168. package/dist/chunk-XW34KZRY.mjs.map +0 -1
  169. package/dist/chunk-ZUBHGSCW.mjs +0 -18
  170. package/dist/chunk-ZUBHGSCW.mjs.map +0 -1
  171. package/dist/iter-fest.iterableEvery.d.mts +0 -24
  172. package/dist/iter-fest.iterableEvery.d.ts +0 -24
  173. package/dist/iter-fest.iterableEvery.js +0 -43
  174. package/dist/iter-fest.iterableEvery.js.map +0 -1
  175. package/dist/iter-fest.iterableEvery.mjs +0 -7
  176. package/dist/iter-fest.iterableFilter.d.mts +0 -16
  177. package/dist/iter-fest.iterableFilter.d.ts +0 -16
  178. package/dist/iter-fest.iterableFilter.js.map +0 -1
  179. package/dist/iter-fest.iterableFilter.mjs +0 -7
  180. package/dist/iter-fest.iterableFind.d.mts +0 -15
  181. package/dist/iter-fest.iterableFind.d.ts +0 -15
  182. package/dist/iter-fest.iterableFind.js.map +0 -1
  183. package/dist/iter-fest.iterableFind.mjs +0 -7
  184. package/dist/iter-fest.iterableForEach.d.mts +0 -10
  185. package/dist/iter-fest.iterableForEach.d.ts +0 -10
  186. package/dist/iter-fest.iterableForEach.js.map +0 -1
  187. package/dist/iter-fest.iterableForEach.mjs +0 -7
  188. package/dist/iter-fest.iterableMap.d.mts +0 -8
  189. package/dist/iter-fest.iterableMap.d.ts +0 -8
  190. package/dist/iter-fest.iterableMap.js +0 -39
  191. package/dist/iter-fest.iterableMap.js.map +0 -1
  192. package/dist/iter-fest.iterableMap.mjs +0 -7
  193. package/dist/iter-fest.iterableReduce.js +0 -41
  194. package/dist/iter-fest.iterableReduce.js.map +0 -1
  195. package/dist/iter-fest.iterableReduce.mjs +0 -7
  196. package/dist/iter-fest.iterableSome.d.mts +0 -12
  197. package/dist/iter-fest.iterableSome.d.ts +0 -12
  198. package/dist/iter-fest.iterableSome.js.map +0 -1
  199. package/dist/iter-fest.iterableSome.mjs +0 -7
  200. package/dist/iter-fest.observableValues.js +0 -100
  201. package/dist/iter-fest.observableValues.js.map +0 -1
  202. package/dist/iter-fest.observableValues.mjs +0 -8
  203. package/dist/iter-fest.pushAsyncIterableIterator.d.mts +0 -9
  204. package/dist/iter-fest.pushAsyncIterableIterator.d.ts +0 -9
  205. package/dist/iter-fest.pushAsyncIterableIterator.js.map +0 -1
  206. package/dist/iter-fest.pushAsyncIterableIterator.mjs +0 -8
  207. /package/dist/{iter-fest.iterableEvery.mjs.map → iter-fest.asyncGeneratorWithLastValue.mjs.map} +0 -0
  208. /package/dist/{iter-fest.iterableFilter.mjs.map → iter-fest.asyncIteratorToAsyncIterable.mjs.map} +0 -0
  209. /package/dist/{iter-fest.iterableFind.mjs.map → iter-fest.generatorWithLastValue.mjs.map} +0 -0
  210. /package/dist/{iter-fest.iterableForEach.mjs.map → iter-fest.iterableWritableStream.mjs.map} +0 -0
  211. /package/dist/{iter-fest.iterableMap.mjs.map → iter-fest.iteratorDrop.mjs.map} +0 -0
  212. /package/dist/{iter-fest.iterableReduce.mjs.map → iter-fest.iteratorEvery.mjs.map} +0 -0
  213. /package/dist/{iter-fest.iterableSome.mjs.map → iter-fest.iteratorFilter.mjs.map} +0 -0
  214. /package/dist/{iter-fest.observableValues.mjs.map → iter-fest.iteratorFind.mjs.map} +0 -0
  215. /package/dist/{iter-fest.pushAsyncIterableIterator.mjs.map → iter-fest.iteratorFlatMap.mjs.map} +0 -0
package/dist/iter-fest.js CHANGED
@@ -9,11 +9,11 @@ var __export = (target, all) => {
9
9
  for (var name in all)
10
10
  __defProp(target, name, { get: all[name], enumerable: true });
11
11
  };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
12
+ var __copyProps = (to, from2, except, desc) => {
13
+ if (from2 && typeof from2 === "object" || typeof from2 === "function") {
14
+ for (let key of __getOwnPropNames(from2))
15
15
  if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
17
17
  }
18
18
  return to;
19
19
  };
@@ -30,32 +30,42 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
+ IterableWritableStream: () => IterableWritableStream,
33
34
  Observable: () => Observable,
34
- PushAsyncIterableIterator: () => PushAsyncIterableIterator,
35
35
  SymbolObservable: () => SymbolObservable,
36
+ asyncGeneratorWithLastValue: () => asyncGeneratorWithLastValue,
37
+ asyncIteratorToAsyncIterable: () => asyncIteratorToAsyncIterable,
38
+ generatorWithLastValue: () => generatorWithLastValue,
36
39
  iterableAt: () => iterableAt,
37
40
  iterableConcat: () => iterableConcat,
38
41
  iterableEntries: () => iterableEntries,
39
- iterableEvery: () => iterableEvery,
40
- iterableFilter: () => iterableFilter,
41
- iterableFind: () => iterableFind,
42
42
  iterableFindIndex: () => iterableFindIndex,
43
43
  iterableFindLast: () => iterableFindLast,
44
44
  iterableFindLastIndex: () => iterableFindLastIndex,
45
- iterableForEach: () => iterableForEach,
46
45
  iterableIncludes: () => iterableIncludes,
47
46
  iterableIndexOf: () => iterableIndexOf,
48
47
  iterableJoin: () => iterableJoin,
49
48
  iterableKeys: () => iterableKeys,
50
- iterableMap: () => iterableMap,
51
- iterableReduce: () => iterableReduce,
52
49
  iterableSlice: () => iterableSlice,
53
- iterableSome: () => iterableSome,
54
50
  iterableToSpliced: () => iterableToSpliced,
55
51
  iterableToString: () => iterableToString,
52
+ iteratorDrop: () => iteratorDrop,
53
+ iteratorEvery: () => iteratorEvery,
54
+ iteratorFilter: () => iteratorFilter,
55
+ iteratorFind: () => iteratorFind,
56
+ iteratorFlatMap: () => iteratorFlatMap,
57
+ iteratorForEach: () => iteratorForEach,
58
+ iteratorFrom: () => iteratorFrom,
59
+ iteratorMap: () => iteratorMap,
60
+ iteratorReduce: () => iteratorReduce,
61
+ iteratorSome: () => iteratorSome,
62
+ iteratorTake: () => iteratorTake,
63
+ iteratorToArray: () => iteratorToArray,
56
64
  iteratorToIterable: () => iteratorToIterable,
57
65
  observableFromAsync: () => observableFromAsync,
58
- observableValues: () => observableValues
66
+ observableSubscribeAsReadable: () => observableSubscribeAsReadable,
67
+ readableStreamFrom: () => readableStreamFrom,
68
+ readerValues: () => readerValues
59
69
  });
60
70
  module.exports = __toCommonJS(src_exports);
61
71
 
@@ -87,38 +97,78 @@ var Observable = class extends import_observable2.default {
87
97
  }
88
98
  };
89
99
 
90
- // src/private/withResolvers.ts
91
- var import_with_resolvers = __toESM(require("core-js-pure/full/promise/with-resolvers"));
92
- function withResolvers() {
93
- return (0, import_with_resolvers.default)();
100
+ // src/asyncGeneratorWithLastValue.ts
101
+ var STILL_ITERATING = Symbol();
102
+ function asyncGeneratorWithLastValue(generator) {
103
+ let lastValue = STILL_ITERATING;
104
+ const asyncGeneratorWithLastValue2 = {
105
+ [Symbol.asyncIterator]() {
106
+ return asyncGeneratorWithLastValue2;
107
+ },
108
+ lastValue() {
109
+ if (lastValue === STILL_ITERATING) {
110
+ throw new Error("Iteration has not complete yet, cannot get last value.");
111
+ }
112
+ return lastValue;
113
+ },
114
+ async next(next) {
115
+ const result = await generator.next(next);
116
+ if (result.done) {
117
+ lastValue = result.value;
118
+ }
119
+ return result;
120
+ },
121
+ return(value) {
122
+ return generator.return(value);
123
+ },
124
+ throw(error) {
125
+ return generator.throw(error);
126
+ }
127
+ };
128
+ return asyncGeneratorWithLastValue2;
94
129
  }
95
130
 
96
- // src/PushAsyncIterableIterator.ts
97
- var CLOSE = Symbol("close");
98
- var PushAsyncIterableIterator = class {
99
- #closed = false;
100
- #pushResolvers = withResolvers();
101
- [Symbol.asyncIterator]() {
102
- return this;
103
- }
104
- close() {
105
- this.#closed = true;
106
- this.#pushResolvers.resolve(CLOSE);
107
- }
108
- async next() {
109
- const value = await this.#pushResolvers.promise;
110
- if (value === CLOSE) {
111
- return { done: true, value: void 0 };
112
- }
113
- return { done: false, value };
114
- }
115
- push(value) {
116
- if (!this.#closed) {
117
- this.#pushResolvers.resolve(value);
118
- this.#pushResolvers = withResolvers();
131
+ // src/asyncIteratorToAsyncIterable.ts
132
+ function asyncIteratorToAsyncIterable(asyncIterator) {
133
+ const asyncIterableIterator = {
134
+ [Symbol.asyncIterator]: () => asyncIterableIterator,
135
+ next: asyncIterator.next.bind(asyncIterator),
136
+ ...asyncIterator.return ? { return: asyncIterator.return.bind(asyncIterator) } : {},
137
+ ...asyncIterator.throw ? { throw: asyncIterator.throw.bind(asyncIterator) } : {}
138
+ };
139
+ return asyncIterableIterator;
140
+ }
141
+
142
+ // src/generatorWithLastValue.ts
143
+ var STILL_ITERATING2 = Symbol();
144
+ function generatorWithLastValue(generator) {
145
+ let lastValue = STILL_ITERATING2;
146
+ const generatorWithLastValue2 = {
147
+ [Symbol.iterator]() {
148
+ return generatorWithLastValue2;
149
+ },
150
+ lastValue() {
151
+ if (lastValue === STILL_ITERATING2) {
152
+ throw new Error("Iteration has not complete yet, cannot get last value.");
153
+ }
154
+ return lastValue;
155
+ },
156
+ next(next) {
157
+ const result = generator.next(next);
158
+ if (result.done) {
159
+ lastValue = result.value;
160
+ }
161
+ return result;
162
+ },
163
+ return(value) {
164
+ return generator.return(value);
165
+ },
166
+ throw(error) {
167
+ return generator.throw(error);
119
168
  }
120
- }
121
- };
169
+ };
170
+ return generatorWithLastValue2;
171
+ }
122
172
 
123
173
  // src/private/toIntegerOrInfinity.ts
124
174
  function toIntegerOrInfinity(value) {
@@ -166,50 +216,6 @@ function* iterableEntries(iterable) {
166
216
  }
167
217
  }
168
218
 
169
- // src/iterableEvery.ts
170
- function iterableEvery(iterable, predicate, thisArg = void 0) {
171
- let index = 0;
172
- if (typeof predicate !== "function") {
173
- throw new TypeError(`${predicate} is not a function`);
174
- }
175
- const boundPredicate = predicate.bind(thisArg);
176
- for (const value of iterable) {
177
- if (!boundPredicate(value, index++, iterable)) {
178
- return false;
179
- }
180
- }
181
- return true;
182
- }
183
-
184
- // src/iterableFilter.ts
185
- function* iterableFilter(iterable, predicate, thisArg) {
186
- let index = 0;
187
- if (typeof predicate !== "function") {
188
- throw new TypeError(`${predicate} is not a function`);
189
- }
190
- const boundPredicate = predicate.bind(thisArg);
191
- for (const value of iterable) {
192
- if (boundPredicate(value, index++, iterable)) {
193
- yield value;
194
- }
195
- }
196
- }
197
-
198
- // src/iterableFind.ts
199
- function iterableFind(iterable, predicate, thisArg) {
200
- let index = 0;
201
- if (typeof predicate !== "function") {
202
- throw new TypeError(`${predicate} is not a function`);
203
- }
204
- const boundPredicate = predicate.bind(thisArg);
205
- for (const value of iterable) {
206
- if (boundPredicate(value, index++, iterable)) {
207
- return value;
208
- }
209
- }
210
- return void 0;
211
- }
212
-
213
219
  // src/iterableFindIndex.ts
214
220
  function iterableFindIndex(iterable, predicate, thisArg) {
215
221
  let index = 0;
@@ -259,18 +265,6 @@ function iterableFindLastIndex(iterable, predicate, thisArg) {
259
265
  return lastIndex;
260
266
  }
261
267
 
262
- // src/iterableForEach.ts
263
- function iterableForEach(iterable, callbackfn, thisArg) {
264
- let index = 0;
265
- if (typeof callbackfn !== "function") {
266
- throw new TypeError(`${callbackfn} is not a function`);
267
- }
268
- const boundCallbackfn = callbackfn.bind(thisArg);
269
- for (const value of iterable) {
270
- boundCallbackfn(value, index++, iterable);
271
- }
272
- }
273
-
274
268
  // src/iterableIncludes.ts
275
269
  function iterableIncludes(iterable, searchElement, fromIndex = 0) {
276
270
  let index = 0;
@@ -332,30 +326,6 @@ function* iterableKeys(iterable) {
332
326
  }
333
327
  }
334
328
 
335
- // src/iterableMap.ts
336
- function* iterableMap(iterable, callbackfn, thisArg) {
337
- let index = 0;
338
- if (typeof callbackfn !== "function") {
339
- throw new TypeError(`${callbackfn} is not a function`);
340
- }
341
- for (const value of iterable) {
342
- yield callbackfn.call(thisArg, value, index++, iterable);
343
- }
344
- }
345
-
346
- // src/iterableReduce.ts
347
- function iterableReduce(iterable, callbackfn, initialValue) {
348
- let index = 0;
349
- let previousValue = initialValue;
350
- if (typeof callbackfn !== "function") {
351
- throw new TypeError(`${callbackfn} is not a function`);
352
- }
353
- for (const currentValue of iterable) {
354
- previousValue = callbackfn(previousValue, currentValue, index++, iterable);
355
- }
356
- return previousValue;
357
- }
358
-
359
329
  // src/iterableSlice.ts
360
330
  function* iterableSlice(iterable, start = 0, end = Infinity) {
361
331
  let index = 0;
@@ -383,21 +353,6 @@ function* iterableSlice(iterable, start = 0, end = Infinity) {
383
353
  }
384
354
  }
385
355
 
386
- // src/iterableSome.ts
387
- function iterableSome(iterable, predicate, thisArg = void 0) {
388
- let index = 0;
389
- if (typeof predicate !== "function") {
390
- throw new TypeError(`${predicate} is not a function`);
391
- }
392
- const boundPredicate = predicate.bind(thisArg);
393
- for (const value of iterable) {
394
- if (boundPredicate(value, index++, iterable)) {
395
- return true;
396
- }
397
- }
398
- return false;
399
- }
400
-
401
356
  // src/iterableToSpliced.ts
402
357
  function* iterableToSpliced(iterable, start = 0, deleteCount = 0, ...items) {
403
358
  let index = 0;
@@ -427,6 +382,120 @@ function iterableToString(iterable) {
427
382
  return iterableJoin(iterable);
428
383
  }
429
384
 
385
+ // src/private/withResolvers.ts
386
+ var import_with_resolvers = __toESM(require("core-js-pure/full/promise/with-resolvers"));
387
+ function withResolvers() {
388
+ return (0, import_with_resolvers.default)();
389
+ }
390
+
391
+ // src/iterableWritableStream.ts
392
+ var CLOSE = Symbol();
393
+ var IterableWritableStream = class extends WritableStream {
394
+ constructor() {
395
+ super({
396
+ close: () => {
397
+ this.#buffer.push(CLOSE);
398
+ this.#writeResolvers.resolve();
399
+ },
400
+ write: (chunk) => {
401
+ this.#buffer.push(chunk);
402
+ this.#writeResolvers.resolve();
403
+ this.#writeResolvers = withResolvers();
404
+ }
405
+ });
406
+ }
407
+ #buffer = [];
408
+ #writeResolvers = withResolvers();
409
+ [Symbol.asyncIterator]() {
410
+ return {
411
+ next: async () => {
412
+ while (!this.#buffer.length) {
413
+ await this.#writeResolvers.promise;
414
+ }
415
+ const value = this.#buffer[0];
416
+ if (value === CLOSE) {
417
+ return { done: true, value: void 0 };
418
+ }
419
+ this.#buffer.shift();
420
+ await void 0;
421
+ return { done: false, value };
422
+ }
423
+ };
424
+ }
425
+ };
426
+
427
+ // src/iteratorDrop.ts
428
+ var import_drop = __toESM(require("core-js-pure/full/iterator/drop"));
429
+ function iteratorDrop(iterator, limit) {
430
+ return (0, import_drop.default)(iterator, limit);
431
+ }
432
+
433
+ // src/iteratorEvery.ts
434
+ var import_every = __toESM(require("core-js-pure/full/iterator/every"));
435
+ function iteratorEvery(iterator, predicate) {
436
+ return (0, import_every.default)(iterator, predicate);
437
+ }
438
+
439
+ // src/iteratorFilter.ts
440
+ var import_filter = __toESM(require("core-js-pure/full/iterator/filter"));
441
+ function iteratorFilter(iterator, predicate) {
442
+ return (0, import_filter.default)(iterator, predicate);
443
+ }
444
+
445
+ // src/iteratorFind.ts
446
+ var import_find = __toESM(require("core-js-pure/full/iterator/find"));
447
+ function iteratorFind(iterator, predicate) {
448
+ return (0, import_find.default)(iterator, predicate);
449
+ }
450
+
451
+ // src/iteratorFlatMap.ts
452
+ var import_flat_map = __toESM(require("core-js-pure/full/iterator/flat-map"));
453
+ function iteratorFlatMap(iterable, mapperFn) {
454
+ return (0, import_flat_map.default)(iterable, mapperFn);
455
+ }
456
+
457
+ // src/iteratorForEach.ts
458
+ var import_for_each = __toESM(require("core-js-pure/full/iterator/for-each"));
459
+ function iteratorForEach(iterator, callbackfn) {
460
+ (0, import_for_each.default)(iterator, callbackfn);
461
+ }
462
+
463
+ // src/iteratorFrom.ts
464
+ var import_from = __toESM(require("core-js-pure/full/iterator/from"));
465
+ function iteratorFrom(iteratorLike) {
466
+ return (0, import_from.default)(iteratorLike);
467
+ }
468
+
469
+ // src/iteratorMap.ts
470
+ var import_map = __toESM(require("core-js-pure/full/iterator/map"));
471
+ function iteratorMap(iterator, callbackfn) {
472
+ return (0, import_map.default)(iterator, callbackfn);
473
+ }
474
+
475
+ // src/iteratorReduce.ts
476
+ var import_reduce = __toESM(require("core-js-pure/full/iterator/reduce"));
477
+ function iteratorReduce(iterator, callbackfn, initialValue) {
478
+ return (0, import_reduce.default)(iterator, callbackfn, initialValue);
479
+ }
480
+
481
+ // src/iteratorSome.ts
482
+ var import_some = __toESM(require("core-js-pure/full/iterator/some"));
483
+ function iteratorSome(iterator, predicate) {
484
+ return (0, import_some.default)(iterator, predicate);
485
+ }
486
+
487
+ // src/iteratorTake.ts
488
+ var import_take = __toESM(require("core-js-pure/full/iterator/take"));
489
+ function iteratorTake(iterator, limit) {
490
+ return (0, import_take.default)(iterator, limit);
491
+ }
492
+
493
+ // src/iteratorToArray.ts
494
+ var import_to_array = __toESM(require("core-js-pure/full/iterator/to-array"));
495
+ function iteratorToArray(iteratorLike) {
496
+ return (0, import_to_array.default)(iteratorLike);
497
+ }
498
+
430
499
  // src/iteratorToIterable.ts
431
500
  function iteratorToIterable(iterator) {
432
501
  const iterableIterator = {
@@ -461,86 +530,104 @@ function observableFromAsync(iterable) {
461
530
  });
462
531
  }
463
532
 
464
- // src/observableValues.ts
465
- var COMPLETE = Symbol("complete");
466
- var NEXT = Symbol("next");
467
- var THROW = Symbol("throw");
468
- function observableValues(observable) {
469
- const queue = [];
470
- let deferred = withResolvers();
471
- const push = (entry) => {
472
- queue.push(entry);
473
- deferred.resolve(entry);
474
- deferred = withResolvers();
475
- };
476
- const subscription = observable.subscribe({
477
- complete() {
478
- push([COMPLETE]);
479
- },
480
- error(err) {
481
- push([THROW, err]);
533
+ // src/observableSubscribeAsReadable.ts
534
+ function observableSubscribeAsReadable(observable) {
535
+ let subscription;
536
+ return new ReadableStream({
537
+ cancel() {
538
+ subscription.unsubscribe();
482
539
  },
483
- next(value) {
484
- push([NEXT, value]);
540
+ start(controller) {
541
+ subscription = observable.subscribe({
542
+ complete() {
543
+ controller.close();
544
+ },
545
+ error(err) {
546
+ controller.error(err);
547
+ },
548
+ next(value) {
549
+ controller.enqueue(value);
550
+ }
551
+ });
485
552
  }
486
553
  });
487
- const asyncIterableIterator = {
554
+ }
555
+
556
+ // src/readableStreamFrom.ts
557
+ function isIterable(iterable) {
558
+ return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
559
+ }
560
+ function readableStreamFrom(anyIterable) {
561
+ const iterator = isIterable(anyIterable) ? anyIterable[Symbol.iterator]() : anyIterable[Symbol.asyncIterator]();
562
+ return new ReadableStream({
563
+ async pull(controller) {
564
+ const result = await iterator.next();
565
+ if (result.done) {
566
+ controller.close();
567
+ } else {
568
+ controller.enqueue(result.value);
569
+ }
570
+ }
571
+ });
572
+ }
573
+
574
+ // src/readerValues.ts
575
+ function readerValues(reader) {
576
+ const iterable = {
488
577
  [Symbol.asyncIterator]() {
489
- return this;
578
+ return iterable;
490
579
  },
491
580
  async next() {
492
- let entry = queue.shift();
493
- if (!entry) {
494
- entry = await deferred.promise;
495
- queue.shift();
496
- }
497
- switch (entry[0]) {
498
- case COMPLETE:
499
- return { done: true, value: void 0 };
500
- case THROW:
501
- throw entry[1];
502
- case NEXT:
503
- return { done: false, value: entry[1] };
581
+ const result = await Promise.race([reader.read(), reader.closed]);
582
+ if (!result || result.done) {
583
+ return { done: true, value: void 0 };
504
584
  }
585
+ return { value: result.value };
505
586
  },
506
587
  async return() {
507
- subscription.unsubscribe();
508
- return { done: true, value: void 0 };
509
- },
510
- async throw() {
511
- subscription.unsubscribe();
588
+ reader.cancel();
512
589
  return { done: true, value: void 0 };
513
590
  }
514
591
  };
515
- return asyncIterableIterator;
592
+ return iterable;
516
593
  }
517
594
  // Annotate the CommonJS export names for ESM import in node:
518
595
  0 && (module.exports = {
596
+ IterableWritableStream,
519
597
  Observable,
520
- PushAsyncIterableIterator,
521
598
  SymbolObservable,
599
+ asyncGeneratorWithLastValue,
600
+ asyncIteratorToAsyncIterable,
601
+ generatorWithLastValue,
522
602
  iterableAt,
523
603
  iterableConcat,
524
604
  iterableEntries,
525
- iterableEvery,
526
- iterableFilter,
527
- iterableFind,
528
605
  iterableFindIndex,
529
606
  iterableFindLast,
530
607
  iterableFindLastIndex,
531
- iterableForEach,
532
608
  iterableIncludes,
533
609
  iterableIndexOf,
534
610
  iterableJoin,
535
611
  iterableKeys,
536
- iterableMap,
537
- iterableReduce,
538
612
  iterableSlice,
539
- iterableSome,
540
613
  iterableToSpliced,
541
614
  iterableToString,
615
+ iteratorDrop,
616
+ iteratorEvery,
617
+ iteratorFilter,
618
+ iteratorFind,
619
+ iteratorFlatMap,
620
+ iteratorForEach,
621
+ iteratorFrom,
622
+ iteratorMap,
623
+ iteratorReduce,
624
+ iteratorSome,
625
+ iteratorTake,
626
+ iteratorToArray,
542
627
  iteratorToIterable,
543
628
  observableFromAsync,
544
- observableValues
629
+ observableSubscribeAsReadable,
630
+ readableStreamFrom,
631
+ readerValues
545
632
  });
546
633
  //# sourceMappingURL=iter-fest.js.map