@fncts/test 0.0.50 → 0.0.52

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 (416) hide show
  1. package/LICENSE +26 -0
  2. package/_cjs/Fragment.cjs +424 -0
  3. package/_cjs/Fragment.cjs.map +1 -0
  4. package/_cjs/api.cjs +97 -83
  5. package/_cjs/api.cjs.map +1 -1
  6. package/_cjs/chunk.cjs +28 -0
  7. package/_cjs/control/AbstractRunnableSpec.cjs +83 -86
  8. package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
  9. package/_cjs/control/Annotations/api.cjs +25 -24
  10. package/_cjs/control/Annotations/api.cjs.map +1 -1
  11. package/_cjs/control/Annotations/definition.cjs +20 -23
  12. package/_cjs/control/Annotations/definition.cjs.map +1 -1
  13. package/_cjs/control/Annotations/live.cjs +50 -39
  14. package/_cjs/control/Annotations/live.cjs.map +1 -1
  15. package/_cjs/control/Annotations.cjs +13 -39
  16. package/_cjs/control/Assertion/api.cjs +170 -156
  17. package/_cjs/control/Assertion/api.cjs.map +1 -1
  18. package/_cjs/control/Assertion/definition.cjs +21 -19
  19. package/_cjs/control/Assertion/definition.cjs.map +1 -1
  20. package/_cjs/control/Assertion.cjs +39 -28
  21. package/_cjs/control/AssertionIO/api.cjs +33 -31
  22. package/_cjs/control/AssertionIO/api.cjs.map +1 -1
  23. package/_cjs/control/AssertionIO/definition.cjs +27 -27
  24. package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
  25. package/_cjs/control/AssertionIO.cjs +9 -28
  26. package/_cjs/control/DefaultRunnableSpec.cjs +14 -18
  27. package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
  28. package/_cjs/control/DefaultTestReporter/definition.cjs +5 -6
  29. package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
  30. package/_cjs/control/DefaultTestReporter/render.cjs +184 -176
  31. package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
  32. package/_cjs/control/DefaultTestReporter.cjs +10 -28
  33. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +47 -46
  34. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
  35. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +5 -6
  36. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
  37. package/_cjs/control/FreeBooleanAlgebraIO.cjs +12 -28
  38. package/_cjs/control/Gen/api.cjs +653 -614
  39. package/_cjs/control/Gen/api.cjs.map +1 -1
  40. package/_cjs/control/Gen/constraints.cjs +0 -2
  41. package/_cjs/control/Gen/definition.cjs +13 -14
  42. package/_cjs/control/Gen/definition.cjs.map +1 -1
  43. package/_cjs/control/Gen.cjs +84 -39
  44. package/_cjs/control/Live/definition.cjs +43 -38
  45. package/_cjs/control/Live/definition.cjs.map +1 -1
  46. package/_cjs/control/Live.cjs +6 -17
  47. package/_cjs/control/Sample/api.cjs +143 -145
  48. package/_cjs/control/Sample/api.cjs.map +1 -1
  49. package/_cjs/control/Sample/definition.cjs +15 -15
  50. package/_cjs/control/Sample/definition.cjs.map +1 -1
  51. package/_cjs/control/Sample.cjs +18 -28
  52. package/_cjs/control/Sized/api.cjs +17 -16
  53. package/_cjs/control/Sized/api.cjs.map +1 -1
  54. package/_cjs/control/Sized/definition.cjs +15 -15
  55. package/_cjs/control/Sized/definition.cjs.map +1 -1
  56. package/_cjs/control/Sized/live.cjs +25 -24
  57. package/_cjs/control/Sized/live.cjs.map +1 -1
  58. package/_cjs/control/Sized.cjs +9 -39
  59. package/_cjs/control/Spec/api.cjs +288 -385
  60. package/_cjs/control/Spec/api.cjs.map +1 -1
  61. package/_cjs/control/Spec/definition.cjs +86 -72
  62. package/_cjs/control/Spec/definition.cjs.map +1 -1
  63. package/_cjs/control/Spec.cjs +38 -28
  64. package/_cjs/control/SummaryBuilder.cjs +48 -56
  65. package/_cjs/control/SummaryBuilder.cjs.map +1 -1
  66. package/_cjs/control/Test.cjs +21 -17
  67. package/_cjs/control/Test.cjs.map +1 -1
  68. package/_cjs/control/TestAnnotationRenderer/api.cjs +63 -57
  69. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
  70. package/_cjs/control/TestAnnotationRenderer/definition.cjs +36 -31
  71. package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
  72. package/_cjs/control/TestAnnotationRenderer.cjs +14 -28
  73. package/_cjs/control/TestAspect/api.cjs +81 -80
  74. package/_cjs/control/TestAspect/api.cjs.map +1 -1
  75. package/_cjs/control/TestAspect/definition.cjs +0 -2
  76. package/_cjs/control/TestAspect.cjs +14 -28
  77. package/_cjs/control/TestClock/api.cjs +44 -32
  78. package/_cjs/control/TestClock/api.cjs.map +1 -1
  79. package/_cjs/control/TestClock/definition.cjs +175 -156
  80. package/_cjs/control/TestClock/definition.cjs.map +1 -1
  81. package/_cjs/control/TestClock.cjs +13 -28
  82. package/_cjs/control/TestConsole/api.cjs +45 -34
  83. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  84. package/_cjs/control/TestConsole/definition.cjs +76 -68
  85. package/_cjs/control/TestConsole/definition.cjs.map +1 -1
  86. package/_cjs/control/TestConsole.cjs +8 -28
  87. package/_cjs/control/TestEnvironment.cjs +31 -23
  88. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  89. package/_cjs/control/TestLogger.cjs +36 -31
  90. package/_cjs/control/TestLogger.cjs.map +1 -1
  91. package/_cjs/control/TestRandom/api.cjs +67 -58
  92. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  93. package/_cjs/control/TestRandom/definition.cjs +332 -343
  94. package/_cjs/control/TestRandom/definition.cjs.map +1 -1
  95. package/_cjs/control/TestRandom.cjs +20 -28
  96. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +78 -82
  97. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
  98. package/_cjs/control/TestRenderer/definition.cjs +0 -2
  99. package/_cjs/control.cjs +0 -2
  100. package/_cjs/data/AssertionData.cjs +35 -31
  101. package/_cjs/data/AssertionData.cjs.map +1 -1
  102. package/_cjs/data/AssertionResult.cjs +23 -21
  103. package/_cjs/data/AssertionResult.cjs.map +1 -1
  104. package/_cjs/data/AssertionValue/api.cjs +39 -40
  105. package/_cjs/data/AssertionValue/api.cjs.map +1 -1
  106. package/_cjs/data/AssertionValue/definition.cjs +27 -24
  107. package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
  108. package/_cjs/data/AssertionValue.cjs +10 -28
  109. package/_cjs/data/ExecutedSpec/api.cjs +71 -90
  110. package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
  111. package/_cjs/data/ExecutedSpec/definition.cjs +39 -35
  112. package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
  113. package/_cjs/data/ExecutedSpec.cjs +15 -28
  114. package/_cjs/data/ExecutionResult.cjs +78 -97
  115. package/_cjs/data/ExecutionResult.cjs.map +1 -1
  116. package/_cjs/data/FailureDetails.cjs +12 -12
  117. package/_cjs/data/FailureDetails.cjs.map +1 -1
  118. package/_cjs/data/FreeBooleanAlgebra/api.cjs +129 -127
  119. package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
  120. package/_cjs/data/FreeBooleanAlgebra/definition.cjs +40 -35
  121. package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
  122. package/_cjs/data/FreeBooleanAlgebra.cjs +22 -28
  123. package/_cjs/data/GenFailureDetails.cjs +14 -13
  124. package/_cjs/data/GenFailureDetails.cjs.map +1 -1
  125. package/_cjs/data/LogLine/Fragment.cjs +10 -71
  126. package/_cjs/data/LogLine/Line.cjs +13 -110
  127. package/_cjs/data/LogLine/Message.cjs +13 -114
  128. package/_cjs/data/LogLine/Style.cjs +56 -65
  129. package/_cjs/data/LogLine/Style.cjs.map +1 -1
  130. package/_cjs/data/LogLine/api.cjs +30 -29
  131. package/_cjs/data/LogLine/api.cjs.map +1 -1
  132. package/_cjs/data/LogLine.cjs +24 -28
  133. package/_cjs/data/Render/api.cjs +13 -14
  134. package/_cjs/data/Render/api.cjs.map +1 -1
  135. package/_cjs/data/Render/definition.cjs +37 -31
  136. package/_cjs/data/Render/definition.cjs.map +1 -1
  137. package/_cjs/data/Render.cjs +8 -28
  138. package/_cjs/data/RenderParam/api.cjs +18 -22
  139. package/_cjs/data/RenderParam/api.cjs.map +1 -1
  140. package/_cjs/data/RenderParam/definition.cjs +20 -19
  141. package/_cjs/data/RenderParam/definition.cjs.map +1 -1
  142. package/_cjs/data/RenderParam.cjs +8 -28
  143. package/_cjs/data/Summary.cjs +19 -15
  144. package/_cjs/data/Summary.cjs.map +1 -1
  145. package/_cjs/data/TestAnnotation/api.cjs +55 -40
  146. package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
  147. package/_cjs/data/TestAnnotation/definition.cjs +44 -36
  148. package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
  149. package/_cjs/data/TestAnnotation.cjs +19 -28
  150. package/_cjs/data/TestAnnotationMap.cjs +36 -33
  151. package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
  152. package/_cjs/data/TestArgs/definition.cjs +14 -13
  153. package/_cjs/data/TestArgs/definition.cjs.map +1 -1
  154. package/_cjs/data/TestArgs.cjs +3 -17
  155. package/_cjs/data/TestConfig.cjs +46 -44
  156. package/_cjs/data/TestConfig.cjs.map +1 -1
  157. package/_cjs/data/TestFailure.cjs +41 -39
  158. package/_cjs/data/TestFailure.cjs.map +1 -1
  159. package/_cjs/data/TestSuccess.cjs +26 -27
  160. package/_cjs/data/TestSuccess.cjs.map +1 -1
  161. package/_cjs/data/TestTimeoutException.cjs +9 -11
  162. package/_cjs/data/TestTimeoutException.cjs.map +1 -1
  163. package/_cjs/data.cjs +0 -2
  164. package/_cjs/global.cjs +0 -2
  165. package/_cjs/index.cjs +0 -2
  166. package/_cjs/util/math.cjs +319 -440
  167. package/_cjs/util/math.cjs.map +1 -1
  168. package/_cjs/util.cjs +0 -2
  169. package/_cjs/vitest.cjs +115 -104
  170. package/_cjs/vitest.cjs.map +1 -1
  171. package/_mjs/Fragment.mjs +237 -0
  172. package/_mjs/Fragment.mjs.map +1 -0
  173. package/_mjs/api.mjs +67 -64
  174. package/_mjs/api.mjs.map +1 -1
  175. package/_mjs/control/AbstractRunnableSpec.mjs +53 -70
  176. package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
  177. package/_mjs/control/Annotations/api.mjs +21 -17
  178. package/_mjs/control/Annotations/api.mjs.map +1 -1
  179. package/_mjs/control/Annotations/definition.mjs +14 -14
  180. package/_mjs/control/Annotations/definition.mjs.map +1 -1
  181. package/_mjs/control/Annotations/live.mjs +32 -27
  182. package/_mjs/control/Annotations/live.mjs.map +1 -1
  183. package/_mjs/control/Annotations.mjs +4 -5
  184. package/_mjs/control/Assertion/api.mjs +140 -142
  185. package/_mjs/control/Assertion/api.mjs.map +1 -1
  186. package/_mjs/control/Assertion/definition.mjs +19 -12
  187. package/_mjs/control/Assertion/definition.mjs.map +1 -1
  188. package/_mjs/control/Assertion.mjs +3 -4
  189. package/_mjs/control/AssertionIO/api.mjs +26 -22
  190. package/_mjs/control/AssertionIO/api.mjs.map +1 -1
  191. package/_mjs/control/AssertionIO/definition.mjs +22 -18
  192. package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
  193. package/_mjs/control/AssertionIO.mjs +3 -4
  194. package/_mjs/control/DefaultRunnableSpec.mjs +9 -8
  195. package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -1
  196. package/_mjs/control/DefaultTestReporter/definition.mjs +5 -1
  197. package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -1
  198. package/_mjs/control/DefaultTestReporter/render.mjs +152 -165
  199. package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
  200. package/_mjs/control/DefaultTestReporter.mjs +3 -4
  201. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +43 -39
  202. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
  203. package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs +5 -1
  204. package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -1
  205. package/_mjs/control/FreeBooleanAlgebraIO.mjs +3 -4
  206. package/_mjs/control/Gen/api.mjs +570 -591
  207. package/_mjs/control/Gen/api.mjs.map +1 -1
  208. package/_mjs/control/Gen/constraints.mjs +0 -2
  209. package/_mjs/control/Gen/definition.mjs +13 -8
  210. package/_mjs/control/Gen/definition.mjs.map +1 -1
  211. package/_mjs/control/Gen.mjs +4 -5
  212. package/_mjs/control/Live/definition.mjs +31 -27
  213. package/_mjs/control/Live/definition.mjs.map +1 -1
  214. package/_mjs/control/Live.mjs +2 -3
  215. package/_mjs/control/Sample/api.mjs +109 -126
  216. package/_mjs/control/Sample/api.mjs.map +1 -1
  217. package/_mjs/control/Sample/definition.mjs +15 -9
  218. package/_mjs/control/Sample/definition.mjs.map +1 -1
  219. package/_mjs/control/Sample.mjs +3 -4
  220. package/_mjs/control/Sized/api.mjs +13 -9
  221. package/_mjs/control/Sized/api.mjs.map +1 -1
  222. package/_mjs/control/Sized/definition.mjs +11 -7
  223. package/_mjs/control/Sized/definition.mjs.map +1 -1
  224. package/_mjs/control/Sized/live.mjs +18 -17
  225. package/_mjs/control/Sized/live.mjs.map +1 -1
  226. package/_mjs/control/Sized.mjs +4 -5
  227. package/_mjs/control/Spec/api.mjs +245 -366
  228. package/_mjs/control/Spec/api.mjs.map +1 -1
  229. package/_mjs/control/Spec/definition.mjs +79 -60
  230. package/_mjs/control/Spec/definition.mjs.map +1 -1
  231. package/_mjs/control/Spec.mjs +3 -4
  232. package/_mjs/control/SummaryBuilder.mjs +31 -41
  233. package/_mjs/control/SummaryBuilder.mjs.map +1 -1
  234. package/_mjs/control/Test.mjs +13 -9
  235. package/_mjs/control/Test.mjs.map +1 -1
  236. package/_mjs/control/TestAnnotationRenderer/api.mjs +53 -55
  237. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
  238. package/_mjs/control/TestAnnotationRenderer/definition.mjs +25 -19
  239. package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
  240. package/_mjs/control/TestAnnotationRenderer.mjs +3 -4
  241. package/_mjs/control/TestAspect/api.mjs +49 -63
  242. package/_mjs/control/TestAspect/api.mjs.map +1 -1
  243. package/_mjs/control/TestAspect/definition.mjs +0 -2
  244. package/_mjs/control/TestAspect.mjs +3 -4
  245. package/_mjs/control/TestClock/api.mjs +24 -20
  246. package/_mjs/control/TestClock/api.mjs.map +1 -1
  247. package/_mjs/control/TestClock/definition.mjs +128 -133
  248. package/_mjs/control/TestClock/definition.mjs.map +1 -1
  249. package/_mjs/control/TestClock.mjs +3 -4
  250. package/_mjs/control/TestConsole/api.mjs +27 -24
  251. package/_mjs/control/TestConsole/api.mjs.map +1 -1
  252. package/_mjs/control/TestConsole/definition.mjs +62 -57
  253. package/_mjs/control/TestConsole/definition.mjs.map +1 -1
  254. package/_mjs/control/TestConsole.mjs +3 -4
  255. package/_mjs/control/TestEnvironment.mjs +14 -10
  256. package/_mjs/control/TestEnvironment.mjs.map +1 -1
  257. package/_mjs/control/TestLogger.mjs +25 -21
  258. package/_mjs/control/TestLogger.mjs.map +1 -1
  259. package/_mjs/control/TestRandom/api.mjs +46 -43
  260. package/_mjs/control/TestRandom/api.mjs.map +1 -1
  261. package/_mjs/control/TestRandom/definition.mjs +311 -327
  262. package/_mjs/control/TestRandom/definition.mjs.map +1 -1
  263. package/_mjs/control/TestRandom.mjs +3 -4
  264. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +66 -72
  265. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
  266. package/_mjs/control/TestRenderer/definition.mjs +0 -2
  267. package/_mjs/control.mjs +0 -2
  268. package/_mjs/data/AssertionData.mjs +27 -22
  269. package/_mjs/data/AssertionData.mjs.map +1 -1
  270. package/_mjs/data/AssertionResult.mjs +18 -12
  271. package/_mjs/data/AssertionResult.mjs.map +1 -1
  272. package/_mjs/data/AssertionValue/api.mjs +34 -32
  273. package/_mjs/data/AssertionValue/api.mjs.map +1 -1
  274. package/_mjs/data/AssertionValue/definition.mjs +24 -17
  275. package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
  276. package/_mjs/data/AssertionValue.mjs +3 -4
  277. package/_mjs/data/ExecutedSpec/api.mjs +64 -80
  278. package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
  279. package/_mjs/data/ExecutedSpec/definition.mjs +38 -28
  280. package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
  281. package/_mjs/data/ExecutedSpec.mjs +3 -4
  282. package/_mjs/data/ExecutionResult.mjs +63 -85
  283. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  284. package/_mjs/data/FailureDetails.mjs +12 -6
  285. package/_mjs/data/FailureDetails.mjs.map +1 -1
  286. package/_mjs/data/FreeBooleanAlgebra/api.mjs +107 -111
  287. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
  288. package/_mjs/data/FreeBooleanAlgebra/definition.mjs +37 -27
  289. package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
  290. package/_mjs/data/FreeBooleanAlgebra.mjs +3 -4
  291. package/_mjs/data/GenFailureDetails.mjs +14 -7
  292. package/_mjs/data/GenFailureDetails.mjs.map +1 -1
  293. package/_mjs/data/LogLine/Fragment.mjs +2 -56
  294. package/_mjs/data/LogLine/Line.mjs +2 -92
  295. package/_mjs/data/LogLine/Message.mjs +2 -98
  296. package/_mjs/data/LogLine/Style.mjs +56 -66
  297. package/_mjs/data/LogLine/Style.mjs.map +1 -1
  298. package/_mjs/data/LogLine/api.mjs +24 -20
  299. package/_mjs/data/LogLine/api.mjs.map +1 -1
  300. package/_mjs/data/LogLine.mjs +3 -3
  301. package/_mjs/data/Render/api.mjs +12 -8
  302. package/_mjs/data/Render/api.mjs.map +1 -1
  303. package/_mjs/data/Render/definition.mjs +31 -22
  304. package/_mjs/data/Render/definition.mjs.map +1 -1
  305. package/_mjs/data/Render.mjs +3 -4
  306. package/_mjs/data/RenderParam/api.mjs +15 -15
  307. package/_mjs/data/RenderParam/api.mjs.map +1 -1
  308. package/_mjs/data/RenderParam/definition.mjs +19 -13
  309. package/_mjs/data/RenderParam/definition.mjs.map +1 -1
  310. package/_mjs/data/RenderParam.mjs +3 -4
  311. package/_mjs/data/Summary.mjs +19 -9
  312. package/_mjs/data/Summary.mjs.map +1 -1
  313. package/_mjs/data/TestAnnotation/api.mjs +34 -30
  314. package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
  315. package/_mjs/data/TestAnnotation/definition.mjs +31 -24
  316. package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
  317. package/_mjs/data/TestAnnotation.mjs +3 -4
  318. package/_mjs/data/TestAnnotationMap.mjs +28 -23
  319. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  320. package/_mjs/data/TestArgs/definition.mjs +14 -7
  321. package/_mjs/data/TestArgs/definition.mjs.map +1 -1
  322. package/_mjs/data/TestArgs.mjs +2 -3
  323. package/_mjs/data/TestConfig.mjs +34 -33
  324. package/_mjs/data/TestConfig.mjs.map +1 -1
  325. package/_mjs/data/TestFailure.mjs +35 -29
  326. package/_mjs/data/TestFailure.mjs.map +1 -1
  327. package/_mjs/data/TestSuccess.mjs +22 -19
  328. package/_mjs/data/TestSuccess.mjs.map +1 -1
  329. package/_mjs/data/TestTimeoutException.mjs +9 -5
  330. package/_mjs/data/TestTimeoutException.mjs.map +1 -1
  331. package/_mjs/data.mjs +0 -2
  332. package/_mjs/global.mjs +0 -2
  333. package/_mjs/index.mjs +0 -2
  334. package/_mjs/util/math.mjs +310 -432
  335. package/_mjs/util/math.mjs.map +1 -1
  336. package/_mjs/util.mjs +0 -2
  337. package/_mjs/vitest.mjs +80 -80
  338. package/_mjs/vitest.mjs.map +1 -1
  339. package/_src/control/TestClock/definition.ts +26 -18
  340. package/_src/control/TestConsole/definition.ts +19 -9
  341. package/_src/control/TestRandom/definition.ts +39 -17
  342. package/_src/data/Summary.ts +3 -1
  343. package/_src/vitest.ts +1 -1
  344. package/control/TestClock/definition.d.ts +4 -4
  345. package/control/TestConsole/definition.d.ts +5 -5
  346. package/control/TestRandom/definition.d.ts +13 -13
  347. package/data/Summary.d.ts +1 -1
  348. package/package.json +14 -5
  349. package/_cjs/control/Annotations.cjs.map +0 -1
  350. package/_cjs/control/Assertion.cjs.map +0 -1
  351. package/_cjs/control/AssertionIO.cjs.map +0 -1
  352. package/_cjs/control/DefaultTestReporter.cjs.map +0 -1
  353. package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +0 -1
  354. package/_cjs/control/Gen/constraints.cjs.map +0 -1
  355. package/_cjs/control/Gen.cjs.map +0 -1
  356. package/_cjs/control/Live.cjs.map +0 -1
  357. package/_cjs/control/Sample.cjs.map +0 -1
  358. package/_cjs/control/Sized.cjs.map +0 -1
  359. package/_cjs/control/Spec.cjs.map +0 -1
  360. package/_cjs/control/TestAnnotationRenderer.cjs.map +0 -1
  361. package/_cjs/control/TestAspect/definition.cjs.map +0 -1
  362. package/_cjs/control/TestAspect.cjs.map +0 -1
  363. package/_cjs/control/TestClock.cjs.map +0 -1
  364. package/_cjs/control/TestConsole.cjs.map +0 -1
  365. package/_cjs/control/TestRandom.cjs.map +0 -1
  366. package/_cjs/control/TestRenderer/definition.cjs.map +0 -1
  367. package/_cjs/control.cjs.map +0 -1
  368. package/_cjs/data/AssertionValue.cjs.map +0 -1
  369. package/_cjs/data/ExecutedSpec.cjs.map +0 -1
  370. package/_cjs/data/FreeBooleanAlgebra.cjs.map +0 -1
  371. package/_cjs/data/LogLine/Fragment.cjs.map +0 -1
  372. package/_cjs/data/LogLine/Line.cjs.map +0 -1
  373. package/_cjs/data/LogLine/Message.cjs.map +0 -1
  374. package/_cjs/data/LogLine.cjs.map +0 -1
  375. package/_cjs/data/Render.cjs.map +0 -1
  376. package/_cjs/data/RenderParam.cjs.map +0 -1
  377. package/_cjs/data/TestAnnotation.cjs.map +0 -1
  378. package/_cjs/data/TestArgs.cjs.map +0 -1
  379. package/_cjs/data.cjs.map +0 -1
  380. package/_cjs/global.cjs.map +0 -1
  381. package/_cjs/index.cjs.map +0 -1
  382. package/_cjs/util.cjs.map +0 -1
  383. package/_mjs/control/Annotations.mjs.map +0 -1
  384. package/_mjs/control/Assertion.mjs.map +0 -1
  385. package/_mjs/control/AssertionIO.mjs.map +0 -1
  386. package/_mjs/control/DefaultTestReporter.mjs.map +0 -1
  387. package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +0 -1
  388. package/_mjs/control/Gen/constraints.mjs.map +0 -1
  389. package/_mjs/control/Gen.mjs.map +0 -1
  390. package/_mjs/control/Live.mjs.map +0 -1
  391. package/_mjs/control/Sample.mjs.map +0 -1
  392. package/_mjs/control/Sized.mjs.map +0 -1
  393. package/_mjs/control/Spec.mjs.map +0 -1
  394. package/_mjs/control/TestAnnotationRenderer.mjs.map +0 -1
  395. package/_mjs/control/TestAspect/definition.mjs.map +0 -1
  396. package/_mjs/control/TestAspect.mjs.map +0 -1
  397. package/_mjs/control/TestClock.mjs.map +0 -1
  398. package/_mjs/control/TestConsole.mjs.map +0 -1
  399. package/_mjs/control/TestRandom.mjs.map +0 -1
  400. package/_mjs/control/TestRenderer/definition.mjs.map +0 -1
  401. package/_mjs/control.mjs.map +0 -1
  402. package/_mjs/data/AssertionValue.mjs.map +0 -1
  403. package/_mjs/data/ExecutedSpec.mjs.map +0 -1
  404. package/_mjs/data/FreeBooleanAlgebra.mjs.map +0 -1
  405. package/_mjs/data/LogLine/Fragment.mjs.map +0 -1
  406. package/_mjs/data/LogLine/Line.mjs.map +0 -1
  407. package/_mjs/data/LogLine/Message.mjs.map +0 -1
  408. package/_mjs/data/LogLine.mjs.map +0 -1
  409. package/_mjs/data/Render.mjs.map +0 -1
  410. package/_mjs/data/RenderParam.mjs.map +0 -1
  411. package/_mjs/data/TestAnnotation.mjs.map +0 -1
  412. package/_mjs/data/TestArgs.mjs.map +0 -1
  413. package/_mjs/data.mjs.map +0 -1
  414. package/_mjs/global.mjs.map +0 -1
  415. package/_mjs/index.mjs.map +0 -1
  416. package/_mjs/util.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"math.mjs","names":["MIN_VALUE_32","MAX_VALUE_32","EPSILON_32","INDEX_POSITIVE_INFINITY_32","INDEX_NEGATIVE_INFINITY_32","safeFloatToIndex","f","label","conversionTrick","errorMessage","Number","isNaN","isFinite","tsplus_module_1","haltNow","Error","fileName_1","index","floatToIndex","isInteger","succeedNow","decomposeFloat","maxSignificand","exponent","powExponent","maxForExponent","Math","abs","significand","NaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","indexInFloatFromDecomp","indexToFloat","postIndex","Zero64","sign","data","Unit64","isZero64","a","isStrictlyNegative64","isStrictlyPositive64","isEqual64","b","isStrictlySmaller64Internal","isStrictlySmaller64","clone64","substract64DataInternal","reminderLow","low","substract64Internal","high","substract64","arrayIntA","arrayIntB","out","negative64","add64","halve64","floor","logLike64","log","INDEX_POSITIVE_INFINITY","INDEX_NEGATIVE_INFINITY","decomposeDouble","d","EPSILON","positiveNumberToInt64","n","indexInDoubleFromDecomp","rescaledSignificand","exponentOnlyHigh","doubleToIndex","decomp","indexOpposite","indexToDouble","postIndexHigh","safeDoubleToIndex","pow","MAX_VALUE","MIN_VALUE","nextUp","x","y","c","nextAfter","computeBiasedRanges","min","max","biasedRanges","minStrictlySmallerThanZero","maxStrictlyGreaterThanZero","logMin","logMax","logGap","closeToMin","closeToMax","computeArrayInt64GenerateRange","biasFactor","gen","_","undefined","tsplus_module_2","nextIntBetween","ranges","length","id","clamp"],"sources":["../../_src/util/math.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"math.mjs","names":[],"sources":["../../esm/util/math.js"],"sourcesContent":["const fileName_1 = \"(@fncts/test) src/util/math.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/Random/api\";\n/** @internal */\nexport const MIN_VALUE_32 = 2 ** -126 * 2 ** -23;\n/** @internal */\nexport const MAX_VALUE_32 = 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23);\n/** @internal */\nexport const EPSILON_32 = 2 ** -23;\n/** @internal */\nconst INDEX_POSITIVE_INFINITY_32 = 2139095040; // floatToIndex(MAX_VALUE_32) + 1;\n/** @internal */\nconst INDEX_NEGATIVE_INFINITY_32 = -2139095041; // floatToIndex(-MAX_VALUE_32) - 1\nexport function safeFloatToIndex(f, label) {\n const conversionTrick = \"you can convert any double to a 32-bit float by using `new Float32Array([myDouble])[0]`\";\n const errorMessage = \"fc.floatNext constraints.\" + label + \" must be a 32-bit float - \" + conversionTrick;\n if (Number.isNaN(f) || (Number.isFinite(f) && (f < -MAX_VALUE_32 || f > MAX_VALUE_32))) {\n return tsplus_module_1.haltNow(new Error(errorMessage), fileName_1 + \":16:22\");\n }\n const index = floatToIndex(f);\n if (!Number.isInteger(index)) {\n return tsplus_module_1.haltNow(new Error(errorMessage), fileName_1 + \":20:22\");\n }\n return tsplus_module_1.succeedNow(index, fileName_1 + \":22:23\");\n}\nexport function decomposeFloat(f) {\n // 1 => significand 0b1 - exponent 1 (will be preferred)\n // => significand 0b0.1 - exponent 2\n const maxSignificand = 1 + (2 ** 23 - 1) / 2 ** 23;\n for (let exponent = -126; exponent !== 128; ++exponent) {\n const powExponent = 2 ** exponent;\n const maxForExponent = maxSignificand * powExponent;\n if (Math.abs(f) <= maxForExponent) {\n return { exponent, significand: f / powExponent };\n }\n }\n return { exponent: Number.NaN, significand: Number.NaN };\n}\nexport function floatToIndex(f) {\n if (f === Number.POSITIVE_INFINITY) {\n return INDEX_POSITIVE_INFINITY_32;\n }\n if (f === Number.NEGATIVE_INFINITY) {\n return INDEX_NEGATIVE_INFINITY_32;\n }\n const { exponent, significand } = decomposeFloat(f);\n if (Number.isNaN(exponent) || Number.isNaN(significand) || !Number.isInteger(significand * 0x800000)) {\n return Number.NaN;\n }\n if (f > 0 || (f === 0 && 1 / f === Number.POSITIVE_INFINITY)) {\n return indexInFloatFromDecomp(exponent, significand);\n }\n else {\n return -indexInFloatFromDecomp(exponent, -significand) - 1;\n }\n}\n/** @internal */\nexport function indexInFloatFromDecomp(exponent, significand) {\n // WARNING: significand >= 0\n // By construct of significand in decomposeFloat,\n // significand is always max-ed.\n // The float close to zero are the only one having a significand <1, they also have an exponent of -126.\n // They are in range: [2**(-126) * 2**(-23), 2**(-126) * (2 - 2 ** 23)]\n // In other words there are 2**24 elements in that range if we include zero.\n // All other ranges (other exponents) have a length of 2**23 elements.\n if (exponent === -126) {\n return significand * 0x800000; // significand * 2**23\n }\n // Offset due to exp = -126 + Offset of previous exp (excl. -126) + Offset in current exp\n // 2**24 + (exponent - (-126) -1) * 2**23 + (significand - 1) * 2**23\n return (exponent + 127) * 0x800000 + (significand - 1) * 0x800000;\n}\n/**\n * Compute the 32-bit floating point number corresponding to the provided indexes\n *\n * @param n - index of the float\n *\n * @internal\n */\nexport function indexToFloat(index) {\n if (index < 0) {\n return -indexToFloat(-index - 1);\n }\n if (index === INDEX_POSITIVE_INFINITY_32) {\n return Number.POSITIVE_INFINITY;\n }\n if (index < 0x1000000) {\n // The first 2**24 elements correspond to values having\n // exponent = -126 and significand = index * 2**(-23)\n return index * 2 ** -149;\n }\n const postIndex = index - 0x1000000;\n // Math.floor(postIndex / 0x800000) = Math.floor(postIndex / 2**23) = (postIndex >> 23)\n const exponent = -125 + (postIndex >> 23);\n // (postIndex % 0x800000) / 0x800000 = (postIndex & 0x7fffff) / 0x800000\n const significand = 1 + (postIndex & 0x7fffff) / 0x800000;\n return significand * 2 ** exponent;\n}\n/** @internal */\nexport const Zero64 = { sign: 1, data: [0, 0] };\n/** @internal */\nexport const Unit64 = { sign: 1, data: [0, 1] };\n/** @internal */\nexport function isZero64(a) {\n return a.data[0] === 0 && a.data[1] === 0;\n}\n/** @internal */\nexport function isStrictlyNegative64(a) {\n return a.sign === -1 && !isZero64(a);\n}\n/** @internal */\nexport function isStrictlyPositive64(a) {\n return a.sign === 1 && !isZero64(a);\n}\n/** @internal */\nexport function isEqual64(a, b) {\n if (a.data[0] === b.data[0] && a.data[1] === b.data[1]) {\n return a.sign === b.sign || (a.data[0] === 0 && a.data[1] === 0); // either the same or both zero\n }\n return false;\n}\n/** @internal */\nfunction isStrictlySmaller64Internal(a, b) {\n return a[0] < b[0] || (a[0] === b[0] && a[1] < b[1]);\n}\n/** @internal */\nexport function isStrictlySmaller64(a, b) {\n if (a.sign === b.sign) {\n return a.sign === 1\n ? isStrictlySmaller64Internal(a.data, b.data) // a.sign = +1, b.sign = +1\n : isStrictlySmaller64Internal(b.data, a.data); // a.sign = -1, b.sign = -1\n }\n // a.sign = +1, b.sign = -1 is always false\n return a.sign === -1 && (!isZero64(a) || !isZero64(b)); // a.sign = -1, b.sign = +1\n}\n/** @internal */\nexport function clone64(a) {\n return { sign: a.sign, data: [a.data[0], a.data[1]] };\n}\n/** @internal */\nfunction substract64DataInternal(a, b) {\n let reminderLow = 0;\n let low = a[1] - b[1];\n if (low < 0) {\n reminderLow = 1;\n low = low >>> 0;\n }\n return [a[0] - b[0] - reminderLow, low];\n}\n/**\n * Expects a >= b\n * @internal\n */\nfunction substract64Internal(a, b) {\n if (a.sign === 1 && b.sign === -1) {\n // Operation is a simple sum of a + abs(b)\n const low = a.data[1] + b.data[1];\n const high = a.data[0] + b.data[0] + (low > 0xffffffff ? 1 : 0);\n return { sign: 1, data: [high >>> 0, low >>> 0] };\n }\n // a.sign === -1 with b.sign === 1 is impossible given: a - b >= 0, except for a = 0 and b = 0\n // Operation is a substraction\n return {\n sign: 1,\n data: a.sign === 1 ? substract64DataInternal(a.data, b.data) : substract64DataInternal(b.data, a.data),\n };\n}\n/**\n * Substract two ArrayInt64\n * @returns When result is zero always with sign=1\n * @internal\n */\nexport function substract64(arrayIntA, arrayIntB) {\n if (isStrictlySmaller64(arrayIntA, arrayIntB)) {\n const out = substract64Internal(arrayIntB, arrayIntA);\n out.sign = -1;\n return out;\n }\n return substract64Internal(arrayIntA, arrayIntB);\n}\n/**\n * Negative version of an ArrayInt64\n * @internal\n */\nexport function negative64(arrayIntA) {\n return {\n sign: -arrayIntA.sign,\n data: [arrayIntA.data[0], arrayIntA.data[1]],\n };\n}\n/**\n * Add two ArrayInt64\n * @returns When result is zero always with sign=1\n * @internal\n */\nexport function add64(arrayIntA, arrayIntB) {\n if (isZero64(arrayIntB)) {\n if (isZero64(arrayIntA)) {\n return clone64(Zero64);\n }\n return clone64(arrayIntA);\n }\n return substract64(arrayIntA, negative64(arrayIntB));\n}\n/**\n * Halve an ArrayInt64\n * @internal\n */\nexport function halve64(a) {\n return {\n sign: a.sign,\n data: [Math.floor(a.data[0] / 2), (a.data[0] % 2 === 1 ? 0x80000000 : 0) + Math.floor(a.data[1] / 2)],\n };\n}\n/**\n * Apply log2 to an ArrayInt64 (preserve sign)\n * @internal\n */\nexport function logLike64(a) {\n // Math.floor(Math.log(hi * 2**32 + low) / Math.log(2)) <= Math.floor(Math.log(2**64) / Math.log(2)) = 64\n return {\n sign: a.sign,\n data: [0, Math.floor(Math.log(a.data[0] * 0x100000000 + a.data[1]) / Math.log(2))],\n };\n}\n/** @internal */\nconst INDEX_POSITIVE_INFINITY = { sign: 1, data: [2146435072, 0] }; // doubleToIndex(Number.MAX_VALUE) + 1;\n/** @internal */\nconst INDEX_NEGATIVE_INFINITY = { sign: -1, data: [2146435072, 1] }; // doubleToIndex(-Number.MAX_VALUE) - 1\n/**\n * Decompose a 64-bit floating point number into a significand and exponent\n * such that:\n * - significand over 53 bits including sign (also referred as fraction)\n * - exponent over 11 bits including sign\n * - whenever there are multiple possibilities we take the one having the highest significand (in abs)\n * - Number.MAX_VALUE = 2**1023 * (1 + (2**52-1)/2**52)\n * = 2**1023 * (2 - Number.EPSILON)\n * - Number.MIN_VALUE = 2**(-1022) * 2**(-52)\n * - Number.EPSILON = 2**(-52)\n *\n * @param d - 64-bit floating point number to be decomposed into (significand, exponent)\n *\n * @internal\n */\nexport function decomposeDouble(d) {\n // 1 => significand 0b1 - exponent 1 (will be preferred)\n // => significand 0b0.1 - exponent 2\n const maxSignificand = 2 - Number.EPSILON;\n for (let exponent = -1022; exponent !== 1024; ++exponent) {\n const powExponent = 2 ** exponent;\n const maxForExponent = maxSignificand * powExponent;\n if (Math.abs(d) <= maxForExponent) {\n return { exponent, significand: d / powExponent };\n }\n }\n return { exponent: Number.NaN, significand: Number.NaN };\n}\n/** @internal */\nfunction positiveNumberToInt64(n) {\n return [~~(n / 0x100000000), n >>> 0];\n}\n/** @internal */\nfunction indexInDoubleFromDecomp(exponent, significand) {\n // WARNING: significand >= 0\n // By construct of significand in decomposeDouble,\n // significand is always max-ed.\n // The double close to zero are the only one having a significand <1, they also have an exponent of -1022.\n // They are in range: [2**(-1022) * 2**(-52), 2**(-1022) * (2 - 2 ** 52)]\n // In other words there are 2**53 elements in that range if we include zero.\n // All other ranges (other exponents) have a length of 2**52 elements.\n if (exponent === -1022) {\n // We want the significand to be an integer value (like an index)\n const rescaledSignificand = significand * 2 ** 52; // significand * 2**52\n return positiveNumberToInt64(rescaledSignificand);\n }\n // Offset due to exp = -1022 + Offset of previous exp (excl. -1022) + Offset in current exp\n // 2**53 + (exponent - (-1022) -1) * 2**52 + (significand - 1) * 2**52\n // (exponent + 1023) * 2**52 + (significand - 1) * 2**52\n const rescaledSignificand = (significand - 1) * 2 ** 52; // (significand-1) * 2**52\n const exponentOnlyHigh = (exponent + 1023) * 2 ** 20; // (exponent + 1023) * 2**52 => [high: (exponent + 1023) * 2**20, low: 0]\n const index = positiveNumberToInt64(rescaledSignificand);\n index[0] += exponentOnlyHigh;\n return index;\n}\n/**\n * Compute the index of d relative to other available 64-bit floating point numbers\n * Rq: Produces negative indexes for negative doubles\n *\n * @param d - 64-bit floating point number, anything except NaN\n *\n * @internal\n */\nexport function doubleToIndex(d) {\n if (d === Number.POSITIVE_INFINITY) {\n return clone64(INDEX_POSITIVE_INFINITY);\n }\n if (d === Number.NEGATIVE_INFINITY) {\n return clone64(INDEX_NEGATIVE_INFINITY);\n }\n const decomp = decomposeDouble(d);\n const exponent = decomp.exponent;\n const significand = decomp.significand;\n if (d > 0 || (d === 0 && 1 / d === Number.POSITIVE_INFINITY)) {\n return { sign: 1, data: indexInDoubleFromDecomp(exponent, significand) };\n }\n else {\n const indexOpposite = indexInDoubleFromDecomp(exponent, -significand);\n if (indexOpposite[1] === 0xffffffff) {\n indexOpposite[0] += 1;\n indexOpposite[1] = 0;\n }\n else {\n indexOpposite[1] += 1;\n }\n return { sign: -1, data: indexOpposite }; // -indexInDoubleFromDecomp(exponent, -significand) - 1\n }\n}\n/**\n * Compute the 64-bit floating point number corresponding to the provided indexes\n *\n * @param n - index of the double\n *\n * @internal\n */\nexport function indexToDouble(index) {\n if (index.sign === -1) {\n const indexOpposite = { sign: 1, data: [index.data[0], index.data[1]] };\n if (indexOpposite.data[1] === 0) {\n indexOpposite.data[0] -= 1;\n indexOpposite.data[1] = 0xffffffff;\n }\n else {\n indexOpposite.data[1] -= 1;\n }\n return -indexToDouble(indexOpposite); // -indexToDouble(-index - 1);\n }\n if (isEqual64(index, INDEX_POSITIVE_INFINITY)) {\n return Number.POSITIVE_INFINITY;\n }\n if (index.data[0] < 0x200000) {\n // if: index < 2 ** 53 <--> index[0] < 2 ** (53-32) = 0x20_0000\n // The first 2**53 elements correspond to values having\n // exponent = -1022 and significand = index * Number.EPSILON\n // double value = index * 2 ** -1022 * Number.EPSILON\n // = index * 2 ** -1022 * 2 ** -52\n // = index * 2 ** -1074\n return (index.data[0] * 0x100000000 + index.data[1]) * 2 ** -1074;\n }\n const postIndexHigh = index.data[0] - 0x200000; // postIndex = index - 2 ** 53\n // exponent = -1021 + Math.floor(postIndex / 2**52)\n // = -1021 + Math.floor(postIndexHigh / 2**(52-32))\n // = -1021 + Math.floor(postIndexHigh / 2**20)\n // = -1021 + (postIndexHigh >> 20)\n const exponent = -1021 + (postIndexHigh >> 20);\n // significand = 1 + (postIndex % 2**52) / 2**52\n // = 1 + ((postIndexHigh * 2**32 + postIndexLow) % 2**52) / 2**52\n // = 1 + ((postIndexHigh % 2**20) * 2**32 + postIndexLow) / 2**52\n // = 1 + ((postIndexHigh & 0xfffff) * 2**32 + postIndexLow) / 2**52\n // = 1 + ((postIndexHigh & 0xfffff) * 2**32 + postIndexLow) * Number.EPSILON\n const significand = 1 + ((postIndexHigh & 0xfffff) * 2 ** 32 + index.data[1]) * Number.EPSILON;\n return significand * 2 ** exponent;\n}\n/**\n * Same as {@link doubleToIndex} except it throws in case of invalid double\n *\n * @internal\n */\nexport function safeDoubleToIndex(d, label) {\n if (Number.isNaN(d)) {\n // Number.NaN does not have any associated index in the current implementation\n return tsplus_module_1.haltNow(new Error(\"fc.doubleNext constraints.\" + label + \" must be a 32-bit float\"), fileName_1 + \":403:22\");\n }\n return tsplus_module_1.succeedNow(doubleToIndex(d), fileName_1 + \":405:23\");\n}\nconst EPSILON = Math.pow(2, -52);\nconst MAX_VALUE = (2 - EPSILON) * Math.pow(2, 1023);\nconst MIN_VALUE = Math.pow(2, -1022);\nexport function nextUp(x) {\n if (x !== x) {\n return x;\n }\n if (x === -1 / 0) {\n return -MAX_VALUE;\n }\n if (x === +1 / 0) {\n return +1 / 0;\n }\n if (x === +MAX_VALUE) {\n return +1 / 0;\n }\n let y = x * (x < 0 ? 1 - EPSILON / 2 : 1 + EPSILON);\n if (y === x) {\n y = MIN_VALUE * EPSILON > 0 ? x + MIN_VALUE * EPSILON : x + MIN_VALUE;\n }\n if (y === +1 / 0) {\n y = +MAX_VALUE;\n }\n const b = x + (y - x) / 2;\n if (x < b && b < y) {\n y = b;\n }\n const c = (y + x) / 2;\n if (x < c && c < y) {\n y = c;\n }\n return y === 0 ? -0 : y;\n}\nexport function nextAfter(x, y) {\n return y < x ? -nextUp(-x) : y > x ? nextUp(x) : x !== x ? x : y;\n}\nexport function computeBiasedRanges(min, max, biasedRanges) {\n if (biasedRanges != null) {\n return biasedRanges;\n }\n if (isEqual64(min, max)) {\n return [{ min, max }];\n }\n const minStrictlySmallerThanZero = isStrictlyNegative64(min);\n const maxStrictlyGreaterThanZero = isStrictlyPositive64(max);\n if (minStrictlySmallerThanZero && maxStrictlyGreaterThanZero) {\n const logMin = logLike64(min);\n const logMax = logLike64(max);\n return [\n { min: logMin, max: logMax },\n { min: substract64(max, logMax), max },\n { min, max: substract64(min, logMin) },\n ];\n }\n else {\n const logGap = logLike64(substract64(max, min));\n const closeToMin = { min, max: add64(min, logGap) };\n const closeToMax = { min: substract64(max, logGap), max };\n return minStrictlySmallerThanZero ? [closeToMax, closeToMin] : [closeToMin, closeToMax];\n }\n}\nexport function computeArrayInt64GenerateRange(min, max, biasFactor, biasedRanges) {\n return tsplus_module_1.gen(function* (_) {\n if (biasFactor === undefined || (yield* _(tsplus_module_2.nextIntBetween(1, biasFactor, fileName_1 + \":497:68\"), fileName_1 + \":497:46\")) !== 1) {\n return { min, max };\n }\n const ranges = computeBiasedRanges(min, max, biasedRanges);\n if (ranges.length === 1) {\n return ranges[0];\n }\n const id = yield* _(tsplus_module_2.nextIntBetween(-2 * (ranges.length - 1), ranges.length - 2, fileName_1 + \":504:46\"), fileName_1 + \":504:24\");\n return id < 0 ? ranges[0] : ranges[id + 1];\n }, fileName_1 + \":496:16\");\n}\nexport function clamp(n, min, max) {\n return n < min ? min : n > max ? max : n;\n}\n//# sourceMappingURL=math.js.map"],"mappings":";;;AAAA,MAAM,aAAa;;AAInB,MAAa,eAAe,KAAK,OAAO,KAAK;;AAE7C,MAAa,eAAe,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;;AAEjE,MAAa,aAAa,KAAK;;AAE/B,MAAM,6BAA6B;;AAEnC,MAAM,6BAA6B;AACnC,SAAgB,iBAAiB,GAAG,OAAO;CAEvC,MAAM,eAAe,8BAA8B,QAAQ;AAC3D,KAAI,OAAO,MAAM,EAAE,IAAK,OAAO,SAAS,EAAE,KAAK,IAAI,CAAC,gBAAgB,IAAI,cACpE,QAAO,gBAAgB,QAAQ,IAAI,MAAM,aAAa,EAAE,aAAa,SAAS;CAElF,MAAM,QAAQ,aAAa,EAAE;AAC7B,KAAI,CAAC,OAAO,UAAU,MAAM,CACxB,QAAO,gBAAgB,QAAQ,IAAI,MAAM,aAAa,EAAE,aAAa,SAAS;AAElF,QAAO,gBAAgB,WAAW,OAAO,aAAa,SAAS;;AAEnE,SAAgB,eAAe,GAAG;CAG9B,MAAM,iBAAiB,KAAK,KAAK,KAAK,KAAK,KAAK;AAChD,MAAK,IAAI,WAAW,MAAM,aAAa,KAAK,EAAE,UAAU;EACpD,MAAM,cAAc,KAAK;EACzB,MAAM,iBAAiB,iBAAiB;AACxC,MAAI,KAAK,IAAI,EAAE,IAAI,eACf,QAAO;GAAE;GAAU,aAAa,IAAI;GAAa;;AAGzD,QAAO;EAAE,UAAU;EAAY,aAAa;EAAY;;AAE5D,SAAgB,aAAa,GAAG;AAC5B,KAAI,MAAM,OAAO,kBACb,QAAO;AAEX,KAAI,MAAM,OAAO,kBACb,QAAO;CAEX,MAAM,EAAE,UAAU,gBAAgB,eAAe,EAAE;AACnD,KAAI,OAAO,MAAM,SAAS,IAAI,OAAO,MAAM,YAAY,IAAI,CAAC,OAAO,UAAU,cAAc,QAAS,CAChG,QAAO;AAEX,KAAI,IAAI,KAAM,MAAM,KAAK,IAAI,MAAM,OAAO,kBACtC,QAAO,uBAAuB,UAAU,YAAY;KAGpD,QAAO,CAAC,uBAAuB,UAAU,CAAC,YAAY,GAAG;;;AAIjE,SAAgB,uBAAuB,UAAU,aAAa;AAQ1D,KAAI,aAAa,KACb,QAAO,cAAc;AAIzB,SAAQ,WAAW,OAAO,WAAY,cAAc,KAAK;;;;;;;;;AAS7D,SAAgB,aAAa,OAAO;AAChC,KAAI,QAAQ,EACR,QAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;AAEpC,KAAI,UAAU,2BACV,QAAO,OAAO;AAElB,KAAI,QAAQ,SAGR,QAAO,QAAQ,KAAK;CAExB,MAAM,YAAY,QAAQ;CAE1B,MAAM,WAAW,QAAQ,aAAa;AAGtC,SADoB,KAAK,YAAY,WAAY,WAC5B,KAAK;;;AAG9B,MAAa,SAAS;CAAE,MAAM;CAAG,MAAM,CAAC,GAAG,EAAE;CAAE;;AAE/C,MAAa,SAAS;CAAE,MAAM;CAAG,MAAM,CAAC,GAAG,EAAE;CAAE;;AAE/C,SAAgB,SAAS,GAAG;AACxB,QAAO,EAAE,KAAK,OAAO,KAAK,EAAE,KAAK,OAAO;;;AAG5C,SAAgB,qBAAqB,GAAG;AACpC,QAAO,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE;;;AAGxC,SAAgB,qBAAqB,GAAG;AACpC,QAAO,EAAE,SAAS,KAAK,CAAC,SAAS,EAAE;;;AAGvC,SAAgB,UAAU,GAAG,GAAG;AAC5B,KAAI,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,GAChD,QAAO,EAAE,SAAS,EAAE,QAAS,EAAE,KAAK,OAAO,KAAK,EAAE,KAAK,OAAO;AAElE,QAAO;;;AAGX,SAAS,4BAA4B,GAAG,GAAG;AACvC,QAAO,EAAE,KAAK,EAAE,MAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;;;AAGrD,SAAgB,oBAAoB,GAAG,GAAG;AACtC,KAAI,EAAE,SAAS,EAAE,KACb,QAAO,EAAE,SAAS,IACZ,4BAA4B,EAAE,MAAM,EAAE,KAAK,GAC3C,4BAA4B,EAAE,MAAM,EAAE,KAAK;AAGrD,QAAO,EAAE,SAAS,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;;;AAGzD,SAAgB,QAAQ,GAAG;AACvB,QAAO;EAAE,MAAM,EAAE;EAAM,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG;EAAE;;;AAGzD,SAAS,wBAAwB,GAAG,GAAG;CACnC,IAAI,cAAc;CAClB,IAAI,MAAM,EAAE,KAAK,EAAE;AACnB,KAAI,MAAM,GAAG;AACT,gBAAc;AACd,QAAM,QAAQ;;AAElB,QAAO,CAAC,EAAE,KAAK,EAAE,KAAK,aAAa,IAAI;;;;;;AAM3C,SAAS,oBAAoB,GAAG,GAAG;AAC/B,KAAI,EAAE,SAAS,KAAK,EAAE,SAAS,IAAI;EAE/B,MAAM,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK;AAE/B,SAAO;GAAE,MAAM;GAAG,MAAM,CADX,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,MAAM,aAAa,IAAI,OAC3B,GAAG,QAAQ,EAAE;GAAE;;AAIrD,QAAO;EACH,MAAM;EACN,MAAM,EAAE,SAAS,IAAI,wBAAwB,EAAE,MAAM,EAAE,KAAK,GAAG,wBAAwB,EAAE,MAAM,EAAE,KAAK;EACzG;;;;;;;AAOL,SAAgB,YAAY,WAAW,WAAW;AAC9C,KAAI,oBAAoB,WAAW,UAAU,EAAE;EAC3C,MAAM,MAAM,oBAAoB,WAAW,UAAU;AACrD,MAAI,OAAO;AACX,SAAO;;AAEX,QAAO,oBAAoB,WAAW,UAAU;;;;;;AAMpD,SAAgB,WAAW,WAAW;AAClC,QAAO;EACH,MAAM,CAAC,UAAU;EACjB,MAAM,CAAC,UAAU,KAAK,IAAI,UAAU,KAAK,GAAG;EAC/C;;;;;;;AAOL,SAAgB,MAAM,WAAW,WAAW;AACxC,KAAI,SAAS,UAAU,EAAE;AACrB,MAAI,SAAS,UAAU,CACnB,QAAO,QAAQ,OAAO;AAE1B,SAAO,QAAQ,UAAU;;AAE7B,QAAO,YAAY,WAAW,WAAW,UAAU,CAAC;;;;;;AAMxD,SAAgB,QAAQ,GAAG;AACvB,QAAO;EACH,MAAM,EAAE;EACR,MAAM,CAAC,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,IAAI,aAAa,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,CAAC;EACxG;;;;;;AAML,SAAgB,UAAU,GAAG;AAEzB,QAAO;EACH,MAAM,EAAE;EACR,MAAM,CAAC,GAAG,KAAK,MAAM,KAAK,IAAI,EAAE,KAAK,KAAK,aAAc,EAAE,KAAK,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;EACrF;;;AAGL,MAAM,0BAA0B;CAAE,MAAM;CAAG,MAAM,CAAC,YAAY,EAAE;CAAE;;AAElE,MAAM,0BAA0B;CAAE,MAAM;CAAI,MAAM,CAAC,YAAY,EAAE;CAAE;;;;;;;;;;;;;;;;AAgBnE,SAAgB,gBAAgB,GAAG;CAG/B,MAAM,iBAAiB,IAAI,OAAO;AAClC,MAAK,IAAI,WAAW,OAAO,aAAa,MAAM,EAAE,UAAU;EACtD,MAAM,cAAc,KAAK;EACzB,MAAM,iBAAiB,iBAAiB;AACxC,MAAI,KAAK,IAAI,EAAE,IAAI,eACf,QAAO;GAAE;GAAU,aAAa,IAAI;GAAa;;AAGzD,QAAO;EAAE,UAAU;EAAY,aAAa;EAAY;;;AAG5D,SAAS,sBAAsB,GAAG;AAC9B,QAAO,CAAC,CAAC,EAAE,IAAI,aAAc,MAAM,EAAE;;;AAGzC,SAAS,wBAAwB,UAAU,aAAa;AAQpD,KAAI,aAAa,MAGb,QAAO,sBADqB,cAAc,KAAK,GACE;CAKrD,MAAM,uBAAuB,cAAc,KAAK,KAAK;CACrD,MAAM,oBAAoB,WAAW,QAAQ,KAAK;CAClD,MAAM,QAAQ,sBAAsB,oBAAoB;AACxD,OAAM,MAAM;AACZ,QAAO;;;;;;;;;;AAUX,SAAgB,cAAc,GAAG;AAC7B,KAAI,MAAM,OAAO,kBACb,QAAO,QAAQ,wBAAwB;AAE3C,KAAI,MAAM,OAAO,kBACb,QAAO,QAAQ,wBAAwB;CAE3C,MAAM,SAAS,gBAAgB,EAAE;CACjC,MAAM,WAAW,OAAO;CACxB,MAAM,cAAc,OAAO;AAC3B,KAAI,IAAI,KAAM,MAAM,KAAK,IAAI,MAAM,OAAO,kBACtC,QAAO;EAAE,MAAM;EAAG,MAAM,wBAAwB,UAAU,YAAY;EAAE;MAEvE;EACD,MAAM,gBAAgB,wBAAwB,UAAU,CAAC,YAAY;AACrE,MAAI,cAAc,OAAO,YAAY;AACjC,iBAAc,MAAM;AACpB,iBAAc,KAAK;QAGnB,eAAc,MAAM;AAExB,SAAO;GAAE,MAAM;GAAI,MAAM;GAAe;;;;;;;;;;AAUhD,SAAgB,cAAc,OAAO;AACjC,KAAI,MAAM,SAAS,IAAI;EACnB,MAAM,gBAAgB;GAAE,MAAM;GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,MAAM,KAAK,GAAG;GAAE;AACvE,MAAI,cAAc,KAAK,OAAO,GAAG;AAC7B,iBAAc,KAAK,MAAM;AACzB,iBAAc,KAAK,KAAK;QAGxB,eAAc,KAAK,MAAM;AAE7B,SAAO,CAAC,cAAc,cAAc;;AAExC,KAAI,UAAU,OAAO,wBAAwB,CACzC,QAAO,OAAO;AAElB,KAAI,MAAM,KAAK,KAAK,QAOhB,SAAQ,MAAM,KAAK,KAAK,aAAc,MAAM,KAAK,MAAM,KAAK;CAEhE,MAAM,gBAAgB,MAAM,KAAK,KAAK;CAKtC,MAAM,WAAW,SAAS,iBAAiB;AAO3C,SADoB,MAAM,gBAAgB,WAAW,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO,WAClE,KAAK;;;;;;;AAO9B,SAAgB,kBAAkB,GAAG,OAAO;AACxC,KAAI,OAAO,MAAM,EAAE,CAEf,QAAO,gBAAgB,wBAAQ,IAAI,MAAM,+BAA+B,QAAQ,0BAA0B,EAAE,aAAa,UAAU;AAEvI,QAAO,gBAAgB,WAAW,cAAc,EAAE,EAAE,aAAa,UAAU;;AAE/E,MAAM,UAAU,KAAK,IAAI,GAAG,IAAI;AAChC,MAAM,aAAa,IAAI,WAAW,KAAK,IAAI,GAAG,KAAK;AACnD,MAAM,YAAY,KAAK,IAAI,GAAG,MAAM;AACpC,SAAgB,OAAO,GAAG;AACtB,KAAI,MAAM,EACN,QAAO;AAEX,KAAI,MAAM,UACN,QAAO,CAAC;AAEZ,KAAI,MAAM,SACN,QAAO;AAEX,KAAI,MAAM,CAAC,UACP,QAAO;CAEX,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI;AAC3C,KAAI,MAAM,EACN,KAAI,YAAY,UAAU,IAAI,IAAI,YAAY,UAAU,IAAI;AAEhE,KAAI,MAAM,SACN,KAAI,CAAC;CAET,MAAM,IAAI,KAAK,IAAI,KAAK;AACxB,KAAI,IAAI,KAAK,IAAI,EACb,KAAI;CAER,MAAM,KAAK,IAAI,KAAK;AACpB,KAAI,IAAI,KAAK,IAAI,EACb,KAAI;AAER,QAAO,MAAM,IAAI,KAAK;;AAE1B,SAAgB,UAAU,GAAG,GAAG;AAC5B,QAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI;;AAEnE,SAAgB,oBAAoB,KAAK,KAAK,cAAc;AACxD,KAAI,gBAAgB,KAChB,QAAO;AAEX,KAAI,UAAU,KAAK,IAAI,CACnB,QAAO,CAAC;EAAE;EAAK;EAAK,CAAC;CAEzB,MAAM,6BAA6B,qBAAqB,IAAI;CAC5D,MAAM,6BAA6B,qBAAqB,IAAI;AAC5D,KAAI,8BAA8B,4BAA4B;EAC1D,MAAM,SAAS,UAAU,IAAI;EAC7B,MAAM,SAAS,UAAU,IAAI;AAC7B,SAAO;GACH;IAAE,KAAK;IAAQ,KAAK;IAAQ;GAC5B;IAAE,KAAK,YAAY,KAAK,OAAO;IAAE;IAAK;GACtC;IAAE;IAAK,KAAK,YAAY,KAAK,OAAO;IAAE;GACzC;QAEA;EACD,MAAM,SAAS,UAAU,YAAY,KAAK,IAAI,CAAC;EAC/C,MAAM,aAAa;GAAE;GAAK,KAAK,MAAM,KAAK,OAAO;GAAE;EACnD,MAAM,aAAa;GAAE,KAAK,YAAY,KAAK,OAAO;GAAE;GAAK;AACzD,SAAO,6BAA6B,CAAC,YAAY,WAAW,GAAG,CAAC,YAAY,WAAW;;;AAG/F,SAAgB,+BAA+B,KAAK,KAAK,YAAY,cAAc;AAC/E,QAAO,gBAAgB,IAAI,WAAW,GAAG;AACrC,MAAI,eAAe,KAAA,MAAc,OAAO,EAAE,gBAAgB,eAAe,GAAG,YAAY,aAAa,UAAU,EAAE,aAAa,UAAU,MAAM,EAC1I,QAAO;GAAE;GAAK;GAAK;EAEvB,MAAM,SAAS,oBAAoB,KAAK,KAAK,aAAa;AAC1D,MAAI,OAAO,WAAW,EAClB,QAAO,OAAO;EAElB,MAAM,KAAK,OAAO,EAAE,gBAAgB,eAAe,MAAM,OAAO,SAAS,IAAI,OAAO,SAAS,GAAG,aAAa,UAAU,EAAE,aAAa,UAAU;AAChJ,SAAO,KAAK,IAAI,OAAO,KAAK,OAAO,KAAK;IACzC,aAAa,UAAU;;AAE9B,SAAgB,MAAM,GAAG,KAAK,KAAK;AAC/B,QAAO,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM"}
