@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
@@ -3,14 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.extend = exports.concurrent = exports.addFinalizer = void 0;
6
+ exports.addFinalizer = void 0;
7
+ exports.awaitClose = awaitClose;
8
+ exports.extend = exports.concurrent = void 0;
7
9
  exports.fork = fork;
8
- exports.make = exports.global = void 0;
9
- exports.makeAddFinalizer = makeAddFinalizer;
10
+ exports.makeAddFinalizer = exports.make = exports.global = void 0;
11
+ exports.makeAddFinalizerExit = makeAddFinalizerExit;
10
12
  exports.makeWith = void 0;
11
13
  exports.unsafeMake = unsafeMake;
12
14
  exports.unsafeMakeWith = void 0;
13
15
  exports.use = use;
16
+ exports.wait = void 0;
14
17
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/Finalizer"));
15
18
  var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/definition"));
16
19
  var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
@@ -21,10 +24,12 @@ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require(
21
24
  var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/ReleaseMap/api/releaseAll"));
22
25
  var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
23
26
  var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/ReleaseMap/constructors"));
27
+ var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/asyncIO"));
24
28
  var _definition2 = /*#__PURE__*/require("./definition.cjs");
25
29
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
30
  const fileName_1 = "(@fncts/io) src/Scope/api.ts";
27
31
  const addFinalizer = exports.addFinalizer = addFinalizer_1;
32
+ const makeAddFinalizer = exports.makeAddFinalizer = makeAddFinalizer_1;
28
33
  const extend = exports.extend = extend_1;
29
34
  const makeWith = exports.makeWith = makeWith_1;
30
35
  const unsafeMakeWith = exports.unsafeMakeWith = unsafeMakeWith_1;
@@ -39,14 +44,20 @@ function addFinalizer_1(finalizer, __tsplusTrace) {
39
44
  /**
40
45
  * @tsplus static fncts.io.ScopeOps addFinalizer
41
46
  */
42
- function makeAddFinalizer(finalizer, __tsplusTrace) {
47
+ function makeAddFinalizer_1(finalizer, __tsplusTrace) {
43
48
  return tsplus_module_3.serviceWithIO(scope => addFinalizer_1(finalizer, __tsplusTrace)(scope), tsplus_module_2.ScopeTag, __tsplusTrace);
44
49
  }
50
+ /**
51
+ * @tsplus static fncts.io.ScopeOps addFinalizerExit
52
+ */
53
+ function makeAddFinalizerExit(finalizer, __tsplusTrace) {
54
+ return tsplus_module_3.serviceWithIO(scope => scope.addFinalizerExit(tsplus_module_1.Finalizer.get(finalizer)), tsplus_module_2.ScopeTag, __tsplusTrace);
55
+ }
45
56
  /**
46
57
  * @tsplus static fncts.io.ScopeOps concurrent
47
58
  * @tsplus static fncts.io.Scope.CloseableOps concurrent
48
59
  */
49
- const concurrent = exports.concurrent = /*#__PURE__*/makeWith_1(() => tsplus_module_4.concurrent, fileName_1 + ":26:57");
60
+ const concurrent = exports.concurrent = /*#__PURE__*/makeWith_1(() => tsplus_module_4.concurrent, fileName_1 + ":36:57");
50
61
  /**
51
62
  * @tsplus pipeable fncts.io.Scope extend
52
63
  */
@@ -66,14 +77,14 @@ const global = exports.global = /*#__PURE__*/new class extends _definition2.Clos
66
77
  return tsplus_module_6.unit;
67
78
  }
68
79
  forkWith(executionStrategy) {
69
- return makeWith_1(executionStrategy, fileName_1 + ":48:26");
80
+ return makeWith_1(executionStrategy, fileName_1 + ":58:26");
70
81
  }
71
82
  }();
72
83
  /**
73
84
  * @tsplus static fncts.io.ScopeOps make
74
85
  * @tsplus static fncts.io.Scope.CloseableOps make
75
86
  */
76
- const make = exports.make = /*#__PURE__*/makeWith_1(() => tsplus_module_4.sequential, fileName_1 + ":56:51");
87
+ const make = exports.make = /*#__PURE__*/makeWith_1(() => tsplus_module_4.sequential, fileName_1 + ":66:51");
77
88
  /**
78
89
  * @tsplus getter fncts.io.Scope fork
79
90
  */
@@ -135,4 +146,14 @@ function use(io, __tsplusTrace) {
135
146
  return tsplus_module_9.onExit(exit => self.close(() => exit), __tsplusTrace)(extend_1(io, __tsplusTrace)(self));
136
147
  };
137
148
  }
