@fncts/test 0.0.39 → 0.0.41

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 (365) hide show
  1. package/_cjs/api.cjs +2 -2
  2. package/_cjs/api.cjs.map +1 -1
  3. package/_cjs/control/AbstractRunnableSpec.cjs +2 -2
  4. package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
  5. package/_cjs/control/Annotations/api.cjs +3 -4
  6. package/_cjs/control/Annotations/api.cjs.map +1 -1
  7. package/_cjs/control/Annotations/definition.cjs +4 -6
  8. package/_cjs/control/Annotations/definition.cjs.map +1 -1
  9. package/_cjs/control/Annotations/live.cjs +3 -4
  10. package/_cjs/control/Annotations/live.cjs.map +1 -1
  11. package/_cjs/control/Annotations.cjs +8 -8
  12. package/_cjs/control/Annotations.cjs.map +1 -1
  13. package/_cjs/control/Assertion/api.cjs +26 -30
  14. package/_cjs/control/Assertion/api.cjs.map +1 -1
  15. package/_cjs/control/Assertion/definition.cjs +3 -3
  16. package/_cjs/control/Assertion/definition.cjs.map +1 -1
  17. package/_cjs/control/Assertion.cjs +8 -8
  18. package/_cjs/control/Assertion.cjs.map +1 -1
  19. package/_cjs/control/AssertionIO/api.cjs +2 -2
  20. package/_cjs/control/AssertionIO/api.cjs.map +1 -1
  21. package/_cjs/control/AssertionIO/definition.cjs +3 -4
  22. package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
  23. package/_cjs/control/AssertionIO.cjs +8 -8
  24. package/_cjs/control/AssertionIO.cjs.map +1 -1
  25. package/_cjs/control/DefaultRunnableSpec.cjs +2 -2
  26. package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
  27. package/_cjs/control/DefaultTestReporter/definition.cjs +1 -2
  28. package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
  29. package/_cjs/control/DefaultTestReporter/render.cjs +2 -2
  30. package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
  31. package/_cjs/control/DefaultTestReporter.cjs +8 -8
  32. package/_cjs/control/DefaultTestReporter.cjs.map +1 -1
  33. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +2 -2
  34. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +1 -2
  35. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
  36. package/_cjs/control/FreeBooleanAlgebraIO.cjs +8 -8
  37. package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -1
  38. package/_cjs/control/Gen/api.cjs +63 -126
  39. package/_cjs/control/Gen/api.cjs.map +1 -1
  40. package/_cjs/control/Gen.cjs +8 -8
  41. package/_cjs/control/Gen.cjs.map +1 -1
  42. package/_cjs/control/Live/definition.cjs +3 -4
  43. package/_cjs/control/Live/definition.cjs.map +1 -1
  44. package/_cjs/control/Live.cjs.map +1 -1
  45. package/_cjs/control/Sample/api.cjs +10 -18
  46. package/_cjs/control/Sample/api.cjs.map +1 -1
  47. package/_cjs/control/Sample/definition.cjs.map +1 -1
  48. package/_cjs/control/Sample.cjs +8 -8
  49. package/_cjs/control/Sample.cjs.map +1 -1
  50. package/_cjs/control/Sized/api.cjs +3 -4
  51. package/_cjs/control/Sized/api.cjs.map +1 -1
  52. package/_cjs/control/Sized/definition.cjs +3 -4
  53. package/_cjs/control/Sized/definition.cjs.map +1 -1
  54. package/_cjs/control/Sized/live.cjs +2 -2
  55. package/_cjs/control/Sized/live.cjs.map +1 -1
  56. package/_cjs/control/Sized.cjs +8 -8
  57. package/_cjs/control/Sized.cjs.map +1 -1
  58. package/_cjs/control/Spec/api.cjs +18 -34
  59. package/_cjs/control/Spec/api.cjs.map +1 -1
  60. package/_cjs/control/Spec/definition.cjs +1 -2
  61. package/_cjs/control/Spec/definition.cjs.map +1 -1
  62. package/_cjs/control/Spec.cjs +8 -8
  63. package/_cjs/control/Spec.cjs.map +1 -1
  64. package/_cjs/control/SummaryBuilder.cjs +3 -4
  65. package/_cjs/control/SummaryBuilder.cjs.map +1 -1
  66. package/_cjs/control/Test.cjs +3 -4
  67. package/_cjs/control/Test.cjs.map +1 -1
  68. package/_cjs/control/TestAnnotationRenderer/api.cjs +9 -16
  69. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
  70. package/_cjs/control/TestAnnotationRenderer/definition.cjs +3 -6
  71. package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
  72. package/_cjs/control/TestAnnotationRenderer.cjs +8 -8
  73. package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -1
  74. package/_cjs/control/TestAspect/api.cjs +8 -9
  75. package/_cjs/control/TestAspect/api.cjs.map +1 -1
  76. package/_cjs/control/TestAspect.cjs +8 -8
  77. package/_cjs/control/TestAspect.cjs.map +1 -1
  78. package/_cjs/control/TestClock/api.cjs +7 -8
  79. package/_cjs/control/TestClock/api.cjs.map +1 -1
  80. package/_cjs/control/TestClock/definition.cjs +35 -38
  81. package/_cjs/control/TestClock/definition.cjs.map +1 -1
  82. package/_cjs/control/TestClock.cjs +8 -8
  83. package/_cjs/control/TestClock.cjs.map +1 -1
  84. package/_cjs/control/TestConsole/api.cjs +7 -8
  85. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  86. package/_cjs/control/TestConsole/definition.cjs +14 -15
  87. package/_cjs/control/TestConsole/definition.cjs.map +1 -1
  88. package/_cjs/control/TestConsole.cjs +8 -8
  89. package/_cjs/control/TestConsole.cjs.map +1 -1
  90. package/_cjs/control/TestEnvironment.cjs +4 -6
  91. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  92. package/_cjs/control/TestLogger.cjs +4 -6
  93. package/_cjs/control/TestLogger.cjs.map +1 -1
  94. package/_cjs/control/TestRandom/api.cjs +5 -8
  95. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  96. package/_cjs/control/TestRandom/definition.cjs +36 -40
  97. package/_cjs/control/TestRandom/definition.cjs.map +1 -1
  98. package/_cjs/control/TestRandom.cjs +8 -8
  99. package/_cjs/control/TestRandom.cjs.map +1 -1
  100. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +4 -5
  101. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
  102. package/_cjs/data/AssertionData.cjs +5 -8
  103. package/_cjs/data/AssertionData.cjs.map +1 -1
  104. package/_cjs/data/AssertionResult.cjs +3 -4
  105. package/_cjs/data/AssertionResult.cjs.map +1 -1
  106. package/_cjs/data/AssertionValue/api.cjs +2 -2
  107. package/_cjs/data/AssertionValue/api.cjs.map +1 -1
  108. package/_cjs/data/AssertionValue/definition.cjs +3 -4
  109. package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
  110. package/_cjs/data/AssertionValue.cjs +8 -8
  111. package/_cjs/data/AssertionValue.cjs.map +1 -1
  112. package/_cjs/data/ExecutedSpec/api.cjs +4 -6
  113. package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
  114. package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
  115. package/_cjs/data/ExecutedSpec.cjs +8 -8
  116. package/_cjs/data/ExecutedSpec.cjs.map +1 -1
  117. package/_cjs/data/ExecutionResult.cjs +8 -14
  118. package/_cjs/data/ExecutionResult.cjs.map +1 -1
  119. package/_cjs/data/FailureDetails.cjs.map +1 -1
  120. package/_cjs/data/FreeBooleanAlgebra/api.cjs +13 -22
  121. package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
  122. package/_cjs/data/FreeBooleanAlgebra/definition.cjs +1 -2
  123. package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
  124. package/_cjs/data/FreeBooleanAlgebra.cjs +8 -8
  125. package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -1
  126. package/_cjs/data/GenFailureDetails.cjs.map +1 -1
  127. package/_cjs/data/LogLine/Fragment.cjs +2 -2
  128. package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
  129. package/_cjs/data/LogLine/Line.cjs +5 -8
  130. package/_cjs/data/LogLine/Line.cjs.map +1 -1
  131. package/_cjs/data/LogLine/Message.cjs +7 -12
  132. package/_cjs/data/LogLine/Message.cjs.map +1 -1
  133. package/_cjs/data/LogLine/Style.cjs +8 -16
  134. package/_cjs/data/LogLine/Style.cjs.map +1 -1
  135. package/_cjs/data/LogLine/api.cjs +3 -4
  136. package/_cjs/data/LogLine/api.cjs.map +1 -1
  137. package/_cjs/data/Render/definition.cjs +3 -6
  138. package/_cjs/data/Render/definition.cjs.map +1 -1
  139. package/_cjs/data/Render.cjs +8 -8
  140. package/_cjs/data/Render.cjs.map +1 -1
  141. package/_cjs/data/RenderParam/api.cjs.map +1 -1
  142. package/_cjs/data/RenderParam/definition.cjs +1 -2
  143. package/_cjs/data/RenderParam/definition.cjs.map +1 -1
  144. package/_cjs/data/RenderParam.cjs +8 -8
  145. package/_cjs/data/RenderParam.cjs.map +1 -1
  146. package/_cjs/data/Summary.cjs.map +1 -1
  147. package/_cjs/data/TestAnnotation/api.cjs +15 -27
  148. package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
  149. package/_cjs/data/TestAnnotation/definition.cjs +4 -6
  150. package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
  151. package/_cjs/data/TestAnnotation.cjs +8 -8
  152. package/_cjs/data/TestAnnotation.cjs.map +1 -1
  153. package/_cjs/data/TestAnnotationMap.cjs +2 -2
  154. package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
  155. package/_cjs/data/TestArgs.cjs.map +1 -1
  156. package/_cjs/data/TestConfig.cjs +7 -12
  157. package/_cjs/data/TestConfig.cjs.map +1 -1
  158. package/_cjs/data/TestFailure.cjs +3 -4
  159. package/_cjs/data/TestFailure.cjs.map +1 -1
  160. package/_cjs/data/TestSuccess.cjs +2 -4
  161. package/_cjs/data/TestSuccess.cjs.map +1 -1
  162. package/_cjs/demo.cjs +2 -2
  163. package/_cjs/demo.cjs.map +1 -1
  164. package/_cjs/util/math.cjs +7 -14
  165. package/_cjs/util/math.cjs.map +1 -1
  166. package/_cjs/vitest.cjs +54 -42
  167. package/_cjs/vitest.cjs.map +1 -1
  168. package/_mjs/api.mjs.map +1 -1
  169. package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
  170. package/_mjs/control/Annotations.mjs +3 -2
  171. package/_mjs/control/Annotations.mjs.map +1 -1
  172. package/_mjs/control/Assertion/api.mjs +7 -1
  173. package/_mjs/control/Assertion/api.mjs.map +1 -1
  174. package/_mjs/control/Assertion/definition.mjs +1 -1
  175. package/_mjs/control/Assertion/definition.mjs.map +1 -1
  176. package/_mjs/control/Assertion.mjs +2 -1
  177. package/_mjs/control/Assertion.mjs.map +1 -1
  178. package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
  179. package/_mjs/control/AssertionIO.mjs +2 -1
  180. package/_mjs/control/AssertionIO.mjs.map +1 -1
  181. package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
  182. package/_mjs/control/DefaultTestReporter.mjs +2 -1
  183. package/_mjs/control/DefaultTestReporter.mjs.map +1 -1
  184. package/_mjs/control/FreeBooleanAlgebraIO.mjs +2 -1
  185. package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -1
  186. package/_mjs/control/Gen/api.mjs +0 -2
  187. package/_mjs/control/Gen/api.mjs.map +1 -1
  188. package/_mjs/control/Gen.mjs +3 -2
  189. package/_mjs/control/Gen.mjs.map +1 -1
  190. package/_mjs/control/Live/definition.mjs +1 -2
  191. package/_mjs/control/Live/definition.mjs.map +1 -1
  192. package/_mjs/control/Live.mjs +1 -0
  193. package/_mjs/control/Live.mjs.map +1 -1
  194. package/_mjs/control/Sample/api.mjs.map +1 -1
  195. package/_mjs/control/Sample/definition.mjs.map +1 -1
  196. package/_mjs/control/Sample.mjs +2 -1
  197. package/_mjs/control/Sample.mjs.map +1 -1
  198. package/_mjs/control/Sized/live.mjs.map +1 -1
  199. package/_mjs/control/Sized.mjs +3 -2
  200. package/_mjs/control/Sized.mjs.map +1 -1
  201. package/_mjs/control/Spec/api.mjs.map +1 -1
  202. package/_mjs/control/Spec/definition.mjs.map +1 -1
  203. package/_mjs/control/Spec.mjs +2 -1
  204. package/_mjs/control/Spec.mjs.map +1 -1
  205. package/_mjs/control/SummaryBuilder.mjs.map +1 -1
  206. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
  207. package/_mjs/control/TestAnnotationRenderer/definition.mjs +0 -2
  208. package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
  209. package/_mjs/control/TestAnnotationRenderer.mjs +2 -1
  210. package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -1
  211. package/_mjs/control/TestAspect.mjs +2 -1
  212. package/_mjs/control/TestAspect.mjs.map +1 -1
  213. package/_mjs/control/TestClock/definition.mjs +30 -30
  214. package/_mjs/control/TestClock/definition.mjs.map +1 -1
  215. package/_mjs/control/TestClock.mjs +2 -1
  216. package/_mjs/control/TestClock.mjs.map +1 -1
  217. package/_mjs/control/TestConsole/definition.mjs +11 -11
  218. package/_mjs/control/TestConsole/definition.mjs.map +1 -1
  219. package/_mjs/control/TestConsole.mjs +2 -1
  220. package/_mjs/control/TestConsole.mjs.map +1 -1
  221. package/_mjs/control/TestLogger.mjs.map +1 -1
  222. package/_mjs/control/TestRandom/definition.mjs +33 -36
  223. package/_mjs/control/TestRandom/definition.mjs.map +1 -1
  224. package/_mjs/control/TestRandom.mjs +2 -1
  225. package/_mjs/control/TestRandom.mjs.map +1 -1
  226. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +1 -1
  227. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
  228. package/_mjs/data/AssertionData.mjs.map +1 -1
  229. package/_mjs/data/AssertionValue.mjs +2 -1
  230. package/_mjs/data/AssertionValue.mjs.map +1 -1
  231. package/_mjs/data/ExecutedSpec/definition.mjs +0 -2
  232. package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
  233. package/_mjs/data/ExecutedSpec.mjs +2 -1
  234. package/_mjs/data/ExecutedSpec.mjs.map +1 -1
  235. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  236. package/_mjs/data/FailureDetails.mjs.map +1 -1
  237. package/_mjs/data/FreeBooleanAlgebra/api.mjs +2 -2
  238. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
  239. package/_mjs/data/FreeBooleanAlgebra/definition.mjs +0 -4
  240. package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
  241. package/_mjs/data/FreeBooleanAlgebra.mjs +2 -1
  242. package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -1
  243. package/_mjs/data/GenFailureDetails.mjs.map +1 -1
  244. package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
  245. package/_mjs/data/LogLine/Line.mjs.map +1 -1
  246. package/_mjs/data/LogLine/Message.mjs.map +1 -1
  247. package/_mjs/data/Render/definition.mjs +0 -2
  248. package/_mjs/data/Render/definition.mjs.map +1 -1
  249. package/_mjs/data/Render.mjs +2 -1
  250. package/_mjs/data/Render.mjs.map +1 -1
  251. package/_mjs/data/RenderParam/api.mjs.map +1 -1
  252. package/_mjs/data/RenderParam/definition.mjs +0 -2
  253. package/_mjs/data/RenderParam/definition.mjs.map +1 -1
  254. package/_mjs/data/RenderParam.mjs +2 -1
  255. package/_mjs/data/RenderParam.mjs.map +1 -1
  256. package/_mjs/data/Summary.mjs.map +1 -1
  257. package/_mjs/data/TestAnnotation/api.mjs +1 -1
  258. package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
  259. package/_mjs/data/TestAnnotation.mjs +2 -1
  260. package/_mjs/data/TestAnnotation.mjs.map +1 -1
  261. package/_mjs/data/TestAnnotationMap.mjs +1 -2
  262. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  263. package/_mjs/data/TestArgs.mjs +1 -0
  264. package/_mjs/data/TestArgs.mjs.map +1 -1
  265. package/_mjs/data/TestConfig.mjs.map +1 -1
  266. package/_mjs/data/TestFailure.mjs +0 -2
  267. package/_mjs/data/TestFailure.mjs.map +1 -1
  268. package/_mjs/data/TestSuccess.mjs +0 -2
  269. package/_mjs/data/TestSuccess.mjs.map +1 -1
  270. package/_mjs/util/math.mjs +0 -2
  271. package/_mjs/util/math.mjs.map +1 -1
  272. package/_mjs/vitest.mjs +38 -24
  273. package/_mjs/vitest.mjs.map +1 -1
  274. package/_src/control/Annotations.ts +3 -2
  275. package/_src/control/Assertion/api.ts +8 -0
  276. package/_src/control/Assertion/definition.ts +4 -1
  277. package/_src/control/Assertion.ts +2 -1
  278. package/_src/control/AssertionIO/definition.ts +4 -1
  279. package/_src/control/AssertionIO.ts +2 -1
  280. package/_src/control/DefaultTestReporter/render.ts +2 -2
  281. package/_src/control/DefaultTestReporter.ts +2 -1
  282. package/_src/control/FreeBooleanAlgebraIO.ts +2 -1
  283. package/_src/control/Gen/api.ts +4 -4
  284. package/_src/control/Gen.ts +3 -2
  285. package/_src/control/Live.ts +1 -0
  286. package/_src/control/Sample/definition.ts +4 -1
  287. package/_src/control/Sample.ts +2 -1
  288. package/_src/control/Sized.ts +3 -2
  289. package/_src/control/Spec/definition.ts +12 -3
  290. package/_src/control/Spec.ts +2 -1
  291. package/_src/control/TestAnnotationRenderer.ts +2 -1
  292. package/_src/control/TestAspect.ts +2 -1
  293. package/_src/control/TestClock/definition.ts +9 -2
  294. package/_src/control/TestClock.ts +2 -1
  295. package/_src/control/TestConsole/definition.ts +5 -1
  296. package/_src/control/TestConsole.ts +2 -1
  297. package/_src/control/TestRandom/definition.ts +4 -1
  298. package/_src/control/TestRandom.ts +2 -1
  299. package/_src/control/TestRenderer/ConsoleRenderer.ts +1 -1
  300. package/_src/control.ts +21 -23
  301. package/_src/data/AssertionData.ts +4 -1
  302. package/_src/data/AssertionValue.ts +2 -1
  303. package/_src/data/ExecutedSpec/definition.ts +8 -2
  304. package/_src/data/ExecutedSpec.ts +2 -1
  305. package/_src/data/FailureDetails.ts +4 -1
  306. package/_src/data/FreeBooleanAlgebra/api.ts +4 -4
  307. package/_src/data/FreeBooleanAlgebra/definition.ts +8 -2
  308. package/_src/data/FreeBooleanAlgebra.ts +2 -1
  309. package/_src/data/GenFailureDetails.ts +5 -1
  310. package/_src/data/LogLine/Fragment.ts +4 -1
  311. package/_src/data/LogLine/Line.ts +4 -1
  312. package/_src/data/Render/definition.ts +9 -2
  313. package/_src/data/Render.ts +2 -1
  314. package/_src/data/RenderParam.ts +2 -1
  315. package/_src/data/Summary.ts +6 -1
  316. package/_src/data/TestAnnotation/api.ts +6 -6
  317. package/_src/data/TestAnnotation.ts +2 -1
  318. package/_src/data/TestArgs.ts +1 -0
  319. package/_src/data.ts +19 -18
  320. package/_src/index.ts +7 -6
  321. package/_src/util.ts +1 -0
  322. package/_src/vitest.ts +46 -29
  323. package/api.d.ts +5 -5
  324. package/control/AbstractRunnableSpec.d.ts +1 -1
  325. package/control/Annotations/definition.d.ts +1 -1
  326. package/control/Annotations.d.ts +2 -2
  327. package/control/Assertion/api.d.ts +2 -0
  328. package/control/Assertion.d.ts +1 -1
  329. package/control/AssertionIO.d.ts +1 -1
  330. package/control/DefaultTestReporter.d.ts +1 -1
  331. package/control/FreeBooleanAlgebraIO/api.d.ts +2 -2
  332. package/control/FreeBooleanAlgebraIO.d.ts +1 -1
  333. package/control/Gen/api.d.ts +13 -13
  334. package/control/Gen.d.ts +2 -2
  335. package/control/Live/definition.d.ts +2 -2
  336. package/control/Sample/api.d.ts +6 -6
  337. package/control/Sample.d.ts +1 -1
  338. package/control/Sized/api.d.ts +1 -1
  339. package/control/Sized/definition.d.ts +1 -1
  340. package/control/Sized.d.ts +2 -2
  341. package/control/Spec/api.d.ts +9 -9
  342. package/control/Spec.d.ts +1 -1
  343. package/control/TestAnnotationRenderer.d.ts +1 -1
  344. package/control/TestAspect.d.ts +1 -1
  345. package/control/TestClock/definition.d.ts +1 -1
  346. package/control/TestClock.d.ts +1 -1
  347. package/control/TestConsole/definition.d.ts +1 -1
  348. package/control/TestConsole.d.ts +1 -1
  349. package/control/TestLogger.d.ts +1 -1
  350. package/control/TestRandom/api.d.ts +1 -1
  351. package/control/TestRandom/definition.d.ts +1 -1
  352. package/control/TestRandom.d.ts +1 -1
  353. package/control.d.ts +20 -23
  354. package/data/AssertionValue.d.ts +1 -1
  355. package/data/ExecutedSpec.d.ts +1 -1
  356. package/data/FreeBooleanAlgebra.d.ts +1 -1
  357. package/data/Render.d.ts +1 -1
  358. package/data/RenderParam.d.ts +1 -1
  359. package/data/TestAnnotation/api.d.ts +6 -6
  360. package/data/TestAnnotation.d.ts +1 -1
  361. package/data/TestConfig.d.ts +1 -1
  362. package/data.d.ts +18 -18
  363. package/index.d.ts +5 -5
  364. package/package.json +4 -4
  365. package/vitest.d.ts +20 -14