package/_mjs/util.mjs CHANGED
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=util.mjs.map
package/_mjs/vitest.mjs CHANGED
@@ -1,8 +1,8 @@
1
- const fileName_1 = "(@fncts/test) src/vitest.ts";
2
1
  import * as tsplus_module_1 from "@fncts/test/data/FreeBooleanAlgebra/api";
3
2
  import * as tsplus_module_2 from "@fncts/base/collection/immutable/List/constructors";
4
3
  import * as tsplus_module_3 from "@fncts/base/collection/immutable/List/api";
5
4
  import * as tsplus_module_4 from "@fncts/test/data/ExecutionResult";
5
+ import { Failed, Passed, Test, rendered } from "@fncts/test/data/ExecutionResult";
6
6
  import * as tsplus_module_5 from "@fncts/test/control/TestAnnotationRenderer/api";
7
7
  import * as tsplus_module_6 from "@fncts/test/control/TestRenderer/ConsoleRenderer";
8
8
  import * as tsplus_module_7 from "@fncts/base/data/Maybe/api";
@@ -16,87 +16,87 @@ import { isPromise } from "@fncts/base/util/predicates";
16
16
  import { check, checkAllConcurrently, checkAllIOConcurrently, checkIO } from "@fncts/test/api";
17
17
  import { renderFragment } from "@fncts/test/control/DefaultTestReporter";
