@fncts/io 0.0.49 → 0.0.50

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 (226) hide show
  1. package/IO/api/foreachExec.d.ts +18 -0
  2. package/Push/Bounds.d.ts +4 -0
  3. package/Push/FlattenStrategy.d.ts +47 -0
  4. package/Push/IndexedBuffer.d.ts +19 -0
  5. package/Push/MergeStrategy.d.ts +19 -0
  6. package/Push/Operator/IOLoopOperator.d.ts +61 -0
  7. package/Push/Operator/IOOperator.d.ts +63 -0
  8. package/Push/Operator/LoopOperator.d.ts +50 -0
  9. package/Push/Operator/SyncOperator.d.ts +41 -0
  10. package/Push/Operator.d.ts +4 -0
  11. package/Push/Producer/IOProducer.d.ts +41 -0
  12. package/Push/Producer/SyncProducer.d.ts +61 -0
  13. package/Push/Producer.d.ts +1 -0
  14. package/Push/Sink.d.ts +65 -0
  15. package/Push/api.d.ts +78 -161
  16. package/Push/definition.d.ts +92 -19
  17. package/Push/internal.d.ts +3 -0
  18. package/Push.d.ts +6 -0
  19. package/Ref/Synchronized/definition.d.ts +32 -9
  20. package/Ref/definition.d.ts +12 -0
  21. package/Scope/api.d.ts +16 -1
  22. package/Sink/definition.d.ts +5 -6
  23. package/Subject/Atomic.d.ts +19 -9
  24. package/Subject/DeferredRef.d.ts +17 -0
  25. package/Subject/Hold.d.ts +19 -0
  26. package/Subject/RefSubject/Atomic.d.ts +41 -0
  27. package/Subject/RefSubject/Derived.d.ts +43 -0
  28. package/Subject/RefSubject/RefSubject.d.ts +27 -0
  29. package/Subject/definition.d.ts +14 -2
  30. package/Subject.d.ts +2 -0
  31. package/SubscriptionRef.d.ts +0 -1
  32. package/_cjs/IO/api/foreachExec.cjs +29 -4
  33. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  34. package/_cjs/Push/Bounds.cjs +2 -0
  35. package/_cjs/Push/Bounds.cjs.map +1 -0
  36. package/_cjs/Push/FlattenStrategy.cjs +95 -0
  37. package/_cjs/Push/FlattenStrategy.cjs.map +1 -0
  38. package/_cjs/Push/IndexedBuffer.cjs +70 -0
  39. package/_cjs/Push/IndexedBuffer.cjs.map +1 -0
  40. package/_cjs/Push/MergeStrategy.cjs +45 -0
  41. package/_cjs/Push/MergeStrategy.cjs.map +1 -0
  42. package/_cjs/Push/Operator/IOLoopOperator.cjs +225 -0
  43. package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -0
  44. package/_cjs/Push/Operator/IOOperator.cjs +104 -0
  45. package/_cjs/Push/Operator/IOOperator.cjs.map +1 -0
  46. package/_cjs/Push/Operator/LoopOperator.cjs +165 -0
  47. package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -0
  48. package/_cjs/Push/Operator/SyncOperator.cjs +78 -0
  49. package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -0
  50. package/_cjs/Push/Operator.cjs +2 -0
  51. package/_cjs/Push/Operator.cjs.map +1 -0
  52. package/_cjs/Push/Producer/IOProducer.cjs +67 -0
  53. package/_cjs/Push/Producer/IOProducer.cjs.map +1 -0
  54. package/_cjs/Push/Producer/SyncProducer.cjs +107 -0
  55. package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -0
  56. package/_cjs/Push/Producer.cjs +2 -0
  57. package/_cjs/Push/Producer.cjs.map +1 -0
  58. package/_cjs/Push/Sink.cjs +219 -0
  59. package/_cjs/Push/Sink.cjs.map +1 -0
  60. package/_cjs/Push/api.cjs +339 -383
  61. package/_cjs/Push/api.cjs.map +1 -1
  62. package/_cjs/Push/definition.cjs +79 -22
  63. package/_cjs/Push/definition.cjs.map +1 -1
  64. package/_cjs/Push/internal.cjs +31 -26
  65. package/_cjs/Push/internal.cjs.map +1 -1
  66. package/_cjs/Push.cjs +66 -0
  67. package/_cjs/Push.cjs.map +1 -1
  68. package/_cjs/Ref/Synchronized/definition.cjs +12 -12
  69. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  70. package/_cjs/Ref/definition.cjs.map +1 -1
  71. package/_cjs/Scope/api.cjs +28 -7
  72. package/_cjs/Scope/api.cjs.map +1 -1
  73. package/_cjs/Sink/definition.cjs +2 -3
  74. package/_cjs/Sink/definition.cjs.map +1 -1
  75. package/_cjs/Stream/definition.cjs.map +1 -1
  76. package/_cjs/Subject/Atomic.cjs +45 -10
  77. package/_cjs/Subject/Atomic.cjs.map +1 -1
  78. package/_cjs/Subject/DeferredRef.cjs +53 -0
  79. package/_cjs/Subject/DeferredRef.cjs.map +1 -0
  80. package/_cjs/Subject/Hold.cjs +41 -0
  81. package/_cjs/Subject/Hold.cjs.map +1 -0
  82. package/_cjs/Subject/RefSubject/Atomic.cjs +130 -0
  83. package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -0
  84. package/_cjs/Subject/RefSubject/Derived.cjs +98 -0
  85. package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -0
  86. package/_cjs/Subject/RefSubject/RefSubject.cjs +19 -0
  87. package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -0
  88. package/_cjs/Subject/definition.cjs +16 -1
  89. package/_cjs/Subject/definition.cjs.map +1 -1
  90. package/_cjs/Subject.cjs +22 -0
  91. package/_cjs/Subject.cjs.map +1 -1
  92. package/_cjs/SubscriptionRef.cjs +0 -1
  93. package/_cjs/SubscriptionRef.cjs.map +1 -1
  94. package/_mjs/IO/api/foreachExec.mjs +27 -4
  95. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  96. package/_mjs/Push/Bounds.mjs +2 -0
  97. package/_mjs/Push/Bounds.mjs.map +1 -0
  98. package/_mjs/Push/FlattenStrategy.mjs +86 -0
  99. package/_mjs/Push/FlattenStrategy.mjs.map +1 -0
  100. package/_mjs/Push/IndexedBuffer.mjs +61 -0
  101. package/_mjs/Push/IndexedBuffer.mjs.map +1 -0
  102. package/_mjs/Push/MergeStrategy.mjs +34 -0
  103. package/_mjs/Push/MergeStrategy.mjs.map +1 -0
  104. package/_mjs/Push/Operator/IOLoopOperator.mjs +208 -0
  105. package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -0
  106. package/_mjs/Push/Operator/IOOperator.mjs +91 -0
  107. package/_mjs/Push/Operator/IOOperator.mjs.map +1 -0
  108. package/_mjs/Push/Operator/LoopOperator.mjs +151 -0
  109. package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -0
  110. package/_mjs/Push/Operator/SyncOperator.mjs +67 -0
  111. package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -0
  112. package/_mjs/Push/Operator.mjs +2 -0
  113. package/_mjs/Push/Operator.mjs.map +1 -0
  114. package/_mjs/Push/Producer/IOProducer.mjs +55 -0
  115. package/_mjs/Push/Producer/IOProducer.mjs.map +1 -0
  116. package/_mjs/Push/Producer/SyncProducer.mjs +90 -0
  117. package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -0
  118. package/_mjs/Push/Producer.mjs +2 -0
  119. package/_mjs/Push/Producer.mjs.map +1 -0
  120. package/_mjs/Push/Sink.mjs +206 -0
  121. package/_mjs/Push/Sink.mjs.map +1 -0
  122. package/_mjs/Push/api.mjs +311 -344
  123. package/_mjs/Push/api.mjs.map +1 -1
  124. package/_mjs/Push/definition.mjs +73 -18
  125. package/_mjs/Push/definition.mjs.map +1 -1
  126. package/_mjs/Push/internal.mjs +30 -26
  127. package/_mjs/Push/internal.mjs.map +1 -1
  128. package/_mjs/Push.mjs +7 -1
  129. package/_mjs/Push.mjs.map +1 -1
  130. package/_mjs/Ref/Synchronized/definition.mjs +12 -12
  131. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  132. package/_mjs/Ref/definition.mjs.map +1 -1
  133. package/_mjs/Scope/api.mjs +22 -4
  134. package/_mjs/Scope/api.mjs.map +1 -1
  135. package/_mjs/Sink/definition.mjs +2 -3
  136. package/_mjs/Sink/definition.mjs.map +1 -1
  137. package/_mjs/Stream/definition.mjs.map +1 -1
  138. package/_mjs/Subject/Atomic.mjs +46 -10
  139. package/_mjs/Subject/Atomic.mjs.map +1 -1
  140. package/_mjs/Subject/DeferredRef.mjs +45 -0
  141. package/_mjs/Subject/DeferredRef.mjs.map +1 -0
  142. package/_mjs/Subject/Hold.mjs +33 -0
  143. package/_mjs/Subject/Hold.mjs.map +1 -0
  144. package/_mjs/Subject/RefSubject/Atomic.mjs +122 -0
  145. package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -0
  146. package/_mjs/Subject/RefSubject/Derived.mjs +90 -0
  147. package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -0
  148. package/_mjs/Subject/RefSubject/RefSubject.mjs +12 -0
  149. package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -0
  150. package/_mjs/Subject/definition.mjs +14 -0
  151. package/_mjs/Subject/definition.mjs.map +1 -1
  152. package/_mjs/Subject.mjs +2 -0
  153. package/_mjs/Subject.mjs.map +1 -1
  154. package/_mjs/SubscriptionRef.mjs +0 -1
  155. package/_mjs/SubscriptionRef.mjs.map +1 -1
  156. package/_src/IO/api/foreachExec.ts +47 -0
  157. package/_src/Push/Bounds.ts +4 -0
  158. package/_src/Push/FlattenStrategy.ts +137 -0
  159. package/_src/Push/IndexedBuffer.ts +79 -0
  160. package/_src/Push/MergeStrategy.ts +59 -0
  161. package/_src/Push/Operator/IOLoopOperator.ts +413 -0
  162. package/_src/Push/Operator/IOOperator.ts +173 -0
  163. package/_src/Push/Operator/LoopOperator.ts +242 -0
  164. package/_src/Push/Operator/SyncOperator.ts +107 -0
  165. package/_src/Push/Operator.ts +7 -0
  166. package/_src/Push/Producer/IOProducer.ts +83 -0
  167. package/_src/Push/Producer/SyncProducer.ts +105 -0
  168. package/_src/Push/Producer.ts +0 -0
  169. package/_src/Push/Sink.ts +302 -0
  170. package/_src/Push/api.ts +387 -513
  171. package/_src/Push/definition.ts +216 -23
  172. package/_src/Push/internal.ts +11 -0
  173. package/_src/Push.ts +7 -1
  174. package/_src/Ref/Synchronized/definition.ts +81 -37
  175. package/_src/Ref/definition.ts +26 -0
  176. package/_src/Scope/api.ts +22 -0
  177. package/_src/Sink/definition.ts +4 -5
  178. package/_src/Stream/definition.ts +0 -1
  179. package/_src/Subject/Atomic.ts +68 -11
  180. package/_src/Subject/DeferredRef.ts +44 -0
  181. package/_src/Subject/Hold.ts +48 -0
  182. package/_src/Subject/RefSubject/Atomic.ts +193 -0
  183. package/_src/Subject/RefSubject/Derived.ts +179 -0
  184. package/_src/Subject/RefSubject/RefSubject.ts +90 -0
  185. package/_src/Subject/definition.ts +21 -3
  186. package/_src/Subject.ts +5 -3
  187. package/_src/SubscriptionRef.ts +1 -1
  188. package/_src/index.ts +49 -50
  189. package/index.d.ts +0 -1
  190. package/package.json +4 -4
  191. package/RefSubject/Atomic.d.ts +0 -34
  192. package/RefSubject/Synchronized/api.d.ts +0 -9
  193. package/RefSubject/Synchronized/definition.d.ts +0 -39
  194. package/RefSubject/api.d.ts +0 -120
  195. package/RefSubject/definition.d.ts +0 -52
  196. package/RefSubject.d.ts +0 -3
  197. package/_cjs/RefSubject/Atomic.cjs +0 -107
  198. package/_cjs/RefSubject/Atomic.cjs.map +0 -1
  199. package/_cjs/RefSubject/Synchronized/api.cjs +0 -22
  200. package/_cjs/RefSubject/Synchronized/api.cjs.map +0 -1
  201. package/_cjs/RefSubject/Synchronized/definition.cjs +0 -55
  202. package/_cjs/RefSubject/Synchronized/definition.cjs.map +0 -1
  203. package/_cjs/RefSubject/api.cjs +0 -251
  204. package/_cjs/RefSubject/api.cjs.map +0 -1
  205. package/_cjs/RefSubject/definition.cjs +0 -26
  206. package/_cjs/RefSubject/definition.cjs.map +0 -1
  207. package/_cjs/RefSubject.cjs +0 -39
  208. package/_cjs/RefSubject.cjs.map +0 -1
  209. package/_mjs/RefSubject/Atomic.mjs +0 -99
  210. package/_mjs/RefSubject/Atomic.mjs.map +0 -1
  211. package/_mjs/RefSubject/Synchronized/api.mjs +0 -15
  212. package/_mjs/RefSubject/Synchronized/api.mjs.map +0 -1
  213. package/_mjs/RefSubject/Synchronized/definition.mjs +0 -47
  214. package/_mjs/RefSubject/Synchronized/definition.mjs.map +0 -1
  215. package/_mjs/RefSubject/api.mjs +0 -229
  216. package/_mjs/RefSubject/api.mjs.map +0 -1
  217. package/_mjs/RefSubject/definition.mjs +0 -19
  218. package/_mjs/RefSubject/definition.mjs.map +0 -1
  219. package/_mjs/RefSubject.mjs +0 -5
  220. package/_mjs/RefSubject.mjs.map +0 -1
  221. package/_src/RefSubject/Atomic.ts +0 -129
  222. package/_src/RefSubject/Synchronized/api.ts +0 -14
  223. package/_src/RefSubject/Synchronized/definition.ts +0 -76
  224. package/_src/RefSubject/api.ts +0 -253
  225. package/_src/RefSubject/definition.ts +0 -70
  226. package/_src/RefSubject.ts +0 -5
