@fncts/io 0.0.34 → 0.0.35

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 (173) hide show
  1. package/Fiber/FiberRuntime.d.ts +7 -7
  2. package/IO/api/all.d.ts +41 -0
  3. package/IO/api/concurrency.d.ts +11 -0
  4. package/IO/api/interrupt.d.ts +1 -1
  5. package/IO/api/raceWith.d.ts +2 -1
  6. package/IO/api.d.ts +7 -2
  7. package/IO/definition.d.ts +103 -127
  8. package/IO.d.ts +1 -0
  9. package/Push/api.d.ts +25 -4
  10. package/Push/definition.d.ts +17 -0
  11. package/STM/definition.d.ts +2 -2
  12. package/Sink/api.d.ts +19 -19
  13. package/_cjs/Channel/api/runScoped.cjs +1 -1
  14. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  15. package/_cjs/Channel/api.cjs +2 -2
  16. package/_cjs/Channel/api.cjs.map +1 -1
  17. package/_cjs/Fiber/FiberRuntime.cjs +110 -98
  18. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  19. package/_cjs/Future/api.cjs +1 -1
  20. package/_cjs/Future/api.cjs.map +1 -1
  21. package/_cjs/IO/api/all.cjs +33 -0
  22. package/_cjs/IO/api/all.cjs.map +1 -0
  23. package/_cjs/IO/api/asyncIO.cjs +1 -1
  24. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  25. package/_cjs/IO/api/bracketExit.cjs +1 -1
  26. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  27. package/_cjs/IO/api/concurrency.cjs +25 -4
  28. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  29. package/_cjs/IO/api/disconnect.cjs +1 -1
  30. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  31. package/_cjs/IO/api/foreachConcurrent.cjs +1 -1
  32. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  33. package/_cjs/IO/api/foreachExec.cjs +1 -1
  34. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  35. package/_cjs/IO/api/forkIn.cjs +1 -1
  36. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  37. package/_cjs/IO/api/forkScoped.cjs +1 -1
  38. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  39. package/_cjs/IO/api/fulfill.cjs +1 -1
  40. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  41. package/_cjs/IO/api/interrupt.cjs +18 -6
  42. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  43. package/_cjs/IO/api/raceWith.cjs +4 -4
  44. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  45. package/_cjs/IO/api/timeout.cjs +8 -5
  46. package/_cjs/IO/api/timeout.cjs.map +1 -1
  47. package/_cjs/IO/api/zipConcurrent.cjs +1 -1
  48. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  49. package/_cjs/IO/api.cjs +78 -20
  50. package/_cjs/IO/api.cjs.map +1 -1
  51. package/_cjs/IO/definition.cjs +14 -191
  52. package/_cjs/IO/definition.cjs.map +1 -1
  53. package/_cjs/IO.cjs +11 -0
  54. package/_cjs/IO.cjs.map +1 -1
  55. package/_cjs/Layer/MemoMap.cjs +1 -1
  56. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  57. package/_cjs/Push/api.cjs +149 -110
  58. package/_cjs/Push/api.cjs.map +1 -1
  59. package/_cjs/Push/definition.cjs.map +1 -1
  60. package/_cjs/STM/api/atomically.cjs +1 -1
  61. package/_cjs/STM/api/atomically.cjs.map +1 -1
  62. package/_cjs/STM/definition.cjs +1 -1
  63. package/_cjs/STM/definition.cjs.map +1 -1
  64. package/_cjs/ScopedRef/api.cjs +2 -2
  65. package/_cjs/ScopedRef/api.cjs.map +1 -1
  66. package/_cjs/Semaphore.cjs +1 -1
  67. package/_cjs/Semaphore.cjs.map +1 -1
  68. package/_cjs/TReentrantLock/api.cjs +2 -2
  69. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  70. package/_cjs/TSemaphore/api.cjs +1 -1
  71. package/_cjs/TSemaphore/api.cjs.map +1 -1
  72. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +12 -17
  73. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  74. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +12 -17
  75. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  76. package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -12
  77. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  78. package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -9
  79. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  80. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +11 -27
  81. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  82. package/_mjs/Channel/api/runScoped.mjs +1 -1
  83. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  84. package/_mjs/Channel/api.mjs +2 -2
  85. package/_mjs/Channel/api.mjs.map +1 -1
  86. package/_mjs/Fiber/FiberRuntime.mjs +111 -100
  87. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  88. package/_mjs/Future/api.mjs +1 -1
  89. package/_mjs/Future/api.mjs.map +1 -1
  90. package/_mjs/IO/api/all.mjs +24 -0
  91. package/_mjs/IO/api/all.mjs.map +1 -0
  92. package/_mjs/IO/api/asyncIO.mjs +1 -1
  93. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  94. package/_mjs/IO/api/bracketExit.mjs +1 -1
  95. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  96. package/_mjs/IO/api/concurrency.mjs +19 -2
  97. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  98. package/_mjs/IO/api/disconnect.mjs +1 -1
  99. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  100. package/_mjs/IO/api/foreachConcurrent.mjs +1 -1
  101. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  102. package/_mjs/IO/api/foreachExec.mjs +1 -1
  103. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  104. package/_mjs/IO/api/forkIn.mjs +1 -1
  105. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  106. package/_mjs/IO/api/forkScoped.mjs +1 -1
  107. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  108. package/_mjs/IO/api/fulfill.mjs +1 -1
  109. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  110. package/_mjs/IO/api/interrupt.mjs +19 -7
  111. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  112. package/_mjs/IO/api/raceWith.mjs +4 -4
  113. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  114. package/_mjs/IO/api/timeout.mjs +8 -5
  115. package/_mjs/IO/api/timeout.mjs.map +1 -1
  116. package/_mjs/IO/api/zipConcurrent.mjs +1 -1
  117. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  118. package/_mjs/IO/api.mjs +78 -23
  119. package/_mjs/IO/api.mjs.map +1 -1
  120. package/_mjs/IO/definition.mjs +12 -181
  121. package/_mjs/IO/definition.mjs.map +1 -1
  122. package/_mjs/IO.mjs +1 -0
  123. package/_mjs/IO.mjs.map +1 -1
  124. package/_mjs/Layer/MemoMap.mjs +1 -1
  125. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  126. package/_mjs/Push/api.mjs +145 -109
  127. package/_mjs/Push/api.mjs.map +1 -1
  128. package/_mjs/Push/definition.mjs.map +1 -1
  129. package/_mjs/STM/api/atomically.mjs +1 -1
  130. package/_mjs/STM/api/atomically.mjs.map +1 -1
  131. package/_mjs/STM/definition.mjs +1 -1
  132. package/_mjs/STM/definition.mjs.map +1 -1
  133. package/_mjs/ScopedRef/api.mjs +2 -2
  134. package/_mjs/ScopedRef/api.mjs.map +1 -1
  135. package/_mjs/Semaphore.mjs +1 -1
  136. package/_mjs/Semaphore.mjs.map +1 -1
  137. package/_mjs/TReentrantLock/api.mjs +2 -2
  138. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  139. package/_mjs/TSemaphore/api.mjs +1 -1
  140. package/_mjs/TSemaphore/api.mjs.map +1 -1
  141. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +12 -17
  142. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  143. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +12 -17
  144. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  145. package/_mjs/collection/immutable/Conc/filterIO.mjs +2 -12
  146. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  147. package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -9
  148. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  149. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +11 -27
  150. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  151. package/_src/Channel/api.ts +3 -3
  152. package/_src/Fiber/FiberRuntime.ts +76 -75
  153. package/_src/IO/api/all.ts +64 -0
  154. package/_src/IO/api/concurrency.ts +33 -0
  155. package/_src/IO/api/foreachExec.ts +2 -2
  156. package/_src/IO/api/interrupt.ts +20 -7
  157. package/_src/IO/api/raceWith.ts +4 -2
  158. package/_src/IO/api/timeout.ts +21 -1
  159. package/_src/IO/api.ts +79 -27
  160. package/_src/IO/definition.ts +155 -199
  161. package/_src/IO.ts +1 -0
  162. package/_src/Push/api.ts +70 -4
  163. package/_src/Push/definition.ts +6 -0
  164. package/_src/STM/definition.ts +2 -2
  165. package/_src/collection/immutable/Conc/dropUntilIO.ts +18 -15
  166. package/_src/collection/immutable/Conc/dropWhileIO.ts +18 -17
  167. package/_src/collection/immutable/Conc/filterIO.ts +1 -11
  168. package/_src/collection/immutable/Conc/mapIO.ts +2 -9
  169. package/_src/collection/immutable/Conc/takeWhileIO.ts +19 -28
  170. package/collection/immutable/Conc/filterIO.d.ts +1 -1
  171. package/collection/immutable/Conc/mapIO.d.ts +1 -1
  172. package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
  173. package/package.json +2 -2