18
18
  import { TestEnvironment } from "@fncts/test/control/TestEnvironment";
19
- import { Failed, Passed, rendered, Test } from "@fncts/test/data/ExecutionResult";
20
- import { RenderParam } from "@fncts/test/data/RenderParam";
19
+ import "@fncts/test/data/RenderParam";
21
20
  import * as V from "vitest";
22
- export const describe = V.describe;
23
- export const suite = V.suite;
24
- export const it = /*#__PURE__*/(() => {
25
- function runTest(test) {
26
- const result = test();
27
- if (!result) {
28
- return;
29
- }
30
- if (isPromise(result)) {
31
- return result;
32
- }
33
- if (tsplus_module_1.isFailure(result)) {
34
- const lines = assertionValues => tsplus_module_3.flatMap(value => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);
35
- const renderedResult = tsplus_module_7.getOrElse(() => "Unknown Test Failure")(tsplus_module_7.map(failures => tsplus_module_6.renderSingle(tsplus_module_1.fold({
36
- Value: details => rendered(Test, "", Failed, 0, lines(details.failureDetails.assertion)),
37
- And: (l, r) => tsplus_module_4.and(r)(l),
38
- Or: (l, r) => tsplus_module_4.or(r)(l),
39
- Not: v => tsplus_module_4.invert(v)
40
- })(failures), tsplus_module_5.Default))(tsplus_module_1.failures(result)));
41
- const error = new Error(renderedResult);
42
- error.stack = undefined;
43
- throw error;
44
- }
45
- }
46
- function it(name, test, options) {
47
- return V.it.concurrent(name, () => runTest(test), options);
48
- }
49
- function runTestIO(io) {
50
- return tsplus_module_10.unsafeRunPromise(tsplus_module_9.provideLayer(TestEnvironment, fileName_1 + ":84:20")(tsplus_module_8.flatMap(result => tsplus_module_8.defer(() => {
51
- if (tsplus_module_1.isFailure(result)) {
52
- const lines = assertionValues => {
53
- return tsplus_module_3.flatMap(value => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);
54
- };
55
- const renderedResult = tsplus_module_6.renderSingle(tsplus_module_1.fold({
56
- Value: details => rendered(Test, "", Passed, 0, lines(details.failureDetails.assertion)),
57
- And: (l, r) => tsplus_module_4.and(r)(l),
58
- Or: (l, r) => tsplus_module_4.or(r)(l),
59
- Not: v => tsplus_module_4.invert(v)
60
- })(result), tsplus_module_5.Default);
61
- const error = new Error(renderedResult);
62
- error.stack = undefined;
63
- return tsplus_module_8.haltNow(error, fileName_1 + ":78:30");
64
- }
65
- return tsplus_module_8.unit;
66
- }, fileName_1 + ":62:17"), fileName_1 + ":60:23")(tsplus_module_8.defer(io, fileName_1 + ":60:32"))), fileName_1 + ":85:24");
67
- }
68
- function itIO(name, io, options) {
69
- return V.it.concurrent(name, options, () => runTestIO(io));
70
- }
71
- return Object.assign(it, {
72
- skip: (name, test, options) => {
73
- return V.it.skip(name, options, () => runTest(test));
74
- },
75
- only: (name, test, options) => {
76
- return V.it.only(name, options, () => runTest(test));
77
- },
78
- check: check,
79
- checkIO: checkIO,
80
- checkAll: checkAllConcurrently,
81
- checkAllIO: checkAllIOConcurrently,
82
- io: Object.assign(itIO, {
83
- scoped: (name, io, options) => {
84
- return itIO(name, () => tsplus_module_11.scoped(io(), fileName_1 + ":105:31"), options);
85
- },
86
- skip: (name, io, options) => {
87
- return V.it.skip(name, options, () => runTestIO(io));
88
- },
89
- only: (name, io, options) => {
90
- return V.it.only(name, options, () => runTestIO(io));
91
- }
92
- })
93
- });
21
+ //#region build/esm/vitest.js
22
+ const fileName_1 = "(@fncts/test) src/vitest.ts";
23
+ const describe = V.describe;
24
+ const suite = V.suite;
25
+ const it = (() => {
26
+ function runTest(test) {
27
+ const result = test();
28
+ if (!result) return;
29
+ if (isPromise(result)) return result;
30
+ if (tsplus_module_1.isFailure(result)) {
31
+ const lines = (assertionValues) => tsplus_module_3.flatMap((value) => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);
32
+ const renderedResult = tsplus_module_7.getOrElse(() => "Unknown Test Failure")(tsplus_module_7.map((failures) => tsplus_module_6.renderSingle(tsplus_module_1.fold({
33
+ Value: (details) => rendered(Test, "", Failed, 0, lines(details.failureDetails.assertion)),
34
+ And: (l, r) => tsplus_module_4.and(r)(l),
35
+ Or: (l, r) => tsplus_module_4.or(r)(l),
36
+ Not: (v) => tsplus_module_4.invert(v)
37
+ })(failures), tsplus_module_5.Default))(tsplus_module_1.failures(result)));
38
+ const error = new Error(renderedResult);
39
+ error.stack = void 0;
40
+ throw error;
41
+ }
42
+ }
43
+ function it(name, test, options) {
44
+ return V.it.concurrent(name, options, () => runTest(test));
45
+ }
46
+ function runTestIO(io) {
47
+ return tsplus_module_10.unsafeRunPromise(tsplus_module_9.provideLayer(TestEnvironment, fileName_1 + ":84:20")(tsplus_module_8.flatMap((result) => tsplus_module_8.defer(() => {
48
+ if (tsplus_module_1.isFailure(result)) {
49
+ const lines = (assertionValues) => {
50
+ return tsplus_module_3.flatMap((value) => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);
51
+ };
52
+ const renderedResult = tsplus_module_6.renderSingle(tsplus_module_1.fold({
53
+ Value: (details) => rendered(Test, "", Passed, 0, lines(details.failureDetails.assertion)),
54
+ And: (l, r) => tsplus_module_4.and(r)(l),
55
+ Or: (l, r) => tsplus_module_4.or(r)(l),
56
+ Not: (v) => tsplus_module_4.invert(v)
57
+ })(result), tsplus_module_5.Default);
58
+ const error = new Error(renderedResult);
59
+ error.stack = void 0;
60
+ return tsplus_module_8.haltNow(error, fileName_1 + ":78:30");
61
+ }
62
+ return tsplus_module_8.unit;
63
+ }, fileName_1 + ":62:17"), fileName_1 + ":60:23")(tsplus_module_8.defer(io, fileName_1 + ":60:32"))), fileName_1 + ":85:24");
64
+ }
65
+ function itIO(name, io, options) {
66
+ return V.it.concurrent(name, options, () => runTestIO(io));
67
+ }
68
+ return Object.assign(it, {
69
+ skip: (name, test, options) => {
70
+ return V.it.skip(name, options, () => runTest(test));
71
+ },
72
+ only: (name, test, options) => {
73
+ return V.it.only(name, options, () => runTest(test));
74
+ },
75
+ check,
76
+ checkIO,
77
+ checkAll: checkAllConcurrently,
78
+ checkAllIO: checkAllIOConcurrently,
79
+ io: Object.assign(itIO, {
80
+ scoped: (name, io, options) => {
81
+ return itIO(name, () => tsplus_module_11.scoped(io(), fileName_1 + ":105:31"), options);
82
+ },
83
+ skip: (name, io, options) => {
84
+ return V.it.skip(name, options, () => runTestIO(io));
85
+ },
86
+ only: (name, io, options) => {
87
+ return V.it.only(name, options, () => runTestIO(io));
88
+ }
89
+ })
90
+ });
94
91
  })();
95
- export const test = it;
92
+ const test = it;
96
93
  /**
97
- * @tsplus static fncts.test.AssertionOps calledTimes
98
- */
99
- export function calledTimes(times) {
100
- return tsplus_module_13.assertion("calledTimes", [tsplus_module_12.param(times)], mock => mock.mock.calls.length === times);
94
+ * @tsplus static fncts.test.AssertionOps calledTimes
95
+ */
96
+ function calledTimes(times) {
97
+ return tsplus_module_13.assertion("calledTimes", [tsplus_module_12.param(times)], (mock) => mock.mock.calls.length === times);
101
98
  }
99
+ //#endregion
100
+ export { calledTimes, describe, it, suite, test };
101
+
102
102
  //# sourceMappingURL=vitest.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.mjs","names":["isPromise","check","checkAllConcurrently","checkAllIOConcurrently","checkIO","renderFragment","TestEnvironment","Failed","Passed","rendered","Test","RenderParam","V","describe","suite","it","runTest","test","result","tsplus_module_1","isFailure","lines","assertionValues","tsplus_module_3","flatMap","value","tsplus_module_2","from","renderedResult","tsplus_module_7","getOrElse","map","failures","tsplus_module_6","renderSingle","fold","Value","details","failureDetails","assertion","And","l","r","tsplus_module_4","and","Or","or","Not","v","invert","tsplus_module_5","Default","error","Error","stack","undefined","name","options","concurrent","runTestIO","io","tsplus_module_10","unsafeRunPromise","tsplus_module_9","provideLayer","fileName_1","tsplus_module_8","defer","haltNow","unit","itIO","Object","assign","skip","only","checkAll","checkAllIO","scoped","tsplus_module_11","calledTimes","times","tsplus_module_13","tsplus_module_12","param","mock","calls","length"],"sources":["../_src/vitest.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vitest.mjs","names":[],"sources":["../esm/vitest.js"],"sourcesContent":["const fileName_1 = \"(@fncts/test) src/vitest.ts\";\nimport * as tsplus_module_1 from \"@fncts/test/data/FreeBooleanAlgebra/api\";\nimport * as tsplus_module_2 from \"@fncts/base/collection/immutable/List/constructors\";\nimport * as tsplus_module_3 from \"@fncts/base/collection/immutable/List/api\";\nimport * as tsplus_module_4 from \"@fncts/test/data/ExecutionResult\";\nimport * as tsplus_module_5 from \"@fncts/test/control/TestAnnotationRenderer/api\";\nimport * as tsplus_module_6 from \"@fncts/test/control/TestRenderer/ConsoleRenderer\";\nimport * as tsplus_module_7 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_8 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_9 from \"@fncts/io/IO/api/provideLayer\";\nimport * as tsplus_module_10 from \"@fncts/io/IO/runtime\";\nimport * as tsplus_module_11 from \"@fncts/io/IO/api/scoped\";\nimport * as tsplus_module_12 from \"@fncts/test/data/RenderParam/api\";\nimport * as tsplus_module_13 from \"@fncts/test/control/Assertion/api\";\nimport { isPromise } from \"@fncts/base/util/predicates\";\nimport { check, checkAllConcurrently, checkAllIOConcurrently, checkIO } from \"@fncts/test/api\";\nimport { renderFragment } from \"@fncts/test/control/DefaultTestReporter\";\nimport { TestEnvironment } from \"@fncts/test/control/TestEnvironment\";\nimport { Failed, Passed, rendered, Test } from \"@fncts/test/data/ExecutionResult\";\nimport { RenderParam } from \"@fncts/test/data/RenderParam\";\nimport * as V from \"vitest\";\nexport const describe = V.describe;\nexport const suite = V.suite;\nexport const it = (() => {\n function runTest(test) {\n const result = test();\n if (!result) {\n return;\n }\n if (isPromise(result)) {\n return result;\n }\n if (tsplus_module_1.isFailure(result)) {\n const lines = (assertionValues) => tsplus_module_3.flatMap((value) => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);\n const renderedResult = tsplus_module_7.getOrElse(() => \"Unknown Test Failure\")(tsplus_module_7.map((failures) => tsplus_module_6.renderSingle(tsplus_module_1.fold({\n Value: (details) => rendered(Test, \"\", Failed, 0, lines(details.failureDetails.assertion)),\n And: (l, r) => tsplus_module_4.and(r)(l),\n Or: (l, r) => tsplus_module_4.or(r)(l),\n Not: (v) => tsplus_module_4.invert(v),\n })(failures), tsplus_module_5.Default))(tsplus_module_1.failures(result)));\n const error = new Error(renderedResult);\n error.stack = undefined;\n throw error;\n }\n }\n function it(name, test, options) {\n return V.it.concurrent(name, options, () => runTest(test));\n }\n function runTestIO(io) {\n return tsplus_module_10.unsafeRunPromise(tsplus_module_9.provideLayer(TestEnvironment, fileName_1 + \":84:20\")(tsplus_module_8.flatMap(result => tsplus_module_8.defer(() => {\n if (tsplus_module_1.isFailure(result)) {\n const lines = (assertionValues) => {\n return tsplus_module_3.flatMap((value) => tsplus_module_2.from(renderFragment(value, 0).lines))(assertionValues);\n };\n const renderedResult = tsplus_module_6.renderSingle(tsplus_module_1.fold({\n Value: (details) => rendered(Test, \"\", Passed, 0, lines(details.failureDetails.assertion)),\n And: (l, r) => tsplus_module_4.and(r)(l),\n Or: (l, r) => tsplus_module_4.or(r)(l),\n Not: (v) => tsplus_module_4.invert(v),\n })(result), tsplus_module_5.Default);\n const error = new Error(renderedResult);\n error.stack = undefined;\n return tsplus_module_8.haltNow(error, fileName_1 + \":78:30\");\n }\n return tsplus_module_8.unit;\n }, fileName_1 + \":62:17\"), fileName_1 + \":60:23\")(tsplus_module_8.defer(io, fileName_1 + \":60:32\"))), fileName_1 + \":85:24\");\n }\n function itIO(name, io, options) {\n return V.it.concurrent(name, options, () => runTestIO(io));\n }\n return Object.assign(it, {\n skip: (name, test, options) => {\n return V.it.skip(name, options, () => runTest(test));\n },\n only: (name, test, options) => {\n return V.it.only(name, options, () => runTest(test));\n },\n check: check,\n checkIO: checkIO,\n checkAll: checkAllConcurrently,\n checkAllIO: checkAllIOConcurrently,\n io: Object.assign(itIO, {\n scoped: (name, io, options) => {\n return itIO(name, () => tsplus_module_11.scoped(io(), fileName_1 + \":105:31\"), options);\n },\n skip: (name, io, options) => {\n return V.it.skip(name, options, () => runTestIO(io));\n },\n only: (name, io, options) => {\n return V.it.only(name, options, () => runTestIO(io));\n },\n }),\n });\n})();\nexport const test = it;\n/**\n * @tsplus static fncts.test.AssertionOps calledTimes\n */\nexport function calledTimes(times) {\n return tsplus_module_13.assertion(\"calledTimes\", [tsplus_module_12.param(times)], (mock) => mock.mock.calls.length === times);\n}\n//# sourceMappingURL=vitest.js.map"],"mappings":"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"}
@@ -91,7 +91,9 @@ export class TestClock extends Clock {
91
91
  );
92
92
  });
93
93
  };