package/_src/vitest.ts CHANGED
@@ -1,48 +1,58 @@
1
1
  import type { AssertionValue } from "@fncts/test/data/AssertionValue";
2
2
  import type { TestResult } from "@fncts/test/data/FailureDetails";
3
3
 
4
- import { identity } from "@fncts/base/data/function";
4
+ import { isPromise } from "@fncts/base/util/predicates";
5
5
  import { check, checkAllConcurrently, checkAllIOConcurrently, checkIO } from "@fncts/test/api";
6
+ import { Assertion } from "@fncts/test/control/Assertion";
6
7
  import { renderFragment } from "@fncts/test/control/DefaultTestReporter";
7
- import { Gen } from "@fncts/test/control/Gen";
8
8
  import { TestAnnotationRenderer } from "@fncts/test/control/TestAnnotationRenderer";
9
9
  import { TestEnvironment } from "@fncts/test/control/TestEnvironment";
10
10
  import { ConsoleRenderer } from "@fncts/test/control/TestRenderer/ConsoleRenderer";
11
11
  import { Failed, Passed, rendered, Test } from "@fncts/test/data/ExecutionResult";
12
- import { TestConfig } from "@fncts/test/data/TestConfig";
12
+ import { RenderParam } from "@fncts/test/data/RenderParam";
13
13
  import * as V from "vitest";