package/_mjs/Push/api.mjs CHANGED
@@ -1,38 +1,44 @@
1
1
  var _a;
2
2
  const fileName_1 = "(@fncts/io) src/Push/api.ts";
3
- import * as tsplus_module_1 from "@fncts/io/IO/api";
4
- import * as tsplus_module_2 from "@fncts/io/Push/definition";
5
- import * as tsplus_module_3 from "@fncts/io/IO/api/forkScoped";
6
- import * as tsplus_module_4 from "@fncts/io/CountdownLatch";
7
- import * as tsplus_module_5 from "@fncts/base/collection/Iterable/api";
8
- import * as tsplus_module_6 from "@fncts/io/IO/api/delay";
9
- import * as tsplus_module_7 from "@fncts/io/IO/api/acquireRelease";
10
- import * as tsplus_module_8 from "@fncts/io/Fiber/api/interrupt";
11
- import * as tsplus_module_9 from "@fncts/io/Ref/Synchronized/api";
12
- import * as tsplus_module_10 from "@fncts/io/Ref/Synchronized/constructors";
13
- import * as tsplus_module_11 from "@fncts/io/TSemaphore/api";
14
- import * as tsplus_module_12 from "@fncts/io/TSemaphore/constructors";
15
- import * as tsplus_module_13 from "@fncts/io/STM/api/atomically";
16
- import * as tsplus_module_14 from "@fncts/base/data/Maybe/destructors";
17
- import * as tsplus_module_15 from "@fncts/io/IO/api/concurrency";
18
- import * as tsplus_module_16 from "@fncts/base/data/function/api";
19
- import * as tsplus_module_17 from "@fncts/io/Future/api";
20
- import * as tsplus_module_18 from "@fncts/io/Schedule/api";
21
- import * as tsplus_module_19 from "@fncts/io/IO/api/schedule";
22
- import * as tsplus_module_20 from "@fncts/io/Future/constructors";
23
- import * as tsplus_module_21 from "@fncts/io/IO/api/environment";
24
- import * as tsplus_module_22 from "@fncts/io/IO/api/fulfill";
25
- import * as tsplus_module_23 from "@fncts/base/data/Maybe/constructors";
26
- import * as tsplus_module_24 from "@fncts/base/data/Maybe/definition";
27
- import * as tsplus_module_25 from "@fncts/base/data/FiberId/constructors";
28
- import * as tsplus_module_26 from "@fncts/io/Fiber/api/interruptAs";
29
- import * as tsplus_module_27 from "@fncts/base/data/Cause/api";
30
- import * as tsplus_module_28 from "@fncts/io/IO/api/foreachConcurrent";
31
- import * as tsplus_module_29 from "@fncts/base/collection/immutable/Conc/definition";
32
- import * as tsplus_module_30 from "@fncts/io/IO/api/scoped";
33
- import * as tsplus_module_31 from "@fncts/io/Ref/api/set";
34
- import * as tsplus_module_32 from "@fncts/io/Fiber/api/joinAll";
35
- import * as tsplus_module_33 from "@fncts/io/IO/api/asyncInterrupt";
3
+ import * as tsplus_module_1 from "@fncts/io/Future/api";
4
+ import * as tsplus_module_2 from "@fncts/io/IO/api/interrupt";
5
+ import * as tsplus_module_3 from "@fncts/base/data/Either/destructors";
6
+ import * as tsplus_module_4 from "@fncts/io/IO/api";
7
+ import * as tsplus_module_5 from "@fncts/io/IO/api/forkIn";
8
+ import * as tsplus_module_6 from "@fncts/io/IO/api/fulfill";
9
+ import * as tsplus_module_7 from "@fncts/io/IO/runtime";
10
+ import * as tsplus_module_8 from "@fncts/io/IO/api/scope";
11
+ import * as tsplus_module_9 from "@fncts/io/Future/constructors";
12
+ import * as tsplus_module_10 from "@fncts/io/Push/definition";
13
+ import * as tsplus_module_11 from "@fncts/base/data/Either/constructors";
14
+ import * as tsplus_module_12 from "@fncts/io/IO/api/forkScoped";
15
+ import * as tsplus_module_13 from "@fncts/io/CountdownLatch";
16
+ import * as tsplus_module_14 from "@fncts/base/collection/Iterable/api";
17
+ import * as tsplus_module_15 from "@fncts/io/IO/api/delay";
18
+ import * as tsplus_module_16 from "@fncts/io/IO/api/acquireRelease";
19
+ import * as tsplus_module_17 from "@fncts/io/Fiber/api/interrupt";
20
+ import * as tsplus_module_18 from "@fncts/io/Ref/Synchronized/api";
21
+ import * as tsplus_module_19 from "@fncts/io/Ref/Synchronized/constructors";
22
+ import * as tsplus_module_20 from "@fncts/io/Semaphore";
23
+ import * as tsplus_module_21 from "@fncts/base/data/Maybe/destructors";
24
+ import * as tsplus_module_22 from "@fncts/io/IO/api/concurrency";
25
+ import * as tsplus_module_23 from "@fncts/base/data/function/api";
26
+ import * as tsplus_module_24 from "@fncts/io/Schedule/api";
27
+ import * as tsplus_module_25 from "@fncts/io/IO/api/schedule";
28
+ import * as tsplus_module_26 from "@fncts/io/IO/api/environment";
29
+ import * as tsplus_module_27 from "@fncts/base/data/Maybe/constructors";
30
+ import * as tsplus_module_28 from "@fncts/base/data/Maybe/definition";
31
+ import * as tsplus_module_29 from "@fncts/base/data/FiberId/constructors";
32
+ import * as tsplus_module_30 from "@fncts/io/Fiber/api/interruptAs";
33
+ import * as tsplus_module_31 from "@fncts/base/data/Cause/api";
34
+ import * as tsplus_module_32 from "@fncts/io/IO/api/foreachConcurrent";
35
+ import * as tsplus_module_33 from "@fncts/io/Fiber/api/interruptFork";
36
+ import * as tsplus_module_34 from "@fncts/base/collection/immutable/Conc/definition";
37
+ import * as tsplus_module_35 from "@fncts/io/IO/api/scoped";
38
+ import * as tsplus_module_36 from "@fncts/io/Ref/api/set";
39
+ import * as tsplus_module_37 from "@fncts/io/Fiber/api/joinAll";
40
+ import * as tsplus_module_38 from "@fncts/io/IO/api/asyncInterrupt";
41
+ export const asyncInterrupt = asyncInterrupt_1;
36
42
  export const combineLatest = combineLatest_1;
37
43
  export const flatMapConcurrentBounded = flatMapConcurrentBounded_1;
38
44
  export const flatMapConcurrentUnbounded = flatMapConcurrentUnbounded_1;
@@ -57,13 +63,35 @@ export function as(b) {
57
63
  return map_1(b)(self);
58
64
  };
59
65
  }