94
- currentTime = this.clockState.get.map((data) => data.duration);
94
+ get currentTime() {
95
+ return this.clockState.get.map((data) => data.duration);
96
+ }
95
97
  adjust(duration: number): UIO<void> {
96
98
  return this.warningDone > this.run((d) => d + duration);
97
99
  }
@@ -101,7 +103,9 @@ export class TestClock extends Clock {
101
103
  setTime(time: number): UIO<void> {
102
104
  return this.warningDone > this.run((_) => time);
103
105
  }
104
- sleeps = this.clockState.get.map((data) => data.sleeps.map(([_]) => _));
106
+ get sleeps() {
107
+ return this.clockState.get.map((data) => data.sleeps.map(([_]) => _));
108
+ }
105
109
  get supervizedFibers(): UIO<HashSet<Fiber.Runtime<any, any>>> {
106
110
  return IO.fiberId.flatMap((fiberId) =>
107
111
  this.annotations.get(TestAnnotation.Fibers).flatMap((_) =>
@@ -172,20 +176,24 @@ export class TestClock extends Clock {
172
176
  }
173
177
  });
174
178
  }
175
- warningDone: UIO<void> = this.warningState.updateJustIO(
176
- matchTag({
177
- Start: () => Just(IO(Done)),
178
- Pending: ({ fiber }) => Just(fiber.interrupt.as(Done)),
179
- Done: () => Nothing(),
180
- }),
181
- );
182
- private warningStart: UIO<void> = this.warningState.updateJustIO(
183
- matchTag(
184
- {
185
- Start: () =>
186
- Just(this.live.provide(Clock.sleep((5).seconds) > Console.print(warning)).interruptible.fork.map(Pending)),
187
- },
188
- () => Nothing<IO<never, never, WarningData>>(),
189
- ),
190
- );
179
+ get warningDone() {
180
+ return this.warningState.updateJustIO(
181
+ matchTag({
182
+ Start: () => Just(IO(Done)),
183
+ Pending: ({ fiber }) => Just(fiber.interrupt.as(Done)),
184
+ Done: () => Nothing(),
185
+ }),
186
+ );
187
+ }
188
+ private get warningStart(): UIO<void> {
189
+ return this.warningState.updateJustIO(
190
+ matchTag(
191
+ {
192
+ Start: () =>
193
+ Just(this.live.provide(Clock.sleep((5).seconds) > Console.print(warning)).interruptible.fork.map(Pending)),
194
+ },
195
+ () => Nothing<IO<never, never, WarningData>>(),
196
+ ),
197
+ );
198
+ }
191
199
  }
