iter-fest 0.1.1-main.1b2076b → 0.1.1-main.1dec735

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 (87) hide show
  1. package/README.md +168 -2
  2. package/dist/chunk-2DE3J4J7.mjs +35 -0
  3. package/dist/chunk-2DE3J4J7.mjs.map +1 -0
  4. package/dist/chunk-ANRVAYLW.mjs +35 -0
  5. package/dist/chunk-ANRVAYLW.mjs.map +1 -0
  6. package/dist/chunk-EIIP7YWB.mjs +27 -0
  7. package/dist/chunk-EIIP7YWB.mjs.map +1 -0
  8. package/dist/chunk-EUVK4YM7.mjs +25 -0
  9. package/dist/chunk-EUVK4YM7.mjs.map +1 -0
  10. package/dist/chunk-FEOLYD5R.mjs +31 -0
  11. package/dist/chunk-FEOLYD5R.mjs.map +1 -0
  12. package/dist/chunk-MOBXUTO5.mjs +22 -0
  13. package/dist/chunk-MOBXUTO5.mjs.map +1 -0
  14. package/dist/chunk-O5SQJUKB.mjs +37 -0
  15. package/dist/chunk-O5SQJUKB.mjs.map +1 -0
  16. package/dist/chunk-OJMT4K3R.mjs +8 -0
  17. package/dist/chunk-OJMT4K3R.mjs.map +1 -0
  18. package/dist/chunk-P4OSZLEH.mjs +15 -0
  19. package/dist/chunk-P4OSZLEH.mjs.map +1 -0
  20. package/dist/chunk-VLF6DI2U.mjs +30 -0
  21. package/dist/chunk-VLF6DI2U.mjs.map +1 -0
  22. package/dist/iter-fest.asyncGeneratorWithLastValue.d.mts +6 -0
  23. package/dist/iter-fest.asyncGeneratorWithLastValue.d.ts +6 -0
  24. package/dist/iter-fest.asyncGeneratorWithLastValue.js +59 -0
  25. package/dist/iter-fest.asyncGeneratorWithLastValue.js.map +1 -0
  26. package/dist/iter-fest.asyncGeneratorWithLastValue.mjs +7 -0
  27. package/dist/iter-fest.asyncGeneratorWithLastValue.mjs.map +1 -0
  28. package/dist/iter-fest.asyncIteratorToAsyncIterable.d.mts +3 -0
  29. package/dist/iter-fest.asyncIteratorToAsyncIterable.d.ts +3 -0
  30. package/dist/iter-fest.asyncIteratorToAsyncIterable.js +39 -0
  31. package/dist/iter-fest.asyncIteratorToAsyncIterable.js.map +1 -0
  32. package/dist/iter-fest.asyncIteratorToAsyncIterable.mjs +7 -0
  33. package/dist/iter-fest.asyncIteratorToAsyncIterable.mjs.map +1 -0
  34. package/dist/iter-fest.d.mts +11 -0
  35. package/dist/iter-fest.d.ts +11 -0
  36. package/dist/iter-fest.generatorWithLastValue.d.mts +6 -0
  37. package/dist/iter-fest.generatorWithLastValue.d.ts +6 -0
  38. package/dist/iter-fest.generatorWithLastValue.js +59 -0
  39. package/dist/iter-fest.generatorWithLastValue.js.map +1 -0
  40. package/dist/iter-fest.generatorWithLastValue.mjs +7 -0
  41. package/dist/iter-fest.generatorWithLastValue.mjs.map +1 -0
  42. package/dist/iter-fest.iterableGetReadable.d.mts +3 -0
  43. package/dist/iter-fest.iterableGetReadable.d.ts +3 -0
  44. package/dist/iter-fest.iterableGetReadable.js +46 -0
  45. package/dist/iter-fest.iterableGetReadable.js.map +1 -0
  46. package/dist/iter-fest.iterableGetReadable.mjs +7 -0
  47. package/dist/iter-fest.iterableGetReadable.mjs.map +1 -0
  48. package/dist/iter-fest.js +251 -2
  49. package/dist/iter-fest.js.map +1 -1
  50. package/dist/iter-fest.mjs +63 -23
  51. package/dist/iter-fest.observable.d.mts +51 -0
  52. package/dist/iter-fest.observable.d.ts +51 -0
  53. package/dist/iter-fest.observable.js +66 -0
  54. package/dist/iter-fest.observable.js.map +1 -0
  55. package/dist/iter-fest.observable.mjs +8 -0
  56. package/dist/iter-fest.observable.mjs.map +1 -0
  57. package/dist/iter-fest.observableFromAsync.d.mts +7 -0
  58. package/dist/iter-fest.observableFromAsync.d.ts +7 -0
  59. package/dist/iter-fest.observableFromAsync.js +91 -0
  60. package/dist/iter-fest.observableFromAsync.js.map +1 -0
  61. package/dist/iter-fest.observableFromAsync.mjs +9 -0
  62. package/dist/iter-fest.observableFromAsync.mjs.map +1 -0
  63. package/dist/iter-fest.observableSubscribeAsReadable.d.mts +7 -0
  64. package/dist/iter-fest.observableSubscribeAsReadable.d.ts +7 -0
  65. package/dist/iter-fest.observableSubscribeAsReadable.js +51 -0
  66. package/dist/iter-fest.observableSubscribeAsReadable.js.map +1 -0
  67. package/dist/iter-fest.observableSubscribeAsReadable.mjs +7 -0
  68. package/dist/iter-fest.observableSubscribeAsReadable.mjs.map +1 -0
  69. package/dist/iter-fest.pushAsyncIterableIterator.d.mts +9 -0
  70. package/dist/iter-fest.pushAsyncIterableIterator.d.ts +9 -0
  71. package/dist/iter-fest.pushAsyncIterableIterator.js +73 -0
  72. package/dist/iter-fest.pushAsyncIterableIterator.js.map +1 -0
  73. package/dist/iter-fest.pushAsyncIterableIterator.mjs +7 -0
  74. package/dist/iter-fest.pushAsyncIterableIterator.mjs.map +1 -0
  75. package/dist/iter-fest.readerValues.d.mts +3 -0
  76. package/dist/iter-fest.readerValues.d.ts +3 -0
  77. package/dist/iter-fest.readerValues.js +49 -0
  78. package/dist/iter-fest.readerValues.js.map +1 -0
  79. package/dist/iter-fest.readerValues.mjs +7 -0
  80. package/dist/iter-fest.readerValues.mjs.map +1 -0
  81. package/dist/iter-fest.symbolObservable.d.mts +3 -0
  82. package/dist/iter-fest.symbolObservable.d.ts +3 -0
  83. package/dist/iter-fest.symbolObservable.js +42 -0
  84. package/dist/iter-fest.symbolObservable.js.map +1 -0
  85. package/dist/iter-fest.symbolObservable.mjs +7 -0
  86. package/dist/iter-fest.symbolObservable.mjs.map +1 -0
  87. package/package.json +106 -2
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/asyncIteratorToAsyncIterable.ts
21
+ var asyncIteratorToAsyncIterable_exports = {};
22
+ __export(asyncIteratorToAsyncIterable_exports, {
23
+ asyncIteratorToAsyncIterable: () => asyncIteratorToAsyncIterable
24
+ });
25
+ module.exports = __toCommonJS(asyncIteratorToAsyncIterable_exports);
26
+ function asyncIteratorToAsyncIterable(asyncIterator) {
27
+ const asyncIterableIterator = {
28
+ [Symbol.asyncIterator]: () => asyncIterableIterator,
29
+ next: asyncIterator.next.bind(asyncIterator),
30
+ ...asyncIterator.return ? { return: asyncIterator.return.bind(asyncIterator) } : {},
31
+ ...asyncIterator.throw ? { throw: asyncIterator.throw.bind(asyncIterator) } : {}
32
+ };
33
+ return asyncIterableIterator;
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ asyncIteratorToAsyncIterable
38
+ });
39
+ //# sourceMappingURL=iter-fest.asyncIteratorToAsyncIterable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/asyncIteratorToAsyncIterable.ts"],"sourcesContent":["export function asyncIteratorToAsyncIterable<T>(asyncIterator: AsyncIterator<T>): AsyncIterableIterator<T> {\n const asyncIterableIterator: AsyncIterableIterator<T> = {\n [Symbol.asyncIterator]: () => asyncIterableIterator,\n next: asyncIterator.next.bind(asyncIterator),\n ...(asyncIterator.return ? { return: asyncIterator.return.bind(asyncIterator) } : {}),\n ...(asyncIterator.throw ? { throw: asyncIterator.throw.bind(asyncIterator) } : {})\n };\n\n return asyncIterableIterator;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,6BAAgC,eAA2D;AACzG,QAAM,wBAAkD;AAAA,IACtD,CAAC,OAAO,aAAa,GAAG,MAAM;AAAA,IAC9B,MAAM,cAAc,KAAK,KAAK,aAAa;AAAA,IAC3C,GAAI,cAAc,SAAS,EAAE,QAAQ,cAAc,OAAO,KAAK,aAAa,EAAE,IAAI,CAAC;AAAA,IACnF,GAAI,cAAc,QAAQ,EAAE,OAAO,cAAc,MAAM,KAAK,aAAa,EAAE,IAAI,CAAC;AAAA,EAClF;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,7 @@
1
+ import {
2
+ asyncIteratorToAsyncIterable
3
+ } from "./chunk-P4OSZLEH.mjs";
4
+ export {
5
+ asyncIteratorToAsyncIterable
6
+ };
7
+ //# sourceMappingURL=iter-fest.asyncIteratorToAsyncIterable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,9 @@
1
+ export { CompleteFunction, ErrorFunction, NextFunction, Observable, Observer, StartFunction, SubscriberFunction, Subscription, SubscriptionObserver } from './iter-fest.observable.mjs';
2
+ export { PushAsyncIterableIterator } from './iter-fest.pushAsyncIterableIterator.mjs';
3
+ export { SymbolObservable } from './iter-fest.symbolObservable.mjs';
4
+ export { AsyncGeneratorWithLastValue, asyncGeneratorWithLastValue } from './iter-fest.asyncGeneratorWithLastValue.mjs';
5
+ export { asyncIteratorToAsyncIterable } from './iter-fest.asyncIteratorToAsyncIterable.mjs';
6
+ export { GeneratorWithLastValue, generatorWithLastValue } from './iter-fest.generatorWithLastValue.mjs';
1
7
  export { iterableAt } from './iter-fest.iterableAt.mjs';