66
+ /**
67
+ * @tsplus static fncts.io.PushOps asyncInterrupt
68
+ */
69
+ function asyncInterrupt_1(make) {
70
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(future => tsplus_module_4.flatMap(scope => tsplus_module_4.flatMap(runtime => {
71
+ const unsafeEmitter = {
72
+ emit: value => runtime.unsafeRunOrFork(tsplus_module_5.forkIn(scope, fileName_1 + ":35:76")(emitter.emit(value)), fileName_1 + ":35:49"),
73
+ failCause: cause => runtime.unsafeRunOrFork(tsplus_module_5.forkIn(scope, fileName_1 + ":36:102")(tsplus_module_6.fulfill(future, fileName_1 + ":36:87")(emitter.failCause(cause))), fileName_1 + ":36:54"),
74
+ end: () => runtime.unsafeRunOrFork(tsplus_module_4.zipRight(tsplus_module_1.succeed_(undefined, fileName_1 + ":37:72")(future), fileName_1 + ":37:57")(emitter.end), fileName_1 + ":37:43")
75
+ };
76
+ return tsplus_module_4.flatMap(eitherPush => tsplus_module_4.map(() => void 0, fileName_1 + ":40:8")(tsplus_module_3.match(canceller => tsplus_module_2.onInterrupt(() => canceller, fileName_1 + ":42:50")(tsplus_module_1.wait(future, fileName_1 + ":42:32")), push => push.run(emitter))(eitherPush)), fileName_1 + ":39:27")(tsplus_module_4.succeed(() => make(unsafeEmitter), fileName_1 + ":39:30"));
77
+ }, fileName_1 + ":33:24")(tsplus_module_7.runtime(fileName_1 + ":33:35")), fileName_1 + ":32:24")(tsplus_module_8.scope), fileName_1 + ":31:24")(tsplus_module_9.make(fileName_1 + ":31:36")));
78
+ }
79
+ /**
80
+ * @tsplus static fncts.io.PushOps async
81
+ */
82
+ export function async(make) {
83
+ return asyncInterrupt_1(emitter => {
84
+ make(emitter);
85
+ return tsplus_module_11.left(tsplus_module_4.unit, fileName_1 + ":56:23");
86
+ });
87
+ }
60
88
  function combineLatest_1(streams) {
61
- return tsplus_module_2.makePush(emitter => (() => {
62
- const size = tsplus_module_5.size(streams);
63
- return tsplus_module_1.flatMap(ref => tsplus_module_1.flatMap(latch => {
64
- const emitIfReady = tsplus_module_1.flatMap(as => as.length === size ? emitter.emit(as) : tsplus_module_1.unit, fileName_1 + ":30:69")(tsplus_module_1.succeed(() => ref.filter(a => a != null), fileName_1 + ":30:31"));
65
- return tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":46:8")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":46:22")(latch.await)), fileName_1 + ":33:8")(tsplus_module_1.foreachWithIndex(streams, (i, stream) => tsplus_module_3.forkScoped(stream.run(tsplus_module_2.makeEmitter(value => tsplus_module_1.zipRight(emitIfReady, fileName_1 + ":39:50")(tsplus_module_1.succeed(() => ref[i] = value, fileName_1 + ":39:30")), cause => emitter.failCause(cause), latch.countDown)), fileName_1 + ":43:14"), fileName_1 + ":34:28"));
66
- }, fileName_1 + ":29:30")(tsplus_module_4.make(size)), fileName_1 + ":28:30")(tsplus_module_1.succeed(() => Array(size), fileName_1 + ":28:33"));
89
+ return tsplus_module_10.makePush(emitter => (() => {
90
+ const size = tsplus_module_14.size(streams);
91
+ return tsplus_module_4.flatMap(ref => tsplus_module_4.flatMap(latch => {
92
+ const emitIfReady = tsplus_module_4.flatMap(as => as.length === size ? emitter.emit(as) : tsplus_module_4.unit, fileName_1 + ":73:69")(tsplus_module_4.succeed(() => ref.filter(a => a != null), fileName_1 + ":73:31"));
93
+ return tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, fileName_1 + ":89:8")(tsplus_module_4.zipRight(emitter.end, fileName_1 + ":89:22")(latch.await)), fileName_1 + ":76:8")(tsplus_module_4.foreachWithIndex(streams, (i, stream) => tsplus_module_12.forkScoped(stream.run(tsplus_module_10.makeEmitter(value => tsplus_module_4.zipRight(emitIfReady, fileName_1 + ":82:50")(tsplus_module_4.succeed(() => ref[i] = value, fileName_1 + ":82:30")), cause => emitter.failCause(cause), latch.countDown)), fileName_1 + ":86:14"), fileName_1 + ":77:28"));
94
+ }, fileName_1 + ":72:30")(tsplus_module_13.make(size)), fileName_1 + ":71:30")(tsplus_module_4.succeed(() => Array(size), fileName_1 + ":71:33"));
67
95
  })());
68
96
  }
69
97
  /**
@@ -79,21 +107,21 @@ export function combineLatestWith(that, f) {
79
107
  */
80
108
  export function debounce(duration) {
81
109
  return self => {
82
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(ref => tsplus_module_1.flatMap(latch => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":84:10")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":84:24")(latch.await)), fileName_1 + ":69:10")(self.run(tsplus_module_2.makeEmitter(value => tsplus_module_9.updateIO(previous => tsplus_module_1.flatMap(() => tsplus_module_3.forkScoped(tsplus_module_7.acquireRelease(() => tsplus_module_6.delay(duration)(emitter.emit(value)), () => latch.countDown, fileName_1 + ":76:47"), fileName_1 + ":76:107"), fileName_1 + ":75:22")(tsplus_module_1.defer(() => previous ? tsplus_module_8.interrupt(previous) : latch.increment, fileName_1 + ":75:31")), fileName_1 + ":73:29")(ref), cause => emitter.failCause(cause), latch.countDown))), fileName_1 + ":68:24")(tsplus_module_4.make(1)), fileName_1 + ":67:24")(tsplus_module_10.makeSynchronized(() => null, fileName_1 + ":67:46")));
110
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(ref => tsplus_module_4.flatMap(latch => tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, fileName_1 + ":127:10")(tsplus_module_4.zipRight(emitter.end, fileName_1 + ":127:24")(latch.await)), fileName_1 + ":112:10")(tsplus_module_12.forkScoped(self.run(tsplus_module_10.makeEmitter(value => tsplus_module_18.updateIO(previous => tsplus_module_4.flatMap(() => tsplus_module_12.forkScoped(tsplus_module_16.acquireRelease(() => tsplus_module_15.delay(duration)(emitter.emit(value)), () => latch.countDown, fileName_1 + ":119:47"), fileName_1 + ":119:107"), fileName_1 + ":118:22")(tsplus_module_4.defer(() => previous ? tsplus_module_17.interrupt(previous) : latch.increment, fileName_1 + ":118:31")), fileName_1 + ":116:29")(ref), cause => emitter.failCause(cause), latch.countDown)), fileName_1 + ":125:12")), fileName_1 + ":111:24")(tsplus_module_13.make(1)), fileName_1 + ":110:24")(tsplus_module_19.makeSynchronized(() => null, fileName_1 + ":110:46")));
83
111
  };
84
112
  }
85
113
  /**
86
114
  * @tsplus static fncts.io.PushOps defer
87
115
  */
88
116
  export function defer(self) {
89
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(push => push.run(emitter), fileName_1 + ":94:44")(tsplus_module_1.succeed(self, fileName_1 + ":94:30")));
117
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(push => push.run(emitter), fileName_1 + ":137:44")(tsplus_module_4.succeed(self, fileName_1 + ":137:30")));
90
118
  }
91
119
  /**
92
120
  * @tsplus pipeable fncts.io.Push flatMapConcurrentBounded
93
121
  */