@@ -21,13 +21,13 @@ export class TestConsole implements Console {
21
21
  readonly debugState: FiberRef<boolean>,
22
22
  ) {}
23
23
  show(...input: ReadonlyArray<unknown>): UIO<void> {
24
- return this.consoleState.update((data) =>
25
- data.copy({
24
+ return this.consoleState.update((data) => {
25
+ return data.copy({
26
26
  output: data.output.concat(
27
27
  input.foldLeft(Vector.empty(), (b, a) => b.append(showWithOptions(a, { colors: false }))),
28
28
  ),
29
- }),
30
- );
29
+ });
30
+ });
31
31
  }
32
32
  print(line: string): UIO<void> {
33
33
  return this.consoleState.update((data) =>
@@ -43,11 +43,21 @@ export class TestConsole implements Console {
43
43
  }),
44
44
  );
45
45
  }
46
- clearInput = this.consoleState.update((data) => data.copy({ input: Vector.empty() }));
47
- clearOutput = this.consoleState.update((data) => data.copy({ output: Vector.empty() }));
48
- output = this.consoleState.get.map((data) => data.output);
49
- errOutput = this.consoleState.get.map((data) => data.errOutput);
50
- debugOutput = this.consoleState.get.map((data) => data.debugOutput);
46
+ get clearInput() {
47
+ return this.consoleState.update((data) => data.copy({ input: Vector.empty() }));
48
+ }
49
+ get clearOutput() {
50
+ return this.consoleState.update((data) => data.copy({ output: Vector.empty() }));
51
+ }
52
+ get output() {
53
+ return this.consoleState.get.map((data) => data.output);
54
+ }
55
+ get errOutput() {
56
+ return this.consoleState.get.map((data) => data.errOutput);
57
+ }
58
+ get debugOutput() {
59
+ return this.consoleState.get.map((data) => data.debugOutput);
60
+ }
51
61
  feedLines(...lines: ReadonlyArray<string>): UIO<void> {
52
62
  return this.consoleState.update((data) => data.copy({ input: data.input.concat(Vector.from(lines)) }));
53
63
  }
