@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
@@ -1,251 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.contramap = contramap;
7
- exports.dimap = void 0;
8
- exports.get = get;
9
- exports.getAndSet = getAndSet;
10
- exports.getAndUpdate = getAndUpdate;
11
- exports.getAndUpdateJust = getAndUpdateJust;
12
- exports.make = make;
13
- exports.map = map;
14
- exports.modify = void 0;
15
- exports.modifyJust = modifyJust;
16
- exports.set = set;
17
- exports.unsafeGet = unsafeGet;
18
- exports.unsafeMake = void 0;
19
- exports.update = update;
20
- exports.updateAndGet = updateAndGet;
21
- exports.updateJust = updateJust;
22
- exports.updateJustAndGet = updateJustAndGet;
23
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
24
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Push/definition"));
25
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/function/api"));
26
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/api"));
27
- var _function = /*#__PURE__*/require("@fncts/base/data/function");
28
- var _Push = /*#__PURE__*/require("@fncts/io/Push");
29
- var _Atomic = /*#__PURE__*/require("@fncts/io/RefSubject/Atomic");
30
- var _definition2 = /*#__PURE__*/require("./definition.cjs");
31
- 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); }
32
- const fileName_1 = "(@fncts/io) src/RefSubject/api.ts";
33
- const unsafeMake = exports.unsafeMake = unsafeMake_1;
34
- const dimap = exports.dimap = dimap_1;
35
- const modify = exports.modify = modify_1;
36
- /**
37
- * @tsplus static fncts.io.Push.RefSubjectOps unsafeMake
38
- */
39
- function unsafeMake_1(initial) {
40
- return new _Atomic.AtomicRefSubject(initial);
41
- }
42
- /**
43
- * @tsplus static fncts.io.Push.RefSubjectOps make
44
- * @tsplus static fncts.io.Push.RefSubjectOps __call
45
- */
46
- function make(initial) {
47
- return tsplus_module_1.succeed(() => unsafeMake_1(initial()), fileName_1 + ":21:12");
48
- }
49
- /**
50
- * Reads the value from the `Ref`.
51
- *
52
- * @tsplus getter fncts.io.Push.RefSubject get
53
- */
54
- function get(self, __tsplusTrace) {
55
- void 0;
56
- return self.get;
57
- }
58
- /**
59
- * Writes a new value to the `Ref`, with a guarantee of immediate
60
- * consistency (at some cost to performance).
61
- *
62
- * @tsplus pipeable fncts.io.Push.RefSubject set
63
- */
64
- function set(a, __tsplusTrace) {
65
- return self => {
66
- void 0;
67
- return self.set(a);
68
- };
69
- }
70
- class Dimap extends _definition2.RefSubjectInternal {
71
- constructor(ref, f, g) {
72
- super();
73
- this.ref = ref;
74
- this.f = f;
75
- this.g = g;
76
- }
77
- get get() {
78
- return tsplus_module_1.map(this.g, fileName_1 + ":57:28")(this.ref.get);
79
- }
80
- set(value) {
81
- return this.ref.set(this.f(value));
82
- }
83
- modify(f, __tsplusTrace) {
84
- return tsplus_module_1.flatMap(c => {
85
- const o = f(c);
86
- return tsplus_module_1.zipRight(tsplus_module_1.succeedNow(o[0], fileName_1 + ":67:44"), fileName_1 + ":67:30")(this.set(o[1]));
87
- }, fileName_1 + ":65:28")(this.get);
88
- }
89
- run(emitter) {
90
- return this.ref.run(tsplus_module_2.makeSink(value => emitter.event(this.g(value)), cause => emitter.error(cause)));
91
- }
92
- event(value) {
93
- return this.ref.event(this.f(value));
94
- }
95
- error(cause) {
96
- return this.ref.error(cause);
97
- }
98
- get unsafeGet() {
99
- return this.g(this.ref.unsafeGet);
100
- }
101
- }
102
- /**
103
- * Transforms both the `set` and `get` values of the `Ref` with the
104
- * specified functions.
105
- *
106
- * @tsplus pipeable fncts.io.Push.RefSubject dimap
107
- */
108
- function dimap_1(f, g, __tsplusTrace) {
109
- return self => {
110
- void 0;
111
- return new Dimap(self, f, g);
112
- };
113
- }
114
- /**
115
- * Transforms the `set` value of the `Ref` with the specified function.
116
- *
117
- * @tsplus pipeable fncts.io.Push.RefSubject contramap
118
- */
119
- function contramap(f, __tsplusTrace) {
120
- return self => {
121
- return dimap_1(f, tsplus_module_3.identity, __tsplusTrace)(self);
122
- };
123
- }
124
- /**
125
- * Transforms the `get` value of the `Ref` with the specified function.
126
- *
127
- * @tsplus pipeable fncts.io.Push.RefSubject map
128
- */
129
- function map(f, __tsplusTrace) {
130
- return ref => {
131
- return dimap_1(tsplus_module_3.identity, f, __tsplusTrace)(ref);
132
- };
133
- }
134
- /**
135
- * Atomically modifies the `Ref` with the specified function, which
136
- * computes a return value for the modification. This is a more powerful
137
- * version of `update`.
138
- *
139
- * @tsplus pipeable fncts.io.Push.RefSubject modify
140
- */
141
- function modify_1(f, __tsplusTrace) {
142
- return self => {
143
- void 0;
144
- return self.modify(f, __tsplusTrace);
145
- };
146
- }
147
- /**
148
- * Atomically modifies the `Ref` with the specified partial function,
149
- * which computes a return value for the modification if the function is
150
- * defined on the current value otherwise it returns a default value. This
151
- * is a more powerful version of `updateJust`.
152
- *
153
- * @tsplus pipeable fncts.io.Push.RefSubject modifyJust
154
- */
155
- function modifyJust(def, f, __tsplusTrace) {
156
- return self => {
157
- return modify_1(a => tsplus_module_4.getOrElse(() => (0, _function.tuple)(def, a))(f(a)), __tsplusTrace)(self);
158
- };
159
- }
160
- /**
161
- * Atomically writes the specified value to the `Ref`, returning the value
162
- * immediately before modification.
163
- *
164
- * @tsplus pipeable fncts.io.Push.RefSubject getAndSet
165
- */
166
- function getAndSet(a, __tsplusTrace) {
167
- return self => {
168
- return modify_1(a0 => (0, _function.tuple)(a0, a), __tsplusTrace)(self);
169
- };
170
- }
171
- /**
172
- * Atomically modifies the `Ref` with the specified function, returning
173
- * the value immediately before modification.
174
- *
175
- * @tsplus pipeable fncts.io.Push.RefSubject getAndUpdate
176
- */
177
- function getAndUpdate(f, __tsplusTrace) {
178
- return self => {
179
- return modify_1(a0 => (0, _function.tuple)(a0, f(a0)), __tsplusTrace)(self);
180
- };
181
- }
182
- /**
183
- * Atomically modifies the `Ref` with the specified partial function,
184
- * returning the value immediately before modification. If the function is
185
- * undefined on the current value it doesn't change it.
186
- *
187
- * @tsplus pipeable fncts.io.Push.RefSubject getAndUpdateJust
188
- */
189
- function getAndUpdateJust(f, __tsplusTrace) {
190
- return self => {
191
- return modify_1(a0 => (0, _function.tuple)(a0, tsplus_module_4.getOrElse(() => a0)(f(a0))), __tsplusTrace)(self);
192
- };
193
- }
194
- /**
195
- * Atomically modifies the `Ref` with the specified function.
196
- *
197
- * @tsplus pipeable fncts.io.Push.RefSubject update
198
- */
199
- function update(f, __tsplusTrace) {
200
- return self => {
201
- return modify_1(a0 => (0, _function.tuple)(undefined, f(a0)), __tsplusTrace)(self);
202
- };
203
- }
204
- /**
205
- * Atomically modifies the `Ref` with the specified function and returns
206
- * the updated value.
207
- *
208
- * @tsplus pipeable fncts.io.Push.RefSubject updateAndGet
209
- */
210
- function updateAndGet(f, __tsplusTrace) {
211
- return self => {
212
- return modify_1(a0 => {
213
- const r = f(a0);
214
- return (0, _function.tuple)(r, r);
215
- }, __tsplusTrace)(self);
216
- };
217
- }
218
- /**
219
- * Atomically modifies the `Ref` with the specified partial function. If
220
- * the function is undefined on the current value it doesn't change it.
221
- *
222
- * @tsplus pipeable fncts.io.Push.RefSubject updateJust
223
- */
224
- function updateJust(f, __tsplusTrace) {
225
- return self => {
226
- return modify_1(a0 => (0, _function.tuple)(undefined, tsplus_module_4.getOrElse(() => a0)(f(a0))), __tsplusTrace)(self);
227
- };
228
- }
229
- /**
230
- * Atomically modifies the `Ref` with the specified partial function. If
231
- * the function is undefined on the current value it returns the old value
232
- * without changing it.
233
- *
234
- * @tsplus pipeable fncts.io.Push.RefSubject updateJustAndGet
235
- */
236
- function updateJustAndGet(f, __tsplusTrace) {
237
- return self => {
238
- return modify_1(a0 => {
239
- const r = tsplus_module_4.getOrElse(() => a0)(f(a0));
240
- return (0, _function.tuple)(r, r);
241
- }, __tsplusTrace)(self);
242
- };
243
- }
244
- /**
245
- * @tsplus getter fncts.io.Push.RefSubject unsafeGet
246
- */
247
- function unsafeGet(self) {
248
- void 0;
249
- return self.unsafeGet;
250
- }
251
- //# sourceMappingURL=api.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.cjs","names":["_function","require","_Push","_Atomic","_definition2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","unsafeMake","exports","unsafeMake_1","dimap","dimap_1","modify","modify_1","initial","AtomicRefSubject","make","tsplus_module_1","succeed","fileName_1","self","__tsplusTrace","a","Dimap","RefSubjectInternal","constructor","ref","g","map","value","flatMap","c","zipRight","succeedNow","run","emitter","tsplus_module_2","makeSink","event","cause","error","unsafeGet","contramap","tsplus_module_3","identity","modifyJust","def","tsplus_module_4","getOrElse","tuple","getAndSet","a0","getAndUpdate","getAndUpdateJust","update","undefined","updateAndGet","updateJust","updateJustAndGet"],"sources":["../../_src/RefSubject/api.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.RefSubjectInternal = exports.RefSubject = void 0;
7
- exports.concrete = concrete;
8
- var _Push = /*#__PURE__*/require("../Push.cjs");
9
- var _Ref = /*#__PURE__*/require("../Ref.cjs");
10
- var _a;
11
- const RefSubject = exports.RefSubject = {};
12
- class RefSubjectInternal {
13
- constructor() {
14
- this[_a] = _Push.PushTypeId;
15
- }
16
- }
17
- exports.RefSubjectInternal = RefSubjectInternal;
18
- _a = _Push.PushTypeId;
19
- /**
20
- * @tsplus static fncts.io.Push.RefSubjectOps concrete
21
- * @tsplus macro remove
22
- */
23
- function concrete(_) {
24
- //
25
- }
26
- //# sourceMappingURL=definition.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definition.cjs","names":["_Push","require","_Ref","RefSubject","exports","RefSubjectInternal","constructor","_a","PushTypeId","concrete","_"],"sources":["../../_src/RefSubject/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAKA,IAAAA,KAAA,gBAAAC,OAAA;AAEA,IAAAC,IAAA,gBAAAD,OAAA;;AAYO,MAAME,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAkB,EAAE;AAMrC,MAAgBE,kBAAkB;EAAxCC,YAAA;IAQW,KAAAC,EAAA,CAAY,GAAeC,gBAAU;EA4BhD;;AAACJ,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;KA5BWG,gBAAU;AA8BtB;;;;AAIM,SAAUC,QAAQA,CAAaC,CAAyB;EAC5D;AAAA","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _api = /*#__PURE__*/require("./RefSubject/api.cjs");
7
- Object.keys(_api).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _api[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _api[key];
14
- }
15
- });
16
- });
17
- var _Atomic = /*#__PURE__*/require("./RefSubject/Atomic.cjs");
18
- Object.keys(_Atomic).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _Atomic[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _Atomic[key];
25
- }
26
- });
27
- });
28
- var _definition = /*#__PURE__*/require("./RefSubject/definition.cjs");
29
- Object.keys(_definition).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _definition[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _definition[key];
36
- }
37
- });
38
- });
39
- //# sourceMappingURL=RefSubject.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RefSubject.cjs","names":["_api","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Atomic","_definition"],"sources":["../_src/RefSubject.ts"],"sourcesContent":[null],"mappings":";;;;;AACA,IAAAA,IAAA,gBAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,IAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,IAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,IAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,gBAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,gBAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,99 +0,0 @@
1
- const fileName_1 = "(@fncts/io) src/RefSubject/Atomic.ts";
2
- import * as tsplus_module_1 from "@fncts/io/Push/api";
3
- import * as tsplus_module_2 from "@fncts/base/data/Maybe/api";
4
- import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
5
- import * as tsplus_module_4 from "@fncts/io/IO/runtime";
6
- import * as tsplus_module_5 from "@fncts/io/IO/api";
7
- import { AtomicReference } from "@fncts/base/internal/AtomicReference";
8
- import { Hold } from "@fncts/io/Push";
9
- import { Atomic } from "@fncts/io/Ref";
10
- import { RefSubjectInternal } from "@fncts/io/RefSubject/definition";
11
- export class AtomicRefSubject extends RefSubjectInternal {
12
- constructor(initial) {
13
- super();
14
- this.initial = initial;
15
- this.stream = new Hold(tsplus_module_1.never);
16
- this.maybeRef = new Atomic(this.stream.current);
17
- this.ref = new AtomicEmitRef(new AtomicDimapRef(this.maybeRef, v => tsplus_module_2.getOrElse(() => this.initial)(v), a => tsplus_module_3.just(a, fileName_1 + ":15:18")), this.stream);
18
- this.stream.current.set(tsplus_module_3.just(initial, fileName_1 + ":22:33"));
19
- }
20
- get get() {
21
- return this.ref.get;
22
- }
23
- set(value, __tsplusTrace) {
24
- return this.ref.set(value, fileName_1 + ":30:24");
25
- }
26
- modify(f, __tsplusTrace) {
27
- return this.ref.modify(f, fileName_1 + ":38:27");
28
- }
29
- run(emitter) {
30
- return this.stream.run(emitter);
31
- }
32
- event(value) {
33
- return this.stream.event(value);
34
- }
35
- error(cause) {
36
- return this.stream.error(cause);
37
- }
38
- unsafeEvent(value) {
39
- tsplus_module_4.unsafeRunFiber(this.stream.event(value), fileName_1 + ":54:44");
40
- }
41
- unsafeError(cause) {
42
- tsplus_module_4.unsafeRunFiber(this.stream.error(cause), fileName_1 + ":58:44");
43
- }
44
- get unsafeGet() {
45
- return this.ref.unsafeGet;
46
- }
47
- }
48
- class AtomicDimapRef extends Atomic {
49
- constructor(ref, f, g) {
50
- const value = new class extends AtomicReference {
51
- constructor(ref, f, g) {
52
- super(f(ref.initial));
53
- this.ref = ref;
54
- this.f = f;
55
- this.g = g;
56
- }
57
- get get() {
58
- return this.f(this.ref.get);
59
- }
60
- set(value) {
61
- this.ref.set(this.g(value));
62
- }
63
- compareAndSet(old, value) {
64
- return this.ref.compareAndSet(this.g(old), this.g(value));
65
- }
66
- getAndSet(value) {
67
- return this.f(this.ref.getAndSet(this.g(value)));
68
- }
69
- }(ref.value, f, g);
70
- super(value);
71
- this.ref = ref;
72
- this.f = f;
73
- this.g = g;
74
- }
75
- }
76
- class AtomicEmitRef extends Atomic {
77
- constructor(ref, sink) {
78
- super(ref.value);
79
- this.ref = ref;
80
- this.sink = sink;
81
- }
82
- get get() {
83
- return this.ref.get;
84
- }
85
- get unsafeGet() {
86
- return this.ref.unsafeGet;
87
- }
88
- unsafeSet(value) {
89
- this.ref.unsafeSet(value);
90
- tsplus_module_4.unsafeRunFiber(this.sink.event(value), fileName_1 + ":119:42");
91
- }
92
- set(value, __tsplusTrace) {
93
- return tsplus_module_5.zipLeft(this.sink.event(value), fileName_1 + ":123:33")(this.ref.set(value));
94
- }
95
- modify(f, __tsplusTrace) {
96
- return tsplus_module_5.zipLeft(tsplus_module_5.flatMap(value => this.sink.event(value), fileName_1 + ":127:53")(this.ref.get), fileName_1 + ":127:32")(this.ref.modify(f, fileName_1 + ":127:27"));
97
- }
98
- }
99
- //# sourceMappingURL=Atomic.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Atomic.mjs","names":["AtomicReference","Hold","Atomic","RefSubjectInternal","AtomicRefSubject","constructor","initial","stream","tsplus_module_1","never","maybeRef","current","ref","AtomicEmitRef","AtomicDimapRef","v","tsplus_module_2","getOrElse","a","tsplus_module_3","just","fileName_1","set","get","value","__tsplusTrace","modify","f","run","emitter","event","error","cause","unsafeEvent","tsplus_module_4","unsafeRunFiber","unsafeError","unsafeGet","g","compareAndSet","old","getAndSet","sink","unsafeSet","tsplus_module_5","zipLeft","flatMap"],"sources":["../../_src/RefSubject/Atomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- const fileName_1 = "(@fncts/io) src/RefSubject/Synchronized/api.ts";
2
- import * as tsplus_module_1 from "@fncts/io/TSemaphore/constructors";
3
- import * as tsplus_module_2 from "@fncts/io/STM/api/atomically";
4
- import * as tsplus_module_3 from "@fncts/io/IO/api";
5
- import * as tsplus_module_4 from "@fncts/io/RefSubject/api";
6
- import { concrete } from "@fncts/io/RefSubject";
7
- import { SynchronizedRefSubjectInternal } from "@fncts/io/RefSubject/Synchronized/definition";
8
- /**
9
- * @tsplus static fncts.io.Push.RefSubject.SynchronizedOps make
10
- * @tsplus static fncts.io.Push.RefSubject.SynchronizedOps __call
11
- */
12
- export function make(initial) {
13
- return tsplus_module_3.flatMap(ref => tsplus_module_3.map(semaphore => new SynchronizedRefSubjectInternal(semaphore, (void 0, ref)), fileName_1 + ":11:24")(tsplus_module_2.atomically(tsplus_module_1.make(1, fileName_1 + ":11:35"), fileName_1 + ":11:38")), fileName_1 + ":10:24")(tsplus_module_4.make(initial));
14
- }
15
- //# sourceMappingURL=api.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.mjs","names":["concrete","SynchronizedRefSubjectInternal","make","initial","tsplus_module_3","flatMap","ref","map","semaphore","fileName_1","tsplus_module_2","atomically","tsplus_module_1","tsplus_module_4"],"sources":["../../../_src/RefSubject/Synchronized/api.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA,SAASA,QAAQ,QAAoB,sBAAsB;AAC3D,SAASC,8BAA8B,QAAQ,8CAA8C;AAE7F;;;;AAIA,OAAM,SAAUC,IAAIA,CAAIC,OAAgB;EACtC,OAAAC,eAAA,CAAAC,OAAA,CACQC,GAAG,IAAAF,eAAA,CAAAG,GAAA,CACHC,SAAS,IACR,IAAIP,8BAA8B,CAACO,SAAS,GAAG,QAAeF,GAAG,CAAC,CAAC,EAAAG,UAAA,aAAAC,eAAA,CAAAC,UAAA,CADtDC,eAAA,CAAAV,IAAA,CAAW,CAAC,EAAAO,UAAA,YAAC,EAAAA,UAAA,eAAAA,UAAA,aADbI,eAAA,CAAAX,IAAA,CAAgBC,OAAO,CAAC;AAIhD","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- var _a;
2
- const fileName_1 = "(@fncts/io) src/RefSubject/Synchronized/definition.ts";
3
- import * as tsplus_module_1 from "@fncts/io/IO/api";
4
- import * as tsplus_module_2 from "@fncts/io/TSemaphore/api";
5
- import { RefSubjectInternal } from "../definition.mjs";
6
- export const SynchronizedRefSubjectTypeId = /*#__PURE__*/Symbol.for("fncts.io.Push.SynchronizedRefSubject");
7
- /**
8
- * @tsplus static fncts.io.Push.RefSubjectOps Synchronized
9
- */
10
- export const Synchronized = {};
11
- export class SynchronizedRefSubjectInternal extends RefSubjectInternal {
12
- constructor(semaphore, ref) {
13
- super();
14
- this.semaphore = semaphore;
15
- this.ref = ref;
16
- this[_a] = SynchronizedRefSubjectTypeId;
17
- }
18
- get get() {
19
- return this.withPermit(this.ref.get, fileName_1 + ":42:27");
20
- }
21
- set(a, __tsplusTrace) {
22
- return this.withPermit(this.ref.set(a), fileName_1 + ":46:27");
23
- }
24
- run(emitter) {
25
- return this.ref.run(emitter);
26
- }
27
- modify(f, __tsplusTrace) {
28
- return this.modifyIO(a => tsplus_module_1.succeedNow(f(a), fileName_1 + ":54:46"), fileName_1 + ":54:25");
29
- }
30
- modifyIO(f, __tsplusTrace) {
31
- return this.withPermit(tsplus_module_1.flatMap(([b, a]) => tsplus_module_1.as(() => b, fileName_1 + ":58:90")(this.ref.set(a)), fileName_1 + ":58:59")(tsplus_module_1.flatMap(f, fileName_1 + ":58:48")(this.ref.get)), fileName_1 + ":58:27");
32
- }
33
- event(value) {
34
- return this.withPermit(this.ref.event(value), fileName_1 + ":62:27");
35
- }
36
- error(cause) {
37
- return this.withPermit(this.ref.error(cause), fileName_1 + ":66:27");
38
- }
39
- withPermit(io, __tsplusTrace) {
40
- return tsplus_module_2.withPermit(this.semaphore, fileName_1 + ":70:26")(io);
41
- }
42
- get unsafeGet() {
43
- return this.ref.unsafeGet;
44
- }
45
- }
46
- _a = SynchronizedRefSubjectTypeId;
47
- //# sourceMappingURL=definition.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definition.mjs","names":["RefSubjectInternal","SynchronizedRefSubjectTypeId","Symbol","for","Synchronized","SynchronizedRefSubjectInternal","constructor","semaphore","ref","_a","get","withPermit","fileName_1","set","a","__tsplusTrace","run","emitter","modify","f","modifyIO","tsplus_module_1","succeedNow","flatMap","b","as","event","value","error","cause","io","tsplus_module_2","unsafeGet"],"sources":["../../../_src/RefSubject/Synchronized/definition.ts"],"sourcesContent":[null],"mappings":";;;;AAMA,SAASA,kBAAkB,QAAQ,mBAAkB;AAErD,OAAO,MAAMC,4BAA4B,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAe9F;;;AAGA,OAAO,MAAMC,YAAY,GAA8B,EAAE;AAEzD,OAAM,MAAOC,8BACX,SAAQL,kBAA8B;EAItCM,YACWC,SAAqB,EACrBC,GAAmC;IAE5C,KAAK,EAAE;IAHE,KAAAD,SAAS,GAATA,SAAS;IACT,KAAAC,GAAG,GAAHA,GAAG;IAHL,KAAAC,EAAA,CAA8B,GAAiCR,4BAA4B;EAMpG;EAEA,IAAIS,GAAGA,CAAA;IACL,OAAO,IAAI,CAACC,UAAU,CAAC,IAAI,CAACH,GAAG,CAACE,GAAG,EAAAE,UAAA,YAAC;EACtC;EAEAC,GAAGA,CAACC,CAAI,EAAEC,aAAkC;IAC1C,OAAO,IAAI,CAACJ,UAAU,CAAC,IAAI,CAACH,GAAG,CAACK,GAAG,CAACC,CAAC,CAAC,EAAAF,UAAA,YAAC;EACzC;EAEAI,GAAGA,CAAKC,OAAuB;IAC7B,OAAO,IAAI,CAACT,GAAG,CAACQ,GAAG,CAACC,OAAO,CAAC;EAC9B;EAEAC,MAAMA,CAAIC,CAA4B,EAAEJ,aAAkC;IACxE,OAAO,IAAI,CAACK,QAAQ,CAAEN,CAAC,IAAKO,eAAA,CAAAC,UAAA,CAAcH,CAAC,CAACL,CAAC,CAAC,EAAAF,UAAA,YAAC,EAAAA,UAAA,YAAC;EAClD;EAEAQ,QAAQA,CAAYD,CAAwC,EAAEJ,aAAsB;IAClF,OAAO,IAAI,CAACJ,UAAU,CAACU,eAAA,CAAAE,OAAA,CAAgC,CAAC,CAACC,CAAC,EAAEV,CAAC,CAAC,KAAKO,eAAA,CAAAI,EAAA,OAAmBD,CAAC,EAAAZ,UAAA,aAApB,IAAI,CAACJ,GAAG,CAACK,GAAG,CAACC,CAAC,CAAC,CAAM,EAAAF,UAAA,aAAjES,eAAA,CAAAE,OAAA,CAAqBJ,CAAC,EAAAP,UAAA,aAAtB,IAAI,CAACJ,GAAG,CAACE,GAAG,CAAW,CAA2C,EAAAE,UAAA,YAAC;EAC5F;EAEAc,KAAKA,CAACC,KAAQ;IACZ,OAAO,IAAI,CAAChB,UAAU,CAAC,IAAI,CAACH,GAAG,CAACkB,KAAK,CAACC,KAAK,CAAC,EAAAf,UAAA,YAAC;EAC/C;EAEAgB,KAAKA,CAACC,KAAe;IACnB,OAAO,IAAI,CAAClB,UAAU,CAAC,IAAI,CAACH,GAAG,CAACoB,KAAK,CAACC,KAAK,CAAC,EAAAjB,UAAA,YAAC;EAC/C;EAEAD,UAAUA,CAAUmB,EAAe,EAAEf,aAAsB;IACzD,OAAOgB,eAAA,CAAApB,UAAA,KAAI,CAACJ,SAAS,EAAAK,UAAA,aAAYkB,EAAE,CAAC;EACtC;EAEA,IAAIE,SAASA,CAAA;IACX,OAAO,IAAI,CAACxB,GAAG,CAACwB,SAAS;EAC3B;;KA1CU/B,4BAA4B","ignoreList":[]}