94
122
  function flatMapConcurrentBounded_1(f, concurrency) {
95
123
  return self => {
96
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(semaphore => tsplus_module_1.map(() => void 0, fileName_1 + ":105:10")(flatMapConcurrentUnbounded_1(a => transform_1(io => tsplus_module_11.withPermit(semaphore, fileName_1 + ":105:82")(io))(f(a)))(self).run(emitter)), fileName_1 + ":104:28")(tsplus_module_13.atomically(tsplus_module_12.make(concurrency, fileName_1 + ":104:39"), fileName_1 + ":104:52")));
124
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(semaphore => tsplus_module_4.map(() => void 0, fileName_1 + ":148:10")(flatMapConcurrentUnbounded_1(a => transform_1(io => semaphore.withPermit(io))(f(a)))(self).run(emitter)), fileName_1 + ":147:28")(tsplus_module_20.makeSemaphore(concurrency, fileName_1 + ":147:38")));
97
125
  };
98
126
  }
99
127
  /**
@@ -101,7 +129,7 @@ function flatMapConcurrentBounded_1(f, concurrency) {
101
129
  */
102
130
  function flatMapConcurrentUnbounded_1(f) {
103
131
  return self => {
104
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(latch => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":129:10")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":129:24")(latch.await)), fileName_1 + ":119:10")(self.run(tsplus_module_2.makeEmitter(value => tsplus_module_1.zipRight(tsplus_module_3.forkScoped(f(value).run(tsplus_module_2.makeEmitter(emitter.emit, emitter.failCause, latch.countDown)), fileName_1 + ":123:106"), fileName_1 + ":123:34")(latch.increment), emitter.failCause, latch.countDown))), fileName_1 + ":118:24")(tsplus_module_4.make(1)));
132
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(latch => tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, fileName_1 + ":172:10")(tsplus_module_4.zipRight(emitter.end, fileName_1 + ":172:24")(latch.await)), fileName_1 + ":162:10")(tsplus_module_12.forkScoped(self.run(tsplus_module_10.makeEmitter(value => tsplus_module_4.zipRight(tsplus_module_12.forkScoped(f(value).run(tsplus_module_10.makeEmitter(emitter.emit, emitter.failCause, latch.countDown)), fileName_1 + ":166:106"), fileName_1 + ":166:34")(latch.increment), emitter.failCause, latch.countDown)), fileName_1 + ":170:12")), fileName_1 + ":161:24")(tsplus_module_13.make(1)));
105
133
  };
106
134
  }
107
135
  /**
@@ -109,7 +137,7 @@ function flatMapConcurrentUnbounded_1(f) {
109
137
  */
110
138
  export function flatMapConcurrent(f) {
111
139
  return self => {
112
- return unwrap_1(tsplus_module_1.map(concurrency => tsplus_module_14.match(() => flatMapConcurrentUnbounded_1(f)(self), n => flatMapConcurrentBounded_1(f, n)(self))(concurrency), fileName_1 + ":141:25")(tsplus_module_15.concurrency));
140
+ return unwrap_1(tsplus_module_4.map(concurrency => tsplus_module_21.match(() => flatMapConcurrentUnbounded_1(f)(self), n => flatMapConcurrentBounded_1(f, n)(self))(concurrency), fileName_1 + ":184:25")(tsplus_module_22.concurrency));
113
141
  };
114
142
  }
115
143
  /**
@@ -124,34 +152,34 @@ function flatMap_1(f) {
124
152
  * @tsplus getter fncts.io.Push flatten
125
153
  */
126
154
  function flatten_1(self) {
127
- return flatMap_1(tsplus_module_16.identity)(self);
155
+ return flatMap_1(tsplus_module_23.identity)(self);
128
156
  }
129
157
  /**
130
158
  * @tsplus static fncts.io.PushOps fromIO
131
159
  */
132
160
  function fromIO_1(io) {
133
- return tsplus_module_2.makePush(emitter => tsplus_module_1.zipRight(emitter.end, fileName_1 + ":176:10")(tsplus_module_1.matchCauseIO(cause => emitter.failCause(cause), value => emitter.emit(value), fileName_1 + ":173:32")(tsplus_module_1.defer(io, fileName_1 + ":173:15"))));
161
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.zipRight(emitter.end, fileName_1 + ":219:10")(tsplus_module_4.matchCauseIO(cause => emitter.failCause(cause), value => emitter.emit(value), fileName_1 + ":216:32")(tsplus_module_4.defer(io, fileName_1 + ":216:15"))));
134
162
  }
135
163
  /**
136
164
  * @tsplus static fncts.io.PushOps fromAsyncIterable
137
165
  */
138
166
  export function fromAsyncIterable(iterable) {
139
- return tsplus_module_2.makePush(emitter => tsplus_module_1.defer(() => fromAsyncIterableLoop(iterable[Symbol.asyncIterator](), emitter, fileName_1 + ":184:58"), fileName_1 + ":184:36"));
167
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.defer(() => fromAsyncIterableLoop(iterable[Symbol.asyncIterator](), emitter, fileName_1 + ":227:58"), fileName_1 + ":227:36"));
140
168
  }
141
169
  function fromAsyncIterableLoop(iterator, emitter, __tsplusTrace) {
142
- return tsplus_module_1.matchCauseIO(cause => tsplus_module_1.zipRight(emitter.end, __tsplusTrace)(emitter.failCause(cause)), result => result.done ? emitter.end : tsplus_module_1.zipRight(fromAsyncIterableLoop(iterator, emitter, __tsplusTrace), __tsplusTrace)(emitter.emit(result.value)), __tsplusTrace)(tsplus_module_1.fromPromiseHalt(iterator.next, __tsplusTrace));
170
+ return tsplus_module_4.matchCauseIO(cause => tsplus_module_4.zipRight(emitter.end, __tsplusTrace)(emitter.failCause(cause)), result => result.done ? emitter.end : tsplus_module_4.zipRight(fromAsyncIterableLoop(iterator, emitter, __tsplusTrace), __tsplusTrace)(emitter.emit(result.value)), __tsplusTrace)(tsplus_module_4.fromPromiseHalt(iterator.next, __tsplusTrace));
143
171
  }
144
172
  /**
145
173
  * @tsplus static fncts.io.PushOps fromIterable
146
174
  */
147
175
  export function fromIterable(iterable) {
148
- return tsplus_module_2.makePush(emitter => tsplus_module_1.defer(() => fromIterableLoop(iterable[Symbol.iterator](), emitter), fileName_1 + ":202:36"));
176
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.defer(() => fromIterableLoop(iterable[Symbol.iterator](), emitter), fileName_1 + ":245:36"));
149
177
  }
150
178
  function fromIterableLoop(iterator, emitter) {
151
- return tsplus_module_1.defer(() => {
179
+ return tsplus_module_4.defer(() => {
152
180
  const value = iterator.next();
153
- return value.done ? emitter.end : tsplus_module_1.zipRight(fromIterableLoop(iterator, emitter), fileName_1 + ":208:66")(emitter.emit(value.value));
154
- }, fileName_1 + ":206:18");
181
+ return value.done ? emitter.end : tsplus_module_4.zipRight(fromIterableLoop(iterator, emitter), fileName_1 + ":251:66")(emitter.emit(value.value));
182
+ }, fileName_1 + ":249:18");
155
183
  }
