@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.
- package/IO/api/foreachExec.d.ts +18 -0
- package/Push/Bounds.d.ts +4 -0
- package/Push/FlattenStrategy.d.ts +47 -0
- package/Push/IndexedBuffer.d.ts +19 -0
- package/Push/MergeStrategy.d.ts +19 -0
- package/Push/Operator/IOLoopOperator.d.ts +61 -0
- package/Push/Operator/IOOperator.d.ts +63 -0
- package/Push/Operator/LoopOperator.d.ts +50 -0
- package/Push/Operator/SyncOperator.d.ts +41 -0
- package/Push/Operator.d.ts +4 -0
- package/Push/Producer/IOProducer.d.ts +41 -0
- package/Push/Producer/SyncProducer.d.ts +61 -0
- package/Push/Producer.d.ts +1 -0
- package/Push/Sink.d.ts +65 -0
- package/Push/api.d.ts +78 -161
- package/Push/definition.d.ts +92 -19
- package/Push/internal.d.ts +3 -0
- package/Push.d.ts +6 -0
- package/Ref/Synchronized/definition.d.ts +32 -9
- package/Ref/definition.d.ts +12 -0
- package/Scope/api.d.ts +16 -1
- package/Sink/definition.d.ts +5 -6
- package/Subject/Atomic.d.ts +19 -9
- package/Subject/DeferredRef.d.ts +17 -0
- package/Subject/Hold.d.ts +19 -0
- package/Subject/RefSubject/Atomic.d.ts +41 -0
- package/Subject/RefSubject/Derived.d.ts +43 -0
- package/Subject/RefSubject/RefSubject.d.ts +27 -0
- package/Subject/definition.d.ts +14 -2
- package/Subject.d.ts +2 -0
- package/SubscriptionRef.d.ts +0 -1
- package/_cjs/IO/api/foreachExec.cjs +29 -4
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/Push/Bounds.cjs +2 -0
- package/_cjs/Push/Bounds.cjs.map +1 -0
- package/_cjs/Push/FlattenStrategy.cjs +95 -0
- package/_cjs/Push/FlattenStrategy.cjs.map +1 -0
- package/_cjs/Push/IndexedBuffer.cjs +70 -0
- package/_cjs/Push/IndexedBuffer.cjs.map +1 -0
- package/_cjs/Push/MergeStrategy.cjs +45 -0
- package/_cjs/Push/MergeStrategy.cjs.map +1 -0
- package/_cjs/Push/Operator/IOLoopOperator.cjs +225 -0
- package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/IOOperator.cjs +104 -0
- package/_cjs/Push/Operator/IOOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/LoopOperator.cjs +165 -0
- package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/SyncOperator.cjs +78 -0
- package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -0
- package/_cjs/Push/Operator.cjs +2 -0
- package/_cjs/Push/Operator.cjs.map +1 -0
- package/_cjs/Push/Producer/IOProducer.cjs +67 -0
- package/_cjs/Push/Producer/IOProducer.cjs.map +1 -0
- package/_cjs/Push/Producer/SyncProducer.cjs +107 -0
- package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -0
- package/_cjs/Push/Producer.cjs +2 -0
- package/_cjs/Push/Producer.cjs.map +1 -0
- package/_cjs/Push/Sink.cjs +219 -0
- package/_cjs/Push/Sink.cjs.map +1 -0
- package/_cjs/Push/api.cjs +339 -383
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/definition.cjs +79 -22
- package/_cjs/Push/definition.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +31 -26
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Push.cjs +66 -0
- package/_cjs/Push.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +12 -12
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/definition.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +28 -7
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/Sink/definition.cjs +2 -3
- package/_cjs/Sink/definition.cjs.map +1 -1
- package/_cjs/Stream/definition.cjs.map +1 -1
- package/_cjs/Subject/Atomic.cjs +45 -10
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/Subject/DeferredRef.cjs +53 -0
- package/_cjs/Subject/DeferredRef.cjs.map +1 -0
- package/_cjs/Subject/Hold.cjs +41 -0
- package/_cjs/Subject/Hold.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/Atomic.cjs +130 -0
- package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/Derived.cjs +98 -0
- package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/RefSubject.cjs +19 -0
- package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -0
- package/_cjs/Subject/definition.cjs +16 -1
- package/_cjs/Subject/definition.cjs.map +1 -1
- package/_cjs/Subject.cjs +22 -0
- package/_cjs/Subject.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs +0 -1
- package/_cjs/SubscriptionRef.cjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +27 -4
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/Push/Bounds.mjs +2 -0
- package/_mjs/Push/Bounds.mjs.map +1 -0
- package/_mjs/Push/FlattenStrategy.mjs +86 -0
- package/_mjs/Push/FlattenStrategy.mjs.map +1 -0
- package/_mjs/Push/IndexedBuffer.mjs +61 -0
- package/_mjs/Push/IndexedBuffer.mjs.map +1 -0
- package/_mjs/Push/MergeStrategy.mjs +34 -0
- package/_mjs/Push/MergeStrategy.mjs.map +1 -0
- package/_mjs/Push/Operator/IOLoopOperator.mjs +208 -0
- package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/IOOperator.mjs +91 -0
- package/_mjs/Push/Operator/IOOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/LoopOperator.mjs +151 -0
- package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/SyncOperator.mjs +67 -0
- package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -0
- package/_mjs/Push/Operator.mjs +2 -0
- package/_mjs/Push/Operator.mjs.map +1 -0
- package/_mjs/Push/Producer/IOProducer.mjs +55 -0
- package/_mjs/Push/Producer/IOProducer.mjs.map +1 -0
- package/_mjs/Push/Producer/SyncProducer.mjs +90 -0
- package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -0
- package/_mjs/Push/Producer.mjs +2 -0
- package/_mjs/Push/Producer.mjs.map +1 -0
- package/_mjs/Push/Sink.mjs +206 -0
- package/_mjs/Push/Sink.mjs.map +1 -0
- package/_mjs/Push/api.mjs +311 -344
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/definition.mjs +73 -18
- package/_mjs/Push/definition.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +30 -26
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Push.mjs +7 -1
- package/_mjs/Push.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +12 -12
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +22 -4
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/Sink/definition.mjs +2 -3
- package/_mjs/Sink/definition.mjs.map +1 -1
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs +46 -10
- package/_mjs/Subject/Atomic.mjs.map +1 -1
- package/_mjs/Subject/DeferredRef.mjs +45 -0
- package/_mjs/Subject/DeferredRef.mjs.map +1 -0
- package/_mjs/Subject/Hold.mjs +33 -0
- package/_mjs/Subject/Hold.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/Atomic.mjs +122 -0
- package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/Derived.mjs +90 -0
- package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/RefSubject.mjs +12 -0
- package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -0
- package/_mjs/Subject/definition.mjs +14 -0
- package/_mjs/Subject/definition.mjs.map +1 -1
- package/_mjs/Subject.mjs +2 -0
- package/_mjs/Subject.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs +0 -1
- package/_mjs/SubscriptionRef.mjs.map +1 -1
- package/_src/IO/api/foreachExec.ts +47 -0
- package/_src/Push/Bounds.ts +4 -0
- package/_src/Push/FlattenStrategy.ts +137 -0
- package/_src/Push/IndexedBuffer.ts +79 -0
- package/_src/Push/MergeStrategy.ts +59 -0
- package/_src/Push/Operator/IOLoopOperator.ts +413 -0
- package/_src/Push/Operator/IOOperator.ts +173 -0
- package/_src/Push/Operator/LoopOperator.ts +242 -0
- package/_src/Push/Operator/SyncOperator.ts +107 -0
- package/_src/Push/Operator.ts +7 -0
- package/_src/Push/Producer/IOProducer.ts +83 -0
- package/_src/Push/Producer/SyncProducer.ts +105 -0
- package/_src/Push/Producer.ts +0 -0
- package/_src/Push/Sink.ts +302 -0
- package/_src/Push/api.ts +387 -513
- package/_src/Push/definition.ts +216 -23
- package/_src/Push/internal.ts +11 -0
- package/_src/Push.ts +7 -1
- package/_src/Ref/Synchronized/definition.ts +81 -37
- package/_src/Ref/definition.ts +26 -0
- package/_src/Scope/api.ts +22 -0
- package/_src/Sink/definition.ts +4 -5
- package/_src/Stream/definition.ts +0 -1
- package/_src/Subject/Atomic.ts +68 -11
- package/_src/Subject/DeferredRef.ts +44 -0
- package/_src/Subject/Hold.ts +48 -0
- package/_src/Subject/RefSubject/Atomic.ts +193 -0
- package/_src/Subject/RefSubject/Derived.ts +179 -0
- package/_src/Subject/RefSubject/RefSubject.ts +90 -0
- package/_src/Subject/definition.ts +21 -3
- package/_src/Subject.ts +5 -3
- package/_src/SubscriptionRef.ts +1 -1
- package/_src/index.ts +49 -50
- package/index.d.ts +0 -1
- package/package.json +4 -4
- package/RefSubject/Atomic.d.ts +0 -34
- package/RefSubject/Synchronized/api.d.ts +0 -9
- package/RefSubject/Synchronized/definition.d.ts +0 -39
- package/RefSubject/api.d.ts +0 -120
- package/RefSubject/definition.d.ts +0 -52
- package/RefSubject.d.ts +0 -3
- package/_cjs/RefSubject/Atomic.cjs +0 -107
- package/_cjs/RefSubject/Atomic.cjs.map +0 -1
- package/_cjs/RefSubject/Synchronized/api.cjs +0 -22
- package/_cjs/RefSubject/Synchronized/api.cjs.map +0 -1
- package/_cjs/RefSubject/Synchronized/definition.cjs +0 -55
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +0 -1
- package/_cjs/RefSubject/api.cjs +0 -251
- package/_cjs/RefSubject/api.cjs.map +0 -1
- package/_cjs/RefSubject/definition.cjs +0 -26
- package/_cjs/RefSubject/definition.cjs.map +0 -1
- package/_cjs/RefSubject.cjs +0 -39
- package/_cjs/RefSubject.cjs.map +0 -1
- package/_mjs/RefSubject/Atomic.mjs +0 -99
- package/_mjs/RefSubject/Atomic.mjs.map +0 -1
- package/_mjs/RefSubject/Synchronized/api.mjs +0 -15
- package/_mjs/RefSubject/Synchronized/api.mjs.map +0 -1
- package/_mjs/RefSubject/Synchronized/definition.mjs +0 -47
- package/_mjs/RefSubject/Synchronized/definition.mjs.map +0 -1
- package/_mjs/RefSubject/api.mjs +0 -229
- package/_mjs/RefSubject/api.mjs.map +0 -1
- package/_mjs/RefSubject/definition.mjs +0 -19
- package/_mjs/RefSubject/definition.mjs.map +0 -1
- package/_mjs/RefSubject.mjs +0 -5
- package/_mjs/RefSubject.mjs.map +0 -1
- package/_src/RefSubject/Atomic.ts +0 -129
- package/_src/RefSubject/Synchronized/api.ts +0 -14
- package/_src/RefSubject/Synchronized/definition.ts +0 -76
- package/_src/RefSubject/api.ts +0 -253
- package/_src/RefSubject/definition.ts +0 -70
- package/_src/RefSubject.ts +0 -5
package/_cjs/Scope/api.cjs
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
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.
|
|
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
|
|
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 + ":
|
|
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 + ":
|
|
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 + ":
|
|
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
|
package/_cjs/Scope/api.cjs.map
CHANGED
|
@@ -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","
|
|
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":[]}
|
package/_cjs/Sink/definition.cjs
CHANGED
|
@@ -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`,
|
|
10
|
-
* of type `
|
|
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
|
|
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":";;;;;;;;
|
|
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":[]}
|
package/_cjs/Subject/Atomic.cjs
CHANGED
|
@@ -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/
|
|
8
|
-
var
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
20
|
-
return this.
|
|
29
|
+
get subscribers() {
|
|
30
|
+
return this.sinks.size;
|
|
21
31
|
}
|
|
22
|
-
|
|
23
|
-
return this.
|
|
32
|
+
run(sink) {
|
|
33
|
+
return this.addSink(sink, scope => tsplus_module_3.awaitClose(scope));
|
|
24
34
|
}
|
|
25
|
-
|
|
26
|
-
return this.
|
|
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":["
|
|
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
|