@fncts/test 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. package/_cjs/api.cjs +39 -31
  2. package/_cjs/api.cjs.map +1 -1
  3. package/_cjs/control/AbstractRunnableSpec.cjs +1 -1
  4. package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
  5. package/_cjs/control/Annotations/live.cjs +10 -12
  6. package/_cjs/control/Annotations/live.cjs.map +1 -1
  7. package/_cjs/control/Assertion/api.cjs +45 -33
  8. package/_cjs/control/Assertion/api.cjs.map +1 -1
  9. package/_cjs/control/AssertionIO/api.cjs +20 -14
  10. package/_cjs/control/AssertionIO/api.cjs.map +1 -1
  11. package/_cjs/control/DefaultTestReporter/render.cjs +50 -50
  12. package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
  13. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +20 -16
  14. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
  15. package/_cjs/control/Gen/api/array.cjs +23 -17
  16. package/_cjs/control/Gen/api/array.cjs.map +1 -1
  17. package/_cjs/control/Gen/api/char.cjs +2 -2
  18. package/_cjs/control/Gen/api/char.cjs.map +1 -1
  19. package/_cjs/control/Gen/api/conc.cjs +35 -26
  20. package/_cjs/control/Gen/api/conc.cjs.map +1 -1
  21. package/_cjs/control/Gen/api/double.cjs +8 -8
  22. package/_cjs/control/Gen/api/double.cjs.map +1 -1
  23. package/_cjs/control/Gen/api/float.cjs +6 -6
  24. package/_cjs/control/Gen/api/float.cjs.map +1 -1
  25. package/_cjs/control/Gen/api/string.cjs +18 -14
  26. package/_cjs/control/Gen/api/string.cjs.map +1 -1
  27. package/_cjs/control/Gen/api/struct.cjs +4 -4
  28. package/_cjs/control/Gen/api/struct.cjs.map +1 -1
  29. package/_cjs/control/Gen/api.cjs +78 -65
  30. package/_cjs/control/Gen/api.cjs.map +1 -1
  31. package/_cjs/control/Gen.cjs.map +1 -1
  32. package/_cjs/control/Live/definition.cjs +5 -5
  33. package/_cjs/control/Live/definition.cjs.map +1 -1
  34. package/_cjs/control/RunnableSpec.cjs +8 -8
  35. package/_cjs/control/RunnableSpec.cjs.map +1 -1
  36. package/_cjs/control/Sample/api.cjs +66 -52
  37. package/_cjs/control/Sample/api.cjs.map +1 -1
  38. package/_cjs/control/Sized/live.cjs +3 -3
  39. package/_cjs/control/Sized/live.cjs.map +1 -1
  40. package/_cjs/control/Spec/api.cjs +322 -286
  41. package/_cjs/control/Spec/api.cjs.map +1 -1
  42. package/_cjs/control/Spec/definition.cjs.map +1 -1
  43. package/_cjs/control/SummaryBuilder.cjs +10 -10
  44. package/_cjs/control/SummaryBuilder.cjs.map +1 -1
  45. package/_cjs/control/Test.cjs +1 -1
  46. package/_cjs/control/Test.cjs.map +1 -1
  47. package/_cjs/control/TestAnnotationRenderer/api.cjs +28 -26
  48. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
  49. package/_cjs/control/TestAnnotationRenderer/definition.cjs +2 -2
  50. package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
  51. package/_cjs/control/TestAspect/api.cjs +14 -14
  52. package/_cjs/control/TestAspect/api.cjs.map +1 -1
  53. package/_cjs/control/TestClock/api.cjs +9 -11
  54. package/_cjs/control/TestClock/api.cjs.map +1 -1
  55. package/_cjs/control/TestClock/definition.cjs +65 -75
  56. package/_cjs/control/TestClock/definition.cjs.map +1 -1
  57. package/_cjs/control/TestConsole/api.cjs +3 -3
  58. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  59. package/_cjs/control/TestConsole/definition.cjs +20 -24
  60. package/_cjs/control/TestConsole/definition.cjs.map +1 -1
  61. package/_cjs/control/TestEnvironment.cjs +3 -3
  62. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  63. package/_cjs/control/TestExecutor.cjs +3 -3
  64. package/_cjs/control/TestExecutor.cjs.map +1 -1
  65. package/_cjs/control/TestLogger.cjs +2 -2
  66. package/_cjs/control/TestLogger.cjs.map +1 -1
  67. package/_cjs/control/TestRandom/api.cjs +9 -9
  68. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  69. package/_cjs/control/TestRandom/definition.cjs +65 -71
  70. package/_cjs/control/TestRandom/definition.cjs.map +1 -1
  71. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +11 -11
  72. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
  73. package/_cjs/control/TestRunner.cjs +1 -1
  74. package/_cjs/control/TestRunner.cjs.map +1 -1
  75. package/_cjs/data/AssertionValue/api.cjs +22 -14
  76. package/_cjs/data/AssertionValue/api.cjs.map +1 -1
  77. package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
  78. package/_cjs/data/ExecutedSpec/api.cjs +61 -53
  79. package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
  80. package/_cjs/data/ExecutionResult.cjs +42 -38
  81. package/_cjs/data/ExecutionResult.cjs.map +1 -1
  82. package/_cjs/data/FreeBooleanAlgebra/api.cjs +93 -77
  83. package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
  84. package/_cjs/data/LogLine/Fragment.cjs +2 -2
  85. package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
  86. package/_cjs/data/LogLine/Line.cjs +11 -9
  87. package/_cjs/data/LogLine/Line.cjs.map +1 -1
  88. package/_cjs/data/LogLine/Message.cjs +32 -24
  89. package/_cjs/data/LogLine/Message.cjs.map +1 -1
  90. package/_cjs/data/LogLine/Style.cjs.map +1 -1
  91. package/_cjs/data/Render/definition.cjs +1 -1
  92. package/_cjs/data/Render/definition.cjs.map +1 -1
  93. package/_cjs/data/TestAnnotation/api.cjs +2 -2
  94. package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
  95. package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
  96. package/_cjs/data/TestAnnotationMap.cjs +3 -3
  97. package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
  98. package/_cjs/demo.cjs +5 -5
  99. package/_cjs/demo.cjs.map +1 -1
  100. package/_cjs/util/math.cjs +6 -6
  101. package/_cjs/util/math.cjs.map +1 -1
  102. package/_mjs/api.mjs +37 -29
  103. package/_mjs/api.mjs.map +1 -1
  104. package/_mjs/control/AbstractRunnableSpec.mjs +1 -1
  105. package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
  106. package/_mjs/control/Annotations/live.mjs +10 -11
  107. package/_mjs/control/Annotations/live.mjs.map +1 -1
  108. package/_mjs/control/Assertion/api.mjs +40 -28
  109. package/_mjs/control/Assertion/api.mjs.map +1 -1
  110. package/_mjs/control/AssertionIO/api.mjs +17 -11
  111. package/_mjs/control/AssertionIO/api.mjs.map +1 -1
  112. package/_mjs/control/DefaultTestReporter/render.mjs +50 -50
  113. package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
  114. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +18 -14
  115. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
  116. package/_mjs/control/Gen/api/array.mjs +20 -14
  117. package/_mjs/control/Gen/api/array.mjs.map +1 -1
  118. package/_mjs/control/Gen/api/char.mjs +2 -2
  119. package/_mjs/control/Gen/api/char.mjs.map +1 -1
  120. package/_mjs/control/Gen/api/conc.mjs +30 -22
  121. package/_mjs/control/Gen/api/conc.mjs.map +1 -1
  122. package/_mjs/control/Gen/api/double.mjs +8 -8
  123. package/_mjs/control/Gen/api/double.mjs.map +1 -1
  124. package/_mjs/control/Gen/api/float.mjs +6 -6
  125. package/_mjs/control/Gen/api/float.mjs.map +1 -1
  126. package/_mjs/control/Gen/api/string.mjs +18 -14
  127. package/_mjs/control/Gen/api/string.mjs.map +1 -1
  128. package/_mjs/control/Gen/api/struct.mjs +4 -4
  129. package/_mjs/control/Gen/api/struct.mjs.map +1 -1
  130. package/_mjs/control/Gen/api.mjs +68 -54
  131. package/_mjs/control/Gen/api.mjs.map +1 -1
  132. package/_mjs/control/Gen.mjs.map +1 -1
  133. package/_mjs/control/Live/definition.mjs +5 -5
  134. package/_mjs/control/Live/definition.mjs.map +1 -1
  135. package/_mjs/control/RunnableSpec.mjs +8 -8
  136. package/_mjs/control/RunnableSpec.mjs.map +1 -1
  137. package/_mjs/control/Sample/api.mjs +57 -43
  138. package/_mjs/control/Sample/api.mjs.map +1 -1
  139. package/_mjs/control/Sized/live.mjs +3 -3
  140. package/_mjs/control/Sized/live.mjs.map +1 -1
  141. package/_mjs/control/Spec/api.mjs +300 -265
  142. package/_mjs/control/Spec/api.mjs.map +1 -1
  143. package/_mjs/control/Spec/definition.mjs.map +1 -1
  144. package/_mjs/control/SummaryBuilder.mjs +10 -10
  145. package/_mjs/control/SummaryBuilder.mjs.map +1 -1
  146. package/_mjs/control/Test.mjs +1 -1
  147. package/_mjs/control/Test.mjs.map +1 -1
  148. package/_mjs/control/TestAnnotationRenderer/api.mjs +27 -25
  149. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
  150. package/_mjs/control/TestAnnotationRenderer/definition.mjs +2 -2
  151. package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
  152. package/_mjs/control/TestAspect/api.mjs +14 -14
  153. package/_mjs/control/TestAspect/api.mjs.map +1 -1
  154. package/_mjs/control/TestClock/api.mjs +9 -10
  155. package/_mjs/control/TestClock/api.mjs.map +1 -1
  156. package/_mjs/control/TestClock/definition.mjs +65 -72
  157. package/_mjs/control/TestClock/definition.mjs.map +1 -1
  158. package/_mjs/control/TestConsole/api.mjs +3 -3
  159. package/_mjs/control/TestConsole/api.mjs.map +1 -1
  160. package/_mjs/control/TestConsole/definition.mjs +20 -22
  161. package/_mjs/control/TestConsole/definition.mjs.map +1 -1
  162. package/_mjs/control/TestEnvironment.mjs +3 -3
  163. package/_mjs/control/TestEnvironment.mjs.map +1 -1
  164. package/_mjs/control/TestExecutor.mjs +3 -3
  165. package/_mjs/control/TestExecutor.mjs.map +1 -1
  166. package/_mjs/control/TestLogger.mjs +2 -2
  167. package/_mjs/control/TestLogger.mjs.map +1 -1
  168. package/_mjs/control/TestRandom/api.mjs +9 -9
  169. package/_mjs/control/TestRandom/api.mjs.map +1 -1
  170. package/_mjs/control/TestRandom/definition.mjs +65 -68
  171. package/_mjs/control/TestRandom/definition.mjs.map +1 -1
  172. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +11 -11
  173. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
  174. package/_mjs/control/TestRunner.mjs +1 -1
  175. package/_mjs/control/TestRunner.mjs.map +1 -1
  176. package/_mjs/data/AssertionValue/api.mjs +22 -14
  177. package/_mjs/data/AssertionValue/api.mjs.map +1 -1
  178. package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
  179. package/_mjs/data/ExecutedSpec/api.mjs +55 -47
  180. package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
  181. package/_mjs/data/ExecutionResult.mjs +40 -36
  182. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  183. package/_mjs/data/FreeBooleanAlgebra/api.mjs +81 -65
  184. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
  185. package/_mjs/data/LogLine/Fragment.mjs +2 -2
  186. package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
  187. package/_mjs/data/LogLine/Line.mjs +11 -9
  188. package/_mjs/data/LogLine/Line.mjs.map +1 -1
  189. package/_mjs/data/LogLine/Message.mjs +26 -18
  190. package/_mjs/data/LogLine/Message.mjs.map +1 -1
  191. package/_mjs/data/LogLine/Style.mjs.map +1 -1
  192. package/_mjs/data/Render/definition.mjs +1 -1
  193. package/_mjs/data/Render/definition.mjs.map +1 -1
  194. package/_mjs/data/TestAnnotation/api.mjs +2 -2
  195. package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
  196. package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
  197. package/_mjs/data/TestAnnotationMap.mjs +3 -3
  198. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  199. package/_mjs/demo.mjs +5 -5
  200. package/_mjs/demo.mjs.map +1 -1
  201. package/_mjs/util/math.mjs +6 -6
  202. package/_mjs/util/math.mjs.map +1 -1
  203. package/_src/api.ts +36 -35
  204. package/_src/control/AbstractRunnableSpec.ts +0 -3
  205. package/_src/control/Annotations/live.ts +0 -4
  206. package/_src/control/Assertion/api.ts +31 -20
  207. package/_src/control/AssertionIO/api.ts +23 -17
  208. package/_src/control/DefaultTestReporter/render.ts +1 -11
  209. package/_src/control/FreeBooleanAlgebraIO/api.ts +12 -14
  210. package/_src/control/Gen/api/array.ts +18 -15
  211. package/_src/control/Gen/api/conc.ts +31 -26
  212. package/_src/control/Gen/api/string.ts +13 -9
  213. package/_src/control/Gen/api/struct.ts +12 -2
  214. package/_src/control/Gen/api.ts +56 -40
  215. package/_src/control/Gen.ts +0 -1
  216. package/_src/control/Live/definition.ts +0 -4
  217. package/_src/control/Sample/api.ts +77 -66
  218. package/_src/control/Spec/api.ts +235 -222
  219. package/_src/control/Spec/definition.ts +0 -2
  220. package/_src/control/SummaryBuilder.ts +0 -1
  221. package/_src/control/TestAnnotationRenderer/api.ts +17 -15
  222. package/_src/control/TestAnnotationRenderer/definition.ts +0 -2
  223. package/_src/control/TestAspect/api.ts +0 -1
  224. package/_src/control/TestClock/definition.ts +4 -17
  225. package/_src/control/TestConsole/definition.ts +0 -1
  226. package/_src/control/TestLogger.ts +0 -2
  227. package/_src/control/TestRandom/api.ts +5 -0
  228. package/_src/control/TestRandom/definition.ts +3 -37
  229. package/_src/control/TestRenderer/ConsoleRenderer.ts +0 -1
  230. package/_src/data/AssertionValue/api.ts +26 -22
  231. package/_src/data/AssertionValue/definition.ts +0 -1
  232. package/_src/data/ExecutedSpec/api.ts +41 -36
  233. package/_src/data/ExecutionResult.ts +54 -51
  234. package/_src/data/FreeBooleanAlgebra/api.ts +68 -58
  235. package/_src/data/LogLine/Line.ts +5 -3
  236. package/_src/data/LogLine/Message.ts +26 -18
  237. package/_src/data/LogLine/Style.ts +0 -1
  238. package/_src/data/Render/definition.ts +0 -2
  239. package/_src/data/TestAnnotation/api.ts +3 -1
  240. package/_src/data/TestAnnotation/definition.ts +0 -3
  241. package/_src/data/TestAnnotationMap.ts +0 -6
  242. package/_src/demo.ts +3 -4
  243. package/_src/util/math.ts +31 -17
  244. package/api.d.ts +12 -12
  245. package/control/Assertion/api.d.ts +14 -10
  246. package/control/AssertionIO/api.d.ts +8 -8
  247. package/control/FreeBooleanAlgebraIO/api.d.ts +6 -6
  248. package/control/Gen/api/array.d.ts +6 -6
  249. package/control/Gen/api/conc.d.ts +8 -8
  250. package/control/Gen/api/string.d.ts +4 -4
  251. package/control/Gen/api.d.ts +15 -15
  252. package/control/Sample/api.d.ts +14 -14
  253. package/control/Spec/api.d.ts +38 -41
  254. package/control/TestAnnotationRenderer/api.d.ts +3 -3
  255. package/control/TestConsole/definition.d.ts +2 -2
  256. package/data/AssertionValue/api.d.ts +8 -8
  257. package/data/ExecutedSpec/api.d.ts +8 -8
  258. package/data/ExecutionResult.d.ts +4 -4
  259. package/data/FreeBooleanAlgebra/api.d.ts +20 -20
  260. package/data/LogLine/Line.d.ts +2 -2
  261. package/data/LogLine/Message.d.ts +10 -10
  262. package/package.json +3 -3
