@fncts/io 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|