@@ -0,0 +1,55 @@
1
+ const fileName_1 = "(@fncts/io) src/Push/Producer/IOProducer.ts";
2
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
3
+ import * as tsplus_module_2 from "@fncts/io/IO/api/schedule";
4
+ import * as tsplus_module_3 from "@fncts/io/Schedule/api";
5
+ import * as tsplus_module_4 from "@fncts/io/IO/api/asyncIO";
6
+ export class FromIO {
7
+ constructor(source) {
8
+ this.source = source;
9
+ this._tag = 0 /* IOProducerTag.FromIO */;
10
+ }
11
+ }
12
+ export class FromScheduled {
13
+ constructor(input, schedule) {
14
+ this.input = input;
15
+ this.schedule = schedule;
16
+ this._tag = 1 /* IOProducerTag.FromScheduled */;
17
+ }
18
+ }
19
+ export class Scheduled {
20
+ constructor(input, schedule) {
21
+ this.input = input;
22
+ this.schedule = schedule;
23
+ this._tag = 2 /* IOProducerTag.Scheduled */;
24
+ }
25
+ }
26
+ /**
27
+ * @tsplus fluent fncts.io.Push.IOProducer runSink
28
+ */
29
+ export function runSink(self, sink) {
30
+ switch (self._tag) {
31
+ case 0 /* IOProducerTag.FromIO */:
32
+ return tsplus_module_1.matchCauseIO(sink.onFailure, sink.onSuccess, fileName_1 + ":45:38")(self.source);
33
+ case 2 /* IOProducerTag.Scheduled */:
34
+ return tsplus_module_1.catchAllCause(sink.onFailure, fileName_1 + ":50:23")(tsplus_module_2.schedule(() => self.schedule, fileName_1 + ":49:18")(tsplus_module_1.matchCauseIO(sink.onFailure, sink.onSuccess, fileName_1 + ":48:22")(self.input)));
35
+ case 1 /* IOProducerTag.FromScheduled */:
36
+ return tsplus_module_1.catchAllCause(sink.onFailure, fileName_1 + ":54:23")(tsplus_module_1.flatMap(i => tsplus_module_2.scheduleFrom(() => i, () => tsplus_module_3.mapIO(sink.onSuccess, fileName_1 + ":53:77")(self.schedule), fileName_1 + ":53:48")(self.input), fileName_1 + ":53:17")(self.input));
37
+ }
38
+ }
39
+ /**
40
+ * @tsplus fluent fncts.io.Push.IOProducer runIO
41
+ */
42
+ export function runIO(self, f) {
43
+ switch (self._tag) {
44
+ case 0 /* IOProducerTag.FromIO */:
45
+ return tsplus_module_1.flatMap(f, fileName_1 + ":67:33")(self.source);
46
+ case 1 /* IOProducerTag.FromScheduled */:
47
+ return tsplus_module_1.flatMap(i => tsplus_module_4.asyncIO(resume => {
48
+ const onFailure = cause => tsplus_module_1.succeedNow(resume(tsplus_module_1.failCauseNow(cause, fileName_1 + ":71:91")), fileName_1 + ":71:68");
49
+ return tsplus_module_1.asUnit(tsplus_module_1.matchCauseIO(onFailure, () => tsplus_module_1.succeedNow(resume(tsplus_module_1.unit), fileName_1 + ":77:57"), fileName_1 + ":77:26")(tsplus_module_2.scheduleFrom(() => i, () => tsplus_module_3.mapIO(a => tsplus_module_1.catchAllCause(onFailure, fileName_1 + ":75:60")(f(a)), fileName_1 + ":75:34")(self.schedule), fileName_1 + ":73:26")(self.input)), fileName_1 + ":77:75");
50
+ }, fileName_1 + ":70:19"), fileName_1 + ":69:32")(self.input);
51
+ case 2 /* IOProducerTag.Scheduled */:
52
+ return tsplus_module_2.schedule(() => self.schedule, fileName_1 + ":81:44")(tsplus_module_1.flatMap(f, fileName_1 + ":81:32")(self.input));
53
+ }
54
+ }
55
+ //# sourceMappingURL=IOProducer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOProducer.mjs","names":["FromIO","constructor","source","_tag","FromScheduled","input","schedule","Scheduled","runSink","self","sink","tsplus_module_1","matchCauseIO","onFailure","onSuccess","fileName_1","catchAllCause","tsplus_module_2","flatMap","i","scheduleFrom","tsplus_module_3","mapIO","runIO","f","tsplus_module_4","asyncIO","resume","cause","succeedNow","failCauseNow","asUnit","unit","a"],"sources":["../../../_src/Push/Producer/IOProducer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ const fileName_1 = "(@fncts/io) src/Push/Producer/SyncProducer.ts";
2
+ import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
3
+ import * as tsplus_module_2 from "@fncts/base/data/Maybe/definition";
4
+ import * as tsplus_module_3 from "@fncts/io/IO/api";
5
+ import * as tsplus_module_4 from "@fncts/io/IO/api/array";
6
+ export class Success {
7
+ constructor(source) {
8
+ this.source = source;
9
+ this._tag = 0 /* SyncProducerTag.Success */;
10
+ }
11
+ }
12
+ export class FromSync {
13
+ constructor(f) {
14
+ this.f = f;
15
+ this._tag = 1 /* SyncProducerTag.FromSync */;
16
+ }
17
+ }
18
+ export class FromArray {
19
+ constructor(array) {
20
+ this.array = array;
21
+ this._tag = 2 /* SyncProducerTag.FromArray */;
22
+ }
23
+ }
24
+ export class FromIterable {
25
+ constructor(iterable) {
26
+ this.iterable = iterable;
27
+ this._tag = 3 /* SyncProducerTag.FromIterable */;
28
+ }
29
+ }
30
+ /**
31
+ * @tsplus static fncts.io.Push.SyncProducerOps Success
32
+ */
33
+ export function success(source) {
34
+ return new Success(source);
35
+ }
36
+ /**
37
+ * @tsplus static fncts.io.Push.SyncProducerOps fromSync
38
+ */
39
+ export function fromSync(f) {
40
+ return new FromSync(f);
41
+ }
42
+ /**
43
+ * @tsplus static fncts.io.Push.SyncProducerOps fromArray
44
+ */
45
+ export function fromArray(array) {
46
+ return new FromArray(array);
47
+ }
48
+ /**
49
+ * @tsplus static fncts.io.Push.SyncProducerOps fromIterable
50
+ */
51
+ export function fromIterable(iterable) {
52
+ return new FromIterable(iterable);
53
+ }
54
+ export function syncOnce(f) {
55
+ let memoized = tsplus_module_1.nothing(fileName_1 + ":65:35");
56
+ const get = () => {
57
+ if (tsplus_module_2.isJust(memoized)) {
58
+ return memoized.value;
59
+ } else {
60
+ const a = f();
61
+ memoized = tsplus_module_1.just(a, fileName_1 + ":71:22");
62
+ return a;
63
+ }
64
+ };
65
+ return tsplus_module_3.succeed(get, fileName_1 + ":76:12");
66
+ }
67
+ /**
68
+ * @tsplus fluent fncts.io.Push.SyncProducer runSink
69
+ */
70
+ export function runSink(self, sink) {
71
+ switch (self._tag) {
72
+ case 0 /* SyncProducerTag.Success */:
73
+ return sink.onSuccess(self.source);
74
+ case 1 /* SyncProducerTag.FromSync */:
75
+ return tsplus_module_3.defer(() => sink.onSuccess(self.f()), fileName_1 + ":87:22");
76
+ case 2 /* SyncProducerTag.FromArray */:
77
+ return arrayToSink(self.array, sink);
78
+ case 3 /* SyncProducerTag.FromIterable */:
79
+ return iterableToSink(self.iterable, sink);
80
+ }
81
+ }
82
+ function arrayToSink(array, sink) {
83
+ if (array.length === 0) return tsplus_module_3.unit;else if (array.length === 1) return sink.onSuccess(array[0]);else {
84
+ return tsplus_module_4.foreachArray(array, a => sink.onSuccess(a));
85
+ }
86
+ }
87
+ function iterableToSink(iterable, sink) {
88
+ return tsplus_module_3.foreach(iterable, a => sink.onSuccess(a), fileName_1 + ":104:20");
89
+ }
90
+ //# sourceMappingURL=SyncProducer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncProducer.mjs","names":["Success","constructor","source","_tag","FromSync","f","FromArray","array","FromIterable","iterable","success","fromSync","fromArray","fromIterable","syncOnce","memoized","tsplus_module_1","nothing","fileName_1","get","tsplus_module_2","isJust","value","a","just","tsplus_module_3","succeed","runSink","self","sink","onSuccess","defer","arrayToSink","iterableToSink","length","unit","tsplus_module_4","foreachArray","foreach"],"sources":["../../../_src/Push/Producer/SyncProducer.ts"],"sourcesContent":[null],"mappings":";;;;;AAeA,OAAM,MAAOA,OAAO;EAElBC,YAAqBC,MAAS;IAAT,KAAAA,MAAM,GAANA,MAAM;IADlB,KAAAC,IAAI;EACoB;;AAGnC,OAAM,MAAOC,QAAQ;EAEnBH,YAAqBI,CAAU;IAAV,KAAAA,CAAC,GAADA,CAAC;IADb,KAAAF,IAAI;EACqB;;AAGpC,OAAM,MAAOG,SAAS;EAEpBL,YAAqBM,KAAuB;IAAvB,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAJ,IAAI;EACkC;;AAGjD,OAAM,MAAOK,YAAY;EAEvBP,YAAqBQ,QAAqB;IAArB,KAAAA,QAAQ,GAARA,QAAQ;IADpB,KAAAN,IAAI;EACgC;;AAG/C;;;AAGA,OAAM,SAAUO,OAAOA,CAAIR,MAAS;EAClC,OAAO,IAAIF,OAAO,CAACE,MAAM,CAAC;AAC5B;AAEA;;;AAGA,OAAM,SAAUS,QAAQA,CAAIN,CAAU;EACpC,OAAO,IAAID,QAAQ,CAACC,CAAC,CAAC;AACxB;AAEA;;;AAGA,OAAM,SAAUO,SAASA,CAA+BL,KAAQ;EAC9D,OAAO,IAAID,SAAS,CAACC,KAAK,CAAC;AAC7B;AAEA;;;AAGA,OAAM,SAAUM,YAAYA,CAAIJ,QAAqB;EACnD,OAAO,IAAID,YAAY,CAACC,QAAQ,CAAC;AACnC;AAEA,OAAM,SAAUK,QAAQA,CAAIT,CAAU;EACpC,IAAIU,QAAQ,GAAaC,eAAA,CAAAC,OAAA,CAAAC,UAAA,YAAS;EAClC,MAAMC,GAAG,GAAgBA,CAAA,KAAK;IAC5B,IAAIC,eAAA,CAAAC,MAAA,CAAAN,QAAQ,CAAS,EAAE;MACrB,OAAOA,QAAQ,CAACO,KAAK;IACvB,CAAC,MAAM;MACL,MAAMC,CAAC,GAAIlB,CAAC,EAAE;MACdU,QAAQ,GAAGC,eAAA,CAAAQ,IAAA,CAAKD,CAAC,EAAAL,UAAA,YAAC;MAClB,OAAOK,CAAC;IACV;EACF,CAAC;EAED,OAAOE,eAAA,CAAAC,OAAA,CAAGP,GAAG,EAAAD,UAAA,YAAC;AAChB;AAEA;;;AAGA,OAAM,SAAUS,OAAOA,CAAUC,IAAqB,EAAEC,IAA8B;EACpF,QAAQD,IAAI,CAACzB,IAAI;IACf;MACE,OAAO0B,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC1B,MAAM,CAAC;IACpC;MACE,OAAOuB,eAAA,CAAAM,KAAA,CAAS,MAAMF,IAAI,CAACC,SAAS,CAACF,IAAI,CAACvB,CAAC,EAAE,CAAC,EAAAa,UAAA,YAAC;IACjD;MACE,OAAOc,WAAW,CAACJ,IAAI,CAACrB,KAAK,EAAEsB,IAAI,CAAC;IACtC;MACE,OAAOI,cAAc,CAACL,IAAI,CAACnB,QAAQ,EAAEoB,IAAI,CAAC;EAC9C;AACF;AAEA,SAASG,WAAWA,CAAOzB,KAAuB,EAAEsB,IAAkC;EACpF,IAAItB,KAAK,CAAC2B,MAAM,KAAK,CAAC,EAAE,OAAAT,eAAA,CAAAU,IAAA,CAAe,KAClC,IAAI5B,KAAK,CAAC2B,MAAM,KAAK,CAAC,EAAE,OAAOL,IAAI,CAACC,SAAS,CAACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KACxD;IACH,OAAO6B,eAAA,CAAAC,YAAA,CAAA9B,KAAK,EAAQgB,CAAC,IAAKM,IAAI,CAACC,SAAS,CAACP,CAAC,CAAC,CAAC;EAC9C;AACF;AAEA,SAASU,cAAcA,CAAOxB,QAAqB,EAAEoB,IAAkC;EACrF,OAAOJ,eAAA,CAAAa,OAAA,CAAW7B,QAAQ,EAAGc,CAAC,IAAKM,IAAI,CAACC,SAAS,CAACP,CAAC,CAAC,EAAAL,UAAA,aAAC;AACvD","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=Producer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Producer.mjs","names":[],"sources":["../../_src/Push/Producer.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1,206 @@
1
+ const fileName_1 = "(@fncts/io) src/Push/Sink.ts";
2
+ import * as tsplus_module_1 from "@fncts/base/data/Newtype";
3
+ import * as tsplus_module_2 from "@fncts/io/IO/api";
4
+ import * as tsplus_module_3 from "@fncts/io/IO/api/asyncIO";
5
+ import * as tsplus_module_4 from "@fncts/io/IO/api/environment";
6
+ import * as tsplus_module_5 from "@fncts/base/data/Maybe/destructors";
7
+ export const unsafeMakeSink = unsafeMakeSink_1;
8
+ import { IO } from "@fncts/io/IO";
9
+ export const Sink = /*#__PURE__*/tsplus_module_1.newtype();
10
+ /**
11
+ * @tsplus type fncts.io.Push.Sink
12
+ * @tsplus companion fncts.io.Push.SinkOps
13
+ */
14
+ export class UnsafeSink {}
15
+ /**
16
+ * @tsplus static fncts.io.Push.SinkOps unsafeMake
17
+ */
18
+ function unsafeMakeSink_1(onSuccess, onFailure) {
19
+ return new class extends UnsafeSink {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.onSuccess = onSuccess;
23
+ this.onFailure = onFailure;
24
+ }
25
+ }();
26
+ }
27
+ /**
28
+ * @tsplus static fncts.io.Push.SinkOps __call
29
+ */
30
+ export function makeSink(onSuccess, onFailure) {
31
+ return Sink.get(tsplus_module_2.succeed(() => unsafeMakeSink_1(onSuccess, onFailure), fileName_1 + ":56:21"));
32
+ }
33
+ export class WithEarlyExit extends UnsafeSink {
34
+ constructor(onSuccess, onFailure, earlyExit) {
35
+ super();
36
+ this.onSuccess = onSuccess;
37
+ this.onFailure = onFailure;
38
+ this.earlyExit = earlyExit;
39
+ }
40
+ }
41
+ /**
42
+ * @tsplus static fncts.io.Push.SinkOps withEarlyExit
43
+ */
44
+ export function withEarlyExit(sink, f) {
45
+ return tsplus_module_3.asyncIO(resume => {
46
+ const earlyExit = new WithEarlyExit(value => sink.onSuccess(value), cause => sink.onFailure(cause), tsplus_module_2.succeed(() => resume(tsplus_module_2.unit), fileName_1 + ":80:9"));
47
+ return tsplus_module_2.matchCauseIO(cause => sink.onFailure(cause), () => earlyExit.earlyExit, fileName_1 + ":83:37")(f(earlyExit));
48
+ }, fileName_1 + ":76:20");
49
+ }
50
+ class ProvideSomeEnvironmentSink extends UnsafeSink {
51
+ constructor(sink, environment) {
52
+ super();
53
+ this.sink = sink;
54
+ this.environment = environment;
55
+ this.onFailure = this.onFailure.bind(this);
56
+ this.onSuccess = this.onSuccess.bind(this);
57
+ }
58
+ onFailure(cause) {
59
+ return tsplus_module_4.provideSomeEnvironment(this.environment, fileName_1 + ":101:61")(this.sink.onFailure(cause));
60
+ }
61
+ onSuccess(value) {
62
+ return tsplus_module_4.provideSomeEnvironment(this.environment, fileName_1 + ":105:61")(this.sink.onSuccess(value));
63
+ }
64
+ }
65
+ /**
66
+ * @tsplus pipeable fncts.io.Push.Sink provideSomeEnvironment
67
+ */
68
+ export function provideSomeEnvironment(environment) {
69
+ return self => {
70
+ return Sink.get(tsplus_module_2.map(sink => new ProvideSomeEnvironmentSink(sink, environment), fileName_1 + ":114:46")(Sink.reverseGet(self)));
71
+ };
72
+ }
73
+ class MapSink extends UnsafeSink {
74
+ constructor(sink, f) {
75
+ super();
76
+ this.sink = sink;
77
+ this.f = f;
78
+ this.onFailure = this.onFailure.bind(this);
79
+ this.onSuccess = this.onSuccess.bind(this);
80
+ }
81
+ onFailure(cause) {
82
+ return this.sink.onFailure(cause);
83
+ }
84
+ onSuccess(value) {
85
+ return this.sink.onSuccess(this.f(value));
86
+ }
87
+ }
88
+ class FilterSink extends UnsafeSink {
89
+ constructor(sink, predicate) {
90
+ super();
91
+ this.sink = sink;
92
+ this.predicate = predicate;
93
+ this.onFailure = this.onFailure.bind(this);
94
+ this.onSuccess = this.onSuccess.bind(this);
95
+ }
96
+ onFailure(cause) {
97
+ return this.sink.onFailure(cause);
98
+ }
99
+ onSuccess(value) {
100
+ if (this.predicate(value)) {
101
+ return this.sink.onSuccess(value);
102
+ } else {
103
+ return tsplus_module_2.unit;
104
+ }
105
+ }
106
+ }
107
+ class FilterMapSink extends UnsafeSink {
108
+ constructor(sink, f) {
109
+ super();
110
+ this.sink = sink;
111
+ this.f = f;
112
+ this.onFailure = this.onFailure.bind(this);
113
+ this.onSuccess = this.onSuccess.bind(this);
114
+ }
115
+ onFailure(cause) {
116
+ return this.sink.onFailure(cause);
117
+ }
118
+ onSuccess(value) {
119
+ return tsplus_module_5.match(() => tsplus_module_2.unit, b => this.sink.onSuccess(b))(this.f(value));
120
+ }
121
+ }
122
+ class MapIOSink extends UnsafeSink {
123
+ constructor(sink, f) {
124
+ super();
125
+ this.sink = sink;
126
+ this.f = f;
127
+ this.onFailure = this.onFailure.bind(this);
128
+ this.onSuccess = this.onSuccess.bind(this);
129
+ }
130
+ onFailure(cause) {
131
+ return this.sink.onFailure(cause);
132
+ }
133
+ onSuccess(value) {
134
+ return tsplus_module_2.matchCauseIO(cause => this.sink.onFailure(cause), a => this.sink.onSuccess(a), fileName_1 + ":197:38")(this.f(value));
135
+ }
136
+ }
137
+ class FilterMapIOSink extends UnsafeSink {
138
+ constructor(sink, f) {
139
+ super();
140
+ this.sink = sink;
141
+ this.f = f;
142
+ this.onFailure = this.onFailure.bind(this);
143
+ this.onSuccess = this.onSuccess.bind(this);
144
+ }
145
+ onFailure(cause) {
146
+ return this.sink.onFailure(cause);
147
+ }
148
+ onSuccess(value) {
149
+ return tsplus_module_2.matchCauseIO(cause => this.sink.onFailure(cause), ma => tsplus_module_5.match(() => tsplus_module_2.unit, a => this.sink.onSuccess(a))(ma), fileName_1 + ":219:38")(this.f(value));
150
+ }
151
+ }
152
+ class FilterIOSink extends UnsafeSink {
153
+ constructor(sink, f) {
154
+ super();
155
+ this.sink = sink;
156
+ this.f = f;
157
+ this.onFailure = this.onFailure.bind(this);
158
+ this.onSuccess = this.onSuccess.bind(this);
159
+ }
160
+ onFailure(cause) {
161
+ return this.sink.onFailure(cause);
162
+ }
163
+ onSuccess(value) {
164
+ return tsplus_module_2.matchCauseIO(cause => this.sink.onFailure(cause), b => {
165
+ if (b) {
166
+ return this.sink.onSuccess(value);
167
+ } else {
168
+ return tsplus_module_2.unit;
169
+ }
170
+ }, fileName_1 + ":245:38")(this.f(value));
171
+ }
172
+ }
173
+ class TapIOSink extends UnsafeSink {
174
+ constructor(sink, f) {
175
+ super();
176
+ this.sink = sink;
177
+ this.f = f;
178
+ this.onFailure = this.onFailure.bind(this);
179
+ this.onSuccess = this.onSuccess.bind(this);
180
+ }
181
+ onFailure(cause) {
182
+ return this.sink.onFailure(cause);
183
+ }
184
+ onSuccess(value) {
185
+ return tsplus_module_2.matchCauseIO(cause => this.sink.onFailure(cause), () => this.sink.onSuccess(value), fileName_1 + ":273:38")(this.f(value));
186
+ }
187
+ }
188
+ class LoopSink extends UnsafeSink {
189
+ constructor(sink, seed, f) {
190
+ super();
191
+ this.sink = sink;
192
+ this.seed = seed;
193
+ this.f = f;
194
+ this.onFailure = this.onFailure.bind(this);
195
+ this.onSuccess = this.onSuccess.bind(this);
196
+ }
197
+ onFailure(cause) {
198
+ return this.sink.onFailure(cause);
199
+ }
200
+ onSuccess(value) {
201
+ const [c, acc] = this.f(this.seed, value);
202
+ this.seed = acc;
203
+ return this.sink.onSuccess(c);
204
+ }
205
+ }
206
+ //# sourceMappingURL=Sink.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sink.mjs","names":["unsafeMakeSink","unsafeMakeSink_1","IO","Sink","tsplus_module_1","newtype","UnsafeSink","onSuccess","onFailure","constructor","makeSink","get","tsplus_module_2","succeed","fileName_1","WithEarlyExit","earlyExit","withEarlyExit","sink","f","tsplus_module_3","asyncIO","resume","value","cause","unit","matchCauseIO","ProvideSomeEnvironmentSink","environment","bind","tsplus_module_4","provideSomeEnvironment","self","map","reverseGet","MapSink","FilterSink","predicate","FilterMapSink","tsplus_module_5","match","b","MapIOSink","a","FilterMapIOSink","ma","FilterIOSink","TapIOSink","LoopSink","seed","c","acc"],"sources":["../../_src/Push/Sink.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}