@fncts/io 0.0.9 → 0.0.10
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/Channel/api.d.ts +27 -4
- package/Channel/internal/MergeDecision.d.ts +14 -0
- package/STM/api.d.ts +7 -0
- package/Sink/api.d.ts +455 -7
- package/TReentrantLock/api.d.ts +97 -0
- package/TReentrantLock/definition.d.ts +65 -0
- package/TReentrantLock.d.ts +2 -0
- package/_cjs/Cached/api.cjs +1 -1
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +2 -2
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +1 -1
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +87 -32
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs +11 -2
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/IO/api/foreachC.cjs +2 -2
- package/_cjs/IO/api/foreachC.cjs.map +1 -1
- package/_cjs/STM/api.cjs +15 -6
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +1180 -40
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +28 -28
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +297 -0
- package/_cjs/TReentrantLock/api.cjs.map +1 -0
- package/_cjs/TReentrantLock/definition.cjs +125 -0
- package/_cjs/TReentrantLock/definition.cjs.map +1 -0
- package/_cjs/TReentrantLock.cjs +32 -0
- package/_cjs/TReentrantLock.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/filterIO.cjs +35 -0
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc.cjs +13 -0
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +2 -2
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +1 -1
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +75 -30
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs +7 -0
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/IO/api/foreachC.mjs +2 -2
- package/_mjs/IO/api/foreachC.mjs.map +1 -1
- package/_mjs/STM/api.mjs +13 -6
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +996 -31
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +28 -28
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +243 -0
- package/_mjs/TReentrantLock/api.mjs.map +1 -0
- package/_mjs/TReentrantLock/definition.mjs +102 -0
- package/_mjs/TReentrantLock/definition.mjs.map +1 -0
- package/_mjs/TReentrantLock.mjs +4 -0
- package/_mjs/TReentrantLock.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/filterIO.mjs +22 -0
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc.mjs +1 -0
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_src/Channel/api.ts +98 -11
- package/_src/Channel/internal/MergeDecision.ts +15 -0
- package/_src/IO/api.ts +1 -1
- package/_src/STM/api.ts +9 -0
- package/_src/Sink/api.ts +1350 -19
- package/_src/TFuture/definition.ts +1 -1
- package/_src/TReentrantLock/api.ts +193 -0
- package/_src/TReentrantLock/definition.ts +86 -0
- package/_src/TReentrantLock.ts +4 -0
- package/_src/collection/immutable/Conc/filterIO.ts +16 -0
- package/_src/collection/immutable/Conc.ts +1 -0
- package/collection/immutable/Conc/filterIO.d.ts +7 -0
- package/collection/immutable/Conc.d.ts +1 -0
- package/package.json +3 -3
@@ -0,0 +1,125 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.WriteLock = exports.TReentrantLock = exports.ReadLock = void 0;
|
7
|
+
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Equatable/api"));
|
9
|
+
|
10
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/HashMap/api"));
|
11
|
+
|
12
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/Iterable/api"));
|
13
|
+
|
14
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
|
15
|
+
|
16
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/FiberId/api"));
|
17
|
+
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
19
|
+
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
21
|
+
|
22
|
+
/**
|
23
|
+
* A `TReentrantLock` is a reentrant read/write lock. Multiple readers may all
|
24
|
+
* concurrently acquire read locks. Only one writer is allowed to acquire a
|
25
|
+
* write lock at any given time. Read locks may be upgraded into write locks. A
|
26
|
+
* fiber that has a write lock may acquire other write locks or read locks.
|
27
|
+
*
|
28
|
+
* The two primary methods of this structure are `readLock`, which acquires a
|
29
|
+
* read lock in a scoped context, and `writeLock`, which acquires a write lock
|
30
|
+
* in a scoped context.
|
31
|
+
*
|
32
|
+
* Although located in the STM package, there is no need for locks within STM
|
33
|
+
* transactions. However, this lock can be quite useful in effectful code, to
|
34
|
+
* provide consistent read/write access to mutable state; and being in STM
|
35
|
+
* allows this structure to be composed into more complicated concurrent
|
36
|
+
* structures that are consumed from effectful code.
|
37
|
+
*
|
38
|
+
* @tsplus type fncts.io.TReentrantLock
|
39
|
+
* @tsplus companion fncts.io.TReentrantLockOps
|
40
|
+
*/
|
41
|
+
class TReentrantLock {
|
42
|
+
constructor(data) {
|
43
|
+
this.data = data;
|
44
|
+
}
|
45
|
+
|
46
|
+
}
|
47
|
+
/**
|
48
|
+
* @tsplus type fncts.io.TReentrantLock.WriteLock
|
49
|
+
* @tsplus companion fncts.io.TReentrantLock.WriteLockOps
|
50
|
+
*/
|
51
|
+
|
52
|
+
|
53
|
+
exports.TReentrantLock = TReentrantLock;
|
54
|
+
|
55
|
+
class WriteLock {
|
56
|
+
constructor(writeLocks, readLocks, fiberId) {
|
57
|
+
this.writeLocks = writeLocks;
|
58
|
+
this.readLocks = readLocks;
|
59
|
+
this.fiberId = fiberId;
|
60
|
+
this._tag = 0
|
61
|
+
/* LockTag.WriteLock */
|
62
|
+
;
|
63
|
+
}
|
64
|
+
|
65
|
+
readLocksHeld(fiberId) {
|
66
|
+
return tsplus_module_1.strictEquals(this.fiberId, fiberId) ? this.readLocks : 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
writeLocksHeld(fiberId) {
|
70
|
+
return tsplus_module_1.strictEquals(this.fiberId, fiberId) ? this.writeLocks : 0;
|
71
|
+
}
|
72
|
+
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* @tsplus type fncts.io.TReentrantLock.ReadLock
|
76
|
+
* @tsplus companion fncts.io.TReentrantLock.ReadLockOps
|
77
|
+
*/
|
78
|
+
|
79
|
+
|
80
|
+
exports.WriteLock = WriteLock;
|
81
|
+
|
82
|
+
class ReadLock {
|
83
|
+
constructor(readers) {
|
84
|
+
this.readers = readers;
|
85
|
+
this._tag = 1
|
86
|
+
/* LockTag.ReadLock */
|
87
|
+
;
|
88
|
+
this.writeLocks = 0;
|
89
|
+
}
|
90
|
+
|
91
|
+
get readLocks() {
|
92
|
+
return tsplus_module_3.sum(tsplus_module_2.values(this.readers));
|
93
|
+
}
|
94
|
+
|
95
|
+
readLocksHeld(fiberId) {
|
96
|
+
return tsplus_module_4.getOrElse_(tsplus_module_2.get_(this.readers, fiberId), () => 0);
|
97
|
+
}
|
98
|
+
|
99
|
+
writeLocksHeld(_fiberId) {
|
100
|
+
return 0;
|
101
|
+
}
|
102
|
+
|
103
|
+
noOtherHolder(fiberId) {
|
104
|
+
return tsplus_module_2.isEmpty(this.readers) || this.readers.size === 1 && tsplus_module_2.has_(this.readers, fiberId);
|
105
|
+
}
|
106
|
+
|
107
|
+
adjust(fiberId, adjust) {
|
108
|
+
const total = this.readLocksHeld(fiberId);
|
109
|
+
const newTotal = total + adjust;
|
110
|
+
|
111
|
+
if (newTotal < 0) {
|
112
|
+
throw new Error(`Defect: Fiber ${tsplus_module_5.threadName(fiberId)} releasing read lock it does not hold`);
|
113
|
+
}
|
114
|
+
|
115
|
+
if (newTotal === 0) {
|
116
|
+
return new ReadLock(tsplus_module_2.remove_(this.readers, fiberId));
|
117
|
+
}
|
118
|
+
|
119
|
+
return new ReadLock(tsplus_module_2.set_(this.readers, fiberId, newTotal));
|
120
|
+
}
|
121
|
+
|
122
|
+
}
|
123
|
+
|
124
|
+
exports.ReadLock = ReadLock;
|
125
|
+
//# sourceMappingURL=definition.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"definition.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;AAmBM,MAAOA,cAAP,CAAqB;EACzBC,YAAqBC,IAArB,EAA2C;IAAtB;EAA0B;;AADtB;AAgB3B;;;;;;;;AAIM,MAAOC,SAAP,CAAgB;EAEpBF,YAAqBG,UAArB,EAAkDC,SAAlD,EAA8EC,OAA9E,EAA8F;IAAzE;IAA6B;IAA4B;IADrE,YAAI;IAAA;IAAJ;EACyF;;EAClGC,aAAa,CAACD,OAAD,EAAiB;IAC5B,OAAOE,kCAAKF,OAAL,EAAgBA,OAAhB,IAA0B,KAAKD,SAA/B,GAA2C,CAAlD;EACD;;EACDI,cAAc,CAACH,OAAD,EAAiB;IAC7B,OAAOE,kCAAKF,OAAL,EAAgBA,OAAhB,IAA0B,KAAKF,UAA/B,GAA4C,CAAnD;EACD;;AARmB;AAWtB;;;;;;;;AAIM,MAAOM,QAAP,CAAe;EAEnBT,YAAqBU,OAArB,EAAsD;IAAjC;IADZ,YAAI;IAAA;IAAJ;IAKT,kBAAa,CAAb;EAJ0D;;EAC7C,IAATN,SAAS;IACX,2BAAQO,4BAAKD,OAAL,CAAR;EACD;;EAGDJ,aAAa,CAACD,OAAD,EAAiB;IAC5B,OAAOO,qDAAKF,OAAL,EAAiBL,OAAjB,GAAyB,MAAW,CAApC,CAAP;EACD;;EACDG,cAAc,CAACK,QAAD,EAAkB;IAC9B,OAAO,CAAP;EACD;;EAEDC,aAAa,CAACT,OAAD,EAAiB;IAC5B,OAAOM,6BAAKD,OAAL,KAAyB,KAAKA,OAAL,CAAaK,IAAb,KAAsB,CAAtB,IAA2BJ,0BAAKD,OAAL,EAAiBL,OAAjB,CAA3D;EACD;;EACDW,MAAM,CAACX,OAAD,EAAmBW,MAAnB,EAAiC;IACrC,MAAMC,KAAK,GAAM,KAAKX,aAAL,CAAmBD,OAAnB,CAAjB;IACA,MAAMa,QAAQ,GAAGD,KAAK,GAAGD,MAAzB;;IACA,IAAIE,QAAQ,GAAG,CAAf,EAAkB;MAChB,MAAM,IAAIC,KAAJ,CAAU,iBAAiBC,mCAAkB,uCAA7C,CAAN;IACD;;IACD,IAAIF,QAAQ,KAAK,CAAjB,EAAoB;MAClB,OAAO,IAAIT,QAAJ,CAAaE,6BAAKD,OAAL,EAAoBL,OAApB,CAAb,CAAP;IACD;;IACD,OAAO,IAAII,QAAJ,CAAaE,0BAAKD,OAAL,EAAiBL,OAAjB,EAA0Ba,QAA1B,CAAb,CAAP;EACD;;AA5BkB","names":["TReentrantLock","constructor","data","WriteLock","writeLocks","readLocks","fiberId","readLocksHeld","tsplus_module_1","writeLocksHeld","ReadLock","readers","tsplus_module_2","tsplus_module_4","_fiberId","noOtherHolder","size","adjust","total","newTotal","Error","tsplus_module_5"],"sourceRoot":"","sources":["../../_src/TReentrantLock/definition.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _api = /*#__PURE__*/require("./TReentrantLock/api.cjs");
|
8
|
+
|
9
|
+
Object.keys(_api).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _api[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function () {
|
15
|
+
return _api[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
19
|
+
|
20
|
+
var _definition = /*#__PURE__*/require("./TReentrantLock/definition.cjs");
|
21
|
+
|
22
|
+
Object.keys(_definition).forEach(function (key) {
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
24
|
+
if (key in exports && exports[key] === _definition[key]) return;
|
25
|
+
Object.defineProperty(exports, key, {
|
26
|
+
enumerable: true,
|
27
|
+
get: function () {
|
28
|
+
return _definition[key];
|
29
|
+
}
|
30
|
+
});
|
31
|
+
});
|
32
|
+
//# sourceMappingURL=TReentrantLock.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TReentrantLock.cjs","mappings":";;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA","names":[],"sourceRoot":"","sources":["../_src/TReentrantLock.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.filterIO = filterIO;
|
7
|
+
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc"));
|
9
|
+
|
10
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
11
|
+
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
13
|
+
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
15
|
+
|
16
|
+
const fileName_1 = "(@fncts/io) src/collection/immutable/Conc/filterIO.ts";
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @tsplus fluent fncts.Conc filterIO
|
20
|
+
*/
|
21
|
+
function filterIO(self, p) {
|
22
|
+
return tsplus_module_2.defer(() => {
|
23
|
+
const builder = new tsplus_module_1.ConcBuilder();
|
24
|
+
let dest = tsplus_module_2.succeedNow(builder, fileName_1 + ":7:55");
|
25
|
+
|
26
|
+
for (const a of self) {
|
27
|
+
dest = tsplus_module_2.zipWith_(dest, p(a), (builder, res) => {
|
28
|
+
if (res) return builder.append(a);else return builder;
|
29
|
+
});
|
30
|
+
}
|
31
|
+
|
32
|
+
return tsplus_module_2.map_(dest, builder => builder.result(), fileName_1 + ":14:20");
|
33
|
+
}, fileName_1 + ":5:18");
|
34
|
+
}
|
35
|
+
//# sourceMappingURL=filterIO.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filterIO.cjs","mappings":";;;;;;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,QAAV,CAA4BC,IAA5B,EAA2CC,CAA3C,EAAyE;EAC7E,OAAOC,sBAAS,MAAK;IACnB,MAAMC,OAAO,GAAG,oBAAIC,WAAJ,EAAhB;IACA,IAAIC,IAAI,GAA6BH,2BAAcC,OAAd,EAAqBG,oBAArB,CAArC;;IACA,KAAK,MAAMC,CAAX,IAAgBP,IAAhB,EAAsB;MACpBK,IAAI,GAAGH,+BAAaD,CAAC,CAACM,CAAD,CAAd,EAAmB,CAACJ,OAAD,EAAUK,GAAV,KAAiB;QACzC,IAAIA,GAAJ,EAAS,OAAOL,OAAO,CAACM,MAAR,CAAeF,CAAf,CAAP,CAAT,KACK,OAAOJ,OAAP;MACN,CAHM,CAAP;IAID;;IACD,OAAOD,2BAAUC,OAAD,IAAaA,OAAO,CAACO,MAAR,EAAtB,EAAsCJ,qBAAtC,CAAP;EACD,CAVM,EAUNA,oBAVM,CAAP;AAWD","names":["filterIO","self","p","tsplus_module_2","builder","ConcBuilder","dest","fileName_1","a","res","append","result"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Conc/filterIO.ts"],"sourcesContent":[null]}
|
@@ -4,6 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
|
7
|
+
var _filterIO = /*#__PURE__*/require("./Conc/filterIO.cjs");
|
8
|
+
|
9
|
+
Object.keys(_filterIO).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _filterIO[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function () {
|
15
|
+
return _filterIO[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
19
|
+
|
7
20
|
var _findIO = /*#__PURE__*/require("./Conc/findIO.cjs");
|
8
21
|
|
9
22
|
Object.keys(_findIO).forEach(function (key) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Conc.cjs","mappings":";;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA","names":[],"sourceRoot":"","sources":["../../../_src/collection/immutable/Conc.ts"],"sourcesContent":[null]}
|
1
|
+
{"version":3,"file":"Conc.cjs","mappings":";;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA","names":[],"sourceRoot":"","sources":["../../../_src/collection/immutable/Conc.ts"],"sourcesContent":[null]}
|
package/_mjs/Cached/api.mjs
CHANGED
@@ -17,7 +17,7 @@ import { CachedInternal } from "@fncts/io/Cached/internal";
|
|
17
17
|
*/
|
18
18
|
|
19
19
|
export function auto(acquire, policy, __tsplusTrace) {
|
20
|
-
return tsplus_module_6.flatMap_(manual_1(acquire), manual => tsplus_module_6.map_(tsplus_module_5.acquireRelease(() => tsplus_module_3.forkDaemon(tsplus_module_2.interruptible(tsplus_module_1.schedule(refresh_1(manual, __tsplusTrace), () => policy, __tsplusTrace), __tsplusTrace), __tsplusTrace), fiber => tsplus_module_4.interrupt(fiber)), () => manual), __tsplusTrace);
|
20
|
+
return tsplus_module_6.flatMap_(manual_1(acquire), manual => tsplus_module_6.map_(tsplus_module_5.acquireRelease(() => tsplus_module_3.forkDaemon(tsplus_module_2.interruptible(tsplus_module_1.schedule(refresh_1(manual, __tsplusTrace), () => policy, __tsplusTrace), __tsplusTrace), __tsplusTrace), fiber => tsplus_module_4.interrupt(fiber)), () => manual, __tsplusTrace), __tsplusTrace);
|
21
21
|
}
|
22
22
|
/**
|
23
23
|
* @tsplus getter fncts.io.Cached get
|
package/_mjs/Cached/api.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;aA6BgBA,MAAM;aAqBNC,QAAQ;AAlDxB,SAASC,QAAT,QAAyB,6BAAzB;AACA,SAASC,cAAT,QAA+B,2BAA/B;AAEA;;;;AAGA,OAAM,SAAUC,IAAV,CACJC,OADI,EAEJC,MAFI,EAGJC,aAHI,EAGkB;EAEtB,gCACmBC,SAAcH,OAAd,CADnB,EACQL,MAAM,yBACVS,gEAAkBC,8BAAiBC,2CAJvCJ,aAIuC,GAJvC,MAI+DD,MAAxB,EAJvCC,aAIuC,CAAjB,EAJtBA,aAIsB,CAAlB,EAJJA,aAII,GAAiFK,KAAD,IAAUC,0BAACD,KAAD,CAA1F,CADU,EACiG,MACtGZ,MAFK,CADd,
|
1
|
+
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;aA6BgBA,MAAM;aAqBNC,QAAQ;AAlDxB,SAASC,QAAT,QAAyB,6BAAzB;AACA,SAASC,cAAT,QAA+B,2BAA/B;AAEA;;;;AAGA,OAAM,SAAUC,IAAV,CACJC,OADI,EAEJC,MAFI,EAGJC,aAHI,EAGkB;EAEtB,gCACmBC,SAAcH,OAAd,CADnB,EACQL,MAAM,yBACVS,gEAAkBC,8BAAiBC,2CAJvCJ,aAIuC,GAJvC,MAI+DD,MAAxB,EAJvCC,aAIuC,CAAjB,EAJtBA,aAIsB,CAAlB,EAJJA,aAII,GAAiFK,KAAD,IAAUC,0BAACD,KAAD,CAA1F,CADU,EACiG,MACtGZ,MAFK,EAHdO,aAGc,CADd,EAFAA,aAEA;AAKD;AAED;;;;AAGA,OAAM,SAAUO,IAAV,CAAgCC,IAAhC,EAA+DR,aAA/D,EAAqF;EACzF;EACA,OAAOQ,IAAI,CAACC,GAAZ;AACD;AAED;;;;AAGA,kBACEX,OADF,EACiC;EAE/B,gCACgBY,kDADhB,EACQC,GAAG,yBACKC,mDAAsBd,OAAtB,EAA6Be,qBAA7B,GAA6BA,qBAA7B,CADL,EACHC,GAAG,IACF,IAAIC,MAAJ,CAAWD,GAAX,EAAgBJ,6CAA2BC,GAA3B,EAA8BE,qBAA9B,CAAhB,CAFE,EAE8CA,qBAF9C,CADX,EAGyDA,qBAHzD;AAKD;;AAED,MAAME,MAAN,SAAsCnB,cAAtC,CAAqE;EACnEoB,YAAqBF,GAArB,EAAqEhB,OAArE,EAA6G;IAC3G;IADmB;IAAgD;IAGrE,WAA4BmB,8BAAKH,GAAL,CAASL,GAAT,EAAYQ,2BAAZ,EAAYJ,qBAAZ,CAA5B;IACA,eAA4B,KAAKC,GAAL,CAASI,GAAT,CAAaD,0BAAKnB,OAAL,EAAYqB,uBAAZ,EAAYN,qBAAZ,CAAb,EAA2CA,qBAA3C,CAA5B;EAFC;;AAHkE;AAQrE;;;;;AAGA,mBAA0CL,IAA1C,EAAyER,aAAzE,EAA+F;EAC7F;EACA,OAAOQ,IAAI,CAACY,OAAZ;AACD","names":["manual","refresh_","concrete","CachedInternal","auto","acquire","policy","__tsplusTrace","manual_1","tsplus_module_5","tsplus_module_2","tsplus_module_1","fiber","tsplus_module_4","get_","self","get","tsplus_module_7","env","tsplus_module_8","fileName_1","ref","Manual","constructor","tsplus_module_6","set","tsplus_module_9","refresh"],"sourceRoot":"","sources":["../../_src/Cached/api.ts"],"sourcesContent":[null]}
|
@@ -24,7 +24,7 @@ import * as tsplus_module_20 from "@fncts/io/IO/api/withChildren";
|
|
24
24
|
*/
|
25
25
|
|
26
26
|
export function mapOutIOC_(self, n, f) {
|
27
|
-
return tsplus_module_2.unwrapScoped(tsplus_module_5.map_(tsplus_module_20.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_19.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_18.interruptAll, fileName_1 + ":12:46"), fileName_1 + ":12:26"), () => tsplus_module_5.flatMap_(tsplus_module_17.acquireRelease(() => tsplus_module_16.makeBounded(n), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_12.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_15.atomically(tsplus_module_14.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_13.toPull(self), pull => tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_8.uninterruptible(tsplus_module_5.forever(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":24:51")), r => tsplus_module_3.match_(r, outDone => tsplus_module_5.asUnit(tsplus_module_5.apSecond_(tsplus_module_8.interruptible(tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), fileName_1 + ":29:45"), tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_6.left(outDone), fileName_1 + ":30:70")), fileName_1 + ":30:44")), outElem => tsplus_module_5.flatMap_(tsplus_module_12.make(), p => tsplus_module_5.flatMap_(tsplus_module_12.make(), latch => tsplus_module_5.flatMap_(tsplus_module_4.offer_(queue, tsplus_module_5.map_(tsplus_module_9.wait(p), tsplus_module_6.right, fileName_1 + ":35:46")), () => tsplus_module_5.flatMap_(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_9.succeed_(latch, undefined), tsplus_module_11.fulfill_(tsplus_module_5.tapErrorCause_(tsplus_module_10.raceFirst_(tsplus_module_9.wait(errorSignal), f(outElem)), c => tsplus_module_9.failCause_(p, c), fileName_1 + ":41:43"), p), fileName_1 + ":38:58")), () => tsplus_module_5.map_(tsplus_module_9.wait(latch), () => void 0), fileName_1 + ":36:22"), fileName_1 + ":35:22"), fileName_1 + ":34:36"), fileName_1 + ":33:36")), fileName_1 + ":23:28")), fileName_1 + ":49:20"), fileName_1 + ":49:36"), () => queue), fileName_1 + ":21:30"), fileName_1 + ":20:30"), fileName_1 + ":19:30"), fileName_1 + ":13:24"), fileName_1 + ":12:10"), fileName_1 + ":10:20"), queue => {
|
27
|
+
return tsplus_module_2.unwrapScoped(() => tsplus_module_5.map_(tsplus_module_20.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_19.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_18.interruptAll, fileName_1 + ":12:46"), fileName_1 + ":12:26"), () => tsplus_module_5.flatMap_(tsplus_module_17.acquireRelease(() => tsplus_module_16.makeBounded(n), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_12.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_15.atomically(tsplus_module_14.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_13.toPull(self), pull => tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_8.uninterruptible(tsplus_module_5.forever(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":24:51")), r => tsplus_module_3.match_(r, outDone => tsplus_module_5.asUnit(tsplus_module_5.apSecond_(tsplus_module_8.interruptible(tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), fileName_1 + ":29:45"), tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_6.left(outDone), fileName_1 + ":30:70")), fileName_1 + ":30:44")), outElem => tsplus_module_5.flatMap_(tsplus_module_12.make(), p => tsplus_module_5.flatMap_(tsplus_module_12.make(), latch => tsplus_module_5.flatMap_(tsplus_module_4.offer_(queue, tsplus_module_5.map_(tsplus_module_9.wait(p), tsplus_module_6.right, fileName_1 + ":35:46")), () => tsplus_module_5.flatMap_(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_9.succeed_(latch, undefined), tsplus_module_11.fulfill_(tsplus_module_5.tapErrorCause_(tsplus_module_10.raceFirst_(tsplus_module_9.wait(errorSignal), f(outElem)), c => tsplus_module_9.failCause_(p, c), fileName_1 + ":41:43"), p), fileName_1 + ":38:58")), () => tsplus_module_5.map_(tsplus_module_9.wait(latch), () => void 0, fileName_1 + ":46:22"), fileName_1 + ":36:22"), fileName_1 + ":35:22"), fileName_1 + ":34:36"), fileName_1 + ":33:36")), fileName_1 + ":23:28")), fileName_1 + ":49:20"), fileName_1 + ":49:36"), () => queue, fileName_1 + ":22:10"), fileName_1 + ":21:30"), fileName_1 + ":20:30"), fileName_1 + ":19:30"), fileName_1 + ":13:24"), fileName_1 + ":12:10"), fileName_1 + ":10:20"), queue => {
|
28
28
|
const consumer = tsplus_module_2.unwrap(() => tsplus_module_5.matchCause_(tsplus_module_5.flatten(tsplus_module_4.take(queue)), tsplus_module_1.failCauseNow, r => tsplus_module_3.match_(r, tsplus_module_1.endNow, outElem => tsplus_module_1.apSecond_(tsplus_module_2.writeNow(outElem), consumer)), fileName_1 + ":56:40"));
|
29
29
|
return consumer;
|
30
30
|
}, fileName_1 + ":53:10"));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mapOutIOC.mjs","mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAGA,OAAM,SAAUA,UAAV,CACJC,IADI,EAEJC,CAFI,EAGJC,CAHI,EAG0C;EAE9C,OAAOC,
|
1
|
+
{"version":3,"file":"mapOutIOC.mjs","mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAGA,OAAM,SAAUA,UAAV,CACJC,IADI,EAEJC,CAFI,EAGJC,CAHI,EAG0C;EAE9C,OAAOC,mCACLC,mDAAiBC,WAAD,IAAgBD,yBAE1BE,oCAAgBF,sCAAWG,6BAAX,EAAWC,qBAAX,CAAhB,EAAuDA,qBAAvD,CAF0B,EAE8B,+BAExDC,sCACEC,6BAAyET,CAAzE,CADF,EAEGU,KAAD,IAAUC,yBAACD,KAAD,CAFZ,CAFwD,EACpDA,KAAK,6BAMWE,uBANX,EAMLC,WAAW,yDACKC,sBAAgBd,CAAhB,CADL,GACXe,OAAO,qDACShB,IADT,GACPiB,IAAI,sGAERb,oCACGc,KAAD,IAAWN,8BAAYR,6BAAgBc,KAAhB,EAAqBV,qBAArB,CAAZ,CADb,EAEGW,CAAD,IACEC,0BACGC,OAAD,IAAYjB,uBACVA,iGACeH,CADf,EACiBG,oBADjB,GAC0BI,qBAD1B,GAE0BI,8BAAYR,2BAAckB,qBAAYD,OAAZ,CAAd,EAAkCb,qBAAlC,CAAZ,CAF1B,EAE0EA,qBAF1E,CADU,CADd,EAKGe,OAAD,IAAYnB,yBAEQS,uBAFR,EAEFW,CAAC,6BACSX,uBADT,EACDY,KAAK,6BACTb,8BAAYR,8CAACkB,qBAAD,EAACd,qBAAD,CAAZ,CADS,EAC6B,+BAEtCkB,wCACEtB,0DAAcuB,SAAd,GACEC,wHACa1B,CAAC,CAACqB,OAAD,CADd,GAEkBM,CAAD,IAAOC,8BAAYD,CAAZ,CAFxB,EAEsCrB,qBAFtC,GAGWgB,CAHX,CADF,EAIehB,qBAJf,CADF,CAFsC,EASrC,gDAEDiB,KAFC,GAEI,YAFJ,EAEIjB,qBAFJ,CATqC,EAWjCA,qBAXiC,CAD7B,EAYJA,qBAZI,CADJ,EAaAA,qBAbA,CAFC,EAeDA,qBAfC,CALd,CAHJ,EAyBKA,qBAzBL,CAFQ,GA4BPA,qBA5BO,GA4BPA,qBA5BO,GA4BP,MAEIG,KA9BG,EA8BEH,qBA9BF,CADG,EA+BDA,qBA/BC,CADI,EAgCLA,qBAhCK,CANN,EAsCCA,qBAtCD,CAD+C,EAuC9CA,qBAvC8C,CAF9B,EAyChBA,qBAzCgB,CAAhC,EA0CIA,qBA1CJ,GA2COG,KAAD,IAAU;IACd,MAAMoB,QAAQ,GACZ5B,6BACEC,kFAAK4B,4BAAL,EAAqDb,CAAD,IAClDC,0BAACY,sBAAD,EAAyBT,OAAD,IAAaS,mDAAiBT,OAAjB,GAAmCQ,QAAnC,CAArC,CADF,EACoFvB,qBADpF,CADF,CADF;IAMA,OAAOuB,QAAP;EACD,CAnDD,EAmDCvB,qBAnDD,CADK,CAAP;AAsDD","names":["mapOutIOC_","self","n","f","tsplus_module_2","tsplus_module_5","getChildren","tsplus_module_19","tsplus_module_18","fileName_1","tsplus_module_17","tsplus_module_16","queue","tsplus_module_4","tsplus_module_12","errorSignal","tsplus_module_14","permits","pull","cause","r","tsplus_module_3","outDone","tsplus_module_6","outElem","p","latch","tsplus_module_7","undefined","tsplus_module_11","c","tsplus_module_9","consumer","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/Channel/api/mapOutIOC.ts"],"sourcesContent":[null]}
|
@@ -32,7 +32,7 @@ import { identity } from "@fncts/base/data/function";
|
|
32
32
|
*/
|
33
33
|
|
34
34
|
export function mergeAllWith_(channels, n, f, bufferSize = 16, mergeStrategy = "BackPressure") {
|
35
|
-
return tsplus_module_2.unwrapScoped(tsplus_module_5.map_(tsplus_module_27.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_26.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":39:46"), fileName_1 + ":39:26"), () => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeBounded(bufferSize), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeUnbounded(), queue => tsplus_module_4.shutdown(queue)), cancelers => tsplus_module_5.flatMap_(tsplus_module_23.make(() => tsplus_module_18.nothing()), lastDone => tsplus_module_5.flatMap_(tsplus_module_17.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_22.atomically(tsplus_module_21.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_15.toPull(channels), pull => {
|
35
|
+
return tsplus_module_2.unwrapScoped(() => tsplus_module_5.map_(tsplus_module_27.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_26.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":39:46"), fileName_1 + ":39:26"), () => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeBounded(bufferSize), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeUnbounded(), queue => tsplus_module_4.shutdown(queue)), cancelers => tsplus_module_5.flatMap_(tsplus_module_23.make(() => tsplus_module_18.nothing()), lastDone => tsplus_module_5.flatMap_(tsplus_module_17.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_22.atomically(tsplus_module_21.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_15.toPull(channels), pull => {
|
36
36
|
const evaluatePull = pull => tsplus_module_5.flatMap_(tsplus_module_5.repeatUntil_(tsplus_module_5.flatMap_(pull, ea => tsplus_module_3.match_(ea, outDone => tsplus_module_5.succeedNow(tsplus_module_18.just(outDone), fileName_1 + ":56:43"), outElem => tsplus_module_5.as_(tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.right(outElem), fileName_1 + ":57:55")), () => tsplus_module_18.nothing())), fileName_1 + ":54:21"), m => tsplus_module_20.isJust(m), fileName_1 + ":60:25"), md1 => tsplus_module_10.match_(md1, () => tsplus_module_5.unit, outDone => tsplus_module_19.update_(lastDone, md2 => tsplus_module_10.match_(md2, () => tsplus_module_18.just(outDone), lastDone => tsplus_module_18.just(f(lastDone, outDone))))), fileName_1 + ":61:21");
|
37
37
|
|
38
38
|
return tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_5.repeatWhile_(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_5.apSecond_(tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":78:36"), tsplus_module_5.as_(tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":78:93")), () => false), fileName_1 + ":78:65"), doneOrChannel => tsplus_module_3.match_(doneOrChannel, outDone => tsplus_module_13.raceWith_(tsplus_module_12.wait(errorSignal), () => tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), (_, permitAcquisition) => tsplus_module_5.apSecond_(tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":85:44"), tsplus_module_5.as_(tsplus_module_8.interrupt(permitAcquisition), () => false), fileName_1 + ":85:73"), (_, failureAwait) => tsplus_module_5.apSecond_(tsplus_module_8.interrupt(failureAwait), tsplus_module_5.as_(tsplus_module_5.flatMap_(tsplus_module_11.get(lastDone), maybeDone => tsplus_module_10.match_(maybeDone, () => tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.left(outDone), fileName_1 + ":91:64")), lastDone => tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.left(f(lastDone, outDone)), fileName_1 + ":92:72"))), fileName_1 + ":89:37"), () => false), fileName_1 + ":87:56"), fileName_1 + ":82:47"), channel => {
|
@@ -49,7 +49,7 @@ export function mergeAllWith_(channels, n, f, bufferSize = 16, mergeStrategy = "
|
|
49
49
|
return tsplus_module_5.flatMap_(tsplus_module_5.fork(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_12.succeed_(latch, undefined), raceIOs, fileName_1 + ":119:81")), fileName_1 + ":119:91"), () => tsplus_module_5.flatMap_(tsplus_module_12.wait(latch), () => tsplus_module_5.map_(tsplus_module_12.isDone(errorSignal), b => !b, fileName_1 + ":121:58"), fileName_1 + ":120:28"), fileName_1 + ":119:28");
|
50
50
|
}, fileName_1 + ":115:28"), fileName_1 + ":114:45"), fileName_1 + ":113:45"), fileName_1 + ":112:45");
|
51
51
|
}
|
52
|
-
}), fileName_1 + ":76:26"), identity), fileName_1 + ":127:35"), () => queue);
|
52
|
+
}), fileName_1 + ":76:26"), identity), fileName_1 + ":127:35"), () => queue, fileName_1 + ":74:10");
|
53
53
|
}, fileName_1 + ":50:30"), fileName_1 + ":49:30"), fileName_1 + ":48:30"), fileName_1 + ":47:30"), fileName_1 + ":46:30"), fileName_1 + ":40:24"), fileName_1 + ":39:10"), fileName_1 + ":37:20"), queue => {
|
54
54
|
const consumer = tsplus_module_2.unwrap(() => tsplus_module_5.matchCause_(tsplus_module_5.flatten(tsplus_module_4.take(queue)), tsplus_module_1.failCauseNow, out => tsplus_module_3.match_(out, tsplus_module_1.endNow, outElem => tsplus_module_1.apSecond_(tsplus_module_2.writeNow(outElem), consumer)), fileName_1 + ":134:40"));
|
55
55
|
return consumer;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeAllWith.mjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,QAAT,QAAyB,2BAAzB;AAIA;;;;AAGA,OAAM,SAAUC,aAAV,CAcJC,QAdI,EAuBJC,CAvBI,EAwBJC,CAxBI,EAyBJC,UAAU,GAAG,EAzBT,EA0BJC,gBAA+B,cA1B3B,EA0ByC;EAE7C,OAAOC,
|
1
|
+
{"version":3,"file":"mergeAllWith.mjs","mappings":"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","names":["identity","mergeAllWith_","channels","n","f","bufferSize","mergeStrategy","tsplus_module_2","tsplus_module_5","getChildren","tsplus_module_26","tsplus_module_6","fileName_1","tsplus_module_25","tsplus_module_24","queue","tsplus_module_4","cancelers","tsplus_module_23","tsplus_module_18","lastDone","tsplus_module_17","errorSignal","tsplus_module_21","permits","pull","evaluatePull","ea","tsplus_module_3","outDone","outElem","tsplus_module_9","m","tsplus_module_20","md1","tsplus_module_10","tsplus_module_19","md2","cause","doneOrChannel","tsplus_module_13","tsplus_module_7","_","permitAcquisition","failureAwait","maybeDone","channel","latch","raceIOs","io","tsplus_module_14","tsplus_module_12","undefined","b","canceler","size","consumer","tsplus_module_1","out"],"sourceRoot":"","sources":["../../../_src/Channel/api/mergeAllWith.ts"],"sourcesContent":[null]}
|
@@ -21,7 +21,7 @@ import * as tsplus_module_13 from "@fncts/io/Channel/internal/SingleProducerAsyn
|
|
21
21
|
*/
|
22
22
|
|
23
23
|
export function mergeWith_(self, that, leftDone, rightDone) {
|
24
|
-
return tsplus_module_4.unwrapScoped(tsplus_module_3.flatMap_(tsplus_module_13.makeSingleProducerAsyncInput(), input => {
|
24
|
+
return tsplus_module_4.unwrapScoped(() => tsplus_module_3.flatMap_(tsplus_module_13.makeSingleProducerAsyncInput(), input => {
|
25
25
|
const queueReader = tsplus_module_4.fromInput(input);
|
26
26
|
return tsplus_module_3.flatMap_(tsplus_module_12.toPull(tsplus_module_4.pipeTo_(queueReader, self)), pullL => tsplus_module_3.map_(tsplus_module_12.toPull(tsplus_module_4.pipeTo_(queueReader, that)), pullR => {
|
27
27
|
const handleSide = (exit, fiber, pull) => (done, both, single) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeWith.mjs","mappings":";;;;;;;;;;;;;;AAMA;;;;;;;;AAOA,OAAM,SAAUA,UAAV,CAsBJC,IAtBI,EAuBJC,IAvBI,EAwBJC,QAxBI,EAyBJC,SAzBI,EAyB+F;EAUnG,OAAOC,
|
1
|
+
{"version":3,"file":"mergeWith.mjs","mappings":"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","names":["mergeWith_","self","that","leftDone","rightDone","tsplus_module_4","tsplus_module_13","input","queueReader","pullL","pullR","handleSide","exit","fiber","pull","done","both","single","onDecision","decision","_tag","tsplus_module_3","io","fileName_1","ex","tsplus_module_9","cause","f","tsplus_module_7","r","tsplus_module_8","elem","tsplus_module_5","go","d","leftFiber","state","lj","left","rj","right","tsplus_module_1","leftEx","_","l","tsplus_module_2","rightEx","a","b"],"sourceRoot":"","sources":["../../../_src/Channel/api/mergeWith.ts"],"sourcesContent":[null]}
|
package/_mjs/Channel/api.mjs
CHANGED
@@ -11,17 +11,19 @@ import * as tsplus_module_9 from "@fncts/base/collection/immutable/Conc/api/empt
|
|
11
11
|
import * as tsplus_module_10 from "@fncts/base/collection/immutable/Conc/api";
|
12
12
|
import * as tsplus_module_11 from "@fncts/base/data/Cause/api";
|
13
13
|
import * as tsplus_module_12 from "@fncts/base/data/Either/destructors";
|
14
|
-
import * as tsplus_module_13 from "@fncts/base/
|
15
|
-
import * as tsplus_module_14 from "@fncts/
|
16
|
-
import * as tsplus_module_15 from "@fncts/io/Channel/
|
17
|
-
import * as tsplus_module_16 from "@fncts/
|
18
|
-
import * as tsplus_module_17 from "@fncts/base/data/
|
19
|
-
import * as tsplus_module_18 from "@fncts/
|
20
|
-
import * as tsplus_module_19 from "@fncts/
|
21
|
-
import * as tsplus_module_20 from "@fncts/
|
22
|
-
import * as tsplus_module_21 from "@fncts/
|
23
|
-
import * as tsplus_module_22 from "@fncts/base/
|
24
|
-
import * as tsplus_module_23 from "@fncts/base/
|
14
|
+
import * as tsplus_module_13 from "@fncts/base/collection/immutable/Conc";
|
15
|
+
import * as tsplus_module_14 from "@fncts/base/data/Maybe/constructors";
|
16
|
+
import * as tsplus_module_15 from "@fncts/io/Channel/UpstreamPullStrategy/definition";
|
17
|
+
import * as tsplus_module_16 from "@fncts/io/Channel/ChildExecutorDecision/definition";
|
18
|
+
import * as tsplus_module_17 from "@fncts/base/data/Maybe/destructors";
|
19
|
+
import * as tsplus_module_18 from "@fncts/base/data/Exit/api";
|
20
|
+
import * as tsplus_module_19 from "@fncts/io/Queue/api/operations";
|
21
|
+
import * as tsplus_module_20 from "@fncts/base/data/Exit/constructors";
|
22
|
+
import * as tsplus_module_21 from "@fncts/io/Scope/api";
|
23
|
+
import * as tsplus_module_22 from "@fncts/base/util/predicates";
|
24
|
+
import * as tsplus_module_23 from "@fncts/base/data/Either/constructors";
|
25
|
+
import * as tsplus_module_24 from "@fncts/base/collection/immutable/Conc/constructors";
|
26
|
+
import * as tsplus_module_25 from "@fncts/io/Hub/api";
|
25
27
|
export const as_ = as_1;
|
26
28
|
export const ask = ask_1;
|
27
29
|
export const acquireReleaseExitWith_ = acquireReleaseExitWith_1;
|
@@ -46,6 +48,7 @@ export const scoped = scoped_1;
|
|
46
48
|
export const mapErrorCause_ = mapErrorCause_1;
|
47
49
|
export const mapIO_ = mapIO_1;
|
48
50
|
export const mapOut_ = mapOut_1;
|
51
|
+
export const matchCauseChannel_ = matchCauseChannel_1;
|
49
52
|
export const orHaltWith_ = orHaltWith_1;
|
50
53
|
export const pipeTo_ = pipeTo_1;
|
51
54
|
export const readOrFail = readOrFail_1;
|
@@ -170,10 +173,21 @@ function catchAllCause_1(self, f) {
|
|
170
173
|
return new Fold(self, new ContinuationK(_ => tsplus_module_1.endNow(_), f));
|
171
174
|
}
|
172
175
|
/**
|
173
|
-
* @tsplus getter fncts.io.Channel
|
176
|
+
* @tsplus getter fncts.io.Channel collectElements
|
174
177
|
*/
|
175
178
|
|
176
179
|
|
180
|
+
export function collectElements(self) {
|
181
|
+
return defer_1(() => {
|
182
|
+
const builder = new tsplus_module_13.ConcBuilder(tsplus_module_9.empty());
|
183
|
+
const reader = readWith_1(out => tsplus_module_1.apSecond_(tsplus_module_1.succeed(() => builder.append(out)), reader), failNow_1, tsplus_module_1.succeedNow);
|
184
|
+
return tsplus_module_1.flatMap_(pipeTo_1(self, reader), z => tsplus_module_1.succeedNow([builder.result(), z]));
|
185
|
+
});
|
186
|
+
}
|
187
|
+
/**
|
188
|
+
* @tsplus getter fncts.io.Channel concatAll
|
189
|
+
*/
|
190
|
+
|
177
191
|
export function concatAll(channels) {
|
178
192
|
return concatAllWith_1(channels, () => void 0, () => void 0);
|
179
193
|
}
|
@@ -188,7 +202,7 @@ export function concatAll(channels) {
|
|
188
202
|
*/
|
189
203
|
|
190
204
|
function concatMapWith_1(channel, f, g, h) {
|
191
|
-
return new ConcatAll(g, h, () =>
|
205
|
+
return new ConcatAll(g, h, () => tsplus_module_15.PullAfterNext(tsplus_module_14.nothing()), () => tsplus_module_16.Continue, channel, f);
|
192
206
|
}
|
193
207
|
/**
|
194
208
|
* Returns a new channel whose outputs are fed to the specified factory function, which creates
|
@@ -211,7 +225,7 @@ export function concatMapWithCustom_(channel, f, g, h, onPull, onEmit) {
|
|
211
225
|
*/
|
212
226
|
|
213
227
|
function concatAllWith_1(channels, f, g) {
|
214
|
-
return new ConcatAll(f, g, () =>
|
228
|
+
return new ConcatAll(f, g, () => tsplus_module_15.PullAfterNext(tsplus_module_14.nothing()), () => tsplus_module_16.Continue, channels, identity);
|
215
229
|
}
|
216
230
|
/**
|
217
231
|
* Returns a new channel whose outputs are fed to the specified factory function, which creates
|
@@ -284,7 +298,7 @@ function defer_1(effect) {
|
|
284
298
|
function doneCollectReader(builder) {
|
285
299
|
return readWith_1(out => tsplus_module_1.apSecond_(fromIO_1(() => tsplus_module_4.succeed(() => {
|
286
300
|
builder.append(out);
|
287
|
-
}, fileName_1 + ":
|
301
|
+
}, fileName_1 + ":544:19")), doneCollectReader(builder)), failNow_1, tsplus_module_1.endNow);
|
288
302
|
}
|
289
303
|
/**
|
290
304
|
* Returns a new channel, which is the same as this one, except that all the outputs are
|
@@ -301,8 +315,8 @@ function doneCollectReader(builder) {
|
|
301
315
|
function doneCollect_1(self) {
|
302
316
|
return unwrap_1(() => tsplus_module_4.succeed(() => {
|
303
317
|
const builder = tsplus_module_10.builder();
|
304
|
-
return mapIO_1(pipeTo_1(self, doneCollectReader(builder)), z => tsplus_module_4.succeedNow(tuple(builder.result(), z), fileName_1 + ":
|
305
|
-
}, fileName_1 + ":
|
318
|
+
return mapIO_1(pipeTo_1(self, doneCollectReader(builder)), z => tsplus_module_4.succeedNow(tuple(builder.result(), z), fileName_1 + ":570:80"));
|
319
|
+
}, fileName_1 + ":567:15"));
|
306
320
|
}
|
307
321
|
/**
|
308
322
|
* Returns a new channel which reads all the elements from upstream's output channel
|
@@ -413,14 +427,14 @@ function fromIO_1(io) {
|
|
413
427
|
|
414
428
|
|
415
429
|
export function fromOption(option) {
|
416
|
-
return defer_1(() =>
|
430
|
+
return defer_1(() => tsplus_module_17.match_(option(), () => failNow_1(tsplus_module_14.nothing()), tsplus_module_1.succeedNow));
|
417
431
|
}
|
418
432
|
/**
|
419
433
|
* @tsplus static fncts.io.ChannelOps fromQueue
|
420
434
|
*/
|
421
435
|
|
422
436
|
function fromQueue_1(queue) {
|
423
|
-
return tsplus_module_1.flatMap_(fromIO_1(() =>
|
437
|
+
return tsplus_module_1.flatMap_(fromIO_1(() => tsplus_module_19.take(queue)), _ => tsplus_module_12.match_(_, _ => tsplus_module_18.match_(_, tsplus_module_1.failCauseNow, tsplus_module_1.endNow), elem => tsplus_module_1.apSecond_(writeNow_1(elem), fromQueue_1(queue))));
|
424
438
|
}
|
425
439
|
/**
|
426
440
|
* Provides the channel with its required environment, which eliminates
|
@@ -431,7 +445,7 @@ function fromQueue_1(queue) {
|
|
431
445
|
|
432
446
|
|
433
447
|
function provideEnvironment_1(self, env) {
|
434
|
-
return new Provide(env, self);
|
448
|
+
return defer_1(() => new Provide(env(), self));
|
435
449
|
}
|
436
450
|
/**
|
437
451
|
* @tsplus fluent fncts.io.Channel contramapEnvironment
|
@@ -439,7 +453,7 @@ function provideEnvironment_1(self, env) {
|
|
439
453
|
|
440
454
|
|
441
455
|
export function contramapEnvironment_(self, f) {
|
442
|
-
return tsplus_module_1.flatMap_(ask_1(), env0 => provideEnvironment_1(self, f(env0)));
|
456
|
+
return tsplus_module_1.flatMap_(ask_1(), env0 => provideEnvironment_1(self, () => f(env0)));
|
443
457
|
}
|
444
458
|
/**
|
445
459
|
* Halt a channel with the specified exception
|
@@ -482,9 +496,9 @@ export function interrupt(fiberId) {
|
|
482
496
|
*/
|
483
497
|
|
484
498
|
function scoped_1(io) {
|
485
|
-
return mapOut_1(acquireReleaseOutExit_1(tsplus_module_4.flatMap_(
|
499
|
+
return mapOut_1(acquireReleaseOutExit_1(tsplus_module_4.flatMap_(tsplus_module_21.make, scope => tsplus_module_6.uninterruptibleMask(({
|
486
500
|
restore
|
487
|
-
}) => tsplus_module_4.matchCauseIO_(restore(
|
501
|
+
}) => tsplus_module_4.matchCauseIO_(restore(tsplus_module_21.extend_(scope, io)), cause => tsplus_module_4.apSecond_(scope.close(() => tsplus_module_20.failCause(cause)), tsplus_module_4.failCauseNow(cause, fileName_1 + ":814:74"), fileName_1 + ":814:58"), out => tsplus_module_4.succeedNow(tuple(out, scope), fileName_1 + ":815:33"), fileName_1 + ":813:47")), fileName_1 + ":811:23"), ([_, scope], exit) => scope.close(() => exit)), ([a]) => a);
|
488
502
|
}
|
489
503
|
/**
|
490
504
|
* Returns a new channel, which is the same as this one, except the failure value of the returned
|
@@ -545,9 +559,19 @@ export function mapOutIO_(self, f) {
|
|
545
559
|
* @tsplus fluent fncts.io.Channel matchCauseChannel
|
546
560
|
*/
|
547
561
|
|
548
|
-
|
562
|
+
function matchCauseChannel_1(channel, onError, onSuccess) {
|
549
563
|
return new Fold(channel, new ContinuationK(onSuccess, onError));
|
550
564
|
}
|
565
|
+
/**
|
566
|
+
* Fold the channel exposing success and full error cause
|
567
|
+
*
|
568
|
+
* @tsplus fluent fncts.io.Channel matchChannel
|
569
|
+
*/
|
570
|
+
|
571
|
+
|
572
|
+
export function matchChannel_(channel, onError, onSuccess) {
|
573
|
+
return matchCauseChannel_1(channel, cause => tsplus_module_12.match_(tsplus_module_11.failureOrCause(cause), onError, tsplus_module_1.failCauseNow), onSuccess);
|
574
|
+
}
|
551
575
|
export const never = /*#__PURE__*/fromIO_1(() => tsplus_module_4.never);
|
552
576
|
/**
|
553
577
|
* Returns a new channel that will perform the operations of this one, until failure, and then
|
@@ -577,6 +601,7 @@ function orHaltWith_1(self, f) {
|
|
577
601
|
* Pipe the output of a channel into the input of another
|
578
602
|
*
|
579
603
|
* @tsplus fluent fncts.io.Channel pipeTo
|
604
|
+
* @tsplus operator fncts.io.Channel >>>
|
580
605
|
*/
|
581
606
|
|
582
607
|
|
@@ -595,7 +620,7 @@ class ChannelFailure {
|
|
595
620
|
}
|
596
621
|
|
597
622
|
function isChannelFailure(u) {
|
598
|
-
return
|
623
|
+
return tsplus_module_22.hasTypeId(u, ChannelFailureTypeId);
|
599
624
|
}
|
600
625
|
/**
|
601
626
|
* @tsplus fluent fncts.io.Channel pipeToOrFail
|
@@ -610,7 +635,7 @@ export function pipeToOrFail_(left, right) {
|
|
610
635
|
*/
|
611
636
|
|
612
637
|
export function read() {
|
613
|
-
return readOrFail_1(
|
638
|
+
return readOrFail_1(tsplus_module_14.nothing());
|
614
639
|
}
|
615
640
|
/**
|
616
641
|
* @tsplus static fncts.io.ChannelOps readOrFail
|
@@ -650,12 +675,18 @@ function repeated_1(self) {
|
|
650
675
|
return tsplus_module_1.flatMap_(self, () => repeated_1(self));
|
651
676
|
}
|
652
677
|
/**
|
653
|
-
* @tsplus static fncts.io.
|
678
|
+
* @tsplus static fncts.io.ChannelOps toQueue
|
654
679
|
*/
|
655
680
|
|
656
681
|
|
657
682
|
function toQueue_1(queue) {
|
658
|
-
return
|
683
|
+
return defer_1(() => {
|
684
|
+
function toQueue(queue) {
|
685
|
+
return readWithCause_1(inp => tsplus_module_1.apSecond_(fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.right(inp))), toQueue(queue)), cause => fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.left(tsplus_module_20.failCause(cause)))), done => fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.left(tsplus_module_20.succeed(done)))));
|
686
|
+
}
|
687
|
+
|
688
|
+
return toQueue(queue());
|
689
|
+
});
|
659
690
|
}
|
660
691
|
/**
|
661
692
|
* Writes an output to the channel
|
@@ -673,7 +704,7 @@ function write_1(out) {
|
|
673
704
|
|
674
705
|
|
675
706
|
export function writeAll(outs) {
|
676
|
-
return writeChunk_1(
|
707
|
+
return writeChunk_1(tsplus_module_24.from(outs));
|
677
708
|
}
|
678
709
|
|
679
710
|
function writeChunkWriter(outs, idx, len) {
|
@@ -722,6 +753,20 @@ function unwrap_1(self) {
|
|
722
753
|
|
723
754
|
|
724
755
|
export function unwrapScoped(self) {
|
725
|
-
return concatAllWith_1(scoped_1(
|
756
|
+
return concatAllWith_1(scoped_1(self), (d, _) => d, (d, _) => d);
|
757
|
+
}
|
758
|
+
/**
|
759
|
+
* @tsplus static fncts.io.ChannelOps fromHubScoped
|
760
|
+
*/
|
761
|
+
|
762
|
+
export function fromHubScoped(hub) {
|
763
|
+
return tsplus_module_4.defer(() => tsplus_module_4.map_(tsplus_module_25.subscribe(hub()), fromQueue_1, fileName_1 + ":1335:38"), fileName_1 + ":1335:18");
|
764
|
+
}
|
765
|
+
/**
|
766
|
+
* @tsplus static fncts.io.ChannelOps toHub
|
767
|
+
*/
|
768
|
+
|
769
|
+
export function toHub(hub) {
|
770
|
+
return toQueue_1(hub);
|
726
771
|
}
|
727
772
|
//# sourceMappingURL=api.mjs.map
|