@@ -16,12 +16,24 @@ export class TestRandom implements Random {
16
16
  readonly randomState: Ref<Data>,
17
17
  readonly bufferState: Ref<Buffer>,
18
18
  ) {}
19
- clearBooleans: UIO<void> = this.bufferState.update((buff) => buff.copy({ booleans: Vector.empty() }));
20
- clearBytes: UIO<void> = this.bufferState.update((buff) => buff.copy({ bytes: Vector.empty() }));
21
- clearChars: UIO<void> = this.bufferState.update((buff) => buff.copy({ chars: Vector.empty() }));
22
- clearDoubles: UIO<void> = this.bufferState.update((buff) => buff.copy({ doubles: Vector.empty() }));
23
- clearInts: UIO<void> = this.bufferState.update((buff) => buff.copy({ integers: Vector.empty() }));
24
- clearStrings: UIO<void> = this.bufferState.update((buff) => buff.copy({ strings: Vector.empty() }));
19
+ get clearBooleans() {
20
+ return this.bufferState.update((buff) => buff.copy({ booleans: Vector.empty() }));
21
+ }
22
+ get clearBytes() {
23
+ return this.bufferState.update((buff) => buff.copy({ bytes: Vector.empty() }));
24
+ }
25
+ get clearChars() {
26
+ return this.bufferState.update((buff) => buff.copy({ chars: Vector.empty() }));
27
+ }
28
+ get clearDoubles() {
29
+ return this.bufferState.update((buff) => buff.copy({ doubles: Vector.empty() }));
30
+ }
31
+ get clearInts() {
32
+ return this.bufferState.update((buff) => buff.copy({ integers: Vector.empty() }));
33
+ }
34
+ get clearStrings() {
35
+ return this.bufferState.update((buff) => buff.copy({ strings: Vector.empty() }));
36
+ }
25
37
  feedBooleans(...booleans: ReadonlyArray<boolean>): UIO<void> {
26
38
  return this.bufferState.update((buff) => buff.copy({ booleans: Vector.from(booleans).concat(buff.booleans) }));
27
39
  }
