@fncts/query 0.0.26 → 0.0.27

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 (203) hide show
  1. package/LICENSE +26 -0
  2. package/_cjs/Cache/api.cjs +53 -47
  3. package/_cjs/Cache/api.cjs.map +1 -1
  4. package/_cjs/Cache/definition.cjs +8 -10
  5. package/_cjs/Cache/definition.cjs.map +1 -1
  6. package/_cjs/Cache.cjs +7 -28
  7. package/_cjs/CompletedRequestMap.cjs +40 -38
  8. package/_cjs/CompletedRequestMap.cjs.map +1 -1
  9. package/_cjs/DataSource/api.cjs +76 -72
  10. package/_cjs/DataSource/api.cjs.map +1 -1
  11. package/_cjs/DataSource/definition.cjs +69 -63
  12. package/_cjs/DataSource/definition.cjs.map +1 -1
  13. package/_cjs/DataSource.cjs +14 -28
  14. package/_cjs/DataSourceAspect.cjs +9 -10
  15. package/_cjs/DataSourceAspect.cjs.map +1 -1
  16. package/_cjs/Described.cjs +27 -29
  17. package/_cjs/Described.cjs.map +1 -1
  18. package/_cjs/Query/api/bimap.cjs +15 -14
  19. package/_cjs/Query/api/bimap.cjs.map +1 -1
  20. package/_cjs/Query/api/catchAllCause.cjs +23 -21
  21. package/_cjs/Query/api/catchAllCause.cjs.map +1 -1
  22. package/_cjs/Query/api/collectAll.cjs +13 -12
  23. package/_cjs/Query/api/collectAll.cjs.map +1 -1
  24. package/_cjs/Query/api/collectAllBatched.cjs +13 -12
  25. package/_cjs/Query/api/collectAllBatched.cjs.map +1 -1
  26. package/_cjs/Query/api/collectAllConcurrent.cjs +13 -12
  27. package/_cjs/Query/api/collectAllConcurrent.cjs.map +1 -1
  28. package/_cjs/Query/api/defer.cjs +13 -12
  29. package/_cjs/Query/api/defer.cjs.map +1 -1
  30. package/_cjs/Query/api/ensuring.cjs +17 -15
  31. package/_cjs/Query/api/ensuring.cjs.map +1 -1
  32. package/_cjs/Query/api/environment.cjs +76 -64
  33. package/_cjs/Query/api/environment.cjs.map +1 -1
  34. package/_cjs/Query/api/flatMap.cjs +30 -26
  35. package/_cjs/Query/api/flatMap.cjs.map +1 -1
  36. package/_cjs/Query/api/foreach.cjs +22 -21
  37. package/_cjs/Query/api/foreach.cjs.map +1 -1
  38. package/_cjs/Query/api/foreachBatched.cjs +22 -21
  39. package/_cjs/Query/api/foreachBatched.cjs.map +1 -1
  40. package/_cjs/Query/api/foreachConcurrent.cjs +17 -14
  41. package/_cjs/Query/api/foreachConcurrent.cjs.map +1 -1
  42. package/_cjs/Query/api/fromRequest.cjs +42 -33
  43. package/_cjs/Query/api/fromRequest.cjs.map +1 -1
  44. package/_cjs/Query/api/map.cjs +17 -15
  45. package/_cjs/Query/api/map.cjs.map +1 -1
  46. package/_cjs/Query/api/mapDataSources.cjs +17 -15
  47. package/_cjs/Query/api/mapDataSources.cjs.map +1 -1
  48. package/_cjs/Query/api/mapError.cjs +15 -14
  49. package/_cjs/Query/api/mapError.cjs.map +1 -1
  50. package/_cjs/Query/api/mapErrorCause.cjs +15 -14
  51. package/_cjs/Query/api/mapErrorCause.cjs.map +1 -1
  52. package/_cjs/Query/api/mapIO.cjs +15 -14
  53. package/_cjs/Query/api/mapIO.cjs.map +1 -1
  54. package/_cjs/Query/api/match.cjs +15 -14
  55. package/_cjs/Query/api/match.cjs.map +1 -1
  56. package/_cjs/Query/api/matchCauseQuery.cjs +23 -20
  57. package/_cjs/Query/api/matchCauseQuery.cjs.map +1 -1
  58. package/_cjs/Query/api/matchQuery.cjs +19 -16
  59. package/_cjs/Query/api/matchQuery.cjs.map +1 -1
  60. package/_cjs/Query/api/orHalt.cjs +22 -20
  61. package/_cjs/Query/api/orHalt.cjs.map +1 -1
  62. package/_cjs/Query/api/race.cjs +46 -36
  63. package/_cjs/Query/api/race.cjs.map +1 -1
  64. package/_cjs/Query/api/run.cjs +43 -35
  65. package/_cjs/Query/api/run.cjs.map +1 -1
  66. package/_cjs/Query/api/timeout.cjs +70 -56
  67. package/_cjs/Query/api/timeout.cjs.map +1 -1
  68. package/_cjs/Query/api/zipWith.cjs +37 -33
  69. package/_cjs/Query/api/zipWith.cjs.map +1 -1
  70. package/_cjs/Query/api/zipWithBatched.cjs +39 -34
  71. package/_cjs/Query/api/zipWithBatched.cjs.map +1 -1
  72. package/_cjs/Query/api/zipWithConcurrent.cjs +39 -34
  73. package/_cjs/Query/api/zipWithConcurrent.cjs.map +1 -1
  74. package/_cjs/Query/api.cjs +68 -60
  75. package/_cjs/Query/api.cjs.map +1 -1
  76. package/_cjs/Query/definition.cjs +16 -17
  77. package/_cjs/Query/definition.cjs.map +1 -1
  78. package/_cjs/Query.cjs +88 -336
  79. package/_cjs/QueryFailure.cjs +13 -14
  80. package/_cjs/QueryFailure.cjs.map +1 -1
  81. package/_cjs/Request.cjs +48 -41
  82. package/_cjs/Request.cjs.map +1 -1
  83. package/_cjs/chunk.cjs +28 -0
  84. package/_cjs/global.cjs +0 -2
  85. package/_cjs/index.cjs +0 -2
  86. package/_cjs/internal/BlockedRequest.cjs +23 -24
  87. package/_cjs/internal/BlockedRequest.cjs.map +1 -1
  88. package/_cjs/internal/BlockedRequests.cjs +318 -333
  89. package/_cjs/internal/BlockedRequests.cjs.map +1 -1
  90. package/_cjs/internal/Continue.cjs +244 -231
  91. package/_cjs/internal/Continue.cjs.map +1 -1
  92. package/_cjs/internal/Parallel.cjs +59 -55
  93. package/_cjs/internal/Parallel.cjs.map +1 -1
  94. package/_cjs/internal/Result.cjs +199 -185
  95. package/_cjs/internal/Result.cjs.map +1 -1
  96. package/_cjs/internal/Sequential.cjs +44 -41
  97. package/_cjs/internal/Sequential.cjs.map +1 -1
  98. package/_mjs/Cache/api.mjs +38 -34
  99. package/_mjs/Cache/api.mjs.map +1 -1
  100. package/_mjs/Cache/definition.mjs +8 -4
  101. package/_mjs/Cache/definition.mjs.map +1 -1
  102. package/_mjs/Cache.mjs +3 -4
  103. package/_mjs/CompletedRequestMap.mjs +34 -30
  104. package/_mjs/CompletedRequestMap.mjs.map +1 -1
  105. package/_mjs/DataSource/api.mjs +67 -63
  106. package/_mjs/DataSource/api.mjs.map +1 -1
  107. package/_mjs/DataSource/definition.mjs +54 -52
  108. package/_mjs/DataSource/definition.mjs.map +1 -1
  109. package/_mjs/DataSource.mjs +3 -4
  110. package/_mjs/DataSourceAspect.mjs +8 -4
  111. package/_mjs/DataSourceAspect.mjs.map +1 -1
  112. package/_mjs/Described.mjs +26 -22
  113. package/_mjs/Described.mjs.map +1 -1
  114. package/_mjs/Query/api/bimap.mjs +10 -6
  115. package/_mjs/Query/api/bimap.mjs.map +1 -1
  116. package/_mjs/Query/api/catchAllCause.mjs +17 -13
  117. package/_mjs/Query/api/catchAllCause.mjs.map +1 -1
  118. package/_mjs/Query/api/collectAll.mjs +8 -4
  119. package/_mjs/Query/api/collectAll.mjs.map +1 -1
  120. package/_mjs/Query/api/collectAllBatched.mjs +8 -4
  121. package/_mjs/Query/api/collectAllBatched.mjs.map +1 -1
  122. package/_mjs/Query/api/collectAllConcurrent.mjs +8 -4
  123. package/_mjs/Query/api/collectAllConcurrent.mjs.map +1 -1
  124. package/_mjs/Query/api/defer.mjs +9 -5
  125. package/_mjs/Query/api/defer.mjs.map +1 -1
  126. package/_mjs/Query/api/ensuring.mjs +10 -6
  127. package/_mjs/Query/api/ensuring.mjs.map +1 -1
  128. package/_mjs/Query/api/environment.mjs +53 -49
  129. package/_mjs/Query/api/environment.mjs.map +1 -1
  130. package/_mjs/Query/api/flatMap.mjs +19 -15
  131. package/_mjs/Query/api/flatMap.mjs.map +1 -1
  132. package/_mjs/Query/api/foreach.mjs +14 -12
  133. package/_mjs/Query/api/foreach.mjs.map +1 -1
  134. package/_mjs/Query/api/foreachBatched.mjs +15 -13
  135. package/_mjs/Query/api/foreachBatched.mjs.map +1 -1
  136. package/_mjs/Query/api/foreachConcurrent.mjs +9 -5
  137. package/_mjs/Query/api/foreachConcurrent.mjs.map +1 -1
  138. package/_mjs/Query/api/fromRequest.mjs +19 -18
  139. package/_mjs/Query/api/fromRequest.mjs.map +1 -1
  140. package/_mjs/Query/api/map.mjs +11 -7
  141. package/_mjs/Query/api/map.mjs.map +1 -1
  142. package/_mjs/Query/api/mapDataSources.mjs +11 -7
  143. package/_mjs/Query/api/mapDataSources.mjs.map +1 -1
  144. package/_mjs/Query/api/mapError.mjs +10 -6
  145. package/_mjs/Query/api/mapError.mjs.map +1 -1
  146. package/_mjs/Query/api/mapErrorCause.mjs +10 -6
  147. package/_mjs/Query/api/mapErrorCause.mjs.map +1 -1
  148. package/_mjs/Query/api/mapIO.mjs +11 -7
  149. package/_mjs/Query/api/mapIO.mjs.map +1 -1
  150. package/_mjs/Query/api/match.mjs +11 -7
  151. package/_mjs/Query/api/match.mjs.map +1 -1
  152. package/_mjs/Query/api/matchCauseQuery.mjs +16 -12
  153. package/_mjs/Query/api/matchCauseQuery.mjs.map +1 -1
  154. package/_mjs/Query/api/matchQuery.mjs +12 -8
  155. package/_mjs/Query/api/matchQuery.mjs.map +1 -1
  156. package/_mjs/Query/api/orHalt.mjs +14 -10
  157. package/_mjs/Query/api/orHalt.mjs.map +1 -1
  158. package/_mjs/Query/api/race.mjs +28 -24
  159. package/_mjs/Query/api/race.mjs.map +1 -1
  160. package/_mjs/Query/api/run.mjs +29 -25
  161. package/_mjs/Query/api/run.mjs.map +1 -1
  162. package/_mjs/Query/api/timeout.mjs +44 -40
  163. package/_mjs/Query/api/timeout.mjs.map +1 -1
  164. package/_mjs/Query/api/zipWith.mjs +26 -22
  165. package/_mjs/Query/api/zipWith.mjs.map +1 -1
  166. package/_mjs/Query/api/zipWithBatched.mjs +29 -25
  167. package/_mjs/Query/api/zipWithBatched.mjs.map +1 -1
  168. package/_mjs/Query/api/zipWithConcurrent.mjs +28 -24
  169. package/_mjs/Query/api/zipWithConcurrent.mjs.map +1 -1
  170. package/_mjs/Query/api.mjs +50 -46
  171. package/_mjs/Query/api.mjs.map +1 -1
  172. package/_mjs/Query/definition.mjs +15 -11
  173. package/_mjs/Query/definition.mjs.map +1 -1
  174. package/_mjs/Query.mjs +31 -34
  175. package/_mjs/QueryFailure.mjs +11 -7
  176. package/_mjs/QueryFailure.mjs.map +1 -1
  177. package/_mjs/Request.mjs +28 -25
  178. package/_mjs/Request.mjs.map +1 -1
  179. package/_mjs/global.mjs +0 -2
  180. package/_mjs/index.mjs +0 -2
  181. package/_mjs/internal/BlockedRequest.mjs +21 -17
  182. package/_mjs/internal/BlockedRequest.mjs.map +1 -1
  183. package/_mjs/internal/BlockedRequests.mjs +277 -308
  184. package/_mjs/internal/BlockedRequests.mjs.map +1 -1
  185. package/_mjs/internal/Continue.mjs +235 -239
  186. package/_mjs/internal/Continue.mjs.map +1 -1
  187. package/_mjs/internal/Parallel.mjs +48 -44
  188. package/_mjs/internal/Parallel.mjs.map +1 -1
  189. package/_mjs/internal/Result.mjs +177 -170
  190. package/_mjs/internal/Result.mjs.map +1 -1
  191. package/_mjs/internal/Sequential.mjs +35 -31
  192. package/_mjs/internal/Sequential.mjs.map +1 -1
  193. package/package.json +8 -4
  194. package/_cjs/Cache.cjs.map +0 -1
  195. package/_cjs/DataSource.cjs.map +0 -1
  196. package/_cjs/Query.cjs.map +0 -1
  197. package/_cjs/global.cjs.map +0 -1
  198. package/_cjs/index.cjs.map +0 -1
  199. package/_mjs/Cache.mjs.map +0 -1
  200. package/_mjs/DataSource.mjs.map +0 -1
  201. package/_mjs/Query.mjs.map +0 -1
  202. package/_mjs/global.mjs.map +0 -1
  203. package/_mjs/index.mjs.map +0 -1