2
8
  export { iterableConcat } from './iter-fest.iterableConcat.mjs';
3
9
  export { iterableEntries } from './iter-fest.iterableEntries.mjs';
@@ -8,6 +14,7 @@ export { iterableFindIndex } from './iter-fest.iterableFindIndex.mjs';
8
14
  export { iterableFindLast } from './iter-fest.iterableFindLast.mjs';
9
15
  export { iterableFindLastIndex } from './iter-fest.iterableFindLastIndex.mjs';
10
16
  export { iterableForEach } from './iter-fest.iterableForEach.mjs';
17
+ export { iterableGetReadable } from './iter-fest.iterableGetReadable.mjs';
11
18
  export { iterableIncludes } from './iter-fest.iterableIncludes.mjs';
12
19
  export { iterableIndexOf } from './iter-fest.iterableIndexOf.mjs';
13
20
  export { iterableJoin } from './iter-fest.iterableJoin.mjs';
@@ -19,3 +26,7 @@ export { iterableSome } from './iter-fest.iterableSome.mjs';
19
26
  export { iterableToSpliced } from './iter-fest.iterableToSpliced.mjs';
20
27
  export { iterableToString } from './iter-fest.iterableToString.mjs';
21
28
  export { iteratorToIterable } from './iter-fest.iteratorToIterable.mjs';