@@ -40,7 +52,9 @@ export class TestRandom implements Random {
40
52
  feedStrings(...strings: ReadonlyArray<string>): UIO<void> {
41
53
  return this.bufferState.update((data) => data.copy({ strings: Vector.from(strings).concat(data.strings) }));
42
54
  }
43
- getSeed: UIO<number> = this.randomState.get.map((data) => ((data.seed1 << 24) | data.seed2) ^ 0x5deece66d);
55
+ get getSeed(): UIO<number> {
56
+ return this.randomState.get.map((data) => ((data.seed1 << 24) | data.seed2) ^ 0x5deece66d);
57
+ }
44
58
  setSeed(seed: number): UIO<void> {
45
59
  const mash = Mash();
46
60
  const newSeed = mash(seed.toString());
@@ -79,8 +93,10 @@ export class TestRandom implements Random {
79
93
  return [result >>> (32 - bits), new Data(newSeed1, newSeed2, data.nextNextGaussians)];
80
94
  });
81
95
  };
82
- private randomBoolean = this.randomBits(1).map((n) => n !== 0);
83
- private randomBytes = (length: number): UIO<ReadonlyArray<Byte>> => {
96
+ private get randomBoolean() {
97
+ return this.randomBits(1).map((n) => n !== 0);
98
+ }
99
+ private randomBytes = (length: number): UIO<ReadonlyArray<Byte>> => {
84
100
  const loop = (i: number, rnd: UIO<number>, n: number, acc: UIO<List<Byte>>): UIO<List<Byte>> => {
85
101
  if (i === length) {
86
102
  return acc.map((l) => l.reverse);
@@ -113,14 +129,20 @@ export class TestRandom implements Random {
113
129
  return loop;
114
130
  }
115
131
  };
116
- private randomLong: UIO<bigint> = this.randomBits(32).flatMap((i1) =>
117
- this.randomBits(32).flatMap((i2) => IO.succeedNow(BigInt(i1 << 32) + BigInt(i2))),
118
- );
119
- private randomInt = this.randomBits(32);
120
- private randomDouble = this.randomBits(26).flatMap((i1) =>
121
- this.randomBits(27).map((i2) => (i1 * (1 << 27) + i2) / (1 << 53)),
122
- );
123
- private random = this.randomBits(26);
132
+ private get randomLong(): UIO<bigint> {
133
+ return this.randomBits(32).flatMap((i1) =>
134
+ this.randomBits(32).flatMap((i2) => IO.succeedNow(BigInt(i1 << 32) + BigInt(i2))),
135
+ );
136
+ }
137
+ private get randomInt() {
138
+ return this.randomBits(32);
139
+ }
140
+ private get randomDouble() {
141
+ return this.randomBits(26).flatMap((i1) => this.randomBits(27).map((i2) => (i1 * (1 << 27) + i2) / (1 << 53)));
142
+ }
143
+ private get random() {
144
+ return this.randomBits(26);
145
+ }
124
146
  get nextInt(): UIO<number> {
125
147
  return this.getOrElse(this.bufferedInt, this.randomInt);
126
148
  }
@@ -5,5 +5,7 @@ export class Summary {
5
5
  readonly ignore: number,
6
6
  readonly summary: string,
7
7
  ) {}
8
- total = this.success + this.fail + this.ignore;
8
+ get total() {
9
+ return this.success + this.fail + this.ignore;
10
+ }
9
11
  }
package/_src/vitest.ts CHANGED
@@ -52,7 +52,7 @@ export const it = (() => {
52
52
  }
53
53
 
54
54
  function it(name: string, test: Lazy<TestResult | Promise<void> | void>, options?: V.TestOptions) {
55
- return V.it.concurrent(name, () => runTest(test), options);
55
+ return V.it.concurrent(name, options, () => runTest(test));
56
56
  }
57
57
 
58
58
  function runTestIO<E>(io: Lazy<IO<TestEnvironment, E, TestResult>>) {
@@ -54,18 +54,18 @@ export declare class TestClock extends Clock {
54
54
  readonly warningState: Ref.Synchronized<WarningData>;
55
55
  constructor(clockState: Ref<Data>, live: Live, annotations: Annotations, warningState: Ref.Synchronized<WarningData>);
56
56
  sleep: (ms: Lazy<Duration>) => import("@fncts/io/IO").IO<never, never, void>;
57
- currentTime: import("@fncts/io/IO").IO<never, never, number>;
57
+ get currentTime(): import("@fncts/io/IO").IO<never, never, number>;
58
58
  adjust(duration: number): UIO<void>;
59
59
  setDate(date: Date): UIO<void>;
60
60
  setTime(time: number): UIO<void>;
61
- sleeps: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/List").List<number>>;
61
+ get sleeps(): import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/List").List<number>>;
62
62
  get supervizedFibers(): UIO<HashSet<Fiber.Runtime<any, any>>>;
63
63
  private get freeze();
64
64
  private get delay();
65
65
  private get awaitSuspended();
66
66
  private run;
67
67
  private get suspended();
68
- warningDone: UIO<void>;
69
- private warningStart;
68
+ get warningDone(): import("@fncts/io/IO").IO<never, never, void>;
69
+ private get warningStart();
70
70
  }
71
71
  export {};
@@ -24,11 +24,11 @@ export declare class TestConsole implements Console {
24
24
  show(...input: ReadonlyArray<unknown>): UIO<void>;
25
25
  print(line: string): UIO<void>;
26
26
  error(line: string): UIO<void>;
27
- clearInput: import("@fncts/io/IO").IO<never, never, void>;
28
- clearOutput: import("@fncts/io/IO").IO<never, never, void>;
29
- output: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
30
- errOutput: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
31
- debugOutput: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
27
+ get clearInput(): import("@fncts/io/IO").IO<never, never, void>;
28
+ get clearOutput(): import("@fncts/io/IO").IO<never, never, void>;
29
+ get output(): import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
30
+ get errOutput(): import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
31
+ get debugOutput(): import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
32
32
  feedLines(...lines: ReadonlyArray<string>): UIO<void>;
33
33
  silent<R, E, A>(io: IO<R, E, A>): IO<R, E, A>;
34
34
  debug<R, E, A>(io: IO<R, E, A>): IO<R, E, A>;