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