29
+ export { observableFromAsync } from './iter-fest.observableFromAsync.mjs';
30
+ export { observableSubscribeAsReadable } from './iter-fest.observableSubscribeAsReadable.mjs';
31
+ export { readerValues } from './iter-fest.readerValues.mjs';
32
+ import 'core-js-pure/full/observable';
@@ -1,3 +1,9 @@
1
+ export { CompleteFunction, ErrorFunction, NextFunction, Observable, Observer, StartFunction, SubscriberFunction, Subscription, SubscriptionObserver } from './iter-fest.observable.js';
2
+ export { PushAsyncIterableIterator } from './iter-fest.pushAsyncIterableIterator.js';
3
+ export { SymbolObservable } from './iter-fest.symbolObservable.js';
4
+ export { AsyncGeneratorWithLastValue, asyncGeneratorWithLastValue } from './iter-fest.asyncGeneratorWithLastValue.js';
5
+ export { asyncIteratorToAsyncIterable } from './iter-fest.asyncIteratorToAsyncIterable.js';
6
+ export { GeneratorWithLastValue, generatorWithLastValue } from './iter-fest.generatorWithLastValue.js';
1
7
  export { iterableAt } from './iter-fest.iterableAt.js';
2
8
  export { iterableConcat } from './iter-fest.iterableConcat.js';