@@ -1,353 +1,322 @@
1
- const fileName_1 = "(@fncts/query) src/internal/BlockedRequests.ts";
1
+ import "./Parallel.mjs";
2
+ import * as tsplus_module_13 from "@fncts/io/IO/api";
3
+ import * as tsplus_module_18 from "@fncts/query/Query/api";
4
+ import * as tsplus_module_17 from "@fncts/io/IO/api/foreachConcurrent";
5
+ import * as tsplus_module_5 from "@fncts/base/data/Either/destructors";
6
+ import * as tsplus_module_19 from "@fncts/io/FiberRef/operations";
7
+ import * as tsplus_module_12 from "@fncts/io/Ref/constructors";
8
+ import * as tsplus_module_15 from "@fncts/base/collection/immutable/Conc/api";
9
+ import * as tsplus_module_7 from "@fncts/base/data/Either/constructors";
10
+ import * as tsplus_module_11 from "@fncts/base/collection/Iterable/api";
11
+ import * as tsplus_module_10 from "@fncts/query/internal/Sequential";
2
12
  import * as tsplus_module_1 from "@fncts/base/collection/immutable/List/constructors";
3
13
  import * as tsplus_module_2 from "@fncts/base/collection/immutable/List/api";
4
14
  import * as tsplus_module_3 from "@fncts/base/collection/immutable/List/definition";