@@ -19,21 +19,21 @@ import * as tsplus_module_17 from "@fncts/io/IO/api/foreachExec";
19
19
  import * as tsplus_module_18 from "@fncts/io/Layer/api";
20
20
  import * as tsplus_module_19 from "@fncts/io/IO/api/provideLayer";
21
21
  import * as tsplus_module_20 from "@fncts/test/data/TestSuccess";
22
- export const contramapEnvironment_ = contramapEnvironment_1;
22
+ export const contramapEnvironment = contramapEnvironment_1;
23
23
  export const exec = exec_1;
24
- export const filterAnnotations_ = filterAnnotations_1;
25
- export const filterLabels_ = filterLabels_1;
26
- export const filterTags_ = filterTags_1;
27
- export const fold_ = fold_1;
28
- export const foldScoped_ = foldScoped_1;
29
- export const foreachExec_ = foreachExec_1;
24
+ export const filterAnnotations = filterAnnotations_1;
25
+ export const filterLabels = filterLabels_1;
26
+ export const filterTags = filterTags_1;
27
+ export const fold = fold_1;
28
+ export const foldScoped = foldScoped_1;
29
+ export const foreachExec = foreachExec_1;
30
30
  export const labeledCase = labeledCase_1;
31
31
  export const scoped = scoped_1;
