@fncts/io 0.0.41 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/Fiber/FiberRuntime.d.ts +2 -2
  2. package/Fiber/definition.d.ts +1 -0
  3. package/FiberSet.d.ts +66 -0
  4. package/Hub/definition.d.ts +3 -0
  5. package/Hub/internal.d.ts +1 -0
  6. package/IO/api/diffFiberRefs.d.ts +7 -0
  7. package/IO/api/timeout.d.ts +5 -0
  8. package/IO/api.d.ts +6 -1
  9. package/IO/definition.d.ts +18 -7
  10. package/Layer/api.d.ts +5 -0
  11. package/Queue/api/dimapIO.d.ts +5 -0
  12. package/Queue/api/filterInputIO.d.ts +1 -1
  13. package/Queue/api/filterOutputIO.d.ts +1 -0
  14. package/Queue/api/operations.d.ts +11 -0
  15. package/Queue/api/zipWithIO.d.ts +1 -0
  16. package/Queue/definition.d.ts +5 -0
  17. package/Queue/internal.d.ts +1 -0
  18. package/STM/definition.d.ts +1 -1
  19. package/Stream/api.d.ts +10 -0
  20. package/_cjs/Fiber/FiberRuntime.cjs +86 -75
  21. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  22. package/_cjs/Fiber/definition.cjs.map +1 -1
  23. package/_cjs/FiberSet.cjs +129 -0
  24. package/_cjs/FiberSet.cjs.map +1 -0
  25. package/_cjs/Hub/api.cjs +20 -11
  26. package/_cjs/Hub/api.cjs.map +1 -1
  27. package/_cjs/Hub/definition.cjs +3 -0
  28. package/_cjs/Hub/definition.cjs.map +1 -1
  29. package/_cjs/Hub/internal.cjs +65 -49
  30. package/_cjs/Hub/internal.cjs.map +1 -1
  31. package/_cjs/IO/api/diffFiberRefs.cjs +17 -0
  32. package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -0
  33. package/_cjs/IO/api/memoize.cjs +7 -4
  34. package/_cjs/IO/api/memoize.cjs.map +1 -1
  35. package/_cjs/IO/api/timeout.cjs +8 -0
  36. package/_cjs/IO/api/timeout.cjs.map +1 -1
  37. package/_cjs/IO/api.cjs +10 -3
  38. package/_cjs/IO/api.cjs.map +1 -1
  39. package/_cjs/IO/definition.cjs +9 -3
  40. package/_cjs/IO/definition.cjs.map +1 -1
  41. package/_cjs/Layer/api.cjs +8 -1
  42. package/_cjs/Layer/api.cjs.map +1 -1
  43. package/_cjs/Queue/api/dimapIO.cjs +28 -10
  44. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  45. package/_cjs/Queue/api/filterInputIO.cjs +21 -9
  46. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  47. package/_cjs/Queue/api/filterOutputIO.cjs +28 -16
  48. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  49. package/_cjs/Queue/api/operations.cjs +20 -0
  50. package/_cjs/Queue/api/operations.cjs.map +1 -1
  51. package/_cjs/Queue/api/zipWithIO.cjs +16 -9
  52. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  53. package/_cjs/Queue/definition.cjs.map +1 -1
  54. package/_cjs/Queue/internal.cjs +84 -54
  55. package/_cjs/Queue/internal.cjs.map +1 -1
  56. package/_cjs/STM/definition.cjs +1 -1
  57. package/_cjs/STM/definition.cjs.map +1 -1
  58. package/_cjs/Stream/api.cjs +40 -5
  59. package/_cjs/Stream/api.cjs.map +1 -1
  60. package/_cjs/internal/BackgroundScheduler.cjs +0 -1
  61. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  62. package/_mjs/Fiber/FiberRuntime.mjs +86 -75
  63. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  64. package/_mjs/Fiber/definition.mjs.map +1 -1
  65. package/_mjs/FiberSet.mjs +113 -0
  66. package/_mjs/FiberSet.mjs.map +1 -0
  67. package/_mjs/Hub/api.mjs +20 -11
  68. package/_mjs/Hub/api.mjs.map +1 -1
  69. package/_mjs/Hub/definition.mjs +3 -0
  70. package/_mjs/Hub/definition.mjs.map +1 -1
  71. package/_mjs/Hub/internal.mjs +65 -49
  72. package/_mjs/Hub/internal.mjs.map +1 -1
  73. package/_mjs/IO/api/diffFiberRefs.mjs +9 -0
  74. package/_mjs/IO/api/diffFiberRefs.mjs.map +1 -0
  75. package/_mjs/IO/api/memoize.mjs +7 -4
  76. package/_mjs/IO/api/memoize.mjs.map +1 -1
  77. package/_mjs/IO/api/timeout.mjs +7 -0
  78. package/_mjs/IO/api/timeout.mjs.map +1 -1
  79. package/_mjs/IO/api.mjs +9 -3
  80. package/_mjs/IO/api.mjs.map +1 -1
  81. package/_mjs/IO/definition.mjs +7 -2
  82. package/_mjs/IO/definition.mjs.map +1 -1
  83. package/_mjs/Layer/api.mjs +7 -1
  84. package/_mjs/Layer/api.mjs.map +1 -1
  85. package/_mjs/Queue/api/dimapIO.mjs +28 -10
  86. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  87. package/_mjs/Queue/api/filterInputIO.mjs +21 -9
  88. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  89. package/_mjs/Queue/api/filterOutputIO.mjs +28 -16
  90. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  91. package/_mjs/Queue/api/operations.mjs +18 -0
  92. package/_mjs/Queue/api/operations.mjs.map +1 -1
  93. package/_mjs/Queue/api/zipWithIO.mjs +16 -9
  94. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  95. package/_mjs/Queue/definition.mjs.map +1 -1
  96. package/_mjs/Queue/internal.mjs +84 -54
  97. package/_mjs/Queue/internal.mjs.map +1 -1
  98. package/_mjs/STM/definition.mjs +1 -1
  99. package/_mjs/STM/definition.mjs.map +1 -1
  100. package/_mjs/Stream/api.mjs +36 -4
  101. package/_mjs/Stream/api.mjs.map +1 -1
  102. package/_mjs/internal/BackgroundScheduler.mjs +0 -1
  103. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  104. package/_src/Fiber/FiberRuntime.ts +50 -36
  105. package/_src/Fiber/definition.ts +2 -0
  106. package/_src/FiberSet.ts +115 -0
  107. package/_src/Hub/api.ts +15 -6
  108. package/_src/Hub/definition.ts +6 -0
  109. package/_src/Hub/internal.ts +19 -0
  110. package/_src/IO/api/diffFiberRefs.ts +11 -0
  111. package/_src/IO/api/memoize.ts +5 -3
  112. package/_src/IO/api/timeout.ts +8 -0
  113. package/_src/IO/api.ts +7 -0
  114. package/_src/IO/definition.ts +20 -4
  115. package/_src/Layer/api.ts +10 -0
  116. package/_src/Queue/api/dimapIO.ts +25 -0
  117. package/_src/Queue/api/filterInputIO.ts +16 -0
  118. package/_src/Queue/api/filterOutputIO.ts +16 -0
  119. package/_src/Queue/api/operations.ts +20 -0
  120. package/_src/Queue/api/zipWithIO.ts +8 -0
  121. package/_src/Queue/definition.ts +4 -0
  122. package/_src/Queue/internal.ts +32 -0
  123. package/_src/STM/definition.ts +1 -1
  124. package/_src/Stream/api.ts +55 -0
  125. package/_src/global.ts +4 -0
  126. package/_src/internal/BackgroundScheduler.ts +0 -1
  127. package/global.d.ts +4 -0
  128. package/package.json +4 -4
@@ -18,21 +18,27 @@ class FilterInputIO extends QueueInternal {
18
18
  this.take = this.queue.take;
19
19
  this.takeAll = this.queue.takeAll;
20
20
  }