156
184
  /**
157
185
  * @tsplus getter fncts.io.Push multicast
@@ -166,44 +194,44 @@ export class Multicast {
166
194
  this.observers = [];
167
195
  }
168
196
  run(emitter) {
169
- return tsplus_module_1.flatMap(environment => tsplus_module_1.flatMap(future => tsplus_module_1.flatMap(() => tsplus_module_17.wait(future, fileName_1 + ":253:22"), fileName_1 + ":240:8")(tsplus_module_1.defer(() => {
197
+ return tsplus_module_4.flatMap(environment => tsplus_module_4.flatMap(future => tsplus_module_4.flatMap(() => tsplus_module_1.wait(future, fileName_1 + ":296:22"), fileName_1 + ":283:8")(tsplus_module_4.defer(() => {
170
198
  this.observers.push({
171
199
  emitter,
172
200
  environment,
173
201
  future
174
202
  });
175
203
  if (this.fiber) {
176
- return tsplus_module_1.unit;
204
+ return tsplus_module_4.unit;
177
205
  } else {
178
- return tsplus_module_1.tap(fiber => tsplus_module_1.succeed(() => this.fiber = fiber, fileName_1 + ":249:44"), fileName_1 + ":249:30")(tsplus_module_3.forkScoped(tsplus_module_19.schedule(() => tsplus_module_18.asap, fileName_1 + ":248:24")(this.push.run(this)), fileName_1 + ":248:39"));
206
+ return tsplus_module_4.tap(fiber => tsplus_module_4.succeed(() => this.fiber = fiber, fileName_1 + ":292:44"), fileName_1 + ":292:30")(tsplus_module_12.forkScoped(tsplus_module_25.schedule(() => tsplus_module_24.asap, fileName_1 + ":291:24")(this.push.run(this)), fileName_1 + ":291:39"));
179
207
  }
180
- }, fileName_1 + ":241:17")), fileName_1 + ":239:28")(tsplus_module_20.make(fileName_1 + ":239:40")), fileName_1 + ":238:28")(tsplus_module_21.environment(fileName_1 + ":238:43"));
208
+ }, fileName_1 + ":284:17")), fileName_1 + ":282:28")(tsplus_module_9.make(fileName_1 + ":282:40")), fileName_1 + ":281:28")(tsplus_module_26.environment(fileName_1 + ":281:43"));
181
209
  }
182
210
  emit(value) {
183
- return tsplus_module_1.defer(() => tsplus_module_1.foreachDiscard(this.observers.slice(), observer => this.runEvent(value, observer), fileName_1 + ":258:38"), fileName_1 + ":258:20");
211
+ return tsplus_module_4.defer(() => tsplus_module_4.foreachDiscard(this.observers.slice(), observer => this.runEvent(value, observer), fileName_1 + ":301:38"), fileName_1 + ":301:20");
184
212
  }
185
213
  failCause(cause) {
186
- return tsplus_module_1.zipRight(tsplus_module_1.defer(() => this.cleanup(), fileName_1 + ":264:15"), fileName_1 + ":263:110")(tsplus_module_1.defer(() => tsplus_module_1.foreachDiscard(this.observers.slice(), observer => this.runFailCause(cause, observer), fileName_1 + ":263:33"), fileName_1 + ":263:15"));
214
+ return tsplus_module_4.zipRight(tsplus_module_4.defer(() => this.cleanup(), fileName_1 + ":307:15"), fileName_1 + ":306:110")(tsplus_module_4.defer(() => tsplus_module_4.foreachDiscard(this.observers.slice(), observer => this.runFailCause(cause, observer), fileName_1 + ":306:33"), fileName_1 + ":306:15"));
187
215
  }
188
216
  get end() {
189
- return tsplus_module_1.zipRight(tsplus_module_1.defer(() => this.cleanup(), fileName_1 + ":271:15"), fileName_1 + ":270:97")(tsplus_module_1.defer(() => tsplus_module_1.foreachDiscard(this.observers.slice(), observer => this.runEnd(observer), fileName_1 + ":270:33"), fileName_1 + ":270:15"));
217
+ return tsplus_module_4.zipRight(tsplus_module_4.defer(() => this.cleanup(), fileName_1 + ":314:15"), fileName_1 + ":313:97")(tsplus_module_4.defer(() => tsplus_module_4.foreachDiscard(this.observers.slice(), observer => this.runEnd(observer), fileName_1 + ":313:33"), fileName_1 + ":313:15"));
190
218
  }
191
219
  runEvent(value, observer) {
192
- return tsplus_module_21.provideEnvironment(observer.environment, fileName_1 + ":279:26")(tsplus_module_1.tapErrorCause(cause => this.runFailCause(cause, observer), fileName_1 + ":278:21")(observer.emitter.emit(value)));
220
+ return tsplus_module_26.provideEnvironment(observer.environment, fileName_1 + ":322:26")(tsplus_module_4.tapErrorCause(cause => this.runFailCause(cause, observer), fileName_1 + ":321:21")(observer.emitter.emit(value)));
193
221
  }
194
222
  runFailCause(cause, observer) {
195
223
  this.observers.splice(this.observers.indexOf(observer), 1);
196
- return tsplus_module_21.provideEnvironment(observer.environment, fileName_1 + ":284:89")(tsplus_module_22.fulfill(observer.future, fileName_1 + ":284:53")(observer.emitter.failCause(cause)));
224
+ return tsplus_module_26.provideEnvironment(observer.environment, fileName_1 + ":327:89")(tsplus_module_6.fulfill(observer.future, fileName_1 + ":327:53")(observer.emitter.failCause(cause)));
197
225
  }
198
226
  runEnd(observer) {
199
227
  this.observers.splice(this.observers.indexOf(observer), 1);
200
- return tsplus_module_21.provideEnvironment(observer.environment, fileName_1 + ":289:76")(tsplus_module_22.fulfill(observer.future, fileName_1 + ":289:40")(observer.emitter.end));
228
+ return tsplus_module_26.provideEnvironment(observer.environment, fileName_1 + ":332:76")(tsplus_module_6.fulfill(observer.future, fileName_1 + ":332:40")(observer.emitter.end));
201
229
  }
202
230
  cleanup() {
203
231
  if (this.fiber) {
204
- return tsplus_module_1.zipRight(tsplus_module_1.succeed(() => this.fiber = undefined, fileName_1 + ":294:39"), fileName_1 + ":294:36")(tsplus_module_8.interrupt(this.fiber));
232
+ return tsplus_module_4.zipRight(tsplus_module_4.succeed(() => this.fiber = undefined, fileName_1 + ":337:39"), fileName_1 + ":337:36")(tsplus_module_17.interrupt(this.fiber));
205
233
  }
206
- return tsplus_module_1.unit;
234
+ return tsplus_module_4.unit;
207
235
  }
208
236
  }
209
237
  _a = PushTypeId;
@@ -217,60 +245,60 @@ export class Hold extends Multicast {
217
245
  constructor(push) {
218
246
  super(push);
219
247
  this.push = push;
220
- this.value = new AtomicReference(tsplus_module_23.nothing(fileName_1 + ":308:47"));
248
+ this.value = new AtomicReference(tsplus_module_27.nothing(fileName_1 + ":351:47"));
221
249
  this.pendingEmitters = [];
222
250
  this.scheduledFiber = null;
223
251
  }
224
252
  run(emitter) {
225
253
  if (this.shouldScheduleFlush()) {
226
- return tsplus_module_1.flatMap(() => super.run(emitter), fileName_1 + ":318:49")(this.scheduleFlush(emitter));
254
+ return tsplus_module_4.flatMap(() => super.run(emitter), fileName_1 + ":361:49")(this.scheduleFlush(emitter));
227
255
  }
228
256
  const value = this.value.get;
229
- if (tsplus_module_24.isJust(value) && this.observers.length === 0) {
230
- return tsplus_module_1.flatMap(() => super.run(emitter), fileName_1 + ":323:47")(emitter.emit(value.value));
257
+ if (tsplus_module_28.isJust(value) && this.observers.length === 0) {
258
+ return tsplus_module_4.flatMap(() => super.run(emitter), fileName_1 + ":366:47")(emitter.emit(value.value));
231
259
  }
232
260
  return super.run(emitter);
233
261
  }
234
262
  emit(value) {
235
- return tsplus_module_1.defer(() => {
263
+ return tsplus_module_4.defer(() => {
236
264
  this.addValue(value);
237
- return tsplus_module_1.flatMap(() => super.emit(value), fileName_1 + ":332:41")(this.flushPending());
238
- }, fileName_1 + ":330:20");
265
+ return tsplus_module_4.flatMap(() => super.emit(value), fileName_1 + ":375:41")(this.flushPending());
266
+ }, fileName_1 + ":373:20");
239
267
  }
240
268
  failCause(cause) {
241
- return tsplus_module_1.defer(() => tsplus_module_1.flatMap(() => super.failCause(cause), fileName_1 + ":337:48")(this.flushPending()), fileName_1 + ":337:20");
269
+ return tsplus_module_4.defer(() => tsplus_module_4.flatMap(() => super.failCause(cause), fileName_1 + ":380:48")(this.flushPending()), fileName_1 + ":380:20");
242
270
  }
243
271
  get end() {
244
- return tsplus_module_1.defer(() => tsplus_module_1.flatMap(() => super.end, fileName_1 + ":341:48")(this.flushPending()), fileName_1 + ":341:20");
272
+ return tsplus_module_4.defer(() => tsplus_module_4.flatMap(() => super.end, fileName_1 + ":384:48")(this.flushPending()), fileName_1 + ":384:20");
245
273
  }
246
274
  shouldScheduleFlush() {
247
- return tsplus_module_24.isJust(this.value.get) && this.observers.length > 0;
275
+ return tsplus_module_28.isJust(this.value.get) && this.observers.length > 0;
248
276
  }
249
277
  scheduleFlush(observer) {
250
- this.pendingEmitters.push([observer, tsplus_module_14.match(() => [], a => [a])(this.value.get)]);
251
- const interrupt = this.scheduledFiber ? tsplus_module_26.interruptAsFork(this.scheduledFiber, tsplus_module_25.none) : tsplus_module_1.unit;
278
+ this.pendingEmitters.push([observer, tsplus_module_21.match(() => [], a => [a])(this.value.get)]);
279
+ const interrupt = this.scheduledFiber ? tsplus_module_30.interruptAsFork(this.scheduledFiber, tsplus_module_29.none) : tsplus_module_4.unit;
252
280
  this.scheduledFiber = null;
253
- return tsplus_module_1.tap(fiber => tsplus_module_1.succeed(() => this.scheduledFiber = fiber, fileName_1 + ":361:9"), fileName_1 + ":360:87")(tsplus_module_3.forkScoped(tsplus_module_1.zipRight(tsplus_module_1.flatMap(() => this.flushPending(), fileName_1 + ":360:44")(interrupt), fileName_1 + ":360:26")(tsplus_module_1.yieldNow), fileName_1 + ":360:72"));
281
+ return tsplus_module_4.tap(fiber => tsplus_module_4.succeed(() => this.scheduledFiber = fiber, fileName_1 + ":404:9"), fileName_1 + ":403:87")(tsplus_module_12.forkScoped(tsplus_module_4.zipRight(tsplus_module_4.flatMap(() => this.flushPending(), fileName_1 + ":403:44")(interrupt), fileName_1 + ":403:26")(tsplus_module_4.yieldNow), fileName_1 + ":403:72"));
254
282
  }
255
283
  flushPending() {
256
284
  if (this.pendingEmitters.length === 0) {
257
- return tsplus_module_1.unit;
285
+ return tsplus_module_4.unit;
258
286
  }
259
287
  const emitters = this.pendingEmitters;
260
288
  this.pendingEmitters = [];
261
- return tsplus_module_1.foreachDiscard(emitters, pendingEmitter => {
262
- return tsplus_module_1.defer(() => {
289
+ return tsplus_module_4.foreachDiscard(emitters, pendingEmitter => {
290
+ return tsplus_module_4.defer(() => {
263
291
  const [emitter, values] = pendingEmitter;
264
292
  const observer = this.observers.find(observer => observer.emitter === emitter);
265
293
  if (!observer) {
266
- return tsplus_module_1.unit;
294
+ return tsplus_module_4.unit;
267
295
  }
268
- return tsplus_module_1.foreachDiscard(values, value => this.runEvent(value, observer), fileName_1 + ":380:33");
269
- }, fileName_1 + ":374:22");
270
- }, fileName_1 + ":373:29");
296
+ return tsplus_module_4.foreachDiscard(values, value => this.runEvent(value, observer), fileName_1 + ":423:33");
297
+ }, fileName_1 + ":417:22");
298
+ }, fileName_1 + ":416:29");
271
299
  }
272
300
  addValue(value) {
273
- this.value.set(tsplus_module_23.just(value, fileName_1 + ":386:24"));
301
+ this.value.set(tsplus_module_27.just(value, fileName_1 + ":429:24"));
274
302
  this.pendingEmitters.forEach(([, values]) => {
275
303
  values.push(value);
276
304
  });
@@ -281,7 +309,7 @@ export class Hold extends Multicast {
281
309
  */