32
32
  export const multipleCase = multipleCase_1;
33
- export const provideEnvironment_ = provideEnvironment_1;
33
+ export const provideEnvironment = provideEnvironment_1;
34
34
  export const testCase = testCase_1;
35
- export const transform_ = transform_1;
36
- export const whenIO_ = whenIO_1;
35
+ export const transform = transform_1;
36
+ export const whenIO = whenIO_1;
37
37
  import { identity, tuple } from "@fncts/base/data/function";
38
38
  import { matchTag, matchTag_ } from "@fncts/base/util/pattern";
39
39
  import { TestAnnotationMap } from "../../data/TestAnnotationMap.mjs";
@@ -43,73 +43,79 @@ import { ExecCase, LabeledCase, MultipleCase, PSpec, ScopedCase, TestCase } from
43
43
  */
44
44
 
45
45
  export function annotated(spec) {
46
- return transform_1(spec, matchTag({
46
+ return transform_1(matchTag({
47
47
  Scoped: ({
48
48
  scoped
49
- }) => new ScopedCase(tsplus_module_1.mapError_(scoped, e => tuple(e, TestAnnotationMap.empty), fileName_1 + ":24:63")),
49
+ }) => new ScopedCase(tsplus_module_1.mapError(e => tuple(e, TestAnnotationMap.empty), fileName_1 + ":24:63")(scoped)),
50
50
  Test: ({
51
51
  test,
52
52
  annotations
53
53
  }) => new TestCase(tsplus_module_2.withAnnotation(test), annotations)
54
- }, identity));
54
+ }, identity))(spec);
55
55
  }
56
56
  /**
57
- * @tsplus fluent fncts.test.PSpec combine
57
+ * @tsplus pipeable fncts.test.PSpec combine
58
58
  */
59
59
 