21
+ get unsafeSize() {
22
+ return this.queue.unsafeSize;
23
+ }
24
+ unsafeOffer(a) {
25
+ throw new Error("Cannot unsafely offer to an effectful Queue");
26
+ }
21
27
  offer(a) {
22
- return tsplus_module_1.flatMap(b => b ? this.queue.offer(a, fileName_1 + ":20:58") : tsplus_module_1.succeedNow(false, fileName_1 + ":20:77"), fileName_1 + ":20:29")(this.f(a));
28
+ return tsplus_module_1.flatMap(b => b ? this.queue.offer(a, fileName_1 + ":28:58") : tsplus_module_1.succeedNow(false, fileName_1 + ":28:77"), fileName_1 + ":28:29")(this.f(a));
23
29
  }
24
30
  offerAll(as) {
25
31
  return tsplus_module_1.flatMap(ms => {
26
32
  const filtered = tsplus_module_2.compact(ms);
27
33
  if (tsplus_module_2.isEmpty(filtered)) {
28
- return tsplus_module_1.succeedNow(false, fileName_1 + ":27:29");
34
+ return tsplus_module_1.succeedNow(false, fileName_1 + ":35:29");
29
35
  } else {
30
- return this.queue.offerAll(filtered, fileName_1 + ":29:35");
36
+ return this.queue.offerAll(filtered, fileName_1 + ":37:35");
31
37
  }
32
- }, fileName_1 + ":24:90")(tsplus_module_1.foreach(as, a => tsplus_module_1.map(b => b ? tsplus_module_3.just(a, fileName_1 + ":24:64") : tsplus_module_3.nothing(fileName_1 + ":24:77"), fileName_1 + ":24:47")(this.f(a)), fileName_1 + ":24:22"));
38
+ }, fileName_1 + ":32:90")(tsplus_module_1.foreach(as, a => tsplus_module_1.map(b => b ? tsplus_module_3.just(a, fileName_1 + ":32:64") : tsplus_module_3.nothing(fileName_1 + ":32:77"), fileName_1 + ":32:47")(this.f(a)), fileName_1 + ":32:22"));
33
39
  }
34
40
  takeUpTo(max) {
35
- return this.queue.takeUpTo(max, fileName_1 + ":43:31");
41
+ return this.queue.takeUpTo(max, fileName_1 + ":51:31");
36
42
  }
37
43
  }