149
+ /**
150
+ * @tsplus getter fncts.io.Scope awaitClose
151
+ */
152
+ function awaitClose(scope) {
153
+ return tsplus_module_11.asyncIO(cb => addFinalizer_1(() => tsplus_module_6.succeed(() => cb(tsplus_module_6.unit), fileName_1 + ":149:50"), fileName_1 + ":149:47")(scope), fileName_1 + ":149:20");
154
+ }
155
+ /**
156
+ * @tsplus static fncts.io.ScopeOps awaitClose
157
+ */
158
+ const wait = exports.wait = /*#__PURE__*/tsplus_module_11.asyncIO(cb => makeAddFinalizer_1(() => tsplus_module_6.succeed(() => cb(tsplus_module_6.unit), fileName_1 + ":155:85"), fileName_1 + ":155:82"), fileName_1 + ":155:55");
138
159
  //# sourceMappingURL=api.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.cjs","names":["_definition2","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","addFinalizer","exports","addFinalizer_1","extend","extend_1","makeWith","makeWith_1","unsafeMakeWith","unsafeMakeWith_1","finalizer","__tsplusTrace","self","addFinalizerExit","tsplus_module_1","Finalizer","makeAddFinalizer","tsplus_module_3","serviceWithIO","scope","tsplus_module_2","ScopeTag","concurrent","tsplus_module_4","fileName_1","io","contramapEnvironment","tsplus_module_5","union","add","empty","tsplus_module_6","defer","global","Closeable","_finalizer","unit","close","_exit","forkWith","executionStrategy","make","sequential","fork","executionStrategy0","map","releaseMap","constructor","asUnit","tsplus_module_7","exit","tsplus_module_8","releaseAll","tsplus_module_9","uninterruptible","flatMap","tsplus_module_10","unsafeMake","use","onExit"],"sources":["../../_src/Scope/api.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"api.cjs","names":["_definition2","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","addFinalizer","exports","addFinalizer_1","makeAddFinalizer","makeAddFinalizer_1","extend","extend_1","makeWith","makeWith_1","unsafeMakeWith","unsafeMakeWith_1","finalizer","__tsplusTrace","self","addFinalizerExit","tsplus_module_1","Finalizer","tsplus_module_3","serviceWithIO","scope","tsplus_module_2","ScopeTag","makeAddFinalizerExit","concurrent","tsplus_module_4","fileName_1","io","contramapEnvironment","tsplus_module_5","union","add","empty","tsplus_module_6","defer","global","Closeable","_finalizer","unit","close","_exit","forkWith","executionStrategy","make","sequential","fork","executionStrategy0","map","releaseMap","constructor","asUnit","tsplus_module_7","exit","tsplus_module_8","releaseAll","tsplus_module_9","uninterruptible","flatMap","tsplus_module_10","unsafeMake","use","onExit","awaitClose","tsplus_module_11","asyncIO","cb","succeed","wait"],"sources":["../../_src/Scope/api.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Sink = void 0;
7
7
  /**
8
8
  * Sink is a data type that represent a channel that reads elements
9
- * of type `In`, handles input errors of type `InErr`, emits errors
10
- * of type `OutErr`, emits outputs of type `L` and ends with a value
11
- * of type `Z`.
9
+ * of type `In`, emits errors of type `OutErr`, emits outputs of type `Out` and ends with a value
10
+ * of type `Done`.
12
11
  *
13
12
  * @tsplus type fncts.io.Sink
14
13
  * @tsplus companion fncts.io.SinkOps
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["Sink","constructor","channel","exports"],"sources":["../../_src/Sink/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;;;;;;;;;AASM,MAAOA,IAAI;EACfC,YAAqBC,OAA4D;IAA5D,KAAAA,OAAO,GAAPA,OAAO;EAAwD;;AACrFC,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"file":"definition.cjs","names":["Sink","constructor","channel","exports"],"sources":["../../_src/Sink/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;;;;;;;;AAQM,MAAOA,IAAI;EACfC,YAAqBC,OAAwE;IAAxE,KAAAA,OAAO,GAAPA,OAAO;EAAoE;;AACjGC,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["StreamVariance","exports","Symbol","for","StreamTypeId","Stream","constructor","channel","_a","unifyStream","_","DEFAULT_CHUNK_SIZE"],"sources":["../../_src/Stream/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAEO,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAG7D,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,gBAAGF,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;AAoBM,MAAOE,MAAM;EAOjBC,YAAqBC,OAAmE;IAAnE,KAAAA,OAAO,GAAPA,OAAO;IANnB,KAAAC,EAAA,CAAc,GAAiBJ,YAAY;EAMuC;;AAC5FH,OAAA,CAAAI,MAAA,GAAAA,MAAA;KAPWD,YAAY;AASxB;;;AAGM,SAAUK,WAAWA,CACzBC,CAAI;EAMJ,OAAOA,CAAC;AACV;AAEO,MAAMC,kBAAkB,GAAAV,OAAA,CAAAU,kBAAA,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"definition.cjs","names":["StreamVariance","exports","Symbol","for","StreamTypeId","Stream","constructor","channel","_a","unifyStream","_","DEFAULT_CHUNK_SIZE"],"sources":["../../_src/Stream/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AACO,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAG7D,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,gBAAGF,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;AAoBM,MAAOE,MAAM;EAOjBC,YAAqBC,OAAmE;IAAnE,KAAAA,OAAO,GAAPA,OAAO;IANnB,KAAAC,EAAA,CAAc,GAAiBJ,YAAY;EAMuC;;AAC5FH,OAAA,CAAAI,MAAA,GAAAA,MAAA;KAPWD,YAAY;AASxB;;;AAGM,SAAUK,WAAWA,CACzBC,CAAI;EAMJ,OAAOA,CAAC;AACV;AAEO,MAAMC,kBAAkB,GAAAV,OAAA,CAAAU,kBAAA,GAAG,IAAI","ignoreList":[]}
@@ -4,26 +4,61 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AtomicSubject = void 0;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Push/api"));
8
- var _Push = /*#__PURE__*/require("@fncts/io/Push");
7
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
8
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
9
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/api"));
10
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
11
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/ExecutionStrategy"));
12
+ var _HashSet = /*#__PURE__*/require("@fncts/base/collection/mutable/HashSet");
9
13
  var _definition = /*#__PURE__*/require("@fncts/io/Push/definition");