60
- export function combine_(self, that) {
61
- if (tsplus_module_3.isMultiple(self.caseValue) && tsplus_module_3.isMultiple(that.caseValue)) {
62
- return multipleCase_1(tsplus_module_4.concat_(self.caseValue.specs, that.caseValue.specs));
63
- }
60
+ export function combine(that) {
61
+ return self => {
62
+ if (tsplus_module_3.isMultiple(self.caseValue) && tsplus_module_3.isMultiple(that.caseValue)) {
63
+ return multipleCase_1(tsplus_module_4.concat(that.caseValue.specs)(self.caseValue.specs));
64
+ }
64
65
 
65
- if (tsplus_module_3.isMultiple(self.caseValue)) {
66
- return multipleCase_1(tsplus_module_4.append_(self.caseValue.specs, that));
67
- }
66
+ if (tsplus_module_3.isMultiple(self.caseValue)) {
67
+ return multipleCase_1(tsplus_module_4.append(that)(self.caseValue.specs));
68
+ }
68
69
 
69
- if (tsplus_module_3.isMultiple(that.caseValue)) {
70
- return multipleCase_1(tsplus_module_4.prepend_(that.caseValue.specs, self));
71
- }
70
+ if (tsplus_module_3.isMultiple(that.caseValue)) {
71
+ return multipleCase_1(tsplus_module_4.prepend(self)(that.caseValue.specs));
72
+ }
72
73
 
73
- return multipleCase_1(tsplus_module_5.make(self, that));
74
+ return multipleCase_1(tsplus_module_5.make(self, that));
75
+ };
74
76
  }
75
77
  /**
76
- * @tsplus fluent fncts.test.PSpec contramapEnvironment
78
+ * @tsplus pipeable fncts.test.PSpec contramapEnvironment
77
79
  */
78
80
 
79
- function contramapEnvironment_1(self, f) {
80
- return transform_1(self, matchTag({
81
- Scoped: ({
82
- scoped
83
- }) => new ScopedCase(tsplus_module_8.contramapEnvironment_(scoped, r => tsplus_module_7.union(tsplus_module_7.add(tsplus_module_7.empty, tsplus_module_7.get(r, tsplus_module_6.ScopeTag), tsplus_module_6.ScopeTag), f(r)), fileName_1 + ":63:40")),
84
- Test: ({
85
- test,
86
- annotations
87
- }) => new TestCase(tsplus_module_8.contramapEnvironment_(test, f, fileName_1 + ":67:80"), annotations)
88
- }, identity));
81
+ function contramapEnvironment_1(f) {
82
+ return self => {
83
+ return transform_1(matchTag({
84
+ Scoped: ({
85
+ scoped
86
+ }) => new ScopedCase(tsplus_module_8.contramapEnvironment(r => tsplus_module_7.union(f(r))(tsplus_module_7.add(tsplus_module_7.get(tsplus_module_6.ScopeTag)(r), tsplus_module_6.ScopeTag)(tsplus_module_7.empty)), fileName_1 + ":60:42")(scoped)),
87
+ Test: ({
88
+ test,
89
+ annotations
90
+ }) => new TestCase(tsplus_module_8.contramapEnvironment(f, fileName_1 + ":64:82")(test), annotations)
91
+ }, identity))(self);
92
+ };
89
93
  }
90
94
  /**
91
- * @tsplus fluent fncts.test.PSpec countTests
95
+ * @tsplus pipeable fncts.test.PSpec countTests
92
96
  */
93
97
 
94
98
 
95
- export function countTests_(spec, f) {
96
- return fold_1(spec, matchTag({
97
- Exec: ({
98
- spec
99
- }) => spec,
100
- Labeled: ({
101
- spec
102
- }) => spec,
103
- Scoped: ({
104
- scoped
105
- }) => tsplus_module_1.flatten(scoped, fileName_1 + ":82:37"),
106
- Multiple: ({
107
- specs
108
- }) => tsplus_module_1.map_(tsplus_module_1.sequenceIterable(specs, fileName_1 + ":83:51"), specs => tsplus_module_4.foldLeft_(specs, 0, (b, a) => b + a), fileName_1 + ":83:62"),
109
- Test: ({
110
- test
111
- }) => tsplus_module_1.map_(test, t => f(t) ? 1 : 0, fileName_1 + ":84:35")
112
- }));
99
+ export function countTests(f) {
100
+ return spec => {
101
+ return fold_1(matchTag({
102
+ Exec: ({
103
+ spec
104
+ }) => spec,
105
+ Labeled: ({
106
+ spec
107
+ }) => spec,
108
+ Scoped: ({
109
+ scoped
110
+ }) => tsplus_module_1.flatten(scoped, fileName_1 + ":81:39"),
111
+ Multiple: ({
112
+ specs
113
+ }) => tsplus_module_1.map(specs => tsplus_module_4.foldLeft(0, (b, a) => b + a)(specs), fileName_1 + ":82:64")(tsplus_module_1.sequenceIterable(specs, fileName_1 + ":82:53")),
114
+ Test: ({
115
+ test
116
+ }) => tsplus_module_1.map(t => f(t) ? 1 : 0, fileName_1 + ":83:37")(test)
117
+ }))(spec);
118
+ };
113
119
  }
114
120
  /**
115
121
  * @tsplus static fncts.test.PSpecOps empty
@@ -126,158 +132,174 @@ function exec_1(spec, exec) {
126
132
  return new PSpec(new ExecCase(exec, spec));
127
133
  }
128
134
  /**
129
- * @tsplus fluent fncts.test.PSpec execute
135
+ * @tsplus pipeable fncts.test.PSpec execute
130
136
  */
131
137
 
132
138
 
133
- export function execute(self, defExec) {
134
- return tsplus_module_8.environmentWithIO(r => foreachExec_1(provideEnvironment_1(self, r), tsplus_module_1.failCauseNow, tsplus_module_1.succeedNow, defExec), fileName_1 + ":109:30");
139
+ export function execute(defExec) {
140
+ return self => {
141
+ return tsplus_module_8.environmentWithIO(r => foreachExec_1(tsplus_module_1.failCauseNow, tsplus_module_1.succeedNow, defExec)(provideEnvironment_1(r)(self)), fileName_1 + ":107:32");
142
+ };
135
143
  }
136
144
  /**
137
- * @tsplus fluent fncts.test.PSpec filterAnnotations
145
+ * @tsplus pipeable fncts.test.PSpec filterAnnotations
138
146
  */
139
147
 
140
- function filterAnnotations_1(spec, key, f) {
141
- return matchTag_(spec.caseValue, {
142
- Exec: ({
143
- spec,
144
- exec
145
- }) => tsplus_module_10.map_(filterAnnotations_1(spec, key, f), spec => exec_1(spec, exec)),
146
- Labeled: ({
147
- label,
148
- spec
149
- }) => tsplus_module_10.map_(filterAnnotations_1(spec, key, f), spec => labeledCase_1(spec, label)),
150
- Scoped: ({
151
- scoped
152
- }) => tsplus_module_11.just(scoped_1(tsplus_module_1.map_(scoped, spec => tsplus_module_10.getOrElse_(filterAnnotations_1(spec, key, f), () => empty_1), fileName_1 + ":126:33"))),
153
- Multiple: ({
154
- specs
155
- }) => {
156
- const filtered = tsplus_module_4.filterMap_(specs, spec => filterAnnotations_1(spec, key, f));
157
- return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
158
- },
159
- Test: ({
160
- test,
161
- annotations
162
- }) => f(annotations.get(key)) ? tsplus_module_11.just(testCase_1(test, annotations)) : tsplus_module_11.nothing()
163
- });
148
+ function filterAnnotations_1(key, f) {
149
+ return spec => {
150
+ return matchTag_(spec.caseValue, {
151
+ Exec: ({
152
+ spec,
153
+ exec
154
+ }) => tsplus_module_10.map(spec => exec_1(spec, exec))(filterAnnotations_1(key, f)(spec)),
155
+ Labeled: ({
156
+ label,
157
+ spec
158
+ }) => tsplus_module_10.map(spec => labeledCase_1(spec, label))(filterAnnotations_1(key, f)(spec)),
159
+ Scoped: ({
160
+ scoped
161
+ }) => tsplus_module_11.just(scoped_1(tsplus_module_1.map(spec => tsplus_module_10.getOrElse(() => empty_1)(filterAnnotations_1(key, f)(spec)), fileName_1 + ":122:35")(scoped))),
162
+ Multiple: ({
163
+ specs
164
+ }) => {
165
+ const filtered = tsplus_module_4.filterMap(spec => filterAnnotations_1(key, f)(spec))(specs);
166
+ return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
167
+ },
168
+ Test: ({
169
+ test,
170
+ annotations
171
+ }) => f(annotations.get(key)) ? tsplus_module_11.just(testCase_1(test, annotations)) : tsplus_module_11.nothing()
172
+ });
173
+ };
164
174
  }
165
175
  /**
166
- * @tsplus fluent fncts.test.PSpec filterLabels
176
+ * @tsplus pipeable fncts.test.PSpec filterLabels
167
177
  */
168
178
 
169
179
 
170
- function filterLabels_1(spec, f) {
171
- return matchTag_(spec.caseValue, {
172
- Exec: ({
173
- spec,
174
- exec
175
- }) => tsplus_module_10.map_(filterLabels_1(spec, f), spec => exec_1(spec, exec)),
176
- Labeled: ({
177
- label,
178
- spec
179
- }) => f(label) ? tsplus_module_11.just(labeledCase_1(spec, label)) : tsplus_module_10.map_(filterLabels_1(spec, f), spec => labeledCase_1(spec, label)),
180
- Scoped: ({
181
- scoped
182
- }) => tsplus_module_11.just(scoped_1(tsplus_module_1.map_(scoped, spec => tsplus_module_10.getOrElse_(filterLabels_1(spec, f), () => empty_1), fileName_1 + ":143:55"))),
183
- Multiple: ({
184
- specs
185
- }) => {
186
- const filtered = tsplus_module_4.filterMap_(specs, spec => filterLabels_1(spec, f));
187
- return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
188
- },
189
- Test: () => tsplus_module_11.nothing()
190
- });
180
+ function filterLabels_1(f) {
181
+ return spec => {
182
+ return matchTag_(spec.caseValue, {
183
+ Exec: ({
184
+ spec,
185
+ exec
186
+ }) => tsplus_module_10.map(spec => exec_1(spec, exec))(filterLabels_1(f)(spec)),
187
+ Labeled: ({
188
+ label,
189
+ spec
190
+ }) => f(label) ? tsplus_module_11.just(labeledCase_1(spec, label)) : tsplus_module_10.map(spec => labeledCase_1(spec, label))(filterLabels_1(f)(spec)),
191
+ Scoped: ({
192
+ scoped
193
+ }) => tsplus_module_11.just(scoped_1(tsplus_module_1.map(spec => tsplus_module_10.getOrElse(() => empty_1)(filterLabels_1(f)(spec)), fileName_1 + ":141:57")(scoped))),
194
+ Multiple: ({
195
+ specs
196
+ }) => {
197
+ const filtered = tsplus_module_4.filterMap(spec => filterLabels_1(f)(spec))(specs);
198
+ return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
199
+ },
200
+ Test: () => tsplus_module_11.nothing()
201
+ });
202
+ };
191
203
  }
192
204
  /**
193
- * @tsplus fluent fncts.test.PSpec filterTags
205
+ * @tsplus pipeable fncts.test.PSpec filterTags
194
206
  */
195
207
 
196
208
 
197
- function filterTags_1(spec, f) {
198
- return filterAnnotations_1(spec, tsplus_module_12.Tagged, v => tsplus_module_13.exists_(v, f));
209
+ function filterTags_1(f) {
210
+ return spec => {
211
+ return filterAnnotations_1(tsplus_module_12.Tagged, v => tsplus_module_13.exists(f)(v))(spec);
212
+ };
199
213
  }
200
214
  /**
201
- * @tsplus fluent fncts.test.PSpec filterByArgs
215
+ * @tsplus pipeable fncts.test.PSpec filterByArgs
202
216
  */
203
217
 
204
218
 
205
- export function filterByArgs(spec, args) {
206
- return tsplus_module_10.getOrElse_(tsplus_module_10.flatMap_(filterTags_1(spec, tsplus_module_15.elem(args.tagSearchTerms)(tsplus_module_14.Eq)), spec => filterLabels_1(spec, label => args.testSearchTerms.findIndex(term => term.includes(label)) === -1)), () => spec);
219
+ export function filterByArgs(args) {
220
+ return spec => {
221
+ return tsplus_module_10.getOrElse(() => spec)(tsplus_module_10.flatMap(spec => filterLabels_1(label => args.testSearchTerms.findIndex(term => term.includes(label)) === -1)(spec))(filterTags_1(tsplus_module_15.elem(args.tagSearchTerms)(tsplus_module_14.Eq))(spec)));
222
+ };
207
223
  }
208
224
  /**
209
- * @tsplus fluent fncts.test.PSpec fold
225
+ * @tsplus pipeable fncts.test.PSpec fold
210
226
  */
211
227
 
212
- function fold_1(spec, f) {
213
- return matchTag_(spec.caseValue, {
214
- Exec: ({
215
- exec,
216
- spec
217
- }) => f(new ExecCase(exec, fold_1(spec, f))),
218
- Labeled: ({
219
- label,
220
- spec
221
- }) => f(new LabeledCase(label, fold_1(spec, f))),
222
- Scoped: ({
223
- scoped
224
- }) => f(new ScopedCase(tsplus_module_1.map_(scoped, spec => fold_1(spec, f), fileName_1 + ":178:56"))),
225
- Multiple: ({
226
- specs
227
- }) => f(new MultipleCase(tsplus_module_4.map_(specs, spec => fold_1(spec, f)))),
228
- Test: t => f(t)
229
- });
228
+ function fold_1(f) {
229
+ return spec => {
230
+ return matchTag_(spec.caseValue, {
231
+ Exec: ({
232
+ exec,
233
+ spec
234
+ }) => f(new ExecCase(exec, fold_1(f)(spec))),
235
+ Labeled: ({
236
+ label,
237
+ spec
238
+ }) => f(new LabeledCase(label, fold_1(f)(spec))),
239
+ Scoped: ({
240
+ scoped
241
+ }) => f(new ScopedCase(tsplus_module_1.map(spec => fold_1(f)(spec), fileName_1 + ":182:58")(scoped))),
242
+ Multiple: ({
243
+ specs
244
+ }) => f(new MultipleCase(tsplus_module_4.map(spec => fold_1(f)(spec))(specs))),
245
+ Test: t => f(t)
246
+ });
247
+ };
230
248
  }
231
249
  /**
232
- * @tsplus fluent fncts.test.PSpec foldScoped
250
+ * @tsplus pipeable fncts.test.PSpec foldScoped
233
251
  */
234
252
 
235
253
 
236
- function foldScoped_1(spec, f, defExec) {
237
- return matchTag_(spec.caseValue, {
238
- Exec: ({
239
- exec,
240
- spec
241
- }) => tsplus_module_1.flatMap_(foldScoped_1(spec, f, exec), z => f(new ExecCase(exec, z)), fileName_1 + ":193:63"),
242
- Labeled: ({
243
- label,
244
- spec
245
- }) => tsplus_module_1.flatMap_(foldScoped_1(spec, f, defExec), z => f(new LabeledCase(label, z)), fileName_1 + ":194:70"),
246
- Scoped: ({
247
- scoped
248
- }) => tsplus_module_1.matchCauseIO_(scoped, cause => f(new ScopedCase(tsplus_module_1.haltNow(cause, fileName_1 + ":197:47"))), spec => tsplus_module_1.flatMap_(foldScoped_1(spec, f, defExec), z => f(new ScopedCase(tsplus_module_1.succeedNow(z, fileName_1 + ":198:92"))), fileName_1 + ":198:54"), fileName_1 + ":196:26"),
249
- Multiple: ({
250
- specs
251
- }) => tsplus_module_1.flatMap_(tsplus_module_17.foreachExec_(specs, defExec, spec => tsplus_module_16.scoped_(foldScoped_1(spec, f, defExec), fileName_1 + ":201:75"), fileName_1 + ":201:21"), zs => f(new MultipleCase(zs)), fileName_1 + ":201:91"),
252
- Test: f
253
- });
254
+ function foldScoped_1(f, defExec) {
255
+ return spec => {
256
+ return matchTag_(spec.caseValue, {
257
+ Exec: ({
258
+ exec,
259
+ spec
260
+ }) => tsplus_module_1.flatMap(z => f(new ExecCase(exec, z)), fileName_1 + ":198:65")(foldScoped_1(f, exec)(spec)),
261
+ Labeled: ({
262
+ label,
263
+ spec
264
+ }) => tsplus_module_1.flatMap(z => f(new LabeledCase(label, z)), fileName_1 + ":199:72")(foldScoped_1(f, defExec)(spec)),
265
+ Scoped: ({
266
+ scoped
267
+ }) => tsplus_module_1.matchCauseIO(cause => f(new ScopedCase(tsplus_module_1.haltNow(cause, fileName_1 + ":202:49"))), spec => tsplus_module_1.flatMap(z => f(new ScopedCase(tsplus_module_1.succeedNow(z, fileName_1 + ":203:94"))), fileName_1 + ":203:56")(foldScoped_1(f, defExec)(spec)), fileName_1 + ":201:28")(scoped),
268
+ Multiple: ({
269
+ specs
270
+ }) => tsplus_module_1.flatMap(zs => f(new MultipleCase(zs)), fileName_1 + ":206:93")(tsplus_module_17.foreachExec(specs, defExec, spec => tsplus_module_16.scoped(foldScoped_1(f, defExec)(spec), fileName_1 + ":206:77"), fileName_1 + ":206:23")),
271
+ Test: f
272
+ });
273
+ };
254
274
  }
255
275
  /**
256
- * @tsplus fluent fncts.test.PSpec foreachExec
276
+ * @tsplus pipeable fncts.test.PSpec foreachExec
257
277
  */
258
278
 
259
279
 
260
- function foreachExec_1(spec, failure, success, defExec) {
261
- return foldScoped_1(spec, matchTag({
262
- Exec: ({
263
- exec,
264
- spec
265
- }) => tsplus_module_1.succeedNow(exec_1(spec, exec), fileName_1 + ":219:46"),
266
- Labeled: ({
267
- label,
268
- spec
269
- }) => tsplus_module_1.succeedNow(labeledCase_1(spec, label), fileName_1 + ":220:50"),
270
- Scoped: ({
271
- scoped
272
- }) => tsplus_module_1.matchCause_(scoped, cause => testCase_1(failure(cause), TestAnnotationMap.empty), t => scoped_1(tsplus_module_1.succeedNow(t, fileName_1 + ":224:42")), fileName_1 + ":222:26"),
273
- Multiple: ({
274
- specs
275
- }) => tsplus_module_1.succeedNow(multipleCase_1(specs), fileName_1 + ":226:45"),
276
- Test: ({
277
- test,
278
- annotations
279
- }) => tsplus_module_1.matchCause_(test, cause => testCase_1(failure(cause), annotations), t => testCase_1(success(t), annotations), fileName_1 + ":228:24")
280
- }), defExec);
280
+ function foreachExec_1(failure, success, defExec) {
281
+ return spec => {
282
+ return foldScoped_1(matchTag({
283
+ Exec: ({
284
+ exec,
285
+ spec
286
+ }) => tsplus_module_1.succeedNow(exec_1(spec, exec), fileName_1 + ":225:48"),
287
+ Labeled: ({
288
+ label,
289
+ spec
290
+ }) => tsplus_module_1.succeedNow(labeledCase_1(spec, label), fileName_1 + ":226:52"),
291
+ Scoped: ({
292
+ scoped
293
+ }) => tsplus_module_1.matchCause(cause => testCase_1(failure(cause), TestAnnotationMap.empty), t => scoped_1(tsplus_module_1.succeedNow(t, fileName_1 + ":230:44")), fileName_1 + ":228:28")(scoped),
294
+ Multiple: ({
295
+ specs
296
+ }) => tsplus_module_1.succeedNow(multipleCase_1(specs), fileName_1 + ":232:47"),
297
+ Test: ({
298
+ test,
299
+ annotations
300
+ }) => tsplus_module_1.matchCause(cause => testCase_1(failure(cause), annotations), t => testCase_1(success(t), annotations), fileName_1 + ":234:26")(test)
301
+ }), defExec)(spec);
302
+ };
281
303
  }
282
304
  /**
283
305
  * @tsplus fluent fncts.test.PSpec labeled
@@ -290,7 +312,6 @@ function labeledCase_1(spec, label) {
290
312
  return new PSpec(new LabeledCase(label, spec));
291
313
  }
292
314
  /**
293
- * @tsplus fluent fncts.test.PSpec scoped
294
315
  * @tsplus static fncts.test.PSpecOps scoped
295
316
  * @tsplus static fncts.test.PSpec.ScopedCaseOps __call
296
317
  */
@@ -300,49 +321,52 @@ function scoped_1(managed) {
300
321
  return new PSpec(new ScopedCase(managed));
301
322
  }
302
323
  /**
303
- * @tsplus fluent fncts.test.SpecCase mapError
324
+ * @tsplus pipeable fncts.test.SpecCase mapError
304
325
  */
305
326
 
306
327
 
307
- export function mapError(self, f) {
308
- return transform_1(self, matchTag({
309
- Scoped: ({
310
- scoped
311
- }) => new ScopedCase(tsplus_module_1.mapError_(scoped, f, fileName_1 + ":262:63")),
312
- Test: ({
313
- test,
314
- annotations
315
- }) => new TestCase(tsplus_module_1.mapError_(test, f, fileName_1 + ":263:68"), annotations)
316
- }, identity));
328
+ export function mapError(f) {
329
+ return self => {
330
+ return transform_1(matchTag({
331
+ Scoped: ({
332
+ scoped
333
+ }) => new ScopedCase(tsplus_module_1.mapError(f, fileName_1 + ":269:65")(scoped)),
334
+ Test: ({
335
+ test,
336
+ annotations
337
+ }) => new TestCase(tsplus_module_1.mapError(f, fileName_1 + ":270:70")(test), annotations)
338
+ }, identity))(self);
339
+ };
317
340
  }
318
341
  /**
319
- * @tsplus fluent fncts.test.SpecCase map
342
+ * @tsplus pipeable fncts.test.SpecCase map
320
343
  */
321
344
 
322
- export function mapSpecCase_(fa, f) {
323
- return matchTag_(fa, {
324
- Exec: ({
325
- exec,
326
- spec
327
- }) => new ExecCase(exec, f(spec)),
328
- Labeled: ({
329
- label,
330
- spec
331
- }) => new LabeledCase(label, f(spec)),
332
- Scoped: ({
333
- scoped
334
- }) => new ScopedCase(tsplus_module_1.map_(scoped, f, fileName_1 + ":277:54")),
335
- Multiple: ({
336
- specs
337
- }) => new MultipleCase(tsplus_module_4.map_(specs, f)),
338
- Test: ({
339
- test,
340
- annotations
341
- }) => new TestCase(test, annotations)
342
- });
345
+ export function mapSpecCase(f) {
346
+ return fa => {
347
+ return matchTag_(fa, {
348
+ Exec: ({
349
+ exec,
350
+ spec
351
+ }) => new ExecCase(exec, f(spec)),
352
+ Labeled: ({
353
+ label,
354
+ spec
355
+ }) => new LabeledCase(label, f(spec)),
356
+ Scoped: ({
357
+ scoped
358
+ }) => new ScopedCase(tsplus_module_1.map(f, fileName_1 + ":286:56")(scoped)),
359
+ Multiple: ({
360
+ specs
361
+ }) => new MultipleCase(tsplus_module_4.map(f)(specs)),
362
+ Test: ({
363
+ test,
364
+ annotations
365
+ }) => new TestCase(test, annotations)
366
+ });
367
+ };
343
368
  }
344
369
  /**
345
- * @tsplus fluent fncts.test.PSpec multiple
346
370
  * @tsplus static fncts.test.PSpecOps multiple
347
371
  * @tsplus static fncts.test.PSpec.MultipleCaseOps __call
348
372
  */
@@ -351,31 +375,34 @@ function multipleCase_1(specs) {
351
375
  return new PSpec(new MultipleCase(specs));
352
376
  }
353
377
  /**
354
- * @tsplus fluent fncts.test.PSpec provideEnvironment
378
+ * @tsplus pipeable fncts.test.PSpec provideEnvironment
355
379
  */
356
380
 
357
381
 
358
- function provideEnvironment_1(self, r) {
359
- return contramapEnvironment_1(self, () => r);
382
+ function provideEnvironment_1(r) {
383
+ return self => {
384
+ return contramapEnvironment_1(() => r)(self);
385
+ };
360
386
  }
361
387
  /**
362
- * @tsplus fluent fncts.test.PSpec provideLayer
388
+ * @tsplus pipeable fncts.test.PSpec provideLayer
363
389
  */
364
390
 
365
391
 
366
- export function provideLayer_(self, layer) {
367
- return transform_1(self, matchTag({
368
- Scoped: ({
369
- scoped
370
- }) => new ScopedCase(tsplus_module_19.provideLayer_(scoped, tsplus_module_18.and_(tsplus_module_18.environment(fileName_1 + ":309:85"), layer, fileName_1 + ":309:98"), fileName_1 + ":309:67")),
371
- Test: ({
372
- test,
373
- annotations
374
- }) => new TestCase(tsplus_module_19.provideLayer_(test, layer, fileName_1 + ":310:72"), annotations)
375
- }, identity));
392
+ export function provideLayer(layer) {
393
+ return self => {
394
+ return transform_1(matchTag({
395
+ Scoped: ({
396
+ scoped
397
+ }) => new ScopedCase(tsplus_module_19.provideLayer(tsplus_module_18.and(layer, fileName_1 + ":318:100")(tsplus_module_18.environment(fileName_1 + ":318:87")), fileName_1 + ":318:69")(scoped)),
398
+ Test: ({
399
+ test,
400
+ annotations
401
+ }) => new TestCase(tsplus_module_19.provideLayer(layer, fileName_1 + ":319:74")(test), annotations)
402
+ }, identity))(self);
403
+ };
376
404
  }
377
405
  /**
378
- * @tsplus fluent fncts.test.PSpec test
379
406
  * @tsplus static fncts.test.PSpecOps test
380
407
  * @tsplus static fncts.test.PSpec.TestCaseOps __call
381
408
  */
@@ -384,66 +411,74 @@ function testCase_1(test, annotations) {
384
411
  return new PSpec(new TestCase(test, annotations));
385
412
  }
386
413
  /**
387
- * @tsplus fluent fncts.test.PSpec transform
414
+ * @tsplus pipeable fncts.test.PSpec transform
388
415
  */
389
416
 
390
417
 
391
- function transform_1(spec, f) {
392
- return matchTag_(spec.caseValue, {
393
- Exec: ({
394
- exec,
395
- spec
396
- }) => new PSpec(f(new ExecCase(exec, transform_1(spec, f)))),
397
- Labeled: ({
398
- label,
399
- spec
400
- }) => new PSpec(f(new LabeledCase(label, transform_1(spec, f)))),
401
- Scoped: ({
402
- scoped
403
- }) => new PSpec(f(new ScopedCase(tsplus_module_1.map_(scoped, spec => transform_1(spec, f), fileName_1 + ":336:66")))),
404
- Multiple: ({
405
- specs
406
- }) => new PSpec(f(new MultipleCase(tsplus_module_4.map_(specs, spec => transform_1(spec, f))))),
407
- Test: t => new PSpec(f(t))
408
- });
418
+ function transform_1(f) {
419
+ return spec => {
420
+ return matchTag_(spec.caseValue, {
421
+ Exec: ({
422
+ exec,
423
+ spec
424
+ }) => new PSpec(f(new ExecCase(exec, transform_1(f)(spec)))),
425
+ Labeled: ({
426
+ label,
427
+ spec
428
+ }) => new PSpec(f(new LabeledCase(label, transform_1(f)(spec)))),
429
+ Scoped: ({
430
+ scoped
431
+ }) => new PSpec(f(new ScopedCase(tsplus_module_1.map(spec => transform_1(f)(spec), fileName_1 + ":345:68")(scoped)))),
432
+ Multiple: ({
433
+ specs
434
+ }) => new PSpec(f(new MultipleCase(tsplus_module_4.map(spec => transform_1(f)(spec))(specs)))),
435
+ Test: t => new PSpec(f(t))
436
+ });
437
+ };
409
438
  }
410
439
  /**
411
- * @tsplus fluent fncts.test.PSpec annotate
440
+ * @tsplus pipeable fncts.test.PSpec annotate
412
441
  */
413
442
 
414
443
 
415
- export function annotate_(self, key, value) {
416
- return transform_1(self, matchTag({
417
- Test: ({
418
- test,
419
- annotations
420
- }) => new TestCase(test, annotations.annotate(key, value))
421
- }, identity));
444
+ export function annotate(key, value) {
445
+ return self => {
446
+ return transform_1(matchTag({
447
+ Test: ({
448
+ test,
449
+ annotations
450
+ }) => new TestCase(test, annotations.annotate(key, value))
451
+ }, identity))(self);
452
+ };
422
453
  }
423
454
  /**
424
- * @tsplus fluent fncts.test.PSpec whenIO
455
+ * @tsplus pipeable fncts.test.PSpec whenIO
425
456
  */
426
457
 
427
- function whenIO_1(self, b) {
428
- return matchTag_(self.caseValue, {
429
- Exec: c => exec_1(whenIO_1(c.spec, b), c.exec),
430
- Labeled: ({
431
- label,
432
- spec
433
- }) => labeledCase_1(whenIO_1(spec, b), label),
434
- Scoped: c => scoped_1(tsplus_module_1.flatMap_(b, b => b ? c.scoped : tsplus_module_1.succeedNow(empty_1, fileName_1 + ":366:78"), fileName_1 + ":366:41")),
435
- Multiple: ({
436
- specs
437
- }) => multipleCase_1(tsplus_module_4.map_(specs, _ => whenIO_1(_, b))),
438
- Test: c => testCase_1(tsplus_module_1.flatMap_(b, b => tsplus_module_1.as_(tsplus_module_1.if_(b, () => c.test, () => tsplus_module_2.annotate(tsplus_module_12.Ignored, 1), fileName_1 + ":370:31"), () => tsplus_module_20.ignored, fileName_1 + ":370:94"), fileName_1 + ":370:18"), c.annotations)
439
- });
458
+ function whenIO_1(b) {
459
+ return self => {
460
+ return matchTag_(self.caseValue, {
461
+ Exec: c => exec_1(whenIO_1(b)(c.spec), c.exec),
462
+ Labeled: ({
463
+ label,
464
+ spec
465
+ }) => labeledCase_1(whenIO_1(b)(spec), label),
466
+ Scoped: c => scoped_1(tsplus_module_1.flatMap(b => b ? c.scoped : tsplus_module_1.succeedNow(empty_1, fileName_1 + ":376:80"), fileName_1 + ":376:43")(b)),
467
+ Multiple: ({
468
+ specs
469
+ }) => multipleCase_1(tsplus_module_4.map(_ => whenIO_1(b)(_))(specs)),
470
+ Test: c => testCase_1(tsplus_module_1.flatMap(b => tsplus_module_1.as(() => tsplus_module_20.ignored, fileName_1 + ":380:96")(tsplus_module_1.cond(b, () => c.test, () => tsplus_module_2.annotate(tsplus_module_12.Ignored, 1), fileName_1 + ":380:33")), fileName_1 + ":380:20")(b), c.annotations)
471
+ });
472
+ };
440
473
  }
441
474
  /**
442
- * @tsplus fluent fncts.test.PSpec when
475
+ * @tsplus pipeable fncts.test.PSpec when
443
476
  */
444
477
 
445
478
 
446
- export function when_(self, b) {
447
- return whenIO_1(self, tsplus_module_1.succeed(b, fileName_1 + ":380:32"));
479
+ export function when(b) {
480
+ return self => {
481
+ return whenIO_1(tsplus_module_1.succeed(b, fileName_1 + ":392:34"))(self);
482
+ };
448
483
  }
449
484
  //# sourceMappingURL=api.mjs.map