38
44
  /**
@@ -69,18 +75,24 @@ class FilterInputEnqueueIO {
69
75
  this.shutdown = this.queue.shutdown;
70
76
  this.size = this.queue.size;
71
77
  }
78
+ get unsafeSize() {
79
+ return this.queue.unsafeSize;
80
+ }
81
+ unsafeOffer(a) {
82
+ throw new Error("Cannot unsafely offer to an effectful Queue");
83
+ }
72
84
  offer(a) {
73
- return tsplus_module_1.flatMap(b => b ? this.queue.offer(a, fileName_1 + ":96:58") : tsplus_module_1.succeedNow(false, fileName_1 + ":96:77"), fileName_1 + ":96:29")(this.f(a));
85
+ return tsplus_module_1.flatMap(b => b ? this.queue.offer(a, fileName_1 + ":112:58") : tsplus_module_1.succeedNow(false, fileName_1 + ":112:77"), fileName_1 + ":112:29")(this.f(a));
74
86
  }
75
87
  offerAll(as) {
76
88
  return tsplus_module_1.flatMap(ms => {
77
89
  const filtered = tsplus_module_2.compact(ms);
78
90
  if (tsplus_module_2.isEmpty(filtered)) {
79
- return tsplus_module_1.succeedNow(false, fileName_1 + ":103:29");
91
+ return tsplus_module_1.succeedNow(false, fileName_1 + ":119:29");
80
92
  } else {
81
- return this.queue.offerAll(filtered, fileName_1 + ":105:35");
93
+ return this.queue.offerAll(filtered, fileName_1 + ":121:35");
82
94
  }
83
- }, fileName_1 + ":100:90")(tsplus_module_1.foreach(as, a => tsplus_module_1.map(b => b ? tsplus_module_3.just(a, fileName_1 + ":100:64") : tsplus_module_3.nothing(fileName_1 + ":100:77"), fileName_1 + ":100:47")(this.f(a)), fileName_1 + ":100:22"));
95
+ }, fileName_1 + ":116:90")(tsplus_module_1.foreach(as, a => tsplus_module_1.map(b => b ? tsplus_module_3.just(a, fileName_1 + ":116:64") : tsplus_module_3.nothing(fileName_1 + ":116:77"), fileName_1 + ":116:47")(this.f(a)), fileName_1 + ":116:22"));
84
96
  }
85
97
  }
86
98
  _a = EnqueueTypeId, _b = QueueTypeId;
@@ -1 +1 @@
1
- {"version":3,"file":"filterInputIO.mjs","names":["filterInputIO","filterInputIO_1","concrete","EnqueueTypeId","QueueInternal","QueueTypeId","QueueVariance","FilterInputIO","constructor","queue","f","awaitShutdown","capacity","isShutdown","shutdown","size","take","takeAll","offer","a","tsplus_module_1","flatMap","b","fileName_1","succeedNow","offerAll","as","ms","filtered","tsplus_module_2","compact","isEmpty","foreach","map","tsplus_module_3","just","nothing","takeUpTo","max","__tsplusTrace","filterInput","FilterInputEnqueueIO","_a","_b","filterInputEnqueueIO"],"sources":["../../../_src/Queue/api/filterInputIO.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"filterInputIO.mjs","names":["filterInputIO","filterInputIO_1","concrete","EnqueueTypeId","QueueInternal","QueueTypeId","QueueVariance","FilterInputIO","constructor","queue","f","awaitShutdown","capacity","isShutdown","shutdown","size","take","takeAll","unsafeSize","unsafeOffer","a","Error","offer","tsplus_module_1","flatMap","b","fileName_1","succeedNow","offerAll","as","ms","filtered","tsplus_module_2","compact","isEmpty","foreach","map","tsplus_module_3","just","nothing","takeUpTo","max","__tsplusTrace","filterInput","FilterInputEnqueueIO","_a","_b","filterInputEnqueueIO"],"sources":["../../../_src/Queue/api/filterInputIO.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -15,32 +15,38 @@ class FilterOutputIO extends QueueInternal {
15
15
  this.isShutdown = this.queue.isShutdown;
16
16
  this.shutdown = this.queue.shutdown;
17
17
  this.size = this.queue.size;
18
- this.take = tsplus_module_1.flatMap(b => tsplus_module_1.flatMap(p => p ? tsplus_module_1.succeedNow(b, fileName_1 + ":32:48") : this.take, fileName_1 + ":32:22")(this.f(b)), fileName_1 + ":31:60")(this.queue.take);
19
- this.takeAll = tsplus_module_1.flatMap(bs => tsplus_module_1.filter(bs, this.f, fileName_1 + ":35:90"), fileName_1 + ":35:72")(this.queue.takeAll);
18
+ this.take = tsplus_module_1.flatMap(b => tsplus_module_1.flatMap(p => p ? tsplus_module_1.succeedNow(b, fileName_1 + ":40:48") : this.take, fileName_1 + ":40:22")(this.f(b)), fileName_1 + ":39:60")(this.queue.take);
19
+ this.takeAll = tsplus_module_1.flatMap(bs => tsplus_module_1.filter(bs, this.f, fileName_1 + ":43:90"), fileName_1 + ":43:72")(this.queue.takeAll);
20
+ }
21
+ get unsafeSize() {
22
+ return this.queue.unsafeSize;
23
+ }
24
+ unsafeOffer(a) {
25
+ throw new Error("Cannot unsafely offer to an effectful Queue");
20
26
  }
21
27
  offer(a) {
22
- return this.queue.offer(a, fileName_1 + ":20:28");
28
+ return this.queue.offer(a, fileName_1 + ":28:28");
23
29
  }
24
30
  offerAll(as) {
25
- return this.queue.offerAll(as, fileName_1 + ":24:31");
31
+ return this.queue.offerAll(as, fileName_1 + ":32:31");
26
32
  }
27
33
  loop(max, acc) {
28
34
  return tsplus_module_1.flatMap(bs => {
29
35
  if (tsplus_module_2.isEmpty(bs)) {
30
- return tsplus_module_1.succeedNow(acc, fileName_1 + ":40:29");
36
+ return tsplus_module_1.succeedNow(acc, fileName_1 + ":48:29");
31
37
  }
32
38
  return tsplus_module_1.flatMap(filtered => {
33
39
  const length = filtered.length;
34
40
  if (length === max) {
35
- return tsplus_module_1.succeedNow(tsplus_module_2.concat(filtered)(acc), fileName_1 + ":47:31");
41
+ return tsplus_module_1.succeedNow(tsplus_module_2.concat(filtered)(acc), fileName_1 + ":55:31");
36
42
  } else {
37
43
  return this.loop(max - length, tsplus_module_2.concat(filtered)(acc));
38
44
  }
39
- }, fileName_1 + ":43:43")(tsplus_module_1.filter(bs, this.f, fileName_1 + ":43:23"));
40
- }, fileName_1 + ":38:44")(this.queue.takeUpTo(max, fileName_1 + ":38:31"));
45
+ }, fileName_1 + ":51:43")(tsplus_module_1.filter(bs, this.f, fileName_1 + ":51:23"));
46
+ }, fileName_1 + ":46:44")(this.queue.takeUpTo(max, fileName_1 + ":46:31"));
41
47
  }
42
48
  takeUpTo(n) {
43
- return tsplus_module_1.defer(() => this.loop(n, tsplus_module_3.empty()), fileName_1 + ":56:20");
49
+ return tsplus_module_1.defer(() => this.loop(n, tsplus_module_3.empty()), fileName_1 + ":64:20");
44
50
  }
45
51
  }
46
52
  /**
@@ -71,26 +77,32 @@ class FilterOutputDequeueIO {
71
77
  this.isShutdown = this.queue.isShutdown;
72
78
  this.shutdown = this.queue.shutdown;
73
79
  this.size = this.queue.size;
74
- this.take = tsplus_module_1.flatMap(b => tsplus_module_1.flatMap(p => p ? tsplus_module_1.succeedNow(b, fileName_1 + ":108:48") : this.take, fileName_1 + ":108:22")(this.f(b)), fileName_1 + ":107:60")(this.queue.take);
75
- this.takeAll = tsplus_module_1.flatMap(bs => tsplus_module_1.filter(bs, this.f, fileName_1 + ":111:90"), fileName_1 + ":111:72")(this.queue.takeAll);
80
+ this.take = tsplus_module_1.flatMap(b => tsplus_module_1.flatMap(p => p ? tsplus_module_1.succeedNow(b, fileName_1 + ":124:48") : this.take, fileName_1 + ":124:22")(this.f(b)), fileName_1 + ":123:60")(this.queue.take);
81
+ this.takeAll = tsplus_module_1.flatMap(bs => tsplus_module_1.filter(bs, this.f, fileName_1 + ":127:90"), fileName_1 + ":127:72")(this.queue.takeAll);
82
+ }
83
+ get unsafeSize() {
84
+ return this.queue.unsafeSize;
85
+ }
86
+ unsafeOffer(a) {
87
+ throw new Error("Cannot unsafely offer to an effectful Queue");
76
88
  }
77
89
  loop(max, acc) {
78
90
  return tsplus_module_1.flatMap(bs => {
79
91
  if (tsplus_module_2.isEmpty(bs)) {
80
- return tsplus_module_1.succeedNow(acc, fileName_1 + ":116:29");
92
+ return tsplus_module_1.succeedNow(acc, fileName_1 + ":132:29");
81
93
  }
82
94
  return tsplus_module_1.flatMap(filtered => {
83
95
  const length = filtered.length;
84
96
  if (length === max) {
85
- return tsplus_module_1.succeedNow(tsplus_module_2.concat(filtered)(acc), fileName_1 + ":123:31");
97
+ return tsplus_module_1.succeedNow(tsplus_module_2.concat(filtered)(acc), fileName_1 + ":139:31");
86
98
  } else {
87
99
  return this.loop(max - length, tsplus_module_2.concat(filtered)(acc));
88
100
  }
89
- }, fileName_1 + ":119:43")(tsplus_module_1.filter(bs, this.f, fileName_1 + ":119:23"));
90
- }, fileName_1 + ":114:44")(this.queue.takeUpTo(max, fileName_1 + ":114:31"));
101
+ }, fileName_1 + ":135:43")(tsplus_module_1.filter(bs, this.f, fileName_1 + ":135:23"));
102
+ }, fileName_1 + ":130:44")(this.queue.takeUpTo(max, fileName_1 + ":130:31"));
91
103
  }
92
104
  takeUpTo(n) {
93
- return tsplus_module_1.defer(() => this.loop(n, tsplus_module_3.empty()), fileName_1 + ":132:20");
105
+ return tsplus_module_1.defer(() => this.loop(n, tsplus_module_3.empty()), fileName_1 + ":148:20");
94
106
  }
95
107
  }
96
108
  _a = QueueTypeId, _b = DequeueTypeId;
@@ -1 +1 @@
1
- {"version":3,"file":"filterOutputIO.mjs","names":["filterOutputIO","filterOutputIO_1","concrete","DequeueTypeId","QueueInternal","QueueTypeId","QueueVariance","FilterOutputIO","constructor","queue","f","awaitShutdown","capacity","isShutdown","shutdown","size","take","tsplus_module_1","flatMap","b","p","succeedNow","fileName_1","takeAll","bs","filter","offer","a","offerAll","as","loop","max","acc","tsplus_module_2","isEmpty","filtered","length","concat","takeUpTo","n","defer","tsplus_module_3","empty","__tsplusTrace","filterOutput","FilterOutputDequeueIO","_a","_b","filterOutputDequeueIO"],"sources":["../../../_src/Queue/api/filterOutputIO.ts"],"sourcesContent":[null],"mappings":";;;;;aA8DgBA,cAAc,GAAAC,gBAAA;AA5D9B,SAASC,QAAQ,EAAEC,aAAa,EAAEC,aAAa,EAAEC,WAAW,EAAEC,aAAa,QAAQ,4BAA4B;AAE/G,MAAMC,cAA+C,SAAQH,aAA+C;EAC1GI,YACWC,KAA0C,EAC1CC,CAAkC;IAE3C,KAAK,EAAE;IAHE,KAAAD,KAAK,GAALA,KAAK;IACL,KAAAC,CAAC,GAADA,CAAC;IAKZ,KAAAC,aAAa,GAAc,IAAI,CAACF,KAAK,CAACE,aAAa;IAEnD,KAAAC,QAAQ,GAAW,IAAI,CAACH,KAAK,CAACG,QAAQ;IAEtC,KAAAC,UAAU,GAAiB,IAAI,CAACJ,KAAK,CAACI,UAAU;IAUhD,KAAAC,QAAQ,GAAc,IAAI,CAACL,KAAK,CAACK,QAAQ;IAEzC,KAAAC,IAAI,GAAgB,IAAI,CAACN,KAAK,CAACM,IAAI;IAEnC,KAAAC,IAAI,GAA8BC,eAAA,CAAAC,OAAA,CAAyBC,CAAC,IAC1DF,eAAA,CAAAC,OAAA,CAAmBE,CAAC,IAAMA,CAAC,GAAGH,eAAA,CAAAI,UAAA,CAAcF,CAAC,EAAAG,UAAA,YAAC,GAAG,IAAI,CAACN,IAAK,EAAAM,UAAA,aAA3D,IAAI,CAACZ,CAAC,CAACS,CAAC,CAAC,CAAmD,EAAAG,UAAA,aAD5B,IAAI,CAACb,KAAK,CAACO,IAAI,CAEhD;IAED,KAAAO,OAAO,GAAoCN,eAAA,CAAAC,OAAA,CAA4BM,EAAE,IAAKP,eAAA,CAAAQ,MAAA,CAAUD,EAAE,EAAE,IAAI,CAACd,CAAC,EAAAY,UAAA,YAAC,EAAAA,UAAA,aAAxD,IAAI,CAACb,KAAK,CAACc,OAAO,CAAuC;EAxBpG;EAQAG,KAAKA,CAACC,CAAI;IACR,OAAO,IAAI,CAAClB,KAAK,CAACiB,KAAK,CAACC,CAAC,EAAAL,UAAA,YAAC;EAC5B;EAEAM,QAAQA,CAACC,EAAe;IACtB,OAAO,IAAI,CAACpB,KAAK,CAACmB,QAAQ,CAACC,EAAE,EAAAP,UAAA,YAAC;EAChC;EAYAQ,IAAIA,CAACC,GAAW,EAAEC,GAAY;IAC5B,OAAOf,eAAA,CAAAC,OAAA,CAAkCM,EAAE,IAAI;MAC7C,IAAAS,eAAA,CAAAC,OAAA,CAAIV,EAAE,GAAU;QACd,OAAOP,eAAA,CAAAI,UAAA,CAAcW,GAAG,EAAAV,UAAA,YAAC;MAC3B;MAEA,OAAOL,eAAA,CAAAC,OAAA,CAA+BiB,QAAQ,IAAI;QAChD,MAAMC,MAAM,GAAGD,QAAQ,CAACC,MAAM;QAE9B,IAAIA,MAAM,KAAKL,GAAG,EAAE;UAClB,OAAOd,eAAA,CAAAI,UAAA,CAAcY,eAAA,CAAAI,MAAA,CAAWF,QAAQ,EAAnBH,GAAG,CAAiB,EAAAV,UAAA,YAAC;QAC5C,CAAC,MAAM;UACL,OAAO,IAAI,CAACQ,IAAI,CAACC,GAAG,GAAGK,MAAM,EAAEH,eAAA,CAAAI,MAAA,CAAWF,QAAQ,EAAnBH,GAAG,CAAiB,CAAC;QACtD;MACF,CAAC,EAAAV,UAAA,aARML,eAAA,CAAAQ,MAAA,CAAUD,EAAE,EAAE,IAAI,CAACd,CAAC,EAAAY,UAAA,YAAC,CAQ1B;IACJ,CAAC,EAAAA,UAAA,aAdM,IAAI,CAACb,KAAK,CAAC6B,QAAQ,CAACP,GAAG,EAAAT,UAAA,YAAC,CAc7B;EACJ;EAEAgB,QAAQA,CAACC,CAAS;IAChB,OAAOtB,eAAA,CAAAuB,KAAA,OAAS,IAAI,CAACV,IAAI,CAACS,CAAC,EAAEE,eAAA,CAAAC,KAAA,EAAY,CAAC,EAAApB,UAAA,YAAC;EAC7C;;AAGF;;;AAGA,SAAArB,iBAA4CS,CAAkC,EAAEiC,aAAsB;EACpG,OAA2BlC,KAAmC,IAA8C;IAC1GP,QAAQ,CAACO,KAAK,CAAC;IACf,OAAO,IAAIF,cAAc,CAACE,KAAK,EAAEC,CAAC,CAAC;EACrC,CAAC;AACH;AAEA;;;AAGA,OAAM,SAAUkC,YAAYA,CAAIxB,CAAe,EAAEuB,aAAsB;EACrE,OAA2BlC,KAAmC,IAAkC;IAC9F,OAAOR,gBAAA,CAAsBkB,CAAC,IAAKF,eAAA,CAAAI,UAAA,CAAcD,CAAC,CAACD,CAAC,CAAC,EAFRwB,aAAA,CAES,EAFTA,aAAA,EAEtClC,KAAK,CAA2C;EACzD,CAAC;AACH;AAEA,MAAMoC,qBAAqB;EAazBrC,YACWC,KAA6C,EAC7CC,CAAkC;IADlC,KAAAD,KAAK,GAALA,KAAK;IACL,KAAAC,CAAC,GAADA,CAAC;IAZH,KAAAoC,EAAA,CAAa,GAAoBzC,WAAW;IAC5C,KAAA0C,EAAA,CAAe,GAAkB5C,aAAa;IAcvD,KAAAQ,aAAa,GAAc,IAAI,CAACF,KAAK,CAACE,aAAa;IAEnD,KAAAC,QAAQ,GAAW,IAAI,CAACH,KAAK,CAACG,QAAQ;IAEtC,KAAAC,UAAU,GAAiB,IAAI,CAACJ,KAAK,CAACI,UAAU;IAEhD,KAAAC,QAAQ,GAAc,IAAI,CAACL,KAAK,CAACK,QAAQ;IAEzC,KAAAC,IAAI,GAAgB,IAAI,CAACN,KAAK,CAACM,IAAI;IAEnC,KAAAC,IAAI,GAA8BC,eAAA,CAAAC,OAAA,CAAyBC,CAAC,IAC1DF,eAAA,CAAAC,OAAA,CAAmBE,CAAC,IAAMA,CAAC,GAAGH,eAAA,CAAAI,UAAA,CAAcF,CAAC,EAAAG,UAAA,aAAC,GAAG,IAAI,CAACN,IAAK,EAAAM,UAAA,cAA3D,IAAI,CAACZ,CAAC,CAACS,CAAC,CAAC,CAAmD,EAAAG,UAAA,cAD5B,IAAI,CAACb,KAAK,CAACO,IAAI,CAEhD;IAED,KAAAO,OAAO,GAAoCN,eAAA,CAAAC,OAAA,CAA4BM,EAAE,IAAKP,eAAA,CAAAQ,MAAA,CAAUD,EAAE,EAAE,IAAI,CAACd,CAAC,EAAAY,UAAA,aAAC,EAAAA,UAAA,cAAxD,IAAI,CAACb,KAAK,CAACc,OAAO,CAAuC;EAhBjG;EAkBHO,IAAIA,CAACC,GAAW,EAAEC,GAAY;IAC5B,OAAOf,eAAA,CAAAC,OAAA,CAAkCM,EAAE,IAAI;MAC7C,IAAAS,eAAA,CAAAC,OAAA,CAAIV,EAAE,GAAU;QACd,OAAOP,eAAA,CAAAI,UAAA,CAAcW,GAAG,EAAAV,UAAA,aAAC;MAC3B;MAEA,OAAOL,eAAA,CAAAC,OAAA,CAA+BiB,QAAQ,IAAI;QAChD,MAAMC,MAAM,GAAGD,QAAQ,CAACC,MAAM;QAE9B,IAAIA,MAAM,KAAKL,GAAG,EAAE;UAClB,OAAOd,eAAA,CAAAI,UAAA,CAAcY,eAAA,CAAAI,MAAA,CAAWF,QAAQ,EAAnBH,GAAG,CAAiB,EAAAV,UAAA,aAAC;QAC5C,CAAC,MAAM;UACL,OAAO,IAAI,CAACQ,IAAI,CAACC,GAAG,GAAGK,MAAM,EAAEH,eAAA,CAAAI,MAAA,CAAWF,QAAQ,EAAnBH,GAAG,CAAiB,CAAC;QACtD;MACF,CAAC,EAAAV,UAAA,cARML,eAAA,CAAAQ,MAAA,CAAUD,EAAE,EAAE,IAAI,CAACd,CAAC,EAAAY,UAAA,aAAC,CAQ1B;IACJ,CAAC,EAAAA,UAAA,cAdM,IAAI,CAACb,KAAK,CAAC6B,QAAQ,CAACP,GAAG,EAAAT,UAAA,aAAC,CAc7B;EACJ;EAEAgB,QAAQA,CAACC,CAAS;IAChB,OAAOtB,eAAA,CAAAuB,KAAA,OAAS,IAAI,CAACV,IAAI,CAACS,CAAC,EAAEE,eAAA,CAAAC,KAAA,EAAY,CAAC,EAAApB,UAAA,aAAC;EAC7C;;KAnDUjB,WAAW,EAAA0C,EAAA,GACX5C,aAAa;AAqDzB;;;AAGA,OAAM,SAAU6C,qBAAqBA,CAActC,CAAkC,EAAEiC,aAAsB;EAC3G,OAA2BlC,KAAqC,IAAgD;IAC9GP,QAAQ,CAACO,KAAK,CAAC;IACf,OAAO,IAAIoC,qBAAqB,CAACpC,KAAK,EAAEC,CAAC,CAAC;EAC5C,CAAC;AACH"}
1
+ {"version":3,"file":"filterOutputIO.mjs","names":["filterOutputIO","filterOutputIO_1","concrete","DequeueTypeId","QueueInternal","QueueTypeId","QueueVariance","FilterOutputIO","constructor","queue","f","awaitShutdown","capacity","isShutdown","shutdown","size","take","tsplus_module_1","flatMap","b","p","succeedNow","fileName_1","takeAll","bs","filter","unsafeSize","unsafeOffer","a","Error","offer","offerAll","as","loop","max","acc","tsplus_module_2","isEmpty","filtered","length","concat","takeUpTo","n","defer","tsplus_module_3","empty","__tsplusTrace","filterOutput","FilterOutputDequeueIO","_a","_b","filterOutputDequeueIO"],"sources":["../../../_src/Queue/api/filterOutputIO.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -28,6 +28,17 @@ export function isShutdown(queue, __tsplusTrace) {
28
28
  concrete(queue);
29
29
  return queue.isShutdown;
30
30
  }
31
+ /**
32
+ * Places one value in the queue.
33
+ *
34
+ * @tsplus pipeable fncts.io.Queue unsafeOffer
35
+ */
36
+ export function unsafeOffer(a, __tsplusTrace) {
37
+ return queue => {
38
+ concrete(queue);
39
+ return queue.unsafeOffer(a);
40
+ };
41
+ }
31
42
  /**
32
43
  * Places one value in the queue.
33
44
  *
@@ -84,6 +95,13 @@ export function size(queue, __tsplusTrace) {
84
95
  concrete(queue);
85
96
  return queue.size;
86
97
  }
98
+ /**
99
+ * @tsplus getter fncts.io.Queue unsafeSize
100
+ */
101
+ export function unsafeSize(queue, __tsplusTrace) {
102
+ concrete(queue);
103
+ return queue.unsafeSize;
104
+ }
87
105
  /**
88
106
  * Removes the oldest value in the queue. If the queue is empty, this will
89
107
  * return a computation that resumes when an item has been added to the queue.
@@ -1 +1 @@
1
- {"version":3,"file":"operations.mjs","names":["concrete","awaitShutdown","queue","__tsplusTrace","capacity","isShutdown","offer","a","offerAll","as","shutdown","size","take","takeAll","takeUpTo","n"],"sources":["../../../_src/Queue/api/operations.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,QAAQ,QAAQ,4BAA4B;AAErD;;;;;;;AAOA,OAAM,SAAUC,aAAaA,CAC3BC,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACD,aAAa;AAC5B;AAEA;;;;;AAKA,OAAM,SAAUG,QAAQA,CACtBF,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACE,QAAQ;AACvB;AAEA;;;;;AAKA,OAAM,SAAUC,UAAUA,CACxBH,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACG,UAAU;AACzB;AAEA;;;;;AAKA,OAAM,SAAUC,KAAKA,CAAIC,CAAI,EAAEJ,aAAsB;EACnD,OAA2BD,KAAqC,IAAyB;IACvFF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACI,KAAK,CAACC,CAAC,EAHOJ,aAAA,CAGN;EACvB,CAAC;AACH;AAEA;;;;;;;;;;;;;;;;;;AAkBA,OAAM,SAAUK,QAAQA,CAAIC,EAAe,EAAEN,aAAsB;EACjE,OAA2BD,KAAqC,IAAI;IAClEF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACM,QAAQ,CAACC,EAAE,EAHiBN,aAAA,CAGhB;EAC3B,CAAC;AACH;AAEA;;;;;;AAMA,OAAM,SAAUO,QAAQA,CAAuBR,KAAyC,EAAEC,aAAsB;EAC9GH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACQ,QAAQ;AACvB;AAEA;;;;;;;AAOA,OAAM,SAAUC,IAAIA,CAAuBT,KAAyC,EAAEC,aAAsB;EAC1GH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACS,IAAI;AACnB;AAEA;;;;;;AAMA,OAAM,SAAUC,IAAIA,CAClBV,KAAqC,EACrCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACU,IAAI;AACnB;AAEA;;;;;;AAMA,OAAM,SAAUC,OAAOA,CAAuBX,KAAqC,EAAEC,aAAsB;EACzGH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACW,OAAO;AACtB;AAEA;;;;;AAKA,OAAM,SAAUC,QAAQA,CAACC,CAAS,EAAEZ,aAAsB;EACxD,OAA8BD,KAAmC,IAAI;IACnEF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACY,QAAQ,CAACC,CAAC,EAHSZ,aAAA,CAGR;EAC1B,CAAC;AACH"}
1
+ {"version":3,"file":"operations.mjs","names":["concrete","awaitShutdown","queue","__tsplusTrace","capacity","isShutdown","unsafeOffer","a","offer","offerAll","as","shutdown","size","unsafeSize","take","takeAll","takeUpTo","n"],"sources":["../../../_src/Queue/api/operations.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,QAAQ,QAAQ,4BAA4B;AAErD;;;;;;;AAOA,OAAM,SAAUC,aAAaA,CAC3BC,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACD,aAAa;AAC5B;AAEA;;;;;AAKA,OAAM,SAAUG,QAAQA,CACtBF,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACE,QAAQ;AACvB;AAEA;;;;;AAKA,OAAM,SAAUC,UAAUA,CACxBH,KAAyC,EACzCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACG,UAAU;AACzB;AAEA;;;;;AAKA,OAAM,SAAUC,WAAWA,CAAIC,CAAI,EAAEJ,aAAsB;EACzD,OAA2BD,KAAqC,IAAa;IAC3EF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACI,WAAW,CAACC,CAAC,CAAC;EAC7B,CAAC;AACH;AAEA;;;;;AAKA,OAAM,SAAUC,KAAKA,CAAID,CAAI,EAAEJ,aAAsB;EACnD,OAA2BD,KAAqC,IAAyB;IACvFF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACM,KAAK,CAACD,CAAC,EAHOJ,aAAA,CAGN;EACvB,CAAC;AACH;AAEA;;;;;;;;;;;;;;;;;;AAkBA,OAAM,SAAUM,QAAQA,CAAIC,EAAe,EAAEP,aAAsB;EACjE,OAA2BD,KAAqC,IAAI;IAClEF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACO,QAAQ,CAACC,EAAE,EAHiBP,aAAA,CAGhB;EAC3B,CAAC;AACH;AAEA;;;;;;AAMA,OAAM,SAAUQ,QAAQA,CAAuBT,KAAyC,EAAEC,aAAsB;EAC9GH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACS,QAAQ;AACvB;AAEA;;;;;;;AAOA,OAAM,SAAUC,IAAIA,CAAuBV,KAAyC,EAAEC,aAAsB;EAC1GH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACU,IAAI;AACnB;AAEA;;;AAGA,OAAM,SAAUC,UAAUA,CAAuBX,KAAyC,EAAEC,aAAsB;EAChHH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACW,UAAU;AACzB;AAEA;;;;;;AAMA,OAAM,SAAUC,IAAIA,CAClBZ,KAAqC,EACrCC,aAAsB;EAEtBH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACY,IAAI;AACnB;AAEA;;;;;;AAMA,OAAM,SAAUC,OAAOA,CAAuBb,KAAqC,EAAEC,aAAsB;EACzGH,QAAQ,CAACE,KAAK,CAAC;EACf,OAAOA,KAAK,CAACa,OAAO;AACtB;AAEA;;;;;AAKA,OAAM,SAAUC,QAAQA,CAACC,CAAS,EAAEd,aAAsB;EACxD,OAA8BD,KAAmC,IAAI;IACnEF,QAAQ,CAACE,KAAK,CAAC;IACf,OAAOA,KAAK,CAACc,QAAQ,CAACC,CAAC,EAHSd,aAAA,CAGR;EAC1B,CAAC;AACH"}
@@ -1,7 +1,8 @@
1
1
  const fileName_1 = "(@fncts/io) src/Queue/api/zipWithIO.ts";
2
2
  import * as tsplus_module_1 from "@fncts/io/IO/api";
3
- import * as tsplus_module_2 from "@fncts/io/IO/api/zipConcurrent";
4
- import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api";
3
+ import * as tsplus_module_2 from "@fncts/base/data/Maybe/api";
4
+ import * as tsplus_module_3 from "@fncts/io/IO/api/zipConcurrent";
5
+ import * as tsplus_module_4 from "@fncts/base/collection/immutable/Conc/api";
5
6
  export const zipWithIO = zipWithIO_1;
6
7
  export const zipWith = zipWith_1;
7
8
  import { tuple } from "@fncts/base/data/function";
@@ -15,19 +16,25 @@ class ZipWithIO extends QueueInternal {
15
16
  this.awaitShutdown = tsplus_module_1.flatMap(() => this.fb.awaitShutdown, fileName_1 + ":20:59")(this.fa.awaitShutdown);
16
17
  this.capacity = Math.min(this.fa.capacity, this.fb.capacity);
17
18
  this.isShutdown = this.fa.isShutdown;
18
- this.shutdown = tsplus_module_2.zipWithConcurrent(this.fb.shutdown, () => undefined, fileName_1 + ":34:59")(this.fa.shutdown);
19
- this.size = tsplus_module_2.zipWithConcurrent(this.fb.size, (x, y) => Math.max(x, y), fileName_1 + ":36:53")(this.fa.size);
20
- this.take = tsplus_module_1.flatMap(([b, c]) => this.f(b, c), fileName_1 + ":40:13")(tsplus_module_2.zipConcurrent(this.fb.take, fileName_1 + ":39:19")(this.fa.take));
21
- this.takeAll = tsplus_module_1.flatMap(([bs, cs]) => tsplus_module_1.foreach(tsplus_module_3.zip(cs)(bs), ([b, c]) => this.f(b, c), fileName_1 + ":44:38"), fileName_1 + ":44:13")(tsplus_module_2.zipConcurrent(this.fb.takeAll, fileName_1 + ":43:19")(this.fa.takeAll));
19
+ this.shutdown = tsplus_module_3.zipWithConcurrent(this.fb.shutdown, () => undefined, fileName_1 + ":42:59")(this.fa.shutdown);
20
+ this.size = tsplus_module_3.zipWithConcurrent(this.fb.size, (x, y) => Math.max(x, y), fileName_1 + ":44:53")(this.fa.size);
21
+ this.take = tsplus_module_1.flatMap(([b, c]) => this.f(b, c), fileName_1 + ":48:13")(tsplus_module_3.zipConcurrent(this.fb.take, fileName_1 + ":47:19")(this.fa.take));
22
+ this.takeAll = tsplus_module_1.flatMap(([bs, cs]) => tsplus_module_1.foreach(tsplus_module_4.zip(cs)(bs), ([b, c]) => this.f(b, c), fileName_1 + ":52:38"), fileName_1 + ":52:13")(tsplus_module_3.zipConcurrent(this.fb.takeAll, fileName_1 + ":51:19")(this.fa.takeAll));
23
+ }
24
+ get unsafeSize() {
25
+ return tsplus_module_2.zipWith(this.fb.unsafeSize, (a, b) => Math.max(a, b))(this.fa.unsafeSize);
26
+ }
27
+ unsafeOffer(a) {
28
+ throw new Error("Cannot unsafely offer to an effectful Queue");
22
29
  }
23
30
  offer(a) {
24
- return tsplus_module_2.zipWithConcurrent(this.fb.offer(a, fileName_1 + ":27:60"), (x, y) => x && y, fileName_1 + ":27:46")(this.fa.offer(a, fileName_1 + ":27:25"));
31
+ return tsplus_module_3.zipWithConcurrent(this.fb.offer(a, fileName_1 + ":35:60"), (x, y) => x && y, fileName_1 + ":35:46")(this.fa.offer(a, fileName_1 + ":35:25"));
25
32
  }
26
33
  offerAll(as) {
27
- return tsplus_module_2.zipWithConcurrent(this.fb.offerAll(as, fileName_1 + ":31:67"), (x, y) => x && y, fileName_1 + ":31:50")(this.fa.offerAll(as, fileName_1 + ":31:28"));
34
+ return tsplus_module_3.zipWithConcurrent(this.fb.offerAll(as, fileName_1 + ":39:67"), (x, y) => x && y, fileName_1 + ":39:50")(this.fa.offerAll(as, fileName_1 + ":39:28"));
28
35
  }
29
36
  takeUpTo(max) {
30
- return tsplus_module_1.flatMap(([bs, cs]) => tsplus_module_1.foreach(tsplus_module_3.zip(cs)(bs), ([b, c]) => this.f(b, c), fileName_1 + ":50:40"), fileName_1 + ":50:15")(tsplus_module_2.zipConcurrent(this.fb.takeUpTo(max, fileName_1 + ":49:38"), fileName_1 + ":49:21")(this.fa.takeUpTo(max, fileName_1 + ":48:16")));
37
+ return tsplus_module_1.flatMap(([bs, cs]) => tsplus_module_1.foreach(tsplus_module_4.zip(cs)(bs), ([b, c]) => this.f(b, c), fileName_1 + ":58:40"), fileName_1 + ":58:15")(tsplus_module_3.zipConcurrent(this.fb.takeUpTo(max, fileName_1 + ":57:38"), fileName_1 + ":57:21")(this.fa.takeUpTo(max, fileName_1 + ":56:16")));
31
38
  }
32
39
  }
33
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zipWithIO.mjs","names":["zipWithIO","zipWithIO_1","zipWith","zipWith_1","tuple","concrete","QueueInternal","ZipWithIO","constructor","fa","fb","f","awaitShutdown","tsplus_module_1","flatMap","fileName_1","capacity","Math","min","isShutdown","shutdown","tsplus_module_2","zipWithConcurrent","undefined","size","x","y","max","take","b","c","zipConcurrent","takeAll","bs","cs","foreach","tsplus_module_3","zip","offer","a","offerAll","as","takeUpTo","__tsplusTrace","that","queue","succeedNow"],"sources":["../../../_src/Queue/api/zipWithIO.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"zipWithIO.mjs","names":["zipWithIO","zipWithIO_1","zipWith","zipWith_1","tuple","concrete","QueueInternal","ZipWithIO","constructor","fa","fb","f","awaitShutdown","tsplus_module_1","flatMap","fileName_1","capacity","Math","min","isShutdown","shutdown","tsplus_module_3","zipWithConcurrent","undefined","size","x","y","max","take","b","c","zipConcurrent","takeAll","bs","cs","foreach","tsplus_module_4","zip","unsafeSize","tsplus_module_2","a","unsafeOffer","Error","offer","offerAll","as","takeUpTo","__tsplusTrace","that","queue","succeedNow"],"sources":["../../../_src/Queue/api/zipWithIO.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":["EnqueueTypeId","Symbol","for","DequeueTypeId","QueueVariance","QueueTypeId","Queue","concrete","_","QueueInternal","constructor","_a","_b","_c"],"sources":["../../_src/Queue/definition.ts"],"sourcesContent":[null],"mappings":";AAAA,OAAO,MAAMA,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AAGjE,OAAO,MAAMC,aAAa,gBAAGF,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AAGjE,OAAO,MAAME,aAAa,gBAAGH,MAAM,CAACC,GAAG,CAAC,yBAAyB,CAAC;AAGlE,OAAO,MAAMG,WAAW,gBAAGJ,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAkDvD,OAAO,MAAMI,KAAK,GAAa,EAAE;AAiBjC,OAAM,SAAUC,QAAQA,CAACC,CAAM;EAC7B;AAAA;AAGF;;;;;;;AAOA,OAAM,MAAgBC,aAAa;EAAnCC,YAAA;IAGW,KAAAC,EAAA,CAAa,GAAoBN,WAAW;IAC5C,KAAAO,EAAA,CAAe,GAAkBT,aAAa;IAC9C,KAAAU,EAAA,CAAe,GAAkBb,aAAa;EAsEzD;;KAxEYK,WAAW,EAAAO,EAAA,GACXT,aAAa,EAAAU,EAAA,GACbb,aAAa"}
1
+ {"version":3,"file":"definition.mjs","names":["EnqueueTypeId","Symbol","for","DequeueTypeId","QueueVariance","QueueTypeId","Queue","concrete","_","QueueInternal","constructor","_a","_b","_c"],"sources":["../../_src/Queue/definition.ts"],"sourcesContent":[null],"mappings":";AAAA,OAAO,MAAMA,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AAGjE,OAAO,MAAMC,aAAa,gBAAGF,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AAGjE,OAAO,MAAME,aAAa,gBAAGH,MAAM,CAACC,GAAG,CAAC,yBAAyB,CAAC;AAGlE,OAAO,MAAMG,WAAW,gBAAGJ,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAkDvD,OAAO,MAAMI,KAAK,GAAa,EAAE;AAiBjC,OAAM,SAAUC,QAAQA,CAACC,CAAM;EAC7B;AAAA;AAGF;;;;;;;AAOA,OAAM,MAAgBC,aAAa;EAAnCC,YAAA;IAGW,KAAAC,EAAA,CAAa,GAAoBN,WAAW;IAC5C,KAAAO,EAAA,CAAe,GAAkBT,aAAa;IAC9C,KAAAU,EAAA,CAAe,GAAkBb,aAAa;EAwEzD;;KA1EYK,WAAW,EAAAO,EAAA,GACXT,aAAa,EAAAU,EAAA,GACbb,aAAa"}
@@ -1,12 +1,13 @@
1
1
  const fileName_1 = "(@fncts/io) src/Queue/internal.ts";
2
2
  import * as tsplus_module_1 from "@fncts/io/Future/api";
3
3
  import * as tsplus_module_2 from "@fncts/io/IO/api";
4
- import * as tsplus_module_3 from "@fncts/io/IO/api/interrupt";
5
- import * as tsplus_module_4 from "@fncts/base/collection/immutable/Conc/constructors";
6
- import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/api/empty";
7
- import * as tsplus_module_6 from "@fncts/base/collection/immutable/Conc/api";
8
- import * as tsplus_module_7 from "@fncts/io/IO/api/foreachConcurrent";
9
- import * as tsplus_module_8 from "@fncts/io/Future/constructors";
4
+ import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
5
+ import * as tsplus_module_4 from "@fncts/io/IO/api/interrupt";
6
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/constructors";
7
+ import * as tsplus_module_6 from "@fncts/base/collection/immutable/Conc/api/empty";
8
+ import * as tsplus_module_7 from "@fncts/base/collection/immutable/Conc/api";
9
+ import * as tsplus_module_8 from "@fncts/io/IO/api/foreachConcurrent";
10
+ import * as tsplus_module_9 from "@fncts/io/Future/constructors";
10
11
  import { AtomicBoolean } from "@fncts/base/internal/AtomicBoolean";
11
12
  import { unbounded } from "@fncts/io/internal/MutableQueue";
12
13
  import { QueueInternal } from "@fncts/io/Queue/definition";
@@ -23,143 +24,172 @@ class UnsafeQueue extends QueueInternal {
23
24
  this.isShutdown = tsplus_module_2.succeed(() => this.shutdownFlag.get, fileName_1 + ":23:40");
24
25
  this.shutdown = tsplus_module_2.flatMap(id => {
25
26
  this.shutdownFlag.set(true);
26
- return tsplus_module_2.whenIO(tsplus_module_1.succeed_(undefined, fileName_1 + ":82:40")(this.shutdownHook), fileName_1 + ":82:14")(tsplus_module_2.flatMap(() => this.strategy.shutdown, fileName_1 + ":81:15")(tsplus_module_7.foreachConcurrent(unsafePollAll(this.takers), fiber => tsplus_module_1.interruptAs(id, fileName_1 + ":80:89")(fiber), fileName_1 + ":80:32")));
27
- }, fileName_1 + ":77:43")(tsplus_module_2.fiberId);
27
+ return tsplus_module_2.whenIO(tsplus_module_1.succeed_(undefined, fileName_1 + ":114:40")(this.shutdownHook), fileName_1 + ":114:14")(tsplus_module_2.flatMap(() => this.strategy.shutdown, fileName_1 + ":113:15")(tsplus_module_8.foreachConcurrent(unsafePollAll(this.takers), fiber => tsplus_module_1.interruptAs(id, fileName_1 + ":112:89")(fiber), fileName_1 + ":112:32")));
28
+ }, fileName_1 + ":109:43")(tsplus_module_2.fiberId);
28
29
  this.size = tsplus_module_2.defer(() => {
29
30
  if (this.shutdownFlag.get) {
30
- return tsplus_module_3.interrupt;
31
+ return tsplus_module_4.interrupt;
31
32
  } else {
32
- return tsplus_module_2.succeedNow(this.queue.size - this.takers.size + this.strategy.surplusSize, fileName_1 + ":89:27");
33
+ return tsplus_module_2.succeedNow(this.queue.size - this.takers.size + this.strategy.surplusSize, fileName_1 + ":121:27");
33
34
  }
34
- }, fileName_1 + ":85:31");
35
+ }, fileName_1 + ":117:31");
35
36
  this.take = tsplus_module_2.flatMap(fiberId => tsplus_module_2.defer(() => {
36
37
  if (this.shutdownFlag.get) {
37
- return tsplus_module_3.interrupt;
38
+ return tsplus_module_4.interrupt;
38
39
  }
39
40
  const item = this.queue.dequeue(undefined);
40
41
  if (item != null) {
41
- this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":102:46");
42
- return tsplus_module_2.succeedNow(item, fileName_1 + ":103:29");
42
+ this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":134:46");
43
+ return tsplus_module_2.succeedNow(item, fileName_1 + ":135:29");
43
44
  } else {
44
- const p = tsplus_module_8.unsafeMake(fiberId);
45
- return tsplus_module_3.onInterrupt(() => tsplus_module_2.succeed(() => unsafeRemove(this.takers, p), fileName_1 + ":115:40"), fileName_1 + ":115:23")(tsplus_module_2.defer(() => {
45
+ const p = tsplus_module_9.unsafeMake(fiberId);
46
+ return tsplus_module_4.onInterrupt(() => tsplus_module_2.succeed(() => unsafeRemove(this.takers, p), fileName_1 + ":147:40"), fileName_1 + ":147:23")(tsplus_module_2.defer(() => {
46
47
  this.takers.enqueue(p);
47
48
  unsafeCompleteTakers(this.strategy, this.queue, this.takers);
48
49
  if (this.shutdownFlag.get) {
49
- return tsplus_module_3.interrupt;
50
+ return tsplus_module_4.interrupt;
50
51
  } else {
51
- return tsplus_module_1.wait(p, fileName_1 + ":113:21");
52
+ return tsplus_module_1.wait(p, fileName_1 + ":145:21");
52
53
  }
53
- }, fileName_1 + ":107:24"));
54
+ }, fileName_1 + ":139:24"));
54
55
  }
55
- }, fileName_1 + ":94:13"), fileName_1 + ":93:49")(tsplus_module_2.fiberId);
56
+ }, fileName_1 + ":126:13"), fileName_1 + ":125:49")(tsplus_module_2.fiberId);
56
57
  this.takeAll = tsplus_module_2.defer(() => {
57
58
  if (this.shutdownFlag.get) {
58
- return tsplus_module_3.interrupt;
59
+ return tsplus_module_4.interrupt;
59
60
  } else {
60
61
  return tsplus_module_2.succeed(() => {
61
62
  const as = unsafePollAll(this.queue);
62
- this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":126:46");
63
+ this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":158:46");
63
64
  return as;
64
- }, fileName_1 + ":124:24");
65
+ }, fileName_1 + ":156:24");
65
66
  }
66
- }, fileName_1 + ":120:48");
67
+ }, fileName_1 + ":152:48");
68
+ }
69
+ get unsafeSize() {
70
+ if (this.shutdownFlag.get) {
71
+ return tsplus_module_3.nothing(fileName_1 + ":27:21");
72
+ }
73
+ return tsplus_module_3.just(this.queue.size - this.takers.size + this.strategy.surplusSize, fileName_1 + ":29:16");
74
+ }
75
+ unsafeOffer(a) {
76
+ if (this.shutdownFlag.get) {
77
+ return false;
78
+ }
79
+ let noRemaining;
80
+ if (this.queue.size === 0) {
81
+ const taker = this.takers.dequeue(undefined);
82
+ if (taker != null) {
83
+ unsafeCompletePromise(taker, a);
84
+ noRemaining = true;
85
+ } else {
86
+ noRemaining = false;
87
+ }
88
+ } else {
89
+ noRemaining = false;
90
+ }
91
+ if (noRemaining) {
92
+ return true;
93
+ }
94
+ const succeeded = this.queue.enqueue(a);
95
+ unsafeCompleteTakers(this.strategy, this.queue, this.takers);
96
+ return succeeded;
67
97
  }
68
98
  offer(a, __tsplusTrace) {
69
99
  return tsplus_module_2.defer(() => {
70
100
  if (this.shutdownFlag.get) {
71
- return tsplus_module_3.interrupt;
101
+ return tsplus_module_4.interrupt;
72
102
  } else {
73
103
  const taker = this.takers.dequeue(undefined);
74
104
  if (taker != null) {
75
105
  unsafeCompletePromise(taker, a);
76
- return tsplus_module_2.succeedNow(true, fileName_1 + ":34:31");
106
+ return tsplus_module_2.succeedNow(true, fileName_1 + ":66:31");
77
107
  } else {
78
108
  const succeeded = this.queue.enqueue(a);
79
109
  if (succeeded) {
80
- return tsplus_module_2.succeedNow(true, fileName_1 + ":39:33");
110
+ return tsplus_module_2.succeedNow(true, fileName_1 + ":71:33");
81
111
  } else {
82
- return this.strategy.handleSurplus(tsplus_module_4.single(a), this.queue, this.takers, this.shutdownFlag, fileName_1 + ":41:47");
112
+ return this.strategy.handleSurplus(tsplus_module_5.single(a), this.queue, this.takers, this.shutdownFlag, fileName_1 + ":73:47");
83
113
  }
84
114
  }
85
115
  }
86
- }, fileName_1 + ":26:20");
116
+ }, fileName_1 + ":58:20");
87
117
  }
88
118
  offerAll(as, __tsplusTrace) {
89
- const arr = tsplus_module_4.from(as);
119
+ const arr = tsplus_module_5.from(as);
90
120
  return tsplus_module_2.defer(() => {
91
121
  if (this.shutdownFlag.get) {
92
- return tsplus_module_3.interrupt;
122
+ return tsplus_module_4.interrupt;
93
123
  } else {
94
- const pTakers = this.queue.isEmpty ? unsafeDequeueN(this.takers, arr.length) : tsplus_module_5.empty();
95
- const [forTakers, remaining] = tsplus_module_6.splitAt(pTakers.length)(arr);
96
- tsplus_module_6.forEach(([taker, item]) => {
124
+ const pTakers = this.queue.isEmpty ? unsafeDequeueN(this.takers, arr.length) : tsplus_module_6.empty();
125
+ const [forTakers, remaining] = tsplus_module_7.splitAt(pTakers.length)(arr);
126
+ tsplus_module_7.forEach(([taker, item]) => {
97
127
  unsafeCompletePromise(taker, item);
98
- })(tsplus_module_6.zip(forTakers)(pTakers));
128
+ })(tsplus_module_7.zip(forTakers)(pTakers));
99
129
  if (remaining.length === 0) {
100
- return tsplus_module_2.succeedNow(true, fileName_1 + ":61:31");
130
+ return tsplus_module_2.succeedNow(true, fileName_1 + ":93:31");
101
131
  }
102
132
  const surplus = unsafeOfferAll(this.queue, remaining);
103
133
  unsafeCompleteTakers(this.strategy, this.queue, this.takers);
104
134
  if (surplus.length === 0) {
105
- return tsplus_module_2.succeedNow(true, fileName_1 + ":69:31");
135
+ return tsplus_module_2.succeedNow(true, fileName_1 + ":101:31");
106
136
  } else {
107
- return this.strategy.handleSurplus(surplus, this.queue, this.takers, this.shutdownFlag, fileName_1 + ":71:45");
137
+ return this.strategy.handleSurplus(surplus, this.queue, this.takers, this.shutdownFlag, fileName_1 + ":103:45");
108
138
  }
109
139
  }
110
- }, fileName_1 + ":50:20");
140
+ }, fileName_1 + ":82:20");
111
141
  }
112
142
  takeUpTo(max, __tsplusTrace) {
113
143
  return tsplus_module_2.defer(() => {
114
144
  if (this.shutdownFlag.get) {
115
- return tsplus_module_3.interrupt;
145
+ return tsplus_module_4.interrupt;
116
146
  } else {
117
147
  return tsplus_module_2.succeed(() => {
118
148
  const as = unsafeDequeueN(this.queue, max);
119
- this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":139:48");
149
+ this.strategy.unsafeOnQueueEmptySpace(this.queue, this.takers, fileName_1 + ":171:48");
120
150
  return as;
121
- }, fileName_1 + ":137:26");
151
+ }, fileName_1 + ":169:26");
122
152
  }
123
- }, fileName_1 + ":133:20");
153
+ }, fileName_1 + ":165:20");
124
154
  }
125
155
  }
126
156
  function unsafeCreateQueue(queue, takers, shutdownHook, shutdownFlag, strategy) {
127
157
  return new UnsafeQueue(queue, takers, shutdownHook, shutdownFlag, strategy);
128
158
  }
129
159
  export function unsafeMakeQueue(strategy) {
130
- return queue => tsplus_module_2.map(p => unsafeCreateQueue(queue, unbounded(), p, new AtomicBoolean(false), strategy), fileName_1 + ":159:35")(tsplus_module_8.make(fileName_1 + ":159:16"));
160
+ return queue => tsplus_module_2.map(p => unsafeCreateQueue(queue, unbounded(), p, new AtomicBoolean(false), strategy), fileName_1 + ":191:35")(tsplus_module_9.make(fileName_1 + ":191:16"));
131
161
  }
132
162
  export function unsafeOfferAll(q, as) {
133
163
  let bs = as;
134
164
  while (bs.length > 0) {
135
- if (!q.enqueue(tsplus_module_6.unsafeGet(0)(bs))) {
165
+ if (!q.enqueue(tsplus_module_7.unsafeGet(0)(bs))) {
136
166
  return bs;
137
167
  } else {
138
- bs = tsplus_module_6.drop(1)(bs);
168
+ bs = tsplus_module_7.drop(1)(bs);
139
169
  }
140
170
  }
141
171
  return bs;
142
172
  }
143
173
  export function unsafePollAll(q) {
144
- let as = tsplus_module_5.empty();
174
+ let as = tsplus_module_6.empty();
145
175
  while (!q.isEmpty) {
146
- as = tsplus_module_6.append(q.dequeue(undefined))(as);
176
+ as = tsplus_module_7.append(q.dequeue(undefined))(as);
147
177
  }
148
178
  return as;
149
179
  }
150
180
  export function unsafeCompletePromise(p, a) {
151
- return tsplus_module_1.unsafeDone(tsplus_module_2.succeedNow(a, fileName_1 + ":183:36"), fileName_1 + ":183:22")(p);
181
+ return tsplus_module_1.unsafeDone(tsplus_module_2.succeedNow(a, fileName_1 + ":215:36"), fileName_1 + ":215:22")(p);
152
182
  }
153
183
  export function unsafeRemove(q, a) {
154
- return unsafeOfferAll(q, tsplus_module_6.filter(b => a !== b)(unsafePollAll(q)));
184
+ return unsafeOfferAll(q, tsplus_module_7.filter(b => a !== b)(unsafePollAll(q)));
155
185
  }
156
186
  function unsafeDequeueN(q, max) {
157
187
  let j = 0;
158
- let as = tsplus_module_5.empty();
188
+ let as = tsplus_module_6.empty();
159
189
  while (j < max) {
160
190
  const p = q.dequeue(undefined);
161
191
  if (p != null) {
162
- as = tsplus_module_6.append(p)(as);
192
+ as = tsplus_module_7.append(p)(as);
163
193
  } else {
164
194
  return as;
165
195
  }
@@ -175,9 +205,9 @@ export function unsafeCompleteTakers(strategy, queue, takers) {
175
205
  const element = queue.dequeue(undefined);
176
206
  if (element != null) {
177
207
  unsafeCompletePromise(taker, element);
178
- strategy.unsafeOnQueueEmptySpace(queue, takers, fileName_1 + ":220:41");
208
+ strategy.unsafeOnQueueEmptySpace(queue, takers, fileName_1 + ":252:41");
179
209
  } else {
180
- unsafeOfferAll(takers, tsplus_module_6.prepend(taker)(unsafePollAll(takers)));
210
+ unsafeOfferAll(takers, tsplus_module_7.prepend(taker)(unsafePollAll(takers)));
181
211
  }
182
212
  keepPolling = true;
183
213
  } else {