5
15
  import * as tsplus_module_4 from "@fncts/base/collection/immutable/List/api/unsafeTail";
6
- import * as tsplus_module_5 from "@fncts/base/data/Either/destructors";
7
16
  import * as tsplus_module_6 from "@fncts/base/collection/immutable/List/api/foldLeft";
8
- import * as tsplus_module_7 from "@fncts/base/data/Either/constructors";
9
17
  import * as tsplus_module_8 from "@fncts/query/DataSource/api";
10
18
  import * as tsplus_module_9 from "@fncts/query/internal/Parallel";
11
- import * as tsplus_module_10 from "@fncts/query/internal/Sequential";
12
- import * as tsplus_module_11 from "@fncts/base/collection/Iterable/api";
13
- import * as tsplus_module_12 from "@fncts/io/Ref/constructors";
14
- import * as tsplus_module_13 from "@fncts/io/IO/api";
15
19
  import * as tsplus_module_14 from "@fncts/io/Ref/api/set";
16
- import * as tsplus_module_15 from "@fncts/base/collection/immutable/Conc/api";
17
20
  import * as tsplus_module_16 from "@fncts/base/collection/immutable/HashSet/api";
18
- import * as tsplus_module_17 from "@fncts/io/IO/api/foreachConcurrent";
19
- import * as tsplus_module_18 from "@fncts/query/Query/api";
20
- import * as tsplus_module_19 from "@fncts/io/FiberRef/operations";
21
- export const fold = fold_1;
22
- export const step = step_1;
23
- export const flatten = flatten_1;
24
- import { Parallel } from "./Parallel.mjs";
25
- export const BlockedRequestsTypeId = /*#__PURE__*/Symbol.for("fncts.query.BlockedRequests");
26
- export const BlockedRequestsVariance = /*#__PURE__*/Symbol.for("fncts.query.BlockedRequests.Variance");
21
+ //#region build/esm/internal/BlockedRequests.js
22
+ const fileName_1 = "(@fncts/query) src/internal/BlockedRequests.ts";
23
+ const fold = fold_1;
24
+ const step = step_1;
25
+ const flatten = flatten_1;
26
+ const BlockedRequestsTypeId = Symbol.for("fncts.query.BlockedRequests");
27
+ const BlockedRequestsVariance = Symbol.for("fncts.query.BlockedRequests.Variance");
27
28
  /**
28
- * @tsplus type fncts.query.BlockedRequests
29
- * @tsplus companion fncts.query.BlockedRequestsOps
30
- */
31
- export class BlockedRequests {
32
- [BlockedRequestsTypeId] = BlockedRequestsTypeId;
33
- }
34
- export class Empty extends BlockedRequests {
35
- _tag = 0 /* BlockedRequestsTag.Empty */;
36
- }
37
- export class Single extends BlockedRequests {
38
- dataSource;
39
- blockedRequest;
40
- _tag = 1 /* BlockedRequestsTag.Single */;
41
- constructor(dataSource, blockedRequest) {
42
- super();
43
- this.dataSource = dataSource;
44
- this.blockedRequest = blockedRequest;
45
- }
46
- }
47
- export class Then extends BlockedRequests {
48
- left;
49
- right;
50
- _tag = 2 /* BlockedRequestsTag.Then */;
51
- constructor(left, right) {
52
- super();
53
- this.left = left;
54
- this.right = right;
55
- }
56
- }
57
- export class Both extends BlockedRequests {
58
- left;
59
- right;
60
- _tag = 3 /* BlockedRequestsTag.Both */;
61
- constructor(left, right) {
62
- super();
63
- this.left = left;
64
- this.right = right;
65
- }
66
- }
67
- const _Empty = /*#__PURE__*/new Empty();
29
+ * @tsplus type fncts.query.BlockedRequests
30
+ * @tsplus companion fncts.query.BlockedRequestsOps
31
+ */
32
+ var BlockedRequests = class {
33
+ [BlockedRequestsTypeId] = BlockedRequestsTypeId;
34
+ };
35
+ var Empty = class extends BlockedRequests {
36
+ _tag = 0;
37
+ };
38
+ var Single = class extends BlockedRequests {
39
+ dataSource;
40
+ blockedRequest;
41
+ _tag = 1;
42
+ constructor(dataSource, blockedRequest) {
43
+ super();
44
+ this.dataSource = dataSource;
45
+ this.blockedRequest = blockedRequest;
46
+ }
47
+ };
48
+ var Then = class extends BlockedRequests {
49
+ left;
50
+ right;
51
+ _tag = 2;
52
+ constructor(left, right) {
53
+ super();
54
+ this.left = left;
55
+ this.right = right;
56
+ }
57
+ };
58
+ var Both = class extends BlockedRequests {
59
+ left;
60
+ right;
61
+ _tag = 3;
62
+ constructor(left, right) {
63
+ super();
64
+ this.left = left;
65
+ this.right = right;
66
+ }
67
+ };
68
+ const _Empty = new Empty();
68
69
  /**
69
- * @tsplus static fncts.query.BlockedRequestsOps empty
70
- */
71
- export function empty() {
72
- return _Empty;
70
+ * @tsplus static fncts.query.BlockedRequestsOps empty
71
+ */
72
+ function empty() {
73
+ return _Empty;
73
74
  }
74
75
  /**
75
- * @tsplus static fncts.query.BlockedRequestsOps single
76
- */
77
- export function single(dataSource, blockedRequest) {
78
- return new Single(dataSource, blockedRequest);
76
+ * @tsplus static fncts.query.BlockedRequestsOps single
77
+ */
78
+ function single(dataSource, blockedRequest) {
79
+ return new Single(dataSource, blockedRequest);
79
80
  }
80
81
  /**
81
- * @tsplus static fncts.query.BlockedRequestsOps then
82
- */
83
- export function then(left, right) {
84
- return new Then(left, right);
82
+ * @tsplus static fncts.query.BlockedRequestsOps then
83
+ */
84
+ function then(left, right) {
85
+ return new Then(left, right);
85
86
  }
86
87
  /**
87
- * @tsplus static fncts.query.BlockedRequestsOps both
88
- */
89
- export function both(left, right) {
90
- return new Both(left, right);
88
+ * @tsplus static fncts.query.BlockedRequestsOps both
89
+ */
90
+ function both(left, right) {
91
+ return new Both(left, right);
91
92
  }
92
- function concrete(_) {
93
- //
94
- }
95
- export class BlockedRequestsFolder {}
93
+ function concrete(_) {}
94
+ var BlockedRequestsFolder = class {};
96
95
  /**
97
- * @tsplus pipeable fncts.query.BlockedRequests fold
98
- */
96
+ * @tsplus pipeable fncts.query.BlockedRequests fold
97
+ */
99
98
  function fold_1(folder) {
100
- return self => {
101
- return tsplus_module_2.unsafeHead(foldLoop(folder, tsplus_module_1.cons(self), tsplus_module_1.empty()));
102
- };
99
+ return (self) => {
100
+ return tsplus_module_2.unsafeHead(foldLoop(folder, tsplus_module_1.cons(self), tsplus_module_1.empty()));
101
+ };
103
102
  }
104
103
  /**
105
- * @tsplus tailRef
106
- */
104
+ * @tsplus tailRef
105
+ */
107
106
  function foldLoop(folder, inp, out) {
108
- if (tsplus_module_3.isEmpty(inp)) {
109
- return tsplus_module_6.foldLeft(tsplus_module_1.empty(), (acc, r) => tsplus_module_5.match(c => {
110
- const left = tsplus_module_2.unsafeHead(acc);
111
- const right = tsplus_module_2.unsafeHead(tsplus_module_4.unsafeTail(acc));
112
- const blockedRequests = tsplus_module_4.unsafeTail(tsplus_module_4.unsafeTail(acc));
113
- switch (c) {
114
- case 0 /* BlockedRequestsCase.BothCase */:
115
- {
116
- return tsplus_module_1.cons(folder.bothCase(left, right), blockedRequests);
117
- }
118
- case 1 /* BlockedRequestsCase.ThenCase */:
119
- {
120
- return tsplus_module_1.cons(folder.thenCase(left, right), blockedRequests);
121
- }
122
- }
123
- }, z => tsplus_module_1.cons(z, acc))(r))(out);
124
- } else {
125
- const head = inp.head;
126
- concrete(head);
127
- switch (head._tag) {
128
- case 0 /* BlockedRequestsTag.Empty */:
129
- {
130
- return foldLoop(folder, inp.tail, tsplus_module_1.cons(tsplus_module_7.right(folder.emptyCase, fileName_1 + ":155:53"), out));
131
- }
132
- case 1 /* BlockedRequestsTag.Single */:
133
- {
134
- return foldLoop(folder, inp.tail, tsplus_module_1.cons(tsplus_module_7.right(folder.singleCase(head.dataSource, head.blockedRequest), fileName_1 + ":158:53"), out));
135
- }
136
- case 3 /* BlockedRequestsTag.Both */:
137
- {
138
- return foldLoop(folder, tsplus_module_1.cons(head.left, tsplus_module_1.cons(head.right, inp.tail)), tsplus_module_1.cons(tsplus_module_7.left(0 /* BlockedRequestsCase.BothCase */, fileName_1 + ":164:20"), out));
139
- }
140
- case 2 /* BlockedRequestsTag.Then */:
141
- {
142
- return foldLoop(folder, tsplus_module_1.cons(head.left, tsplus_module_1.cons(head.right, inp.tail)), tsplus_module_1.cons(tsplus_module_7.left(1 /* BlockedRequestsCase.ThenCase */, fileName_1 + ":171:20"), out));
143
- }
144
- }
145
- }
146
- }
147
- export class MapDataSources extends BlockedRequestsFolder {
148
- f;
149
- constructor(f) {
150
- super();
151
- this.f = f;
152
- }
153
- emptyCase = /*#__PURE__*/new Empty();
154
- singleCase(dataSource, blockedRequest) {
155
- return new Single(this.f.apply(dataSource), blockedRequest);
156
- }
157
- bothCase(left, right) {
158
- return new Both(left, right);
159
- }
160
- thenCase(left, right) {
161
- return new Then(left, right);
162
- }
107
+ if (tsplus_module_3.isEmpty(inp)) return tsplus_module_6.foldLeft(tsplus_module_1.empty(), (acc, r) => tsplus_module_5.match((c) => {
108
+ const left = tsplus_module_2.unsafeHead(acc);
109
+ const right = tsplus_module_2.unsafeHead(tsplus_module_4.unsafeTail(acc));
110
+ const blockedRequests = tsplus_module_4.unsafeTail(tsplus_module_4.unsafeTail(acc));
111
+ switch (c) {
112
+ case 0: return tsplus_module_1.cons(folder.bothCase(left, right), blockedRequests);
113
+ case 1: return tsplus_module_1.cons(folder.thenCase(left, right), blockedRequests);
114
+ }
115
+ }, (z) => tsplus_module_1.cons(z, acc))(r))(out);
116
+ else {
117
+ const head = inp.head;
118
+ concrete(head);
119
+ switch (head._tag) {
120
+ case 0: return foldLoop(folder, inp.tail, tsplus_module_1.cons(tsplus_module_7.right(folder.emptyCase, fileName_1 + ":155:53"), out));
121
+ case 1: return foldLoop(folder, inp.tail, tsplus_module_1.cons(tsplus_module_7.right(folder.singleCase(head.dataSource, head.blockedRequest), fileName_1 + ":158:53"), out));
122
+ case 3: return foldLoop(folder, tsplus_module_1.cons(head.left, tsplus_module_1.cons(head.right, inp.tail)), tsplus_module_1.cons(tsplus_module_7.left(0, fileName_1 + ":164:20"), out));
123
+ case 2: return foldLoop(folder, tsplus_module_1.cons(head.left, tsplus_module_1.cons(head.right, inp.tail)), tsplus_module_1.cons(tsplus_module_7.left(1, fileName_1 + ":171:20"), out));
124
+ }
125
+ }
163
126
  }
127
+ var MapDataSources = class extends BlockedRequestsFolder {
128
+ f;
129
+ constructor(f) {
130
+ super();
131
+ this.f = f;
132
+ }
133
+ emptyCase = new Empty();
134
+ singleCase(dataSource, blockedRequest) {
135
+ return new Single(this.f.apply(dataSource), blockedRequest);
136
+ }
137
+ bothCase(left, right) {
138
+ return new Both(left, right);
139
+ }
140
+ thenCase(left, right) {
141
+ return new Then(left, right);
142
+ }
143
+ };
164
144
  /**
165
- * @tsplus pipeable fncts.query.BlockedRequests mapDataSources
166
- */
167
- export function mapDataSources(f) {
168
- return self => {
169
- return fold_1(new MapDataSources(f))(self);
170
- };
171
- }
172
- export class ContramapEnvironment extends BlockedRequestsFolder {
173
- f;
174
- constructor(f) {
175
- super();
176
- this.f = f;
177
- }
178
- emptyCase = /*#__PURE__*/new Empty();
179
- singleCase(dataSource, blockedRequest) {
180
- return new Single(tsplus_module_8.contramapEnvironment(this.f, fileName_1 + ":209:54")(dataSource), blockedRequest);
181
- }
182
- bothCase(left, right) {
183
- return new Both(left, right);
184
- }
185
- thenCase(left, right) {
186
- return new Then(left, right);
187
- }
145
+ * @tsplus pipeable fncts.query.BlockedRequests mapDataSources
146
+ */
147
+ function mapDataSources(f) {
148
+ return (self) => {
149
+ return fold_1(new MapDataSources(f))(self);
150
+ };
188
151
  }
152
+ var ContramapEnvironment = class extends BlockedRequestsFolder {
153
+ f;
154
+ constructor(f) {
155
+ super();
156
+ this.f = f;
157
+ }
158
+ emptyCase = new Empty();
159
+ singleCase(dataSource, blockedRequest) {
160
+ return new Single(tsplus_module_8.contramapEnvironment(this.f, fileName_1 + ":209:54")(dataSource), blockedRequest);
161
+ }
162
+ bothCase(left, right) {
163
+ return new Both(left, right);
164
+ }
165
+ thenCase(left, right) {
166
+ return new Then(left, right);
167
+ }
168
+ };
189
169
  /**
190
- * @tsplus pipeable fncts.query.BlockedRequests contramapEnvironment
191
- */
192
- export function contramapEnvironment(f, __tsplusTrace) {
193
- return self => {
194
- return fold_1(new ContramapEnvironment(f))(self);
195
- };
170
+ * @tsplus pipeable fncts.query.BlockedRequests contramapEnvironment
171
+ */
172
+ function contramapEnvironment(f, __tsplusTrace) {
173
+ return (self) => {
174
+ return fold_1(new ContramapEnvironment(f))(self);
175
+ };
196
176
  }
197
177
  /**
198
- * @tsplus getter fncts.query.BlockedRequests step
199
- */
178
+ * @tsplus getter fncts.query.BlockedRequests step
179
+ */
200
180
  function step_1(c) {
201
- return stepLoop(c, tsplus_module_1.empty(), tsplus_module_9.empty, tsplus_module_1.empty());
181
+ return stepLoop(c, tsplus_module_1.empty(), tsplus_module_9.empty, tsplus_module_1.empty());
202
182
  }
203
183
  /**
204
- * @tsplus tailRec
205
- */
184
+ * @tsplus tailRec
185
+ */
206
186
  function stepLoop(blockedRequests, stack, parallel, sequential) {
207
- var blockedRequests_1 = blockedRequests,
208
- stack_1 = stack,
209
- parallel_1 = parallel,
210
- sequential_1 = sequential;
211
- var blockedRequests_2 = blockedRequests,
212
- stack_2 = stack,
213
- parallel_2 = parallel,
214
- sequential_2 = sequential;
215
- while (1) {
216
- concrete(blockedRequests_1);
217
- switch (blockedRequests_1._tag) {
218
- case 0 /* BlockedRequestsTag.Empty */:
219
- {
220
- if (tsplus_module_3.isEmpty(stack_1)) return [parallel_1, sequential_1];else {
221
- blockedRequests_2 = stack_1.head;
222
- stack_2 = stack_1.tail;
223
- parallel_2 = parallel_1;
224
- sequential_2 = sequential_1;
225
- blockedRequests_1 = blockedRequests_2;
226
- stack_1 = stack_2;
227
- parallel_1 = parallel_2;
228
- sequential_1 = sequential_2;
229
- continue;
230
- }
231
- }
232
- case 2 /* BlockedRequestsTag.Then */:
233
- {
234
- concrete(blockedRequests_1.left);
235
- const {
236
- left,
237
- right
238
- } = blockedRequests;
239
- switch (left._tag) {
240
- case 0 /* BlockedRequestsTag.Empty */:
241
- blockedRequests_2 = right;
242
- stack_2 = stack_1;
243
- parallel_2 = parallel_1;
244
- sequential_2 = sequential_1;
245
- blockedRequests_1 = blockedRequests_2;
246
- stack_1 = stack_2;
247
- parallel_1 = parallel_2;
248
- sequential_1 = sequential_2;
249
- continue;
250
- case 2 /* BlockedRequestsTag.Then */:
251
- blockedRequests_2 = new Then(left.left, new Then(left.right, right));
252
- stack_2 = stack_1;
253
- parallel_2 = parallel_1;
254
- sequential_2 = sequential_1;
255
- blockedRequests_1 = blockedRequests_2;
256
- stack_1 = stack_2;
257
- parallel_1 = parallel_2;
258
- sequential_1 = sequential_2;
259
- continue;
260
- case 3 /* BlockedRequestsTag.Both */:
261
- blockedRequests_2 = new Both(new Then(left.left, right), new Then(left.right, right));
262
- stack_2 = stack_1;
263
- parallel_2 = parallel_1;
264
- sequential_2 = sequential_1;
265
- blockedRequests_1 = blockedRequests_2;
266
- stack_1 = stack_2;
267
- parallel_1 = parallel_2;
268
- sequential_1 = sequential_2;
269
- continue;
270
- case 1 /* BlockedRequestsTag.Single */:
271
- blockedRequests_2 = left;
272
- stack_2 = stack_1;
273
- parallel_2 = parallel_1;
274
- sequential_2 = tsplus_module_1.cons(right, sequential_1);
275
- blockedRequests_1 = blockedRequests_2;
276
- stack_1 = stack_2;
277
- parallel_1 = parallel_2;
278
- sequential_1 = sequential_2;
279
- continue;
280
- }
281
- }
282
- case 3 /* BlockedRequestsTag.Both */:
283
- {
284
- blockedRequests_2 = blockedRequests_1.left;
285
- stack_2 = tsplus_module_1.cons(blockedRequests_1.right, stack_1);
286
- parallel_2 = parallel_1;
287
- sequential_2 = sequential_1;
288
- blockedRequests_1 = blockedRequests_2;
289
- stack_1 = stack_2;
290
- parallel_1 = parallel_2;
291
- sequential_1 = sequential_2;
292
- continue;
293
- }
294
- case 1 /* BlockedRequestsTag.Single */:
295
- {
296
- if (tsplus_module_3.isEmpty(stack_1)) return [tsplus_module_9.concat(tsplus_module_9.makeParallel(blockedRequests_1.dataSource, blockedRequests_1.blockedRequest))(parallel_1), sequential_1];else {
297
- blockedRequests_2 = stack_1.head;
298
- stack_2 = stack_1.tail;
299
- parallel_2 = tsplus_module_9.concat(tsplus_module_9.makeParallel(blockedRequests_1.dataSource, blockedRequests_1.blockedRequest))(parallel_1);
300
- sequential_2 = sequential_1;
301
- blockedRequests_1 = blockedRequests_2;
302
- stack_1 = stack_2;
303
- parallel_1 = parallel_2;
304
- sequential_1 = sequential_2;
305
- continue;
306
- }
307
- }
308
- }
309
- }
187
+ var blockedRequests_1 = blockedRequests, stack_1 = stack, parallel_1 = parallel, sequential_1 = sequential;
188
+ var blockedRequests_2 = blockedRequests, stack_2 = stack, parallel_2 = parallel, sequential_2 = sequential;
189
+ while (1) {
190
+ concrete(blockedRequests_1);
191
+ switch (blockedRequests_1._tag) {
192
+ case 0: if (tsplus_module_3.isEmpty(stack_1)) return [parallel_1, sequential_1];
193
+ else {
194
+ blockedRequests_2 = stack_1.head;
195
+ stack_2 = stack_1.tail;
196
+ parallel_2 = parallel_1;
197
+ sequential_2 = sequential_1;
198
+ blockedRequests_1 = blockedRequests_2;
199
+ stack_1 = stack_2;
200
+ parallel_1 = parallel_2;
201
+ sequential_1 = sequential_2;
202
+ continue;
203
+ }
204
+ case 2: {
205
+ concrete(blockedRequests_1.left);
206
+ const { left, right } = blockedRequests;
207
+ switch (left._tag) {
208
+ case 0:
209
+ blockedRequests_2 = right;
210
+ stack_2 = stack_1;
211
+ parallel_2 = parallel_1;
212
+ sequential_2 = sequential_1;
213
+ blockedRequests_1 = blockedRequests_2;
214
+ stack_1 = stack_2;
215
+ parallel_1 = parallel_2;
216
+ sequential_1 = sequential_2;
217
+ continue;
218
+ case 2:
219
+ blockedRequests_2 = new Then(left.left, new Then(left.right, right));
220
+ stack_2 = stack_1;
221
+ parallel_2 = parallel_1;
222
+ sequential_2 = sequential_1;
223
+ blockedRequests_1 = blockedRequests_2;
224
+ stack_1 = stack_2;
225
+ parallel_1 = parallel_2;
226
+ sequential_1 = sequential_2;
227
+ continue;
228
+ case 3:
229
+ blockedRequests_2 = new Both(new Then(left.left, right), new Then(left.right, right));
230
+ stack_2 = stack_1;
231
+ parallel_2 = parallel_1;
232
+ sequential_2 = sequential_1;
233
+ blockedRequests_1 = blockedRequests_2;
234
+ stack_1 = stack_2;
235
+ parallel_1 = parallel_2;
236
+ sequential_1 = sequential_2;
237
+ continue;
238
+ case 1:
239
+ blockedRequests_2 = left;
240
+ stack_2 = stack_1;
241
+ parallel_2 = parallel_1;
242
+ sequential_2 = tsplus_module_1.cons(right, sequential_1);
243
+ blockedRequests_1 = blockedRequests_2;
244
+ stack_1 = stack_2;
245
+ parallel_1 = parallel_2;
246
+ sequential_1 = sequential_2;
247
+ continue;
248
+ }
249
+ }
250
+ case 3:
251
+ blockedRequests_2 = blockedRequests_1.left;
252
+ stack_2 = tsplus_module_1.cons(blockedRequests_1.right, stack_1);
253
+ parallel_2 = parallel_1;
254
+ sequential_2 = sequential_1;
255
+ blockedRequests_1 = blockedRequests_2;
256
+ stack_1 = stack_2;
257
+ parallel_1 = parallel_2;
258
+ sequential_1 = sequential_2;
259
+ continue;
260
+ case 1: if (tsplus_module_3.isEmpty(stack_1)) return [tsplus_module_9.concat(tsplus_module_9.makeParallel(blockedRequests_1.dataSource, blockedRequests_1.blockedRequest))(parallel_1), sequential_1];
261
+ else {
262
+ blockedRequests_2 = stack_1.head;
263
+ stack_2 = stack_1.tail;
264
+ parallel_2 = tsplus_module_9.concat(tsplus_module_9.makeParallel(blockedRequests_1.dataSource, blockedRequests_1.blockedRequest))(parallel_1);
265
+ sequential_2 = sequential_1;
266
+ blockedRequests_1 = blockedRequests_2;
267
+ stack_1 = stack_2;
268
+ parallel_1 = parallel_2;
269
+ sequential_1 = sequential_2;
270
+ continue;
271
+ }
272
+ }
273
+ }
310
274
  }
311
275
  /**
312
- * @tsplus getter fncts.query.BlockedRequests flatten
313
- */
276
+ * @tsplus getter fncts.query.BlockedRequests flatten
277
+ */
314
278
  function flatten_1(blockedRequests) {
315
- return flattenLoop(tsplus_module_1.make(blockedRequests), tsplus_module_1.empty());
279
+ return flattenLoop(tsplus_module_1.make(blockedRequests), tsplus_module_1.empty());
316
280
  }
317
281
  /**
318
- * @tsplus tailRec
319
- */
282
+ * @tsplus tailRec
283
+ */
320
284
  function flattenLoop(blockedRequests, flattened) {
321
- var blockedRequests_3 = blockedRequests,
322
- flattened_1 = flattened;
323
- var blockedRequests_4 = blockedRequests,
324
- flattened_2 = flattened;
325
- while (1) {
326
- const [parallel, sequential] = tsplus_module_6.foldLeft([tsplus_module_9.empty, tsplus_module_1.empty()], ([parallel, sequential], blockedRequest) => {
327
- const [par, seq] = step_1(blockedRequest);
328
- return [tsplus_module_9.concat(par)(parallel), tsplus_module_2.concat(seq)(sequential)];
329
- })(blockedRequests_3);
330
- const updated = merge(flattened_1, parallel);
331
- if (tsplus_module_3.isEmpty(sequential)) return tsplus_module_2.reverse(updated);else {
332
- blockedRequests_4 = sequential;
333
- flattened_2 = updated;
334
- blockedRequests_3 = blockedRequests_4;
335
- flattened_1 = flattened_2;
336
- continue;
337
- }
338
- }
285
+ var blockedRequests_3 = blockedRequests, flattened_1 = flattened;
286
+ var blockedRequests_4 = blockedRequests, flattened_2 = flattened;
287
+ while (1) {
288
+ const [parallel, sequential] = tsplus_module_6.foldLeft([tsplus_module_9.empty, tsplus_module_1.empty()], ([parallel, sequential], blockedRequest) => {
289
+ const [par, seq] = step_1(blockedRequest);
290
+ return [tsplus_module_9.concat(par)(parallel), tsplus_module_2.concat(seq)(sequential)];
291
+ })(blockedRequests_3);
292
+ const updated = merge(flattened_1, parallel);
293
+ if (tsplus_module_3.isEmpty(sequential)) return tsplus_module_2.reverse(updated);
294
+ else {
295
+ blockedRequests_4 = sequential;
296
+ flattened_2 = updated;
297
+ blockedRequests_3 = blockedRequests_4;
298
+ flattened_1 = flattened_2;
299
+ continue;
300
+ }
301
+ }
339
302
  }
340
303
  function merge(sequential, parallel) {
341
- if (tsplus_module_3.isEmpty(sequential)) return tsplus_module_1.make(tsplus_module_9.sequential(parallel));else if (tsplus_module_9.isEmpty(parallel)) return sequential;else if (tsplus_module_11.size(tsplus_module_10.keys(sequential.head)) === 1 && tsplus_module_11.size(tsplus_module_9.keys(parallel)) === 1 && tsplus_module_10.keys(sequential.head) == tsplus_module_9.keys(parallel)) return tsplus_module_1.cons(tsplus_module_10.concat(tsplus_module_9.sequential(parallel))(sequential.head), sequential.tail);else return tsplus_module_1.cons(tsplus_module_9.sequential(parallel), sequential);
304
+ if (tsplus_module_3.isEmpty(sequential)) return tsplus_module_1.make(tsplus_module_9.sequential(parallel));
305
+ else if (tsplus_module_9.isEmpty(parallel)) return sequential;
306
+ else if (tsplus_module_11.size(tsplus_module_10.keys(sequential.head)) === 1 && tsplus_module_11.size(tsplus_module_9.keys(parallel)) === 1 && tsplus_module_10.keys(sequential.head) == tsplus_module_9.keys(parallel)) return tsplus_module_1.cons(tsplus_module_10.concat(tsplus_module_9.sequential(parallel))(sequential.head), sequential.tail);
307
+ else return tsplus_module_1.cons(tsplus_module_9.sequential(parallel), sequential);
342
308
  }
343
309
  /**
344
- * @tsplus getter fncts.query.BlockedRequests run
345
- */
346
- export function run(self, __tsplusTrace) {
347
- return tsplus_module_13.flatMap(cache => tsplus_module_13.foreachDiscard(flatten_1(self), requestsByDataSource => tsplus_module_17.foreachConcurrentDiscard(tsplus_module_10.toIterable(requestsByDataSource), ([dataSource, sequential]) => tsplus_module_13.flatMap(completedRequests => {
348
- const blockedRequests = tsplus_module_15.flatten(sequential);
349
- const leftovers = tsplus_module_16.removeMany(tsplus_module_15.map(br => br.request)(blockedRequests))(completedRequests.requests());
350
- return tsplus_module_13.flatMap(() => tsplus_module_13.map(() => void 0, __tsplusTrace)(tsplus_module_13.foreachDiscard(leftovers, request => tsplus_module_13.flatMap(ref => cache.put(request, ref, __tsplusTrace), __tsplusTrace)(tsplus_module_12.make(() => completedRequests.lookup(request), __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_13.foreachDiscard(blockedRequests, br => tsplus_module_14.set(completedRequests.lookup(br.request), __tsplusTrace)(br.result), __tsplusTrace));
351
- }, __tsplusTrace)(dataSource.runAll(tsplus_module_15.map(br => tsplus_module_15.map(r => r.request)(br))(sequential), __tsplusTrace)), __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_19.get(tsplus_module_18.currentCache, __tsplusTrace));
310
+ * @tsplus getter fncts.query.BlockedRequests run
311
+ */
312
+ function run(self, __tsplusTrace) {
313
+ return tsplus_module_13.flatMap((cache) => tsplus_module_13.foreachDiscard(flatten_1(self), (requestsByDataSource) => tsplus_module_17.foreachConcurrentDiscard(tsplus_module_10.toIterable(requestsByDataSource), ([dataSource, sequential]) => tsplus_module_13.flatMap((completedRequests) => {
314
+ const blockedRequests = tsplus_module_15.flatten(sequential);
315
+ const leftovers = tsplus_module_16.removeMany(tsplus_module_15.map((br) => br.request)(blockedRequests))(completedRequests.requests());
316
+ return tsplus_module_13.flatMap(() => tsplus_module_13.map(() => void 0, __tsplusTrace)(tsplus_module_13.foreachDiscard(leftovers, (request) => tsplus_module_13.flatMap((ref) => cache.put(request, ref, __tsplusTrace), __tsplusTrace)(tsplus_module_12.make(() => completedRequests.lookup(request), __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_13.foreachDiscard(blockedRequests, (br) => tsplus_module_14.set(completedRequests.lookup(br.request), __tsplusTrace)(br.result), __tsplusTrace));
317
+ }, __tsplusTrace)(dataSource.runAll(tsplus_module_15.map((br) => tsplus_module_15.map((r) => r.request)(br))(sequential), __tsplusTrace)), __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_19.get(tsplus_module_18.currentCache, __tsplusTrace));
352
318
  }
319
+ //#endregion
320
+ export { BlockedRequests, BlockedRequestsFolder, BlockedRequestsTypeId, BlockedRequestsVariance, Both, ContramapEnvironment, Empty, MapDataSources, Single, Then, both, contramapEnvironment, empty, flatten, fold, mapDataSources, run, single, step, then };
321
+
353
322
  //# sourceMappingURL=BlockedRequests.mjs.map