14
+ var _internal = /*#__PURE__*/require("@fncts/io/Push/internal");
10
15
  var _definition2 = /*#__PURE__*/require("@fncts/io/Subject/definition");
16
+ var _IO = /*#__PURE__*/require("../IO.cjs");
11
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
18
  var _a, _b;
13
- class AtomicSubject {
19
+ const fileName_1 = "(@fncts/io) src/Subject/Atomic.ts";
20
+ class AtomicSubject extends _definition2.PSubject {
14
21
  constructor() {
22
+ super(...arguments);
15
23
  this[_a] = _definition2.SubjectTypeId;
16
24
  this[_b] = _definition.PushTypeId;
17
- this.stream = new _Push.Multicast(tsplus_module_1.never);
25
+ this.sinks = _HashSet.HashSet.empty();
26
+ this.interruptScopes = tsplus_module_2.fiberIdWith(fiberId => tsplus_module_2.foreachDiscard(this.sinks, ([,, scope]) => scope.close(() => tsplus_module_1.interrupt(fiberId, fileName_1 + ":29:76")), fileName_1 + ":29:32"));
27
+ this.interrupt = this.interruptScopes;
18
28
  }
19
- run(emitter) {
20
- return this.stream.run(emitter);
29
+ get subscribers() {
30
+ return this.sinks.size;
21
31
  }
22
- event(value) {
23
- return this.stream.event(value);
32
+ run(sink) {
33
+ return this.addSink(sink, scope => tsplus_module_3.awaitClose(scope));
24
34
  }
25
- error(cause) {
26
- return this.stream.error(cause);
35
+ onSuccess(value) {
36
+ return tsplus_module_2.defer(() => this.unsafeOnSuccess(value), fileName_1 + ":39:20");
37
+ }
38
+ onFailure(cause) {
39
+ return tsplus_module_2.defer(() => this.unsafeOnFailure(cause), fileName_1 + ":43:20");
40
+ }
41
+ addSink(sink, f) {
42
+ return (0, _internal.withScope)(innerScope => tsplus_module_4.environmentWithIO(environment => {
43
+ const entry = [sink, environment, innerScope];
44
+ this.sinks.add(entry);
45
+ const remove = tsplus_module_2.succeed(() => this.sinks.remove(entry), fileName_1 + ":55:28");
46
+ return tsplus_module_2.zipRight(f(innerScope), fileName_1 + ":56:51")(tsplus_module_3.addFinalizer(() => remove, fileName_1 + ":56:41")(innerScope));
47
+ }, fileName_1 + ":52:29"), tsplus_module_5.sequential);
48
+ }
49
+ unsafeOnSuccess(a) {
50
+ if (this.sinks.size === 0) {
51
+ return tsplus_module_2.unit;
52
+ } else {
53
+ return tsplus_module_2.foreachDiscard(this.sinks, ([sink, environment]) => tsplus_module_4.provideSomeEnvironment(environment, fileName_1 + ":70:34")(tsplus_module_2.catchAllCause(cause => sink.onFailure(cause), fileName_1 + ":69:25")(sink.onSuccess(a))), fileName_1 + ":66:41");
54
+ }
55
+ }
56
+ unsafeOnFailure(cause) {
57
+ if (this.sinks.size === 0) {
58
+ return tsplus_module_2.unit;
59
+ } else {
60
+ return tsplus_module_2.foreachDiscard(this.sinks, ([sink, environment, scope]) => tsplus_module_4.provideSomeEnvironment(environment, fileName_1 + ":83:34")(tsplus_module_2.catchAllCause(error => scope.close(() => tsplus_module_1.failCause(error, fileName_1 + ":82:63")), fileName_1 + ":82:25")(sink.onFailure(cause))), fileName_1 + ":79:41");
61
+ }
27
62
  }
28
63
  }
29
64
  exports.AtomicSubject = AtomicSubject;
@@ -1 +1 @@
1
- {"version":3,"file":"Atomic.cjs","names":["_Push","require","_definition","_definition2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AtomicSubject","constructor","_a","SubjectTypeId","_b","PushTypeId","stream","Multicast","tsplus_module_1","never","run","emitter","event","value","error","cause","exports"],"sources":["../../_src/Subject/Atomic.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAGA,IAAAA,KAAA,gBAAAC,OAAA;AACA,IAAAC,WAAA,gBAAAD,OAAA;AACA,IAAAE,YAAA,gBAAAF,OAAA;AAA6D,SAAAG,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;;AAEvD,MAAOkB,aAAa;EAA1BC,YAAA;IACW,KAAAC,EAAA,CAAe,GAAkBC,0BAAa;IAC9C,KAAAC,EAAA,CAAY,GAAqBC,sBAAU;IAO3C,KAAAC,MAAM,GAAG,IAAIC,eAAS,CAAAC,eAAA,CAAAC,KAAA,CAAyB;EAa1D;EAXEC,GAAGA,CAAIC,OAAsB;IAC3B,OAAO,IAAI,CAACL,MAAM,CAACI,GAAG,CAACC,OAAO,CAAC;EACjC;EAEAC,KAAKA,CAACC,KAAQ;IACZ,OAAO,IAAI,CAACP,MAAM,CAACM,KAAK,CAACC,KAAK,CAAC;EACjC;EAEAC,KAAKA,CAACC,KAAe;IACnB,OAAO,IAAI,CAACT,MAAM,CAACQ,KAAK,CAACC,KAAK,CAAC;EACjC;;AACDC,OAAA,CAAAhB,aAAA,GAAAA,aAAA;KArBWG,0BAAa,EAAAC,EAAA,GACbC,sBAAU","ignoreList":[]}
1
+ {"version":3,"file":"Atomic.cjs","names":["_HashSet","require","_definition","_internal","_definition2","_IO","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AtomicSubject","PSubject","constructor","_a","SubjectTypeId","_b","PushTypeId","sinks","MutableHashSet","empty","interruptScopes","tsplus_module_2","fiberIdWith","fiberId","foreachDiscard","scope","close","tsplus_module_1","interrupt","fileName_1","subscribers","size","run","sink","addSink","tsplus_module_3","awaitClose","onSuccess","value","defer","unsafeOnSuccess","onFailure","cause","unsafeOnFailure","withScope","innerScope","tsplus_module_4","environmentWithIO","environment","entry","add","remove","succeed","zipRight","addFinalizer","tsplus_module_5","sequential","a","unit","provideSomeEnvironment","catchAllCause","error","failCause","exports"],"sources":["../../_src/Subject/Atomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FutureRef = void 0;
7
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
8
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/api"));
9
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/api"));
10
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
11
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Equatable/api"));
12
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
13
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
14
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/constructors"));
15
+ var _IO = /*#__PURE__*/require("../IO.cjs");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ const fileName_1 = "(@fncts/io) src/Subject/DeferredRef.ts";
18
+ class FutureRef extends _IO.External {
19
+ constructor(fiberId, current) {
20
+ super();
21
+ this.fiberId = fiberId;
22
+ this.current = current;
23
+ this.version = -1;
24
+ this.toIO = tsplus_module_4.defer(() => {
25
+ const current = this.current.get;
26
+ if (tsplus_module_1.isNothing(current)) {
27
+ return tsplus_module_2.wait(this.future, fileName_1 + ":20:25");
28
+ } else {
29
+ return tsplus_module_3.toUndefined(current);
30
+ }
31
+ }, fileName_1 + ":17:35");
32
+ this.reset();
33
+ }
34
+ done(exit) {
35
+ const current = this.current.get;
36
+ if (tsplus_module_1.isJust(current) && tsplus_module_5.strictEquals(current.value, exit)) {
37
+ return false;
38
+ }
39
+ tsplus_module_2.unsafeDone(exit, fileName_1 + ":31:27")(this.future);
40
+ this.version += 1;
41
+ return true;
42
+ }
43
+ reset() {
44
+ this.current.set(tsplus_module_6.nothing(fileName_1 + ":37:29"));
45
+ this.version = -1;
46
+ if (this.future) {
47
+ tsplus_module_2.unsafeDone(tsplus_module_7.interrupt(this.fiberId, fileName_1 + ":40:44"), fileName_1 + ":40:29")(this.future);
48
+ }
49
+ this.future = tsplus_module_8.unsafeMake(this.fiberId);
50
+ }
51
+ }
52
+ exports.FutureRef = FutureRef;
53
+ //# sourceMappingURL=DeferredRef.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeferredRef.cjs","names":["_IO","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FutureRef","External","constructor","fiberId","current","version","toIO","tsplus_module_4","defer","tsplus_module_1","isNothing","tsplus_module_2","wait","future","fileName_1","tsplus_module_3","toUndefined","reset","done","exit","isJust","tsplus_module_5","strictEquals","value","unsafeDone","tsplus_module_6","nothing","tsplus_module_7","interrupt","tsplus_module_8","unsafeMake","exports"],"sources":["../../_src/Subject/DeferredRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HoldSubject = void 0;
7
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
8
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
9
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
10
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
11
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
12
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/api"));
13
+ var _AtomicReference = /*#__PURE__*/require("@fncts/base/internal/AtomicReference");
14
+ var _IO = /*#__PURE__*/require("../IO.cjs");
15
+ var _Atomic = /*#__PURE__*/require("./Atomic.cjs");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ const fileName_1 = "(@fncts/io) src/Subject/Hold.ts";
18
+ class HoldSubject extends _Atomic.AtomicSubject {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.value = new _AtomicReference.AtomicReference(tsplus_module_1.nothing(fileName_1 + ":16:83"));
22
+ this.interrupt = tsplus_module_3.zipRight(tsplus_module_3.succeed(() => this.value.set(tsplus_module_1.nothing(fileName_1 + ":47:87")), fileName_1 + ":47:64"), fileName_1 + ":47:61")(this.interruptScopes);
23
+ }
24
+ onSuccess(value) {
25
+ return tsplus_module_3.defer(() => {
26
+ this.value.set(tsplus_module_1.just(tsplus_module_2.succeed(value, fileName_1 + ":20:39"), fileName_1 + ":20:26"));
27
+ return this.unsafeOnSuccess(value);
28
+ }, fileName_1 + ":19:20");
29
+ }
30
+ onFailure(cause) {
31
+ return tsplus_module_3.defer(() => {
32
+ this.value.set(tsplus_module_1.just(tsplus_module_2.failCause(cause, fileName_1 + ":27:41"), fileName_1 + ":27:26"));
33
+ return this.unsafeOnFailure(cause);
34
+ }, fileName_1 + ":26:20");
35
+ }
36
+ run(sink) {
37
+ return this.addSink(sink, scope => tsplus_module_3.zipRight(tsplus_module_6.awaitClose(scope), fileName_1 + ":43:12")(tsplus_module_5.match(() => tsplus_module_3.unit, exit => tsplus_module_4.match(cause => sink.onFailure(cause), value => sink.onSuccess(value))(exit))(this.value.get)));
38
+ }
39
+ }
40
+ exports.HoldSubject = HoldSubject;
41
+ //# sourceMappingURL=Hold.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hold.cjs","names":["_AtomicReference","require","_IO","_Atomic","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HoldSubject","AtomicSubject","constructor","value","AtomicReference","tsplus_module_1","nothing","fileName_1","interrupt","tsplus_module_3","zipRight","succeed","interruptScopes","onSuccess","defer","just","tsplus_module_2","unsafeOnSuccess","onFailure","cause","failCause","unsafeOnFailure","run","sink","addSink","scope","tsplus_module_6","awaitClose","tsplus_module_5","match","unit","exit","tsplus_module_4","exports"],"sources":["../../_src/Subject/Hold.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Atomic = void 0;
7
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Semaphore/constructors"));
8
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
9
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
10
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
11
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
12
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
13
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
14
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/function/api"));
15
+ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
16
+ var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/forkIn"));
17
+ var _IO = /*#__PURE__*/require("@fncts/io/IO");
18
+ var _definition2 = /*#__PURE__*/require("@fncts/io/Ref/Synchronized/definition");
19
+ var _DeferredRef = /*#__PURE__*/require("../DeferredRef.cjs");
20
+ var _Hold = /*#__PURE__*/require("../Hold.cjs");
21
+ var _Derived = /*#__PURE__*/require("./Derived.cjs");
22
+ var _RefSubject = /*#__PURE__*/require("./RefSubject.cjs");
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
24
+ const fileName_1 = "(@fncts/io) src/Subject/RefSubject/Atomic.ts";
25
+ class Atomic extends _RefSubject.PRefSubject {
26
+ constructor(fiberId, initial, runtime, scope) {
27
+ super();
28
+ this.fiberId = fiberId;
29
+ this.initial = initial;
30
+ this.runtime = runtime;
31
+ this.scope = scope;
32
+ this.semaphore = tsplus_module_1.unsafeMakeSemaphore(1);
33
+ this.subject = new _Hold.HoldSubject();
34
+ this.futureRef = new _DeferredRef.FutureRef(this.fiberId, this.subject.value);
35
+ this.fiber = null;
36
+ this.interrupt = tsplus_module_3.fiberIdWith(fiberId => {
37
+ this.futureRef.reset();
38
+ return tsplus_module_3.zipRight(this.subject.interrupt, fileName_1 + ":30:77")(tsplus_module_3.zipRight(this.interruptFiber, fileName_1 + ":30:55")(this.scope.close(() => tsplus_module_2.interrupt(fiberId, fileName_1 + ":30:43"))));
39
+ });
40
+ this.subscribers = this.subject.subscribers;
41
+ this.onSuccess = this.set;
42
+ this.interruptFiber = tsplus_module_3.defer(() => {
43
+ if (this.fiber) {
44
+ return tsplus_module_7.interrupt(this.fiber);
45
+ } else {
46
+ return tsplus_module_3.unit;
47
+ }
48
+ }, fileName_1 + ":171:36");
49
+ }
50
+ run(sink) {
51
+ return this.subject.run(sink);
52
+ }
53
+ onFailure(cause) {
54
+ const exit = tsplus_module_2.failCause(cause, fileName_1 + ":40:32");
55
+ return tsplus_module_3.defer(() => {
56
+ if (this.futureRef.done(exit)) {
57
+ return this.sendEvent(exit);
58
+ } else {
59
+ return tsplus_module_3.unit;
60
+ }
61
+ }, fileName_1 + ":41:20");
62
+ }
63
+ modify(f, __tsplusTrace) {
64
+ return tsplus_module_3.flatMap(a => {
65
+ const [c, a1] = f(a);
66
+ return tsplus_module_3.as(() => c, fileName_1 + ":55:29")(this.set(a1, fileName_1 + ":55:22"));
67
+ }, fileName_1 + ":53:28")(this.get);
68
+ }
69
+ modifyIO(f, __tsplusTrace) {
70
+ return tsplus_module_3.flatMap(([b, a]) => tsplus_module_3.as(() => b, fileName_1 + ":60:66")(this.set(a, fileName_1 + ":60:60")), fileName_1 + ":60:39")(tsplus_module_3.flatMap(f, fileName_1 + ":60:28")(this.get));
71
+ }
72
+ match(setError, getError, set, get, __tsplusTrace) {
73
+ return this.matchIO(setError, getError, set, get, fileName_1 + ":70:24");
74
+ }
75
+ matchAll(setError, getError, setGetError, set, get, __tsplusTrace) {
76
+ return this.matchAllIO(setError, getError, setGetError, set, get, fileName_1 + ":81:27");
77
+ }
78
+ matchIO(setError, getError, set, get, __tsplusTrace) {
79
+ return new _definition2.PSynchronizedInternal(this.semaphore, tsplus_module_3.matchIO(e => tsplus_module_3.failNow(getError(e), fileName_1 + ":93:41"), get, fileName_1 + ":93:23")(this.get), c => tsplus_module_3.flatMap(a => tsplus_module_3.mapError(setError, fileName_1 + ":94:56")(this.set(a, fileName_1 + ":94:44")), fileName_1 + ":94:28")(set(c)));
80
+ }
81
+ matchAllIO(setError, getError, setGetError, set, get, __tsplusTrace) {
82
+ return new _definition2.PSynchronizedInternal(this.semaphore, tsplus_module_3.matchIO(e => tsplus_module_3.failNow(getError(e), fileName_1 + ":108:41"), get, fileName_1 + ":108:23")(this.get), c => tsplus_module_3.matchIO(e => tsplus_module_3.failNow(setGetError(e), fileName_1 + ":111:28"), b => tsplus_module_3.flatMap(a => tsplus_module_3.mapError(setError, fileName_1 + ":112:63")(this.set(a, fileName_1 + ":112:51")), fileName_1 + ":112:35")(set(c)(b)), fileName_1 + ":110:25")(this.get));
83
+ }
84
+ matchIOSubject(mapSetError, mapGetError, mapErrorInput, mapSetErrorInput, mapSet, mapGet, __tsplusTrace) {
85
+ return new _Derived.Derived(f => f({
86
+ ref: this,
87
+ mapSetError,
88
+ mapGetError,
89
+ mapErrorInput,
90
+ mapSetErrorInput,
91
+ mapSet,
92
+ mapGet
93
+ }));
94
+ }
95
+ set(a, __tsplusTrace) {
96
+ const exit = tsplus_module_2.succeed(a, fileName_1 + ":140:30");
97
+ return tsplus_module_3.defer(() => {
98
+ if (this.futureRef.done(exit)) {
99
+ return this.sendEvent(exit);
100
+ } else {
101
+ return tsplus_module_3.unit;
102
+ }
103
+ }, fileName_1 + ":141:20");
104
+ }
105
+ get get() {
106
+ return this.getOrInit(false);
107
+ }
108
+ sendEvent(exit) {
109
+ return tsplus_module_5.match(cause => tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":156:66")(this.subject.onFailure(cause)), value => tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":157:66")(this.subject.onSuccess(value)))(exit);
110
+ }
111
+ getOrInit(lock) {
112
+ return tsplus_module_3.defer(() => {
113
+ if (this.fiber === null && tsplus_module_6.isNothing(this.futureRef.current.get)) {
114
+ return tsplus_module_3.zipRight(this.futureRef, fileName_1 + ":164:33")(this.init(lock));
115
+ } else {
116
+ return this.futureRef;
117
+ }
118
+ }, fileName_1 + ":162:20");
119
+ }
120
+ init(lock) {
121
+ const maybeWithLock = lock ? this.semaphore.withPermits(1) : tsplus_module_8.identity;
122
+ const initialize = maybeWithLock(tsplus_module_9.onExit(exit => tsplus_module_3.succeed(() => {
123
+ this.fiber = null;
124
+ this.futureRef.done(exit);
125
+ }, fileName_1 + ":184:11"), fileName_1 + ":183:71")(tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":183:38")(this.initial)));
126
+ return tsplus_module_3.flatMap(fiber => tsplus_module_3.succeed(() => this.fiber = fiber, fileName_1 + ":191:63"), fileName_1 + ":191:49")(tsplus_module_10.forkIn(this.scope, fileName_1 + ":191:29")(initialize));
127
+ }
128
+ }
129
+ exports.Atomic = Atomic;
130
+ //# sourceMappingURL=Atomic.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Atomic.cjs","names":["_IO","require","_definition2","_DeferredRef","_Hold","_Derived","_RefSubject","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Atomic","PRefSubject","constructor","fiberId","initial","runtime","scope","semaphore","tsplus_module_1","unsafeMakeSemaphore","subject","HoldSubject","futureRef","FutureRef","value","fiber","interrupt","tsplus_module_3","fiberIdWith","reset","zipRight","fileName_1","interruptFiber","close","tsplus_module_2","subscribers","onSuccess","defer","tsplus_module_7","unit","run","sink","onFailure","cause","exit","failCause","done","sendEvent","modify","__tsplusTrace","flatMap","a","c","a1","as","modifyIO","b","match","setError","getError","matchIO","matchAll","setGetError","matchAllIO","PSynchronizedInternal","failNow","mapError","matchIOSubject","mapSetError","mapGetError","mapErrorInput","mapSetErrorInput","mapSet","mapGet","Derived","ref","succeed","getOrInit","tsplus_module_5","tsplus_module_4","provideEnvironment","environment","lock","tsplus_module_6","isNothing","current","init","maybeWithLock","withPermits","tsplus_module_8","identity","initialize","tsplus_module_9","onExit","tsplus_module_10","forkIn","exports"],"sources":["../../../_src/Subject/RefSubject/Atomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Derived = void 0;
7
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Cause/api"));
8
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
9
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Push/Sink"));
10
+ var _Ref = /*#__PURE__*/require("@fncts/io/Ref");
11
+ var _RefSubject = /*#__PURE__*/require("./RefSubject.cjs");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const fileName_1 = "(@fncts/io) src/Subject/RefSubject/Derived.ts";
14
+ class Derived extends _RefSubject.PRefSubject {
15
+ constructor(use) {
16
+ super();
17
+ this.use = use;
18
+ this.subscribers = this.use(({
19
+ ref
20
+ }) => ref.subscribers);
21
+ this.interrupt = this.use(({
22
+ ref
23
+ }) => ref.interrupt);
24
+ }
25
+ onSuccess(value) {
26
+ return this.use(({
27
+ ref,
28
+ mapSetErrorInput,
29
+ mapSet
30
+ }) => tsplus_module_2.matchCauseIO(cause => ref.onFailure(tsplus_module_1.map(mapSetErrorInput)(cause)), a0 => ref.onSuccess(a0, fileName_1 + ":46:30"), fileName_1 + ":44:33")(mapSet(value)));
31
+ }
32
+ onFailure(cause) {
33
+ return this.use(({
34
+ ref,
35
+ mapErrorInput
36
+ }) => ref.onFailure(tsplus_module_1.map(mapErrorInput)(cause)));
37
+ }
38
+ get get() {
39
+ return this.use(({
40
+ ref,
41
+ mapGetError,
42
+ mapGet
43
+ }) => tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":56:88"), mapGet, fileName_1 + ":56:70")(ref.get));
44
+ }
45
+ set(a, __tsplusTrace) {
46
+ return this.use(({
47
+ ref,
48
+ mapSet
49
+ }) => tsplus_module_2.flatMap(a0 => ref.set(a0, fileName_1 + ":60:75"), fileName_1 + ":60:59")(mapSet(a)));
50
+ }
51
+ modify(f, __tsplusTrace) {
52
+ return this.modifyIO(out => tsplus_module_2.succeedNow(f(out), fileName_1 + ":64:48"), fileName_1 + ":64:25");
53
+ }
54
+ modifyIO(f, __tsplusTrace) {
55
+ return this.use(({
56
+ ref,
57
+ mapGetError,
58
+ mapSet,
59
+ mapGet
60
+ }) => tsplus_module_2.flatMap(a0 => tsplus_module_2.flatMap(([c, a]) => tsplus_module_2.as(() => c, fileName_1 + ":78:18")(tsplus_module_2.flatMap(a0 => ref.set(a0, fileName_1 + ":77:39"), fileName_1 + ":77:23")(mapSet(a))), fileName_1 + ":75:19")(tsplus_module_2.flatMap(f, fileName_1 + ":74:19")(mapGet(a0))), fileName_1 + ":72:44")(tsplus_module_2.mapError(mapGetError, fileName_1 + ":72:23")(ref.get)));
61
+ }
62
+ match(ea, eb, ca, bd, __tsplusTrace) {
63
+ return this.matchIO(ea, eb, ca, bd, fileName_1 + ":91:24");
64
+ }
65
+ matchAll(ea, eb, ec, ca, bd, __tsplusTrace) {
66
+ return this.matchAllIO(ea, eb, ec, ca, bd, fileName_1 + ":102:27");
67
+ }
68
+ matchIO(mapSetError, mapGetError, mapSet, mapGet, __tsplusTrace) {
69
+ return this.use(({
70
+ ref
71
+ }) => new _Ref.PSynchronizedInternal(ref.semaphore, tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":116:45"), mapGet, fileName_1 + ":116:27")(this.get), c => tsplus_module_2.flatMap(a => tsplus_module_2.mapError(mapSetError, fileName_1 + ":117:63")(this.set(a, fileName_1 + ":117:51")), fileName_1 + ":117:35")(mapSet(c))));
72
+ }
73
+ matchAllIO(mapSetError, mapGetError, mapSetGetError, mapSet, mapGet, __tsplusTrace) {
74
+ return this.use(({
75
+ ref
76
+ }) => new _Ref.PSynchronizedInternal(ref.semaphore, tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":134:45"), mapGet, fileName_1 + ":134:27")(this.get), c => tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapSetGetError(e), fileName_1 + ":137:32"), b => tsplus_module_2.flatMap(a => tsplus_module_2.mapError(mapSetError, fileName_1 + ":138:70")(this.set(a, fileName_1 + ":138:58")), fileName_1 + ":138:42")(mapSet(c)(b)), fileName_1 + ":136:29")(this.get)));
77
+ }
78
+ matchIOSubject(mapSetError, mapGetError, mapErrorInput, mapSetErrorInput, mapSet, mapGet, __tsplusTrace) {
79
+ return this.use(r => new Derived(f => f({
80
+ ref: r.ref,
81
+ mapSetError: e0 => mapSetError(r.mapSetError(e0)),
82
+ mapGetError: e0 => mapGetError(r.mapGetError(e0)),
83
+ mapErrorInput: ei => r.mapErrorInput(mapErrorInput(ei)),
84
+ mapSetErrorInput: ec => r.mapSetErrorInput(mapSetErrorInput(ec)),
85
+ mapSet: c => tsplus_module_2.flatMap(inp => tsplus_module_2.mapError(mapSetError, fileName_1 + ":162:77")(r.mapSet(inp)), fileName_1 + ":162:45")(mapSet(c)),
86
+ mapGet: a0 => tsplus_module_2.flatMap(mapGet, fileName_1 + ":163:71")(tsplus_module_2.mapError(mapGetError, fileName_1 + ":163:50")(r.mapGet(a0)))
87
+ })));
88
+ }
89
+ run(sink) {
90
+ return this.use(({
91
+ ref,
92
+ mapGet,
93
+ mapGetError
94
+ }) => ref.run(tsplus_module_3.unsafeMakeSink(a0 => tsplus_module_2.matchCauseIO(sink.onFailure, sink.onSuccess, fileName_1 + ":173:42")(mapGet(a0)), cause => sink.onFailure(tsplus_module_1.map(mapGetError)(cause)))));
95
+ }
96
+ }
97
+ exports.Derived = Derived;
98
+ //# sourceMappingURL=Derived.cjs.map