282
310
  function map_1(f) {
283
311
  return self => {
284
- return mapIO_1(a => tsplus_module_1.succeedNow(f(a), fileName_1 + ":398:43"))(self);
312
+ return mapIO_1(a => tsplus_module_4.succeedNow(f(a), fileName_1 + ":441:43"))(self);
285
313
  };
286
314
  }
287
315
  /**
@@ -289,7 +317,7 @@ function map_1(f) {
289
317
  */
290
318
  export function mapError(f) {
291
319
  return self => {
292
- return tsplus_module_2.makePush(emitter => self.run(tsplus_module_2.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(tsplus_module_27.map(f)(cause)), emitter.end)));
320
+ return tsplus_module_10.makePush(emitter => self.run(tsplus_module_10.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(tsplus_module_31.map(f)(cause)), emitter.end)));
293
321
  };
294
322
  }
295
323
  /**
@@ -297,14 +325,14 @@ export function mapError(f) {
297
325
  */
298
326
  export function mapErrorCause(f) {
299
327
  return self => {
300
- return tsplus_module_2.makePush(emitter => self.run(tsplus_module_2.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(f(cause)), emitter.end)));
328
+ return tsplus_module_10.makePush(emitter => self.run(tsplus_module_10.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(f(cause)), emitter.end)));
301
329
  };
302
330
  }
303
331
  /**
304
332
  * @tsplus pipeable fncts.io.Push mapIO
305
333
  */
306
334
  function mapIO_1(f) {
307
- return self => tsplus_module_2.makePush(emitter => self.run(tsplus_module_2.makeEmitter(value => tsplus_module_1.matchCauseIO(cause => emitter.failCause(cause), b => emitter.emit(b), fileName_1 + ":445:34")(f(value)), cause => emitter.failCause(cause), emitter.end)));
335
+ return self => tsplus_module_10.makePush(emitter => self.run(tsplus_module_10.makeEmitter(value => tsplus_module_4.matchCauseIO(cause => emitter.failCause(cause), b => emitter.emit(b), fileName_1 + ":488:34")(f(value)), cause => emitter.failCause(cause), emitter.end)));
308
336
  }