3
9
  export { iterableEntries } from './iter-fest.iterableEntries.js';
@@ -8,6 +14,7 @@ export { iterableFindIndex } from './iter-fest.iterableFindIndex.js';
8
14
  export { iterableFindLast } from './iter-fest.iterableFindLast.js';
9
15
  export { iterableFindLastIndex } from './iter-fest.iterableFindLastIndex.js';
10
16
  export { iterableForEach } from './iter-fest.iterableForEach.js';
17
+ export { iterableGetReadable } from './iter-fest.iterableGetReadable.js';
11
18
  export { iterableIncludes } from './iter-fest.iterableIncludes.js';
12
19
  export { iterableIndexOf } from './iter-fest.iterableIndexOf.js';
13
20
  export { iterableJoin } from './iter-fest.iterableJoin.js';
@@ -19,3 +26,7 @@ export { iterableSome } from './iter-fest.iterableSome.js';
19
26
  export { iterableToSpliced } from './iter-fest.iterableToSpliced.js';
20
27
  export { iterableToString } from './iter-fest.iterableToString.js';
21
28
  export { iteratorToIterable } from './iter-fest.iteratorToIterable.js';
29
+ export { observableFromAsync } from './iter-fest.observableFromAsync.js';
30
+ export { observableSubscribeAsReadable } from './iter-fest.observableSubscribeAsReadable.js';
31
+ export { readerValues } from './iter-fest.readerValues.js';
32
+ import 'core-js-pure/full/observable';
@@ -0,0 +1,6 @@
1
+ type GeneratorWithLastValue<T = unknown, TReturn = any, TNext = unknown> = Generator<T, TReturn, TNext> & {
2
+ lastValue(): TReturn;
3
+ };
4
+ declare function generatorWithLastValue<T = unknown, TReturn = any, TNext = unknown>(generator: Generator<T, TReturn, TNext>): GeneratorWithLastValue<T, TReturn, TNext>;
5
+
6
+ export { type GeneratorWithLastValue, generatorWithLastValue };
@@ -0,0 +1,6 @@
1
+ type GeneratorWithLastValue<T = unknown, TReturn = any, TNext = unknown> = Generator<T, TReturn, TNext> & {
2
+ lastValue(): TReturn;
3
+ };
4
+ declare function generatorWithLastValue<T = unknown, TReturn = any, TNext = unknown>(generator: Generator<T, TReturn, TNext>): GeneratorWithLastValue<T, TReturn, TNext>;
5
+
6
+ export { type GeneratorWithLastValue, generatorWithLastValue };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/generatorWithLastValue.ts
21
+ var generatorWithLastValue_exports = {};
22
+ __export(generatorWithLastValue_exports, {
23
+ generatorWithLastValue: () => generatorWithLastValue
24
+ });
25
+ module.exports = __toCommonJS(generatorWithLastValue_exports);
26
+ var STILL_ITERATING = Symbol();
27
+ function generatorWithLastValue(generator) {
28
+ let lastValue = STILL_ITERATING;
29
+ const generatorWithLastValue2 = {
30
+ [Symbol.iterator]() {
31
+ return generatorWithLastValue2;
32
+ },
33
+ lastValue() {
34
+ if (lastValue === STILL_ITERATING) {
35
+ throw new Error("Iteration has not complete yet, cannot get last value.");
36
+ }
37
+ return lastValue;
38
+ },
39
+ next(next) {
40
+ const result = generator.next(next);
41
+ if (result.done) {
42
+ lastValue = result.value;
43
+ }
44
+ return result;
45
+ },
46
+ return(value) {
47
+ return generator.return(value);
48
+ },
49
+ throw(error) {
50
+ return generator.throw(error);
51
+ }
52
+ };
53
+ return generatorWithLastValue2;
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ generatorWithLastValue
58
+ });
59
+ //# sourceMappingURL=iter-fest.generatorWithLastValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generatorWithLastValue.ts"],"sourcesContent":["const STILL_ITERATING = Symbol();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type GeneratorWithLastValue<T = unknown, TReturn = any, TNext = unknown> = Generator<T, TReturn, TNext> & {\n lastValue(): TReturn;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function generatorWithLastValue<T = unknown, TReturn = any, TNext = unknown>(\n generator: Generator<T, TReturn, TNext>\n): GeneratorWithLastValue<T, TReturn, TNext> {\n let lastValue: typeof STILL_ITERATING | TReturn = STILL_ITERATING;\n\n const generatorWithLastValue = {\n [Symbol.iterator]() {\n return generatorWithLastValue;\n },\n lastValue(): TReturn {\n if (lastValue === STILL_ITERATING) {\n throw new Error('Iteration has not complete yet, cannot get last value.');\n }\n\n return lastValue;\n },\n next(next: TNext) {\n const result = generator.next(next);\n\n if (result.done) {\n lastValue = result.value;\n }\n\n return result;\n },\n return(value: TReturn) {\n return generator.return(value);\n },\n throw(error: unknown) {\n return generator.throw(error);\n }\n };\n\n return generatorWithLastValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,kBAAkB,OAAO;AAQxB,SAAS,uBACd,WAC2C;AAC3C,MAAI,YAA8C;AAElD,QAAMA,0BAAyB;AAAA,IAC7B,CAAC,OAAO,QAAQ,IAAI;AAClB,aAAOA;AAAA,IACT;AAAA,IACA,YAAqB;AACnB,UAAI,cAAc,iBAAiB;AACjC,cAAM,IAAI,MAAM,wDAAwD;AAAA,MAC1E;AAEA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,MAAa;AAChB,YAAM,SAAS,UAAU,KAAK,IAAI;AAElC,UAAI,OAAO,MAAM;AACf,oBAAY,OAAO;AAAA,MACrB;AAEA,aAAO;AAAA,IACT;AAAA,IACA,OAAO,OAAgB;AACrB,aAAO,UAAU,OAAO,KAAK;AAAA,IAC/B;AAAA,IACA,MAAM,OAAgB;AACpB,aAAO,UAAU,MAAM,KAAK;AAAA,IAC9B;AAAA,EACF;AAEA,SAAOA;AACT;","names":["generatorWithLastValue"]}
@@ -0,0 +1,7 @@
1
+ import {
2
+ generatorWithLastValue
3
+ } from "./chunk-2DE3J4J7.mjs";
4
+ export {
5
+ generatorWithLastValue
6
+ };
7
+ //# sourceMappingURL=iter-fest.generatorWithLastValue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function iterableGetReadable<T>(iterable: AsyncIterable<T> | Iterable<T>): ReadableStream<T>;
2
+
3
+ export { iterableGetReadable };
@@ -0,0 +1,3 @@
1
+ declare function iterableGetReadable<T>(iterable: AsyncIterable<T> | Iterable<T>): ReadableStream<T>;
2
+
3
+ export { iterableGetReadable };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/iterableGetReadable.ts
21
+ var iterableGetReadable_exports = {};
22
+ __export(iterableGetReadable_exports, {
23
+ iterableGetReadable: () => iterableGetReadable
24
+ });
25
+ module.exports = __toCommonJS(iterableGetReadable_exports);
26
+ function isIterable(iterable) {
27
+ return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
28
+ }
29
+ function iterableGetReadable(iterable) {
30
+ const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
31
+ return new ReadableStream({
32
+ async pull(controller) {
33
+ const result = await iterator.next();
34
+ if (result.done) {
35
+ controller.close();
36
+ } else {
37
+ controller.enqueue(result.value);
38
+ }
39
+ }
40
+ });
41
+ }
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ iterableGetReadable
45
+ });
46
+ //# sourceMappingURL=iter-fest.iterableGetReadable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/iterableGetReadable.ts"],"sourcesContent":["function isIterable(iterable: unknown): iterable is Iterable<unknown> {\n return !!(iterable && typeof iterable === 'object' && Symbol.iterator in iterable);\n}\n\nexport function iterableGetReadable<T>(iterable: AsyncIterable<T> | Iterable<T>): ReadableStream<T> {\n const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();\n\n return new ReadableStream({\n async pull(controller) {\n const result = await iterator.next();\n\n if (result.done) {\n controller.close();\n } else {\n controller.enqueue(result.value);\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,WAAW,UAAkD;AACpE,SAAO,CAAC,EAAE,YAAY,OAAO,aAAa,YAAY,OAAO,YAAY;AAC3E;AAEO,SAAS,oBAAuB,UAA6D;AAClG,QAAM,WAAW,WAAW,QAAQ,IAAI,SAAS,OAAO,QAAQ,EAAE,IAAI,SAAS,OAAO,aAAa,EAAE;AAErG,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,KAAK,YAAY;AACrB,YAAM,SAAS,MAAM,SAAS,KAAK;AAEnC,UAAI,OAAO,MAAM;AACf,mBAAW,MAAM;AAAA,MACnB,OAAO;AACL,mBAAW,QAAQ,OAAO,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,7 @@
1
+ import {
2
+ iterableGetReadable
3
+ } from "./chunk-MOBXUTO5.mjs";
4
+ export {
5
+ iterableGetReadable
6
+ };
7
+ //# sourceMappingURL=iter-fest.iterableGetReadable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/iter-fest.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,11 +17,25 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/index.ts
21
31
  var src_exports = {};
