@fncts/test 0.0.20 → 0.0.21

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 (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