309
337
  /**
310
338
  * @tsplus pipeable fncts.io.Push merge
@@ -315,82 +343,90 @@ export function merge(that) {
315
343
  };
316
344
  }
317
345
  function mergeAll_1(streams) {
318
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(latch => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":488:8")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":488:22")(latch.await)), fileName_1 + ":476:8")(tsplus_module_28.foreachConcurrent(streams, stream => tsplus_module_3.forkScoped(stream.run(tsplus_module_2.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(cause), latch.countDown)), fileName_1 + ":485:14"), fileName_1 + ":477:37")), fileName_1 + ":475:22")(tsplus_module_4.make(tsplus_module_5.size(streams))));
346
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(latch => tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, fileName_1 + ":531:8")(tsplus_module_4.zipRight(emitter.end, fileName_1 + ":531:22")(latch.await)), fileName_1 + ":519:8")(tsplus_module_32.foreachConcurrent(streams, stream => tsplus_module_12.forkScoped(stream.run(tsplus_module_10.makeEmitter(value => emitter.emit(value), cause => emitter.failCause(cause), latch.countDown)), fileName_1 + ":528:14"), fileName_1 + ":520:37")), fileName_1 + ":518:22")(tsplus_module_13.make(tsplus_module_14.size(streams))));
347
+ }
348
+ /**
349
+ * @tsplus pipeable fncts.io.Push observe
350
+ */
351
+ export function observe(f, __tsplusTrace) {
352
+ return self => {
353
+ return tsplus_module_4.flatMap(future => tsplus_module_4.flatMap(fiber => tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, __tsplusTrace)(tsplus_module_33.interruptFork(fiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.wait(future, __tsplusTrace)), __tsplusTrace)(tsplus_module_12.forkScoped(self.run(tsplus_module_10.makeEmitter(a => tsplus_module_4.catchAllCause(cause => tsplus_module_1.failCause(cause, __tsplusTrace)(future), __tsplusTrace)(f(a)), cause => tsplus_module_1.failCause(cause, __tsplusTrace)(future), tsplus_module_1.succeed_(undefined, __tsplusTrace)(future))), __tsplusTrace)), __tsplusTrace)(tsplus_module_9.make(__tsplusTrace));
354
+ };
319
355
  }
320
356
  /**
321
357
  * @tsplus static fncts.io.PushOps repeatIOMaybe
322
358
  */
323
359
  export function repeatIOMaybe(io, __tsplusTrace) {
324
- return unfoldIO_1(undefined, () => tsplus_module_1.catchAll(maybeError => tsplus_module_14.match(() => tsplus_module_1.succeedNow(tsplus_module_23.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(a => tsplus_module_23.just([a, undefined], __tsplusTrace), __tsplusTrace)(io)));
360
+ return unfoldIO_1(undefined, () => tsplus_module_4.catchAll(maybeError => tsplus_module_21.match(() => tsplus_module_4.succeedNow(tsplus_module_27.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_4.failNow)(maybeError), __tsplusTrace)(tsplus_module_4.map(a => tsplus_module_27.just([a, undefined], __tsplusTrace), __tsplusTrace)(io)));
325
361
  }
326
362
  /**
327
363
  * @tsplus getter fncts.io.Push runCollect
328
364
  */
329
365
  export function runCollect(self) {
330
- return tsplus_module_1.defer(() => {
366
+ return tsplus_module_4.defer(() => {
331
367
  const out = [];
332
- return tsplus_module_1.flatMap(future => tsplus_module_1.zipRight(tsplus_module_1.succeed(() => tsplus_module_29.fromArray(out), fileName_1 + ":520:11"), fileName_1 + ":519:23")(tsplus_module_1.zipRight(tsplus_module_17.wait(future, fileName_1 + ":519:15"), fileName_1 + ":518:12")(self.run(tsplus_module_2.makeEmitter(value => tsplus_module_1.succeed(() => out.push(value), fileName_1 + ":514:26"), cause => tsplus_module_17.failCause(cause, fileName_1 + ":515:40")(future), tsplus_module_17.succeed_(undefined, fileName_1 + ":516:27")(future))))), fileName_1 + ":510:42")(tsplus_module_20.make(fileName_1 + ":510:23"));
333
- }, fileName_1 + ":508:18");
368
+ return tsplus_module_4.flatMap(future => tsplus_module_4.zipRight(tsplus_module_4.succeed(() => tsplus_module_34.fromArray(out), fileName_1 + ":586:11"), fileName_1 + ":585:23")(tsplus_module_4.zipRight(tsplus_module_1.wait(future, fileName_1 + ":585:15"), fileName_1 + ":584:12")(self.run(tsplus_module_10.makeEmitter(value => tsplus_module_4.succeed(() => out.push(value), fileName_1 + ":580:26"), cause => tsplus_module_1.failCause(cause, fileName_1 + ":581:40")(future), tsplus_module_1.succeed_(undefined, fileName_1 + ":582:27")(future))))), fileName_1 + ":576:42")(tsplus_module_9.make(fileName_1 + ":576:23"));
369
+ }, fileName_1 + ":574:18");
334
370
  }
335
371
  /**
336
372
  * @tsplus getter fncts.io.Push runDrain
337
373
  */
338
374
  export function runDrain(self) {
339
- return tsplus_module_1.flatMap(future => tsplus_module_1.zipRight(tsplus_module_17.wait(future, fileName_1 + ":537:17"), fileName_1 + ":537:10")(self.run(tsplus_module_2.makeEmitter(() => tsplus_module_1.unit, cause => tsplus_module_17.failCause(cause, fileName_1 + ":534:38")(future), tsplus_module_17.succeed_(undefined, fileName_1 + ":535:25")(future)))), fileName_1 + ":529:40")(tsplus_module_20.make(fileName_1 + ":529:21"));
375
+ return tsplus_module_4.flatMap(future => tsplus_module_4.zipRight(tsplus_module_1.wait(future, fileName_1 + ":603:17"), fileName_1 + ":603:10")(self.run(tsplus_module_10.makeEmitter(() => tsplus_module_4.unit, cause => tsplus_module_1.failCause(cause, fileName_1 + ":600:38")(future), tsplus_module_1.succeed_(undefined, fileName_1 + ":601:25")(future)))), fileName_1 + ":595:40")(tsplus_module_9.make(fileName_1 + ":595:21"));
340
376
  }
341
377
  /**
342
378
  * @tsplus static fncts.io.PushOps scoped
343
379
  */
344
380
  function scoped_1(io, __tsplusTrace) {
345
- return tsplus_module_2.makePush(emitter => tsplus_module_1.zipRight(emitter.end, __tsplusTrace)(tsplus_module_1.matchCauseIO(cause => emitter.failCause(cause), value => emitter.emit(value), __tsplusTrace)(tsplus_module_30.scoped(tsplus_module_1.defer(io, __tsplusTrace), __tsplusTrace))));
381
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.zipRight(emitter.end, __tsplusTrace)(tsplus_module_4.matchCauseIO(cause => emitter.failCause(cause), value => emitter.emit(value), __tsplusTrace)(tsplus_module_35.scoped(tsplus_module_4.defer(io, __tsplusTrace), __tsplusTrace))));
346
382
  }
347
383
  /**
348
384
  * @tsplus static fncts.io.PushOps succeed
349
385
  */
350
386
  export function succeed(value) {
351
- return fromIO_1(() => tsplus_module_1.succeed(value, fileName_1 + ":558:32"));
387
+ return fromIO_1(() => tsplus_module_4.succeed(value, fileName_1 + ":624:32"));
352
388
  }
353
389
  /**
354
390
  * @tsplus pipeable fncts.io.PushOps switchMap
355
391
  */
356
392
  export function switchMap(f) {
357
393
  return self => {
358
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(current => tsplus_module_1.flatMap(latch => {
359
- const innerEmitter = tsplus_module_2.makeEmitter(value => emitter.emit(value), cause => tsplus_module_1.zipRight(emitter.failCause(cause), fileName_1 + ":572:41")(tsplus_module_31.set(null, fileName_1 + ":572:33")(current)), latch.countDown);
360
- return tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":587:10")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":587:24")(latch.await)), fileName_1 + ":575:10")(self.run(tsplus_module_2.makeEmitter(value => tsplus_module_9.updateIO(fiber => tsplus_module_1.zipRight(tsplus_module_3.forkScoped(f(value).run(innerEmitter), fileName_1 + ":580:98"), fileName_1 + ":580:71")(fiber ? tsplus_module_8.interrupt(fiber) : latch.increment), fileName_1 + ":579:33")(current), cause => emitter.failCause(cause), latch.countDown)));
361
- }, fileName_1 + ":569:31")(tsplus_module_4.make(1)), fileName_1 + ":568:31")(tsplus_module_10.makeSynchronized(() => null, fileName_1 + ":568:53")));
394
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(current => tsplus_module_4.flatMap(latch => {
395
+ const innerEmitter = tsplus_module_10.makeEmitter(value => emitter.emit(value), cause => tsplus_module_4.zipRight(emitter.failCause(cause), fileName_1 + ":638:41")(tsplus_module_36.set(null, fileName_1 + ":638:33")(current)), latch.countDown);
396
+ return tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, fileName_1 + ":653:10")(tsplus_module_4.zipRight(emitter.end, fileName_1 + ":653:24")(latch.await)), fileName_1 + ":641:10")(self.run(tsplus_module_10.makeEmitter(value => tsplus_module_18.updateIO(fiber => tsplus_module_4.zipRight(tsplus_module_12.forkScoped(f(value).run(innerEmitter), fileName_1 + ":646:98"), fileName_1 + ":646:71")(fiber ? tsplus_module_17.interrupt(fiber) : latch.increment), fileName_1 + ":645:33")(current), cause => emitter.failCause(cause), latch.countDown)));
397
+ }, fileName_1 + ":635:31")(tsplus_module_13.make(1)), fileName_1 + ":634:31")(tsplus_module_19.makeSynchronized(() => null, fileName_1 + ":634:53")));
362
398
  };