14
- import { GenerateStackTrace } from "@fncts/io/IO";
15
14
 
16
15
  export const describe = V.describe;
17
16
 
18
17
  export const suite = V.suite;
19
18
 
20
19
  export const it = (() => {
21
- function runTest(test: Lazy<TestResult | void>) {
20
+ function runTest(test: Lazy<TestResult | Promise<void> | void>) {
22
21
  const result = test();
23
22
  if (!result) {
24
23
  return;
25
24
  }
25
+
26
+ if (isPromise(result)) {
27
+ return result;
28
+ }
29
+
26
30
  if (result.isFailure) {
27
31
  const lines = (assertionValues: Cons<AssertionValue<any>>) =>
28
32
  assertionValues.flatMap((value) => List.from(renderFragment(value, 0).lines));
29
- const renderedResult = ConsoleRenderer.renderSingle(
30
- result.invert.fold({
31
- Value: (details) => rendered(Test, "", Failed, 0, lines(details.failureDetails.assertion)),
32
- And: (l, r) => l && r,
33
- Or: (l, r) => l || r,
34
- Not: (v) => v.invert,
35
- }),
36
- TestAnnotationRenderer.Default,
37
- );
33
+
34
+ const renderedResult = result.failures
35
+ .map((failures) =>
36
+ ConsoleRenderer.renderSingle(
37
+ failures.fold({
38
+ Value: (details) => rendered(Test, "", Failed, 0, lines(details.failureDetails.assertion)),
39
+ And: (l, r) => l && r,
40
+ Or: (l, r) => l || r,
41
+ Not: (v) => v.invert,
42
+ }),
43
+ TestAnnotationRenderer.Default,
44
+ ),
45
+ )
46
+ .getOrElse("Unknown Test Failure");
47
+
38
48
  const error = new Error(renderedResult);
39
49
  error.stack = undefined;
40
50
  throw error;
41
51
  }
42
52
  }
43
53
 
44
- function it(name: string, test: Lazy<TestResult | void>, timeout = 5_000) {
45
- return V.it.concurrent(name, () => runTest(test), timeout);
54
+ function it(name: string, test: Lazy<TestResult | Promise<void> | void>, options?: V.TestOptions) {
55
+ return V.it.concurrent(name, () => runTest(test), options);
46
56
  }
47
57
 
48
58
  function runTestIO<E>(io: Lazy<IO<TestEnvironment, E, TestResult>>) {
@@ -53,7 +63,7 @@ export const it = (() => {
53
63
  if (result.isFailure) {
54
64
  const lines = (assertionValues: Cons<AssertionValue<any>>) => {
55
65
  return assertionValues.flatMap((value) => List.from(renderFragment(value, 0).lines));
56
- }
66
+ };
57
67
  const renderedResult = ConsoleRenderer.renderSingle(
58
68
  result.fold({
59
69
  Value: (details) => rendered(Test, "", Passed, 0, lines(details.failureDetails.assertion)),
@@ -75,33 +85,40 @@ export const it = (() => {
75
85
  .unsafeRunPromise();
76
86
  }
77
87
 
78
- function itIO<E>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, timeout = 5_000) {
79
- return V.it.concurrent(name, () => runTestIO(io), timeout);
88
+ function itIO<E>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, options?: V.TestOptions) {
89
+ return V.it.concurrent(name, () => runTestIO(io), options);
80
90
  }
81
91
 
82
92
  return Object.assign(it, {
83
- skip: (name: string, test: Lazy<TestResult | void>, timeout = 5_000) => {
84
- return V.it.skip(name, () => runTest(test), timeout);
93
+ skip: (name: string, test: Lazy<TestResult | Promise<void> | void>, options?: V.TestOptions) => {
94
+ return V.it.skip(name, () => runTest(test), options);
85
95
  },
86
- only: (name: string, test: Lazy<TestResult | void>, timeout = 5_000) => {
87
- return V.it.only(name, () => runTest(test), timeout);
96
+ only: (name: string, test: Lazy<TestResult | Promise<void> | void>, options?: V.TestOptions) => {
97
+ return V.it.only(name, () => runTest(test), options);
88
98
  },
89
99
  check: check,
90
100
  checkIO: checkIO,
91
101
  checkAll: checkAllConcurrently,
92
102
  checkAllIO: checkAllIOConcurrently,
93
103
  io: Object.assign(itIO, {
94
- scoped: <E>(name: string, io: Lazy<IO<TestEnvironment | Scope, E, TestResult>>, timeout = 5_000) => {
95
- return itIO(name, io().scoped, timeout)
104
+ scoped: <E>(name: string, io: Lazy<IO<TestEnvironment | Scope, E, TestResult>>, options?: V.TestOptions) => {
105
+ return itIO(name, io().scoped, options);
96
106
  },
97
- skip: <E>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, timeout = 5_000) => {
98
- return V.it.skip(name, () => runTestIO(io), timeout);
107
+ skip: <E>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, options?: V.TestOptions) => {
108
+ return V.it.skip(name, () => runTestIO(io), options);
99
109
  },
100
- only: <E, A>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, timeout = 5_000) => {
101
- return V.it.only(name, () => runTestIO(io), timeout);
110
+ only: <E, A>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, options?: V.TestOptions) => {
111
+ return V.it.only(name, () => runTestIO(io), options);
102
112
  },
103
113
  }),
104
114
  });
105
115
  })();
106
116
 
107
117
  export const test = it;
118
+
119
+ /**
120
+ * @tsplus static fncts.test.AssertionOps calledTimes
121
+ */
122
+ export function calledTimes(times: number): Assertion<V.Mock> {
123
+ return Assertion.make("calledTimes", [RenderParam(times)], (mock) => mock.mock.calls.length === times);
124
+ }
package/api.d.ts CHANGED
@@ -20,7 +20,7 @@ export declare function assert<A>(assertion: Assertion<A>): (value: A) => TestRe
20
20
  * @tsplus pipeable fncts.io.IO assertIO
21
21
  * @tsplus location "@fncts/test/api"
22
22
  */
23
- export declare function assertIO<A>(assertion: AssertionIO<A>): <R, E>(io: import("@fncts/io/IO.js").IO<R, E, A>) => import("@fncts/io/IO.js").IO<R, E, TestResult>;
23
+ export declare function assertIO<A>(assertion: AssertionIO<A>): <R, E>(io: IO<R, E, A>) => IO<R, E, TestResult>;
24
24
  export declare function suite<Specs extends ReadonlyArray<Spec<any, any>>>(label: string, ...specs: Specs): Spec<_R<Specs[number]>, _E<Specs[number]>>;
25
25
  export declare function testIO<R, E>(label: string, assertion: Lazy<IO<R, E, TestResult>>): Spec<R, E>;
26
26
  export declare function test(label: string, assertion: Lazy<TestResult>): Spec<never, never>;
@@ -28,19 +28,19 @@ export declare function test(label: string, assertion: Lazy<TestResult>): Spec<n
28
28
  * @tsplus pipeable fncts.test.Gen check
29
29
  * @tsplus location "@fncts/test/api"
30
30
  */
31
- export declare function check<A>(test: (a: A) => TestResult): <R>(rv: Gen<R, A>) => import("@fncts/io/IO.js").IO<TestConfig | R, never, TestResult>;
31
+ export declare function check<A>(test: (a: A) => TestResult): <R>(rv: Gen<R, A>) => IO<R | TestConfig, never, TestResult>;
32
32
  /**
33
33
  * @tsplus pipeable fncts.test.Gen check
34
34
  * @tsplus location "@fncts/test/api"
35
35
  */
36
- export declare function checkIO<A, R1, E>(test: (a: A) => IO<R1, E, TestResult>): <R>(rv: Gen<R, A>) => import("@fncts/io/IO.js").IO<TestConfig | R1 | R, E, TestResult>;
36
+ export declare function checkIO<A, R1, E>(test: (a: A) => IO<R1, E, TestResult>): <R>(rv: Gen<R, A>) => IO<R | R1 | TestConfig, E, TestResult>;
37
37
  /**
38
38
  * @tsplus pipeable fncts.test.Gen checkAllConcurrently
39
39
  * @tsplus location "@fncts/test/api"
40
40
  */
41
- export declare function checkAllConcurrently<A>(concurrency: number, test: (a: A) => TestResult): <R>(rv: Gen<R, A>) => import("@fncts/io/IO.js").IO<TestConfig | R, never, TestResult>;
41
+ export declare function checkAllConcurrently<A>(concurrency: number, test: (a: A) => TestResult): <R>(rv: Gen<R, A>) => IO<R | TestConfig, never, TestResult>;
42
42
  /**
43
43
  * @tsplus pipeable fncts.test.Gen checkAllConcurrently
44
44
  * @tsplus location "@fncts/test/api"
45
45
  */
46
- export declare function checkAllIOConcurrently<A, R1, E>(concurrency: number, test: (a: A) => IO<R1, E, TestResult>): <R>(rv: Gen<R, A>) => import("@fncts/io/IO.js").IO<TestConfig | R1 | R, E, TestResult>;
46
+ export declare function checkAllIOConcurrently<A, R1, E>(concurrency: number, test: (a: A) => IO<R1, E, TestResult>): <R>(rv: Gen<R, A>) => IO<R | R1 | TestConfig, E, TestResult>;
@@ -23,4 +23,4 @@ export declare abstract class AbstractRunnableSpec<R, E> {
23
23
  * @tsplus pipeable-operator fncts.test.AbstractRunnableSpec +
24
24
  * @tsplus location "@fncts/test/control/AbstractRunnableSpec"
25
25
  */
26
- export declare function combine<R1, E1>(that: AbstractRunnableSpec<R1, E1>): <R, E>(self: AbstractRunnableSpec<R, E>) => AbstractRunnableSpec<R1 | R, E1 | E>;
26
+ export declare function combine<R1, E1>(that: AbstractRunnableSpec<R1, E1>): <R, E>(self: AbstractRunnableSpec<R, E>) => AbstractRunnableSpec<R | R1, E | E1>;
@@ -21,4 +21,4 @@ export declare abstract class Annotations {
21
21
  * @tsplus static fncts.test.AnnotationsOps Tag
22
22
  * @tsplus location "@fncts/test/control/Annotations/definition"
23
23
  */
24
- export declare const AnnotationsTag: import("@fncts/base/data/Tag.js").Tag<Annotations>;
24
+ export declare const AnnotationsTag: import("@fncts/base/data/Tag.js").Tag<Annotations, Annotations>;
@@ -1,3 +1,3 @@
1
- export * from "./Annotations/api.js";
2
- export * from "./Annotations/definition.js";
3
1
  export * from "./Annotations/live.js";
2
+ export * from "./Annotations/definition.js";
3
+ export * from "./Annotations/api.js";
@@ -65,6 +65,7 @@ export declare const isTrue: Assertion<boolean>;
65
65
  export declare const isEmpty: Assertion<Iterable<any>>;
66
66
  export declare const isUnit: Assertion<void>;
67
67
  export declare function isLessThanOrEqualTo(n: number): Assertion<number>;
68
+ export declare function isGreaterThanOrEqualTo(n: number): Assertion<number>;
68
69
  /**
69
70
  * @tsplus pipeable fncts.test.Assertion label
70
71
  * @tsplus location "@fncts/test/control/Assertion/api"
@@ -92,3 +93,4 @@ export declare function succeeds<A>(assertion: Assertion<A>): Assertion<Exit<any
92
93
  */
93
94
  export declare function test<A>(actual: A): (self: Assertion<A>) => boolean;
94
95
  export declare const completes: Assertion<unknown>;
96
+ export declare function hasSize<A>(assertion: Assertion<number>): Assertion<Iterable<A>>;
@@ -1,2 +1,2 @@
1
- export * from "./Assertion/api.js";
2
1
  export * from "./Assertion/definition.js";
2
+ export * from "./Assertion/api.js";
@@ -1,2 +1,2 @@
1
- export * from "./AssertionIO/api.js";
2
1
  export * from "./AssertionIO/definition.js";
2
+ export * from "./AssertionIO/api.js";
@@ -1,2 +1,2 @@
1
- export * from "./DefaultTestReporter/definition.js";
2
1
  export * from "./DefaultTestReporter/render.js";
2
+ export * from "./DefaultTestReporter/definition.js";
@@ -5,13 +5,13 @@ import type { FreeBooleanAlgebraIO } from "./definition.js";
5
5
  * @tsplus pipeable-operator fncts.test.FreeBooleanAlgebraIO &&
6
6
  * @tsplus location "@fncts/test/control/FreeBooleanAlgebraIO/api"
7
7
  */
8
- export declare function and<R1, E1, A1>(that: FreeBooleanAlgebraIO<R1, E1, A1>): <R, E, A extends A1>(self: FreeBooleanAlgebraIO<R, E, A>) => FreeBooleanAlgebraIO<R1 | R, E1 | E, A1 | A>;
8
+ export declare function and<R1, E1, A1>(that: FreeBooleanAlgebraIO<R1, E1, A1>): <R, E, A extends A1>(self: FreeBooleanAlgebraIO<R, E, A>) => FreeBooleanAlgebraIO<R | R1, E | E1, A | A1>;
9
9
  /**
10
10
  * @tsplus pipeable fncts.test.FreeBooleanAlgebraIO or
11
11
  * @tsplus pipeable-operator fncts.test.FreeBooleanAlgebraIO ||
12
12
  * @tsplus location "@fncts/test/control/FreeBooleanAlgebraIO/api"
13
13
  */
14
- export declare function or<R1, E1, A1>(that: FreeBooleanAlgebraIO<R1, E1, A1>): <R, E, A extends A1>(self: FreeBooleanAlgebraIO<R, E, A>) => FreeBooleanAlgebraIO<R1 | R, E1 | E, A1 | A>;
14
+ export declare function or<R1, E1, A1>(that: FreeBooleanAlgebraIO<R1, E1, A1>): <R, E, A extends A1>(self: FreeBooleanAlgebraIO<R, E, A>) => FreeBooleanAlgebraIO<R | R1, E | E1, A | A1>;
15
15
  /**
16
16
  * @tsplus fluent fncts.test.FreeBooleanAlgebraIO invert
17
17
  * @tsplus location "@fncts/test/control/FreeBooleanAlgebraIO/api"
@@ -1,2 +1,2 @@
1
- export * from "./FreeBooleanAlgebraIO/api.js";
2
1
  export * from "./FreeBooleanAlgebraIO/definition.js";
2
+ export * from "./FreeBooleanAlgebraIO/api.js";
@@ -52,12 +52,12 @@ export declare function array<R, A>(self: Gen<R, A>): Gen<R | Sized, ReadonlyArr
52
52
  * @tsplus pipeable fncts.test.Gen arrayWith
53
53
  * @tsplus location "@fncts/test/control/Gen/api"
54
54
  */
55
- export declare function arrayWith(constraints?: LengthConstraints): <R, A>(g: Gen<R, A>) => Gen<Sized | R, readonly A[]>;
55
+ export declare function arrayWith(constraints?: LengthConstraints): <R, A>(g: Gen<R, A>) => Gen<R | Sized, ReadonlyArray<A>>;
56
56
  /**
57
57
  * @tsplus pipeable fncts.test.Gen arrayN
58
58
  * @tsplus location "@fncts/test/control/Gen/api"
59
59
  */
60
- export declare function arrayN(n: number): <R, A>(self: Gen<R, A>) => Gen<R, readonly A[]>;
60
+ export declare function arrayN(n: number): <R, A>(self: Gen<R, A>) => Gen<R, ReadonlyArray<A>>;
61
61
  /**
62
62
  * @tsplus static fncts.test.GenOps arrayInt64
63
63
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -122,7 +122,7 @@ export declare const char16: Gen<never, string>;
122
122
  * @tsplus pipeable fncts.test.Gen conc
123
123
  * @tsplus location "@fncts/test/control/Gen/api"
124
124
  */
125
- export declare function concWith(constraints?: LengthConstraints): <R, A>(self: Gen<R, A>) => Gen<Sized | R, import("@fncts/base/collection/immutable/Conc.js").Conc<A>>;
125
+ export declare function concWith(constraints?: LengthConstraints): <R, A>(self: Gen<R, A>) => Gen<R | Sized, Conc<A>>;
126
126
  /**
127
127
  * @tsplus getter fncts.test.Gen conc
128
128
  * @tsplus static fncts.test.GenOps conc
@@ -133,7 +133,7 @@ export declare function conc<R, A>(self: Gen<R, A>): Gen<R | Sized, Conc<A>>;
133
133
  * @tsplus pipeable fncts.test.Gen concN
134
134
  * @tsplus location "@fncts/test/control/Gen/api"
135
135
  */
136
- export declare function concN(n: number): <R, A>(g: Gen<R, A>) => Gen<R, import("@fncts/base/collection/immutable/Conc.js").Conc<A>>;
136
+ export declare function concN(n: number): <R, A>(g: Gen<R, A>) => Gen<R, Conc<A>>;
137
137
  /**
138
138
  * @tsplus static fncts.test.GenOps constant
139
139
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -179,7 +179,7 @@ export declare function filterNot<A>(p: Predicate<A>): <R>(fa: Gen<R, A>) => Gen
179
179
  * @tsplus pipeable fncts.test.Gen flatMap
180
180
  * @tsplus location "@fncts/test/control/Gen/api"
181
181
  */
182
- export declare function flatMap<A, R1, B>(f: (a: A) => Gen<R1, B>): <R>(ma: Gen<R, A>) => Gen<R1 | R, B>;
182
+ export declare function flatMap<A, R1, B>(f: (a: A) => Gen<R1, B>): <R>(ma: Gen<R, A>) => Gen<R | R1, B>;
183
183
  /**
184
184
  * @tsplus getter fncts.test.Gen flatten
185
185
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -244,7 +244,7 @@ export declare function map<A, B>(f: (a: A) => B): <R>(self: Gen<R, A>) => Gen<R
244
244
  * @tsplus pipeable fncts.test.Gen mapIO
245
245
  * @tsplus location "@fncts/test/control/Gen/api"
246
246
  */
247
- export declare function mapIO<A, R1, B>(f: (a: A) => IO<R1, never, B>): <R>(self: Gen<R, A>) => Gen<R1 | R, B>;
247
+ export declare function mapIO<A, R1, B>(f: (a: A) => IO<R1, never, B>): <R>(self: Gen<R, A>) => Gen<R | R1, B>;
248
248
  /**
249
249
  * @tsplus static fncts.test.GenOps medium
250
250
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -281,7 +281,7 @@ export declare const printableChar: Gen<never, string>;
281
281
  * @tsplus pipeable fncts.test.Gen reshrink
282
282
  * @tsplus location "@fncts/test/control/Gen/api"
283
283
  */
284
- export declare function reshrink<A, R1, B>(f: (a: A) => Sample<R1, B>): <R>(gen: Gen<R, A>) => Gen<R1 | R, B>;
284
+ export declare function reshrink<A, R1, B>(f: (a: A) => Sample<R1, B>): <R>(gen: Gen<R, A>) => Gen<R | R1, B>;
285
285
  /**
286
286
  * @tsplus static fncts.test.GenOps sized
287
287
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -301,7 +301,7 @@ export declare function string16(constraints?: LengthConstraints): Gen<Sized, st
301
301
  * @tsplus pipeable fncts.test.Gen string
302
302
  * @tsplus location "@fncts/test/control/Gen/api"
303
303
  */
304
- export declare function string(constraints?: LengthConstraints): <R>(char: Gen<R, string>) => Gen<Sized | R, string>;
304
+ export declare function string(constraints?: LengthConstraints): <R>(char: Gen<R, string>) => Gen<R | Sized, string>;
305
305
  /**
306
306
  * @tsplus pipeable fncts.test.Gen stringN
307
307
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -338,17 +338,17 @@ export declare function unicodeString(constraints?: LengthConstraints): Gen<Size
338
338
  * @tsplus pipeable fncts.test.Gen uniqueArray
339
339
  * @tsplus location "@fncts/test/control/Gen/api"
340
340
  */
341
- export declare function uniqueArray<A>(constraints?: LengthConstraints & EqConstraint<A>): <R>(gen: Gen<R, A>) => Gen<Sized | R, readonly A[]>;
341
+ export declare function uniqueArray<A>(constraints?: LengthConstraints & EqConstraint<A>): <R>(gen: Gen<R, A>) => Gen<Sized | R, ReadonlyArray<A>>;
342
342
  /**
343
343
  * @tsplus pipeable fncts.test.Gen uniqueConc
344
344
  * @tsplus location "@fncts/test/control/Gen/api"
345
345
  */
346
- export declare function uniqueConc<A>(constraints?: LengthConstraints & EqConstraint<A>): <R>(self: Gen<R, A>) => Gen<Sized | R, import("@fncts/base/collection/immutable/Conc.js").Conc<A>>;
346
+ export declare function uniqueConc<A>(constraints?: LengthConstraints & EqConstraint<A>): <R>(self: Gen<R, A>) => Gen<Sized | R, Conc<A>>;
347
347
  /**
348
348
  * @tsplus pipeable fncts.test.Gen uniqueConcN
349
349
  * @tsplus location "@fncts/test/control/Gen/api"
350
350
  */
351
- export declare function uniqueConcN<A>(n: number, /** @tsplus auto */ E: Eq<A>): <R>(self: Gen<R, A>) => Gen<R, import("@fncts/base/collection/immutable/Conc.js").Conc<A>>;
351
+ export declare function uniqueConcN<A>(n: number, /** @tsplus auto */ E: Eq<A>): <R>(self: Gen<R, A>) => Gen<R, Conc<A>>;
352
352
  /**
353
353
  * @tsplus static fncts.test.GenOps unwrap
354
354
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -363,12 +363,12 @@ export declare function weighted<R, A>(...gens: ReadonlyArray<readonly [Gen<R, A
363
363
  * @tsplus pipeable fncts.test.Gen zipWith
364
364
  * @tsplus location "@fncts/test/control/Gen/api"
365
365
  */
366
- export declare function zipWith<A, R1, B, C>(that: Gen<R1, B>, f: (a: A, b: B) => C): <R>(self: Gen<R, A>) => Gen<R1 | R, C>;
366
+ export declare function zipWith<A, R1, B, C>(that: Gen<R1, B>, f: (a: A, b: B) => C): <R>(self: Gen<R, A>) => Gen<R | R1, C>;
367
367
  /**
368
368
  * @tsplus pipeable fncts.test.Gen zip
369
369
  * @tsplus location "@fncts/test/control/Gen/api"
370
370
  */
371
- export declare function zip<R1, B>(that: Gen<R1, B>): <R, A>(self: Gen<R, A>) => Gen<R1 | R, readonly [A, B]>;
371
+ export declare function zip<R1, B>(that: Gen<R1, B>): <R, A>(self: Gen<R, A>) => Gen<R | R1, readonly [A, B]>;
372
372
  /**
373
373
  * @tsplus static fncts.test.GenOps tuple
374
374
  * @tsplus location "@fncts/test/control/Gen/api"
package/control/Gen.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./Gen/api.js";
2
- export * from "./Gen/constraints.js";
3
1
  export * from "./Gen/definition.js";
2
+ export * from "./Gen/constraints.js";
3
+ export * from "./Gen/api.js";
@@ -5,7 +5,7 @@ import { IOEnv } from "@fncts/io/IOEnv";
5
5
  * @tsplus static fncts.test.LiveOps Tag
6
6
  * @tsplus location "@fncts/test/control/Live/definition"
7
7
  */
8
- export declare const LiveTag: import("@fncts/base/data/Tag").Tag<Live>;
8
+ export declare const LiveTag: import("@fncts/base/data/Tag").Tag<Live, Live>;
9
9
  /**
10
10
  * @tsplus companion fncts.test.LiveOps
11
11
  */
@@ -23,4 +23,4 @@ export declare function liveWith<R, E, A>(f: (live: Live) => IO<R, E, A>): IO<R
23
23
  * @tsplus static fncts.test.LiveOps withLive
24
24
  * @tsplus location "@fncts/test/control/Live/definition"
25
25
  */
26
- export declare function withLive<R extends Live, E, A>(io: IO<R, E, A>): <E1, B>(f: (_: IO<R, E, A>) => import("@fncts/io/IO").IO<R, E1, B>) => import("@fncts/io/IO").IO<Live | R, E1, B>;
26
+ export declare function withLive<R extends Live, E, A>(io: IO<R, E, A>): <E1, B>(f: (_: IO<R, E, A>) => IO<R, E1, B>) => IO<R | Live, E1, B>;
@@ -11,17 +11,17 @@ import { Sample } from "./definition.js";
11
11
  * @tsplus pipeable fncts.test.Sample flatMap
12
12
  * @tsplus location "@fncts/test/control/Sample/api"
13
13
  */
14
- export declare function flatMap<A, R1, B>(f: (a: A) => Sample<R1, B>): <R>(ma: Sample<R, A>) => Sample<R1 | R, B>;
14
+ export declare function flatMap<A, R1, B>(f: (a: A) => Sample<R1, B>): <R>(ma: Sample<R, A>) => Sample<R | R1, B>;
15
15
  /**
16
16
  * @tsplus pipeable fncts.test.Sample filter
17
17
  * @tsplus location "@fncts/test/control/Sample/api"
18
18
  */
19
- export declare function filter<A>(f: Predicate<A>): <R>(ma: Sample<R, A>) => import("@fncts/io/Stream.js").Stream<R, never, import("@fncts/base/data/Maybe.js").Maybe<Sample<R, A>>>;
19
+ export declare function filter<A>(f: Predicate<A>): <R>(ma: Sample<R, A>) => Stream<R, never, Maybe<Sample<R, A>>>;
20
20
  /**
21
21
  * @tsplus pipeable fncts.test.Sample foreach
22
22
  * @tsplus location "@fncts/test/control/Sample/api"
23
23
  */
24
- export declare function foreach<A, R1, B>(f: (a: A) => IO<R1, never, B>): <R>(ma: Sample<R, A>) => import("@fncts/io/IO.js").IO<R1 | R, never, Sample<R1 | R, B>>;
24
+ export declare function foreach<A, R1, B>(f: (a: A) => IO<R1, never, B>): <R>(ma: Sample<R, A>) => IO<R | R1, never, Sample<R | R1, B>>;
25
25
  /**
26
26
  * @tsplus pipeable fncts.test.Sample map
27
27
  * @tsplus location "@fncts/test/control/Sample/api"
@@ -31,7 +31,7 @@ export declare function map<A, B>(f: (a: A) => B): <R>(ma: Sample<R, A>) => Samp
31
31
  * @tsplus pipeable fncts.test.Sample shrinkSearch
32
32
  * @tsplus location "@fncts/test/control/Sample/api"
33
33
  */
34
- export declare function shrinkSearch<A>(p: Predicate<A>): <R>(ma: Sample<R, A>) => import("@fncts/io/Stream.js").Stream<R, never, A>;
34
+ export declare function shrinkSearch<A>(p: Predicate<A>): <R>(ma: Sample<R, A>) => Stream<R, never, A>;
35
35
  /**
36
36
  * @tsplus static fncts.test.SampleOps unfold
37
37
  * @tsplus location "@fncts/test/control/Sample/api"
@@ -41,12 +41,12 @@ export declare function unfold<R, A, S>(s: S, f: (s: S) => readonly [A, Stream<R
41
41
  * @tsplus pipeable fncts.test.Sample zip
42
42
  * @tsplus location "@fncts/test/control/Sample/api"
43
43
  */
44
- export declare function zip<R1, B>(mb: Sample<R1, B>): <R, A>(ma: Sample<R, A>) => Sample<R1 | R, readonly [A, B]>;
44
+ export declare function zip<R1, B>(mb: Sample<R1, B>): <R, A>(ma: Sample<R, A>) => Sample<R | R1, readonly [A, B]>;
45
45
  /**
46
46
  * @tsplus pipeable fncts.test.Sample zipWith
47
47
  * @tsplus location "@fncts/test/control/Sample/api"
48
48
  */
49
- export declare function zipWith<A, R1, B, C>(mb: Sample<R1, B>, f: (a: A, b: B) => C): <R>(ma: Sample<R, A>) => Sample<R1 | R, C>;
49
+ export declare function zipWith<A, R1, B, C>(mb: Sample<R1, B>, f: (a: A, b: B) => C): <R>(ma: Sample<R, A>) => Sample<R | R1, C>;
50
50
  /**
51
51
  * @tsplus static fncts.test.SampleOps noShrink
52
52
  * @tsplus location "@fncts/test/control/Sample/api"
@@ -1,2 +1,2 @@
1
- export * from "./Sample/api.js";
2
1
  export * from "./Sample/definition.js";
2
+ export * from "./Sample/api.js";
@@ -9,4 +9,4 @@ export declare const size: URIO<Sized, number>;
9
9
  * @tsplus static fncts.test.SizedOps withSize
10
10
  * @tsplus location "@fncts/test/control/Sized/api"
11
11
  */
12
- export declare function withSize(size: number): <R, E, A>(io: import("@fncts/io/IO.js").IO<R, E, A>) => import("@fncts/io/IO.js").IO<Sized | R, E, A>;
12
+ export declare function withSize(size: number): <R, E, A>(io: IO<R, E, A>) => IO<R | Sized, E, A>;
@@ -11,4 +11,4 @@ export declare abstract class Sized {
11
11
  * @tsplus static fncts.test.SizedOps Tag
12
12
  * @tsplus location "@fncts/test/control/Sized/definition"
13
13
  */
14
- export declare const SizedTag: import("@fncts/base/data/Tag").Tag<Sized>;
14
+ export declare const SizedTag: import("@fncts/base/data/Tag").Tag<Sized, Sized>;
@@ -1,3 +1,3 @@
1
- export * from "./Sized/api.js";
2
- export * from "./Sized/definition.js";
3
1
  export * from "./Sized/live.js";
2
+ export * from "./Sized/definition.js";
3
+ export * from "./Sized/api.js";
@@ -25,7 +25,7 @@ export declare function annotated<R, E, T>(spec: PSpec<R, E, T>): PSpec<R | Anno
25
25
  * @tsplus pipeable fncts.test.PSpec combine
26
26
  * @tsplus location "@fncts/test/control/Spec/api"
27
27
  */
28
- export declare function combine<R1, E1, T1>(that: PSpec<R1, E1, T1>): <R, E, T>(self: PSpec<R, E, T>) => PSpec<R1 | R, E1 | E, T1 | T>;
28
+ export declare function combine<R1, E1, T1>(that: PSpec<R1, E1, T1>): <R, E, T>(self: PSpec<R, E, T>) => PSpec<R | R1, E | E1, T | T1>;
29
29
  /**
30
30
  * @tsplus pipeable fncts.test.PSpec contramapEnvironment
31
31
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -35,7 +35,7 @@ export declare function contramapEnvironment<R, R0>(f: (r0: Environment<R0>) =>
35
35
  * @tsplus pipeable fncts.test.PSpec countTests
36
36
  * @tsplus location "@fncts/test/control/Spec/api"
37
37
  */
38
- export declare function countTests<T>(f: (t: T) => boolean): <R, E>(spec: PSpec<R, E, T>) => import("@fncts/io/IO.js").IO<import("@fncts/io/Scope.js").Scope | R, E, number>;
38
+ export declare function countTests<T>(f: (t: T) => boolean): <R, E>(spec: PSpec<R, E, T>) => IO<R | Scope, E, number>;
39
39
  /**
40
40
  * @tsplus static fncts.test.PSpecOps empty
41
41
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -51,22 +51,22 @@ export declare function exec<R, E, T>(spec: PSpec<R, E, T>, exec: ExecutionStrat
51
51
  * @tsplus pipeable fncts.test.PSpec execute
52
52
  * @tsplus location "@fncts/test/control/Spec/api"
53
53
  */
54
- export declare function execute(defExec: ExecutionStrategy): <R, E, T>(self: PSpec<R, E, T>) => import("@fncts/io/IO.js").IO<import("@fncts/io/Scope.js").Scope | R, never, PSpec<never, E, T>>;
54
+ export declare function execute(defExec: ExecutionStrategy): <R, E, T>(self: PSpec<R, E, T>) => IO<R | Scope, never, PSpec<never, E, T>>;
55
55
  /**
56
56
  * @tsplus pipeable fncts.test.PSpec filterAnnotations
57
57
  * @tsplus location "@fncts/test/control/Spec/api"
58
58
  */
59
- export declare function filterAnnotations<V>(key: TestAnnotation<V>, f: (v: V) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => import("@fncts/base/data/Maybe.js").Maybe<PSpec<R, E, T>>;
59
+ export declare function filterAnnotations<V>(key: TestAnnotation<V>, f: (v: V) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => Maybe<PSpec<R, E, T>>;
60
60
  /**
61
61
  * @tsplus pipeable fncts.test.PSpec filterLabels
62
62
  * @tsplus location "@fncts/test/control/Spec/api"
63
63
  */
64
- export declare function filterLabels(f: (label: string) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => import("@fncts/base/data/Maybe.js").Maybe<PSpec<R, E, T>>;
64
+ export declare function filterLabels(f: (label: string) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => Maybe<PSpec<R, E, T>>;
65
65
  /**
66
66
  * @tsplus pipeable fncts.test.PSpec filterTags
67
67
  * @tsplus location "@fncts/test/control/Spec/api"
68
68
  */
69
- export declare function filterTags(f: (tag: string) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => import("@fncts/base/data/Maybe.js").Maybe<PSpec<R, E, T>>;
69
+ export declare function filterTags(f: (tag: string) => boolean): <R, E, T>(spec: PSpec<R, E, T>) => Maybe<PSpec<R, E, T>>;
70
70
  /**
71
71
  * @tsplus pipeable fncts.test.PSpec filterByArgs
72
72
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -86,7 +86,7 @@ export declare function foldScoped<R, E, T, R1, E1, Z>(f: (_: SpecCase<R, E, T,
86
86
  * @tsplus pipeable fncts.test.PSpec foreachExec
87
87
  * @tsplus location "@fncts/test/control/Spec/api"
88
88
  */
89
- export declare function foreachExec<E, T, R1, E1, A, R2, E2, B>(failure: (c: Cause<E>) => IO<R1, E1, A>, success: (t: T) => IO<R2, E2, B>, defExec: ExecutionStrategy): <R>(spec: PSpec<R, E, T>) => import("@fncts/io/IO.js").IO<import("@fncts/io/Scope.js").Scope | R1 | R2 | R, never, PSpec<R1 | R2 | R, E1 | E2, A | B>>;
89
+ export declare function foreachExec<E, T, R1, E1, A, R2, E2, B>(failure: (c: Cause<E>) => IO<R1, E1, A>, success: (t: T) => IO<R2, E2, B>, defExec: ExecutionStrategy): <R>(spec: PSpec<R, E, T>) => IO<R | R1 | R2 | Scope, never, PSpec<R | R1 | R2, E1 | E2, A | B>>;
90
90
  /**
91
91
  * @tsplus fluent fncts.test.PSpec labeled
92
92
  * @tsplus static fncts.test.PSpecOps labeled
@@ -146,9 +146,9 @@ export declare function annotate<V>(key: TestAnnotation<V>, value: V): <R, E, T>
146
146
  * @tsplus pipeable fncts.test.PSpec whenIO
147
147
  * @tsplus location "@fncts/test/control/Spec/api"
148
148
  */
149
- export declare function whenIO<R1, E1>(b: IO<R1, E1, boolean>): <R, E>(self: PSpec<R, E, TestSuccess>) => PSpec<Annotations | R1 | R, E1 | E, TestSuccess>;
149
+ export declare function whenIO<R1, E1>(b: IO<R1, E1, boolean>): <R, E>(self: PSpec<R, E, TestSuccess>) => PSpec<R | R1 | Annotations, E | E1, TestSuccess>;
150
150
  /**
151
151
  * @tsplus pipeable fncts.test.PSpec when
152
152
  * @tsplus location "@fncts/test/control/Spec/api"
153
153
  */
154
- export declare function when(b: Lazy<boolean>): <R, E>(self: PSpec<R, E, TestSuccess>) => PSpec<Annotations | R, E, TestSuccess>;
154
+ export declare function when(b: Lazy<boolean>): <R, E>(self: PSpec<R, E, TestSuccess>) => PSpec<R | Annotations, E, TestSuccess>;
package/control/Spec.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./Spec/api.js";
2
1
  export * from "./Spec/definition.js";
2
+ export * from "./Spec/api.js";
@@ -1,2 +1,2 @@
1
- export * from "./TestAnnotationRenderer/api.js";
2
1
  export * from "./TestAnnotationRenderer/definition.js";
2
+ export * from "./TestAnnotationRenderer/api.js";
@@ -1,2 +1,2 @@
1
- export * from "./TestAspect/api.js";
2
1
  export * from "./TestAspect/definition.js";
2
+ export * from "./TestAspect/api.js";
@@ -42,7 +42,7 @@ export declare const Done: WarningData;
42
42
  * @tsplus static fncts.test.TestClockOps Tag
43
43
  * @tsplus location "@fncts/test/control/TestClock/definition"
44
44
  */
45
- export declare const TestClockTag: import("@fncts/base/data/Tag").Tag<TestClock>;
45
+ export declare const TestClockTag: import("@fncts/base/data/Tag").Tag<TestClock, TestClock>;
46
46
  /**
47
47
  * @tsplus type fncts.test.TestClock
48
48
  * @tsplus companion fncts.test.TestClockOps
@@ -1,2 +1,2 @@
1
- export * from "./TestClock/api.js";
2
1
  export * from "./TestClock/definition.js";
2
+ export * from "./TestClock/api.js";
@@ -37,4 +37,4 @@ export declare class TestConsole implements Console {
37
37
  * @tsplus static fncts.test.TestConsoleOps Tag
38
38
  * @tsplus location "@fncts/test/control/TestConsole/definition"
39
39
  */
40
- export declare const TestConsoleTag: import("@fncts/base/data/Tag").Tag<TestConsole>;
40
+ export declare const TestConsoleTag: import("@fncts/base/data/Tag").Tag<TestConsole, TestConsole>;
@@ -1,2 +1,2 @@
1
- export * from "./TestConsole/api.js";
2
1
  export * from "./TestConsole/definition.js";
2
+ export * from "./TestConsole/api.js";
@@ -11,7 +11,7 @@ export declare abstract class TestLogger {
11
11
  * @tsplus static fncts.test.TestLoggerOps Tag
12
12
  * @tsplus location "@fncts/test/control/TestLogger"
13
13
  */
14
- export declare const TestLoggerTag: import("@fncts/base/data/Tag").Tag<TestLogger>;
14
+ export declare const TestLoggerTag: import("@fncts/base/data/Tag").Tag<TestLogger, TestLogger>;
15
15
  /**
16
16
  * @tsplus static fncts.test.TestLoggerOps fromConsole
17
17
  * @tsplus location "@fncts/test/control/TestLogger"
@@ -41,7 +41,7 @@ export declare function make(initialData: Data): Layer<never, never, Random | Te
41
41
  * @tsplus static fncts.test.TestRandomOps Deterministic
42
42
  * @tsplus location "@fncts/test/control/TestRandom/api"
43
43
  */
44
- export declare const determinictic: import("@fncts/io/Layer").Layer<never, never, import("@fncts/io/Random").Random | TestRandom>;
44
+ export declare const determinictic: import("@fncts/io/Layer").Layer<never, never, TestRandom | import("@fncts/io/Random").Random>;
45
45
  /**
46
46
  * @tsplus static fncts.test.TestRandomOps Random
47
47
  * @tsplus location "@fncts/test/control/TestRandom/api"
@@ -11,7 +11,7 @@ import type { ArrayInt } from "@fncts/base/util/rand";
11
11
  * @tsplus static fncts.test.TestRandomOps Tag
12
12
  * @tsplus location "@fncts/test/control/TestRandom/definition"
13
13
  */
14
- export declare const TestRandomTag: import("@fncts/base/data/Tag").Tag<TestRandom>;
14
+ export declare const TestRandomTag: import("@fncts/base/data/Tag").Tag<TestRandom, TestRandom>;
15
15
  /**
16
16
  * @tsplus type fncts.test.TestRandom
17
17
  * @tsplus companion fncts.test.TestRandomOps
@@ -1,2 +1,2 @@
1
- export * from "./TestRandom/api.js";
2
1
  export * from "./TestRandom/definition.js";
2
+ export * from "./TestRandom/api.js";