22
32
  __export(src_exports, {
33
+ Observable: () => Observable,
34
+ PushAsyncIterableIterator: () => PushAsyncIterableIterator,
35
+ SymbolObservable: () => SymbolObservable,
36
+ asyncGeneratorWithLastValue: () => asyncGeneratorWithLastValue,
37
+ asyncIteratorToAsyncIterable: () => asyncIteratorToAsyncIterable,
38
+ generatorWithLastValue: () => generatorWithLastValue,
23
39
  iterableAt: () => iterableAt,
24
40
  iterableConcat: () => iterableConcat,
25
41
  iterableEntries: () => iterableEntries,
@@ -30,6 +46,7 @@ __export(src_exports, {
30
46
  iterableFindLast: () => iterableFindLast,
31
47
  iterableFindLastIndex: () => iterableFindLastIndex,
32
48
  iterableForEach: () => iterableForEach,
49
+ iterableGetReadable: () => iterableGetReadable,
33
50
  iterableIncludes: () => iterableIncludes,
34
51
  iterableIndexOf: () => iterableIndexOf,
35
52
  iterableJoin: () => iterableJoin,
@@ -40,10 +57,147 @@ __export(src_exports, {
40
57
  iterableSome: () => iterableSome,
41
58
  iterableToSpliced: () => iterableToSpliced,
42
59
  iterableToString: () => iterableToString,
43
- iteratorToIterable: () => iteratorToIterable
60
+ iteratorToIterable: () => iteratorToIterable,
61
+ observableFromAsync: () => observableFromAsync,
62
+ observableSubscribeAsReadable: () => observableSubscribeAsReadable,
63
+ readerValues: () => readerValues
44
64
  });
45
65
  module.exports = __toCommonJS(src_exports);
46
66
 
67
+ // src/Observable.ts
68
+ var import_observable2 = __toESM(require("core-js-pure/full/observable"));
69
+
70
+ // src/SymbolObservable.ts
71
+ var import_observable = __toESM(require("core-js-pure/features/symbol/observable"));
72
+ var SymbolObservable = import_observable.default;
73
+
74
+ // src/Observable.ts
75
+ var Observable = class extends import_observable2.default {
76
+ constructor(subscriber) {
77
+ super(subscriber);
78
+ }
79
+ subscribe(observerOrOnNext, onError, onComplete) {
80
+ return super.subscribe(observerOrOnNext, onError, onComplete);
81
+ }
82
+ /** Returns itself */
83
+ [SymbolObservable]() {
84
+ return this;
85
+ }
86
+ /** Converts items to an Observable */
87
+ static of(...items) {
88
+ return import_observable2.default.of(...items);
89
+ }
90
+ static from(iterableOrObservable) {
91
+ return import_observable2.default.from(iterableOrObservable);
92
+ }
93
+ };
94
+
95
+ // src/private/withResolvers.ts
96
+ var import_with_resolvers = __toESM(require("core-js-pure/full/promise/with-resolvers"));
97
+ function withResolvers() {
98
+ return (0, import_with_resolvers.default)();
99
+ }
100
+
101
+ // src/PushAsyncIterableIterator.ts
102
+ var CLOSE = Symbol("close");
103
+ var PushAsyncIterableIterator = class {
104
+ #closed = false;
105
+ #pushResolvers = withResolvers();
106
+ [Symbol.asyncIterator]() {
107
+ return this;
108
+ }
109
+ close() {
110
+ this.#closed = true;
111
+ this.#pushResolvers.resolve(CLOSE);
112
+ }
113
+ async next() {
114
+ const value = await this.#pushResolvers.promise;
115
+ if (value === CLOSE) {
116
+ return { done: true, value: void 0 };
117
+ }
118
+ return { done: false, value };
119
+ }
120
+ push(value) {
121
+ if (!this.#closed) {
122
+ this.#pushResolvers.resolve(value);
123
+ this.#pushResolvers = withResolvers();
124
+ }
125
+ }
126
+ };
127
+
128
+ // src/asyncGeneratorWithLastValue.ts
129
+ var STILL_ITERATING = Symbol();
130
+ function asyncGeneratorWithLastValue(generator) {
131
+ let lastValue = STILL_ITERATING;
132
+ const asyncGeneratorWithLastValue2 = {
133
+ [Symbol.asyncIterator]() {
134
+ return asyncGeneratorWithLastValue2;
135
+ },
136
+ lastValue() {
137
+ if (lastValue === STILL_ITERATING) {
138
+ throw new Error("Iteration has not complete yet, cannot get last value.");
139
+ }
140
+ return lastValue;
141
+ },
142
+ async next(next) {
143
+ const result = await generator.next(next);
144
+ if (result.done) {
145
+ lastValue = result.value;
146
+ }
147
+ return result;
148
+ },
149
+ return(value) {
150
+ return generator.return(value);
151
+ },
152
+ throw(error) {
153
+ return generator.throw(error);
154
+ }
155
+ };
156
+ return asyncGeneratorWithLastValue2;
157
+ }
158
+
159
+ // src/asyncIteratorToAsyncIterable.ts
160
+ function asyncIteratorToAsyncIterable(asyncIterator) {
161
+ const asyncIterableIterator = {
162
+ [Symbol.asyncIterator]: () => asyncIterableIterator,
163
+ next: asyncIterator.next.bind(asyncIterator),
164
+ ...asyncIterator.return ? { return: asyncIterator.return.bind(asyncIterator) } : {},
165
+ ...asyncIterator.throw ? { throw: asyncIterator.throw.bind(asyncIterator) } : {}
166
+ };
167
+ return asyncIterableIterator;
168
+ }
169
+
170
+ // src/generatorWithLastValue.ts
171
+ var STILL_ITERATING2 = Symbol();
172
+ function generatorWithLastValue(generator) {
173
+ let lastValue = STILL_ITERATING2;
174
+ const generatorWithLastValue2 = {
175
+ [Symbol.iterator]() {
176
+ return generatorWithLastValue2;
177
+ },
178
+ lastValue() {
179
+ if (lastValue === STILL_ITERATING2) {
180
+ throw new Error("Iteration has not complete yet, cannot get last value.");
181
+ }
182
+ return lastValue;
183
+ },
184
+ next(next) {
185
+ const result = generator.next(next);
186
+ if (result.done) {
187
+ lastValue = result.value;
188
+ }
189
+ return result;
190
+ },
191
+ return(value) {
192
+ return generator.return(value);
193
+ },
194
+ throw(error) {
195
+ return generator.throw(error);
196
+ }
197
+ };
198
+ return generatorWithLastValue2;
199
+ }
200
+
47
201
  // src/private/toIntegerOrInfinity.ts
48
202
  function toIntegerOrInfinity(value) {
49
203
  if (value === Infinity || value === -Infinity) {
@@ -195,6 +349,24 @@ function iterableForEach(iterable, callbackfn, thisArg) {
195
349
  }
196
350
  }
197
351
 
352
+ // src/iterableGetReadable.ts
353
+ function isIterable(iterable) {
354
+ return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
355
+ }
356
+ function iterableGetReadable(iterable) {
357
+ const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
358
+ return new ReadableStream({
359
+ async pull(controller) {
360
+ const result = await iterator.next();
361
+ if (result.done) {
362
+ controller.close();
363
+ } else {
364
+ controller.enqueue(result.value);
365
+ }
366
+ }
367
+ });
368
+ }
369
+
198
370
  // src/iterableIncludes.ts
199
371
  function iterableIncludes(iterable, searchElement, fromIndex = 0) {
200
372
  let index = 0;
@@ -361,8 +533,81 @@ function iteratorToIterable(iterator) {
361
533
  };
362
534
  return iterableIterator;
363
535
  }
536
+
537
+ // src/observableFromAsync.ts
538
+ function observableFromAsync(iterable) {
539
+ return new Observable((subscriber) => {
540
+ let closed = false;
541
+ (async function() {
542
+ try {
543
+ for await (const value of iterable) {
544
+ if (closed) {
545
+ break;
546
+ }
547
+ subscriber.next(value);
548
+ }
549
+ subscriber.complete();
550
+ } catch (error) {
551
+ subscriber.error(error);
552
+ }
553
+ })();
554
+ return () => {
555
+ closed = true;
556
+ };
557
+ });
558
+ }
559
+
560
+ // src/observableSubscribeAsReadable.ts
561
+ function observableSubscribeAsReadable(observable) {
562
+ let subscription;
563
+ return new ReadableStream({
564
+ cancel() {
565
+ subscription.unsubscribe();
566
+ },
567
+ start(controller) {
568
+ subscription = observable.subscribe({
569
+ complete() {
570
+ controller.close();
571
+ },
572
+ error(err) {
573
+ controller.error(err);
574
+ },
575
+ next(value) {
576
+ controller.enqueue(value);
577
+ }
578
+ });
579
+ }
580
+ });
581
+ }
582
+
583
+ // src/readerValues.ts
584
+ function readerValues(reader) {
585
+ const iterable = {
586
+ [Symbol.asyncIterator]() {
587
+ return iterable;
588
+ },
589
+ async next() {
590
+ const result = await Promise.race([reader.read(), reader.closed]);
591
+ if (!result || result.done) {
592
+ return { done: true, value: void 0 };
593
+ }
594
+ return { value: result.value };
595
+ },
596
+ async return() {
597
+ reader.cancel();
598
+ return { done: true, value: void 0 };
599
+ }
600
+ };
601
+ return iterable;
602
+ }
364
603
  // Annotate the CommonJS export names for ESM import in node:
365
604
  0 && (module.exports = {
605
+ Observable,
606
+ PushAsyncIterableIterator,
607
+ SymbolObservable,
608
+ asyncGeneratorWithLastValue,
609
+ asyncIteratorToAsyncIterable,
610
+ generatorWithLastValue,
366
611
  iterableAt,
367
612
  iterableConcat,
368
613
  iterableEntries,
@@ -373,6 +618,7 @@ function iteratorToIterable(iterator) {
373
618
  iterableFindLast,
374
619
  iterableFindLastIndex,
375
620
  iterableForEach,
621
+ iterableGetReadable,
376
622
  iterableIncludes,
377
623
  iterableIndexOf,
378
624
  iterableJoin,
@@ -383,6 +629,9 @@ function iteratorToIterable(iterator) {
383
629
  iterableSome,
384
630
  iterableToSpliced,
385
631
  iterableToString,
386
- iteratorToIterable
632
+ iteratorToIterable,
633
+ observableFromAsync,
634
+ observableSubscribeAsReadable,
635
+ readerValues
387
636
  });
388
637
  //# sourceMappingURL=iter-fest.js.map