363
399
  }
364
400
  /**
365
401
  * @tsplus pipeable fncts.io.Push transform
366
402
  */
367
403
  function transform_1(f) {
368
- return self => tsplus_module_2.makePush(emitter => f(self.run(emitter)));
404
+ return self => tsplus_module_10.makePush(emitter => f(self.run(emitter)));
369
405
  }
370
406
  function unfoldLoop(s, f, emitter) {
371
- return tsplus_module_14.match(() => emitter.end, ([a, s]) => tsplus_module_1.zipRight(unfoldLoop(s, f, emitter), fileName_1 + ":607:34")(emitter.emit(a)))(f(s));
407
+ return tsplus_module_21.match(() => emitter.end, ([a, s]) => tsplus_module_4.zipRight(unfoldLoop(s, f, emitter), fileName_1 + ":673:34")(emitter.emit(a)))(f(s));
372
408
  }
373
409
  /**
374
410
  * @tsplus static fncts.io.PushOps unfold
375
411
  */
376
412
  export function unfold(s, f) {
377
- return tsplus_module_2.makePush(emitter => unfoldLoop(s, f, emitter));
413
+ return tsplus_module_10.makePush(emitter => unfoldLoop(s, f, emitter));
378
414
  }
379
415
  function unfoldIOLoop(s, f, emitter) {
380
- return tsplus_module_1.catchAllCause(cause => emitter.failCause(cause), fileName_1 + ":630:19")(tsplus_module_1.flatMap(result => tsplus_module_14.match(() => emitter.end, ([a, s]) => tsplus_module_1.zipRight(unfoldIOLoop(s, f, emitter), fileName_1 + ":627:38")(emitter.emit(a)))(result), fileName_1 + ":624:13")(f(s)));
416
+ return tsplus_module_4.catchAllCause(cause => emitter.failCause(cause), fileName_1 + ":696:19")(tsplus_module_4.flatMap(result => tsplus_module_21.match(() => emitter.end, ([a, s]) => tsplus_module_4.zipRight(unfoldIOLoop(s, f, emitter), fileName_1 + ":693:38")(emitter.emit(a)))(result), fileName_1 + ":690:13")(f(s)));
381
417
  }
382
418
  /**
383
419
  * @tsplus static fncts.io.PushOps unfoldIO
384
420
  */
385
421
  function unfoldIO_1(s, f) {
386
- return tsplus_module_2.makePush(emitter => unfoldIOLoop(s, f, emitter));
422
+ return tsplus_module_10.makePush(emitter => unfoldIOLoop(s, f, emitter));
387
423
  }
388
424
  /**
389
425
  * @tsplus pipeable fncts.io.Push untilFuture
390
426
  */
391
427
  export function untilFuture(future) {
392
428
  return self => {
393
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(futureFiber => tsplus_module_1.flatMap(streamFiber => tsplus_module_1.map(() => void 0, fileName_1 + ":656:10")(tsplus_module_1.via(tsplus_module_32.joinAll([futureFiber, streamFiber], fileName_1 + ":656:24"), onEarlyExit(emitter.end))), fileName_1 + ":655:30")(tsplus_module_3.forkScoped(self.run(emitter), fileName_1 + ":655:48")), fileName_1 + ":647:30")(tsplus_module_3.forkScoped(tsplus_module_1.zipRight(earlyExit, fileName_1 + ":653:22")(tsplus_module_1.matchCauseIO(cause => emitter.failCause(cause), () => tsplus_module_1.unit, fileName_1 + ":649:26")(tsplus_module_17.wait(future, fileName_1 + ":648:17"))), fileName_1 + ":653:33")));
429
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(futureFiber => tsplus_module_4.flatMap(streamFiber => tsplus_module_4.map(() => void 0, fileName_1 + ":722:10")(tsplus_module_4.via(tsplus_module_37.joinAll([futureFiber, streamFiber], fileName_1 + ":722:24"), onEarlyExit(emitter.end))), fileName_1 + ":721:30")(tsplus_module_12.forkScoped(self.run(emitter), fileName_1 + ":721:48")), fileName_1 + ":713:30")(tsplus_module_12.forkScoped(tsplus_module_4.zipRight(earlyExit, fileName_1 + ":719:22")(tsplus_module_4.matchCauseIO(cause => emitter.failCause(cause), () => tsplus_module_4.unit, fileName_1 + ":715:26")(tsplus_module_1.wait(future, fileName_1 + ":714:17"))), fileName_1 + ":719:33")));
394
430
  };
395
431
  }
396
432
  /**
@@ -398,7 +434,7 @@ export function untilFuture(future) {
398
434
  */
399
435
  export function untilPush(signal) {
400
436
  return self => {
401
- return tsplus_module_2.makePush(emitter => tsplus_module_1.flatMap(signalFiber => tsplus_module_1.flatMap(streamFiber => tsplus_module_1.map(() => void 0, fileName_1 + ":679:10")(tsplus_module_1.via(tsplus_module_32.joinAll([signalFiber, streamFiber], fileName_1 + ":679:24"), onEarlyExit(emitter.end))), fileName_1 + ":678:30")(tsplus_module_3.forkScoped(self.run(emitter), fileName_1 + ":678:48")), fileName_1 + ":669:30")(tsplus_module_3.forkScoped(signal.run(tsplus_module_2.makeEmitter(() => earlyExit, cause => emitter.failCause(cause), earlyExit)), fileName_1 + ":676:12")));
437
+ return tsplus_module_10.makePush(emitter => tsplus_module_4.flatMap(signalFiber => tsplus_module_4.flatMap(streamFiber => tsplus_module_4.map(() => void 0, fileName_1 + ":745:10")(tsplus_module_4.via(tsplus_module_37.joinAll([signalFiber, streamFiber], fileName_1 + ":745:24"), onEarlyExit(emitter.end))), fileName_1 + ":744:30")(tsplus_module_12.forkScoped(self.run(emitter), fileName_1 + ":744:48")), fileName_1 + ":735:30")(tsplus_module_12.forkScoped(signal.run(tsplus_module_10.makeEmitter(() => earlyExit, cause => emitter.failCause(cause), earlyExit)), fileName_1 + ":742:12")));
402
438
  };
403
439
  }
404
440
  /**
@@ -416,5 +452,5 @@ export function unwrapScoped(self, __tsplusTrace) {
416
452
  /**
417
453
  * @tsplus static fncts.io.PushOps never
418
454
  */
419
- export const never = /*#__PURE__*/fromIO_1(() => tsplus_module_33.never);
455
+ export const never = /*#__PURE__*/fromIO_1(() => tsplus_module_38.never);
420
456
  //# sourceMappingURL=api.mjs.map