@fncts/test 0.0.51 → 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 (407) 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 -81
  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 +19 -18
  12. package/_cjs/control/Annotations/definition.cjs.map +1 -1
  13. package/_cjs/control/Annotations/live.cjs +50 -40
  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 -21
  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 -15
  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 -15
  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 -17
  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 -21
  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 -87
  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 -33
  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 -173
  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 -83
  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 -378
  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 -23
  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 -27
  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 -41
  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 -103
  115. package/_cjs/data/ExecutionResult.cjs.map +1 -1
  116. package/_cjs/data/FailureDetails.cjs +12 -14
  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 -41
  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 -16
  124. package/_cjs/data/GenFailureDetails.cjs.map +1 -1
  125. package/_cjs/data/LogLine/Fragment.cjs +10 -73
  126. package/_cjs/data/LogLine/Line.cjs +13 -112
  127. package/_cjs/data/LogLine/Message.cjs +13 -115
  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 -36
  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 -21
  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 -21
  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 -39
  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 -34
  151. package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
  152. package/_cjs/data/TestArgs/definition.cjs +14 -16
  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 -41
  156. package/_cjs/data/TestConfig.cjs.map +1 -1
  157. package/_cjs/data/TestFailure.cjs +41 -41
  158. package/_cjs/data/TestFailure.cjs.map +1 -1
  159. package/_cjs/data/TestSuccess.cjs +26 -26
  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 -65
  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 -10
  180. package/_mjs/control/Annotations/definition.mjs.map +1 -1
  181. package/_mjs/control/Annotations/live.mjs +32 -28
  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 -14
  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 -5
  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 -9
  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 -11
  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 -14
  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 -75
  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 -21
  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 -150
  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 -72
  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 -362
  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 -14
  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 -20
  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 -34
  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 -91
  283. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  284. package/_mjs/data/FailureDetails.mjs +12 -8
  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 -33
  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 -10
  292. package/_mjs/data/GenFailureDetails.mjs.map +1 -1
  293. package/_mjs/data/LogLine/Fragment.mjs +2 -58
  294. package/_mjs/data/LogLine/Line.mjs +2 -94
  295. package/_mjs/data/LogLine/Message.mjs +2 -99
  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 -27
  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 -15
  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 -15
  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 -27
  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 -24
  319. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  320. package/_mjs/data/TestArgs/definition.mjs +14 -10
  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 -30
  324. package/_mjs/data/TestConfig.mjs.map +1 -1
  325. package/_mjs/data/TestFailure.mjs +35 -31
  326. package/_mjs/data/TestFailure.mjs.map +1 -1
  327. package/_mjs/data/TestSuccess.mjs +22 -18
  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/package.json +13 -4
  340. package/_cjs/control/Annotations.cjs.map +0 -1
  341. package/_cjs/control/Assertion.cjs.map +0 -1
  342. package/_cjs/control/AssertionIO.cjs.map +0 -1
  343. package/_cjs/control/DefaultTestReporter.cjs.map +0 -1
  344. package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +0 -1
  345. package/_cjs/control/Gen/constraints.cjs.map +0 -1
  346. package/_cjs/control/Gen.cjs.map +0 -1
  347. package/_cjs/control/Live.cjs.map +0 -1
  348. package/_cjs/control/Sample.cjs.map +0 -1
  349. package/_cjs/control/Sized.cjs.map +0 -1
  350. package/_cjs/control/Spec.cjs.map +0 -1
  351. package/_cjs/control/TestAnnotationRenderer.cjs.map +0 -1
  352. package/_cjs/control/TestAspect/definition.cjs.map +0 -1
  353. package/_cjs/control/TestAspect.cjs.map +0 -1
  354. package/_cjs/control/TestClock.cjs.map +0 -1
  355. package/_cjs/control/TestConsole.cjs.map +0 -1
  356. package/_cjs/control/TestRandom.cjs.map +0 -1
  357. package/_cjs/control/TestRenderer/definition.cjs.map +0 -1
  358. package/_cjs/control.cjs.map +0 -1
  359. package/_cjs/data/AssertionValue.cjs.map +0 -1
  360. package/_cjs/data/ExecutedSpec.cjs.map +0 -1
  361. package/_cjs/data/FreeBooleanAlgebra.cjs.map +0 -1
  362. package/_cjs/data/LogLine/Fragment.cjs.map +0 -1
  363. package/_cjs/data/LogLine/Line.cjs.map +0 -1
  364. package/_cjs/data/LogLine/Message.cjs.map +0 -1
  365. package/_cjs/data/LogLine.cjs.map +0 -1
  366. package/_cjs/data/Render.cjs.map +0 -1
  367. package/_cjs/data/RenderParam.cjs.map +0 -1
  368. package/_cjs/data/TestAnnotation.cjs.map +0 -1
  369. package/_cjs/data/TestArgs.cjs.map +0 -1
  370. package/_cjs/data.cjs.map +0 -1
  371. package/_cjs/global.cjs.map +0 -1
  372. package/_cjs/index.cjs.map +0 -1
  373. package/_cjs/util.cjs.map +0 -1
  374. package/_mjs/control/Annotations.mjs.map +0 -1
  375. package/_mjs/control/Assertion.mjs.map +0 -1
  376. package/_mjs/control/AssertionIO.mjs.map +0 -1
  377. package/_mjs/control/DefaultTestReporter.mjs.map +0 -1
  378. package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +0 -1
  379. package/_mjs/control/Gen/constraints.mjs.map +0 -1
  380. package/_mjs/control/Gen.mjs.map +0 -1
  381. package/_mjs/control/Live.mjs.map +0 -1
  382. package/_mjs/control/Sample.mjs.map +0 -1
  383. package/_mjs/control/Sized.mjs.map +0 -1
  384. package/_mjs/control/Spec.mjs.map +0 -1
  385. package/_mjs/control/TestAnnotationRenderer.mjs.map +0 -1
  386. package/_mjs/control/TestAspect/definition.mjs.map +0 -1
  387. package/_mjs/control/TestAspect.mjs.map +0 -1
  388. package/_mjs/control/TestClock.mjs.map +0 -1
  389. package/_mjs/control/TestConsole.mjs.map +0 -1
  390. package/_mjs/control/TestRandom.mjs.map +0 -1
  391. package/_mjs/control/TestRenderer/definition.mjs.map +0 -1
  392. package/_mjs/control.mjs.map +0 -1
  393. package/_mjs/data/AssertionValue.mjs.map +0 -1
  394. package/_mjs/data/ExecutedSpec.mjs.map +0 -1
  395. package/_mjs/data/FreeBooleanAlgebra.mjs.map +0 -1
  396. package/_mjs/data/LogLine/Fragment.mjs.map +0 -1
  397. package/_mjs/data/LogLine/Line.mjs.map +0 -1
  398. package/_mjs/data/LogLine/Message.mjs.map +0 -1
  399. package/_mjs/data/LogLine.mjs.map +0 -1
  400. package/_mjs/data/Render.mjs.map +0 -1
  401. package/_mjs/data/RenderParam.mjs.map +0 -1
  402. package/_mjs/data/TestAnnotation.mjs.map +0 -1
  403. package/_mjs/data/TestArgs.mjs.map +0 -1
  404. package/_mjs/data.mjs.map +0 -1
  405. package/_mjs/global.mjs.map +0 -1
  406. package/_mjs/index.mjs.map +0 -1
  407. package/_mjs/util.mjs.map +0 -1
@@ -1,401 +1,355 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TestRandomTag = exports.TestRandom = exports.Data = exports.Buffer = void 0;
7
- exports.addArrayIntToNew = addArrayIntToNew;
8
- exports.addOneToPositiveArrayInt = addOneToPositiveArrayInt;
9
- exports.substractArrayIntToNew = substractArrayIntToNew;
10
- exports.trimArrayIntInplace = trimArrayIntInplace;
11
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Tag/constructors"));
12
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
13
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/api/modify"));
14
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/api/get"));
15
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
16
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Queue/constructors"));
17
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/api/set"));
18
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
19
- var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/List/api"));
20
- var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/List/constructors"));
21
- var _exceptions = /*#__PURE__*/require("@fncts/base/data/exceptions");
22
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ let _fncts_base_collection_immutable_List_constructors = require("@fncts/base/collection/immutable/List/constructors");
4
+ _fncts_base_collection_immutable_List_constructors = require_chunk.__toESM(_fncts_base_collection_immutable_List_constructors, 1);
5
+ let _fncts_base_collection_immutable_List_api = require("@fncts/base/collection/immutable/List/api");
6
+ _fncts_base_collection_immutable_List_api = require_chunk.__toESM(_fncts_base_collection_immutable_List_api, 1);
7
+ let _fncts_io_IO_api = require("@fncts/io/IO/api");
8
+ _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
9
+ let _fncts_base_data_Maybe_destructors = require("@fncts/base/data/Maybe/destructors");
10
+ _fncts_base_data_Maybe_destructors = require_chunk.__toESM(_fncts_base_data_Maybe_destructors, 1);
11
+ let _fncts_base_data_Tag_constructors = require("@fncts/base/data/Tag/constructors");
12
+ _fncts_base_data_Tag_constructors = require_chunk.__toESM(_fncts_base_data_Tag_constructors, 1);
13
+ let _fncts_base_collection_immutable_Vector_api = require("@fncts/base/collection/immutable/Vector/api");
14
+ _fncts_base_collection_immutable_Vector_api = require_chunk.__toESM(_fncts_base_collection_immutable_Vector_api, 1);
15
+ let _fncts_io_Ref_api_modify = require("@fncts/io/Ref/api/modify");
16
+ _fncts_io_Ref_api_modify = require_chunk.__toESM(_fncts_io_Ref_api_modify, 1);
17
+ let _fncts_io_Ref_api_get = require("@fncts/io/Ref/api/get");
18
+ _fncts_io_Ref_api_get = require_chunk.__toESM(_fncts_io_Ref_api_get, 1);
19
+ let _fncts_base_collection_immutable_Queue_constructors = require("@fncts/base/collection/immutable/Queue/constructors");
20
+ _fncts_base_collection_immutable_Queue_constructors = require_chunk.__toESM(_fncts_base_collection_immutable_Queue_constructors, 1);
21
+ let _fncts_io_Ref_api_set = require("@fncts/io/Ref/api/set");
22
+ _fncts_io_Ref_api_set = require_chunk.__toESM(_fncts_io_Ref_api_set, 1);
23
+ let _fncts_base_data_exceptions = require("@fncts/base/data/exceptions");
24
+ //#region build/esm/control/TestRandom/definition.js
23
25
  const fileName_1 = "(@fncts/test) src/control/TestRandom/definition.ts";
24
26
  /**
25
- * @tsplus static fncts.test.TestRandomOps Tag
26
- */
27
- const TestRandomTag = exports.TestRandomTag = /*#__PURE__*/tsplus_module_1.makeTag("fncts.test.TestRandom");
27
+ * @tsplus static fncts.test.TestRandomOps Tag
28
+ */
29
+ const TestRandomTag = _fncts_base_data_Tag_constructors.makeTag("fncts.test.TestRandom");
28
30
  /**
29
- * @tsplus type fncts.test.TestRandom
30
- * @tsplus companion fncts.test.TestRandomOps
31
- */
32
- class TestRandom {
33
- randomState;
34
- bufferState;
35
- constructor(randomState, bufferState) {
36
- this.randomState = randomState;
37
- this.bufferState = bufferState;
38
- }
39
- get clearBooleans() {
40
- return tsplus_module_3.update(buff => buff.copy({
41
- booleans: tsplus_module_2.empty()
42
- }), fileName_1 + ":20:35")(this.bufferState);
43
- }
44
- get clearBytes() {
45
- return tsplus_module_3.update(buff => buff.copy({
46
- bytes: tsplus_module_2.empty()
47
- }), fileName_1 + ":23:35")(this.bufferState);
48
- }
49
- get clearChars() {
50
- return tsplus_module_3.update(buff => buff.copy({
51
- chars: tsplus_module_2.empty()
52
- }), fileName_1 + ":26:35")(this.bufferState);
53
- }
54
- get clearDoubles() {
55
- return tsplus_module_3.update(buff => buff.copy({
56
- doubles: tsplus_module_2.empty()
57
- }), fileName_1 + ":29:35")(this.bufferState);
58
- }
59
- get clearInts() {
60
- return tsplus_module_3.update(buff => buff.copy({
61
- integers: tsplus_module_2.empty()
62
- }), fileName_1 + ":32:35")(this.bufferState);
63
- }
64
- get clearStrings() {
65
- return tsplus_module_3.update(buff => buff.copy({
66
- strings: tsplus_module_2.empty()
67
- }), fileName_1 + ":35:35")(this.bufferState);
68
- }
69
- feedBooleans(...booleans) {
70
- return tsplus_module_3.update(buff => buff.copy({
71
- booleans: tsplus_module_2.concat(buff.booleans)(tsplus_module_2.from(booleans))
72
- }), fileName_1 + ":38:35")(this.bufferState);
73
- }
74
- feedBytes(...bytes) {
75
- return tsplus_module_3.update(data => data.copy({
76
- bytes: tsplus_module_2.concat(data.bytes)(tsplus_module_2.from(bytes))
77
- }), fileName_1 + ":41:35")(this.bufferState);
78
- }
79
- feedChars(...chars) {
80
- return tsplus_module_3.update(data => data.copy({
81
- chars: tsplus_module_2.concat(data.chars)(tsplus_module_2.from(chars))
82
- }), fileName_1 + ":44:35")(this.bufferState);
83
- }
84
- feedDoubles(...doubles) {
85
- return tsplus_module_3.update(data => data.copy({
86
- doubles: tsplus_module_2.concat(data.doubles)(tsplus_module_2.from(doubles))
87
- }), fileName_1 + ":47:35")(this.bufferState);
88
- }
89
- feedInts(...ints) {
90
- return tsplus_module_3.update(data => data.copy({
91
- integers: tsplus_module_2.concat(data.integers)(tsplus_module_2.from(ints))
92
- }), fileName_1 + ":50:35")(this.bufferState);
93
- }
94
- feedStrings(...strings) {
95
- return tsplus_module_3.update(data => data.copy({
96
- strings: tsplus_module_2.concat(data.strings)(tsplus_module_2.from(strings))
97
- }), fileName_1 + ":53:35")(this.bufferState);
98
- }
99
- get getSeed() {
100
- return tsplus_module_5.map(data => (data.seed1 << 24 | data.seed2) ^ 0x5deece66d, fileName_1 + ":56:36")(tsplus_module_4.get(this.randomState, fileName_1 + ":56:28"));
101
- }
102
- setSeed(seed) {
103
- const mash = Mash();
104
- const newSeed = mash(seed.toString());
105
- const seed1 = Math.floor(newSeed >>> 24);
106
- const seed2 = Math.floor(newSeed) & (1 << 24) - 1;
107
- return tsplus_module_7.set(new Data(seed1, seed2, tsplus_module_6.empty()), fileName_1 + ":63:32")(this.randomState);
108
- }
109
- bufferedBoolean = buffer => {
110
- return [tsplus_module_2.head(buffer.booleans), buffer.copy({
111
- booleans: tsplus_module_2.drop(1)(buffer.booleans)
112
- })];
113
- };
114
- bufferedDouble = buffer => {
115
- return [tsplus_module_2.head(buffer.doubles), buffer.copy({
116
- doubles: tsplus_module_2.drop(1)(buffer.doubles)
117
- })];
118
- };
119
- bufferedInt = buffer => {
120
- return [tsplus_module_2.head(buffer.integers), buffer.copy({
121
- integers: tsplus_module_2.drop(1)(buffer.integers)
122
- })];
123
- };
124
- getOrElse = (buffer, random) => {
125
- return tsplus_module_5.flatMap(_ => tsplus_module_8.match(() => random, tsplus_module_5.succeedNow)(_), fileName_1 + ":75:51")(tsplus_module_3.modify(buffer, fileName_1 + ":75:35")(this.bufferState));
126
- };
127
- leastSignificantBits = x => {
128
- return Math.floor(x) & (1 << 24) - 1;
129
- };
130
- mostSignificantBits = x => {
131
- return Math.floor(x / (1 << 24));
132
- };
133
- randomBits = bits => {
134
- return tsplus_module_3.modify(data => {
135
- const multiplier = 0x5deece66d;
136
- const multiplier1 = Math.floor(multiplier >>> 24);
137
- const multiplier2 = Math.floor(multiplier) & (1 << 24) - 1;
138
- const product1 = data.seed1 * multiplier1 + data.seed1 * multiplier2;
139
- const product2 = data.seed2 * multiplier2 + 0xb;
140
- const newSeed1 = this.mostSignificantBits(product2) + this.leastSignificantBits(product1) & (1 << 24) - 1;
141
- const newSeed2 = this.leastSignificantBits(product2);
142
- const result = newSeed1 << 8 | newSeed2 >> 16;
143
- return [result >>> 32 - bits, new Data(newSeed1, newSeed2, data.nextNextGaussians)];
144
- }, fileName_1 + ":84:35")(this.randomState);
145
- };
146
- get randomBoolean() {
147
- return tsplus_module_5.map(n => n !== 0, fileName_1 + ":97:34")(this.randomBits(1));
148
- }
149
- randomBytes = length => {
150
- const loop = (i, rnd, n, acc) => {
151
- if (i === length) {
152
- return tsplus_module_5.map(l => tsplus_module_9.reverse(l), fileName_1 + ":102:23")(acc);
153
- } else if (n > 0) {
154
- return tsplus_module_5.flatMap(rnd => loop(i + 1, tsplus_module_5.succeedNow(rnd >> 8, fileName_1 + ":107:26"), n - 1, tsplus_module_5.map(_ => tsplus_module_9.prepend(rnd)(_), fileName_1 + ":109:20")(acc)), fileName_1 + ":104:27")(rnd);
155
- } else {
156
- return loop(i, this.nextInt, Math.min(length - i, 4), acc);
157
- }
158
- };
159
- return tsplus_module_5.map(list => Array.from(list), fileName_1 + ":116:89")(loop(0, this.randomInt, Math.min(length, 4), tsplus_module_5.succeedNow(tsplus_module_10.empty(), fileName_1 + ":116:70")));
160
- };
161
- randomIntBounded = n => {
162
- if (n <= 0) {
163
- return tsplus_module_5.haltNow(new _exceptions.IllegalArgumentError("n must be positive", "TestRandom.randomIntBounded"), fileName_1 + ":120:24");
164
- } else if ((n & -n) === n) {
165
- return tsplus_module_5.map(_ => _ >> Math.clz32(n), fileName_1 + ":122:37")(this.randomBits(31));
166
- } else {
167
- const loop = tsplus_module_5.flatMap(i => {
168
- const value = i % n;
169
- if (i - value + (n - 1) < 0) return loop;else return tsplus_module_5.succeedNow(value, fileName_1 + ":127:34");
170
- }, fileName_1 + ":124:60")(this.randomBits(31));
171
- return loop;
172
- }
173
- };
174
- get randomLong() {
175
- return tsplus_module_5.flatMap(i1 => tsplus_module_5.flatMap(i2 => tsplus_module_5.succeedNow(BigInt(i1 << 32) + BigInt(i2), fileName_1 + ":134:56"), fileName_1 + ":134:34")(this.randomBits(32)), fileName_1 + ":133:39")(this.randomBits(32));
176
- }
177
- get randomInt() {
178
- return this.randomBits(32);
179
- }
180
- get randomDouble() {
181
- return tsplus_module_5.flatMap(i1 => tsplus_module_5.map(i2 => (i1 * (1 << 27) + i2) / (1 << 53), fileName_1 + ":141:71")(this.randomBits(27)), fileName_1 + ":141:39")(this.randomBits(26));
182
- }
183
- get random() {
184
- return this.randomBits(26);
185
- }
186
- get nextInt() {
187
- return this.getOrElse(this.bufferedInt, this.randomInt);
188
- }
189
- get nextBoolean() {
190
- return this.getOrElse(this.bufferedBoolean, this.randomBoolean);
191
- }
192
- get nextDouble() {
193
- return this.getOrElse(this.bufferedDouble, this.randomDouble);
194
- }
195
- get next() {
196
- return this.getOrElse(this.bufferedDouble, this.random);
197
- }
198
- nextBigIntBetween(low, high) {
199
- return tsplus_module_5.repeatUntil(n => low <= n && n < high, fileName_1 + ":159:39")(this.randomLong);
200
- }
201
- nextIntBetween(low, high) {
202
- return nextIntBetweenWith(low, high, this.randomInt, this.randomIntBounded);
203
- }
204
- nextRange(low, high) {
205
- return tsplus_module_5.map(n => (high - low + 1) * n + low, fileName_1 + ":165:25")(this.next);
206
- }
207
- nextArrayIntBetween(low, high) {
208
- const self = this;
209
- return tsplus_module_5.map(ns => trimArrayIntInplace(addArrayIntToNew({
210
- sign: 1,
211
- data: ns
212
- }, low)), fileName_1 + ":189:11")(tsplus_module_5.gen(function* (_) {
213
- const rangeSize = trimArrayIntInplace(addOneToPositiveArrayInt(substractArrayIntToNew(high, low)));
214
- const rangeLength = rangeSize.data.length;
215
- const out = [];
216
- while (true) {
217
- for (let index = 0; index !== rangeLength; ++index) {
218
- const indexRangeSize = index === 0 ? rangeSize.data[0] + 1 : 0x100000000;
219
- const g = yield* _(self.randomIntBounded(indexRangeSize), fileName_1 + ":176:42");
220
- out[index] = g;
221
- }
222
- for (let index = 0; index !== rangeLength; ++index) {
223
- const current = out[index];
224
- const currentInRange = rangeSize.data[index];
225
- if (current < currentInRange) {
226
- return out;
227
- } else if (current > currentInRange) {
228
- break;
229
- }
230
- }
231
- }
232
- }, fileName_1 + ":169:18"));
233
- }
234
- }
31
+ * @tsplus type fncts.test.TestRandom
32
+ * @tsplus companion fncts.test.TestRandomOps
33
+ */
34
+ var TestRandom = class {
35
+ randomState;
36
+ bufferState;
37
+ constructor(randomState, bufferState) {
38
+ this.randomState = randomState;
39
+ this.bufferState = bufferState;
40
+ }
41
+ get clearBooleans() {
42
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ booleans: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":20:35")(this.bufferState);
43
+ }
44
+ get clearBytes() {
45
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ bytes: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":23:35")(this.bufferState);
46
+ }
47
+ get clearChars() {
48
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ chars: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":26:35")(this.bufferState);
49
+ }
50
+ get clearDoubles() {
51
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ doubles: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":29:35")(this.bufferState);
52
+ }
53
+ get clearInts() {
54
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ integers: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":32:35")(this.bufferState);
55
+ }
56
+ get clearStrings() {
57
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ strings: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":35:35")(this.bufferState);
58
+ }
59
+ feedBooleans(...booleans) {
60
+ return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ booleans: _fncts_base_collection_immutable_Vector_api.concat(buff.booleans)(_fncts_base_collection_immutable_Vector_api.from(booleans)) }), fileName_1 + ":38:35")(this.bufferState);
61
+ }
62
+ feedBytes(...bytes) {
63
+ return _fncts_io_Ref_api_modify.update((data) => data.copy({ bytes: _fncts_base_collection_immutable_Vector_api.concat(data.bytes)(_fncts_base_collection_immutable_Vector_api.from(bytes)) }), fileName_1 + ":41:35")(this.bufferState);
64
+ }
65
+ feedChars(...chars) {
66
+ return _fncts_io_Ref_api_modify.update((data) => data.copy({ chars: _fncts_base_collection_immutable_Vector_api.concat(data.chars)(_fncts_base_collection_immutable_Vector_api.from(chars)) }), fileName_1 + ":44:35")(this.bufferState);
67
+ }
68
+ feedDoubles(...doubles) {
69
+ return _fncts_io_Ref_api_modify.update((data) => data.copy({ doubles: _fncts_base_collection_immutable_Vector_api.concat(data.doubles)(_fncts_base_collection_immutable_Vector_api.from(doubles)) }), fileName_1 + ":47:35")(this.bufferState);
70
+ }
71
+ feedInts(...ints) {
72
+ return _fncts_io_Ref_api_modify.update((data) => data.copy({ integers: _fncts_base_collection_immutable_Vector_api.concat(data.integers)(_fncts_base_collection_immutable_Vector_api.from(ints)) }), fileName_1 + ":50:35")(this.bufferState);
73
+ }
74
+ feedStrings(...strings) {
75
+ return _fncts_io_Ref_api_modify.update((data) => data.copy({ strings: _fncts_base_collection_immutable_Vector_api.concat(data.strings)(_fncts_base_collection_immutable_Vector_api.from(strings)) }), fileName_1 + ":53:35")(this.bufferState);
76
+ }
77
+ get getSeed() {
78
+ return _fncts_io_IO_api.map((data) => (data.seed1 << 24 | data.seed2) ^ 25214903917, fileName_1 + ":56:36")(_fncts_io_Ref_api_get.get(this.randomState, fileName_1 + ":56:28"));
79
+ }
80
+ setSeed(seed) {
81
+ const newSeed = Mash()(seed.toString());
82
+ const seed1 = Math.floor(newSeed >>> 24);
83
+ const seed2 = Math.floor(newSeed) & (1 << 24) - 1;
84
+ return _fncts_io_Ref_api_set.set(new Data(seed1, seed2, _fncts_base_collection_immutable_Queue_constructors.empty()), fileName_1 + ":63:32")(this.randomState);
85
+ }
86
+ bufferedBoolean = (buffer) => {
87
+ return [_fncts_base_collection_immutable_Vector_api.head(buffer.booleans), buffer.copy({ booleans: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.booleans) })];
88
+ };
89
+ bufferedDouble = (buffer) => {
90
+ return [_fncts_base_collection_immutable_Vector_api.head(buffer.doubles), buffer.copy({ doubles: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.doubles) })];
91
+ };
92
+ bufferedInt = (buffer) => {
93
+ return [_fncts_base_collection_immutable_Vector_api.head(buffer.integers), buffer.copy({ integers: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.integers) })];
94
+ };
95
+ getOrElse = (buffer, random) => {
96
+ return _fncts_io_IO_api.flatMap((_) => _fncts_base_data_Maybe_destructors.match(() => random, _fncts_io_IO_api.succeedNow)(_), fileName_1 + ":75:51")(_fncts_io_Ref_api_modify.modify(buffer, fileName_1 + ":75:35")(this.bufferState));
97
+ };
98
+ leastSignificantBits = (x) => {
99
+ return Math.floor(x) & (1 << 24) - 1;
100
+ };
101
+ mostSignificantBits = (x) => {
102
+ return Math.floor(x / (1 << 24));
103
+ };
104
+ randomBits = (bits) => {
105
+ return _fncts_io_Ref_api_modify.modify((data) => {
106
+ const multiplier = 25214903917;
107
+ const multiplier1 = Math.floor(multiplier >>> 24);
108
+ const multiplier2 = Math.floor(multiplier) & (1 << 24) - 1;
109
+ const product1 = data.seed1 * multiplier1 + data.seed1 * multiplier2;
110
+ const product2 = data.seed2 * multiplier2 + 11;
111
+ const newSeed1 = this.mostSignificantBits(product2) + this.leastSignificantBits(product1) & (1 << 24) - 1;
112
+ const newSeed2 = this.leastSignificantBits(product2);
113
+ return [(newSeed1 << 8 | newSeed2 >> 16) >>> 32 - bits, new Data(newSeed1, newSeed2, data.nextNextGaussians)];
114
+ }, fileName_1 + ":84:35")(this.randomState);
115
+ };
116
+ get randomBoolean() {
117
+ return _fncts_io_IO_api.map((n) => n !== 0, fileName_1 + ":97:34")(this.randomBits(1));
118
+ }
119
+ randomBytes = (length) => {
120
+ const loop = (i, rnd, n, acc) => {
121
+ if (i === length) return _fncts_io_IO_api.map((l) => _fncts_base_collection_immutable_List_api.reverse(l), fileName_1 + ":102:23")(acc);
122
+ else if (n > 0) return _fncts_io_IO_api.flatMap((rnd) => loop(i + 1, _fncts_io_IO_api.succeedNow(rnd >> 8, fileName_1 + ":107:26"), n - 1, _fncts_io_IO_api.map((_) => _fncts_base_collection_immutable_List_api.prepend(rnd)(_), fileName_1 + ":109:20")(acc)), fileName_1 + ":104:27")(rnd);
123
+ else return loop(i, this.nextInt, Math.min(length - i, 4), acc);
124
+ };
125
+ return _fncts_io_IO_api.map((list) => Array.from(list), fileName_1 + ":116:89")(loop(0, this.randomInt, Math.min(length, 4), _fncts_io_IO_api.succeedNow(_fncts_base_collection_immutable_List_constructors.empty(), fileName_1 + ":116:70")));
126
+ };
127
+ randomIntBounded = (n) => {
128
+ if (n <= 0) return _fncts_io_IO_api.haltNow(new _fncts_base_data_exceptions.IllegalArgumentError("n must be positive", "TestRandom.randomIntBounded"), fileName_1 + ":120:24");
129
+ else if ((n & -n) === n) return _fncts_io_IO_api.map((_) => _ >> Math.clz32(n), fileName_1 + ":122:37")(this.randomBits(31));
130
+ else {
131
+ const loop = _fncts_io_IO_api.flatMap((i) => {
132
+ const value = i % n;
133
+ if (i - value + (n - 1) < 0) return loop;
134
+ else return _fncts_io_IO_api.succeedNow(value, fileName_1 + ":127:34");
135
+ }, fileName_1 + ":124:60")(this.randomBits(31));
136
+ return loop;
137
+ }
138
+ };
139
+ get randomLong() {
140
+ return _fncts_io_IO_api.flatMap((i1) => _fncts_io_IO_api.flatMap((i2) => _fncts_io_IO_api.succeedNow(BigInt(i1 << 32) + BigInt(i2), fileName_1 + ":134:56"), fileName_1 + ":134:34")(this.randomBits(32)), fileName_1 + ":133:39")(this.randomBits(32));
141
+ }
142
+ get randomInt() {
143
+ return this.randomBits(32);
144
+ }
145
+ get randomDouble() {
146
+ return _fncts_io_IO_api.flatMap((i1) => _fncts_io_IO_api.map((i2) => (i1 * (1 << 27) + i2) / (1 << 53), fileName_1 + ":141:71")(this.randomBits(27)), fileName_1 + ":141:39")(this.randomBits(26));
147
+ }
148
+ get random() {
149
+ return this.randomBits(26);
150
+ }
151
+ get nextInt() {
152
+ return this.getOrElse(this.bufferedInt, this.randomInt);
153
+ }
154
+ get nextBoolean() {
155
+ return this.getOrElse(this.bufferedBoolean, this.randomBoolean);
156
+ }
157
+ get nextDouble() {
158
+ return this.getOrElse(this.bufferedDouble, this.randomDouble);
159
+ }
160
+ get next() {
161
+ return this.getOrElse(this.bufferedDouble, this.random);
162
+ }
163
+ nextBigIntBetween(low, high) {
164
+ return _fncts_io_IO_api.repeatUntil((n) => low <= n && n < high, fileName_1 + ":159:39")(this.randomLong);
165
+ }
166
+ nextIntBetween(low, high) {
167
+ return nextIntBetweenWith(low, high, this.randomInt, this.randomIntBounded);
168
+ }
169
+ nextRange(low, high) {
170
+ return _fncts_io_IO_api.map((n) => (high - low + 1) * n + low, fileName_1 + ":165:25")(this.next);
171
+ }
172
+ nextArrayIntBetween(low, high) {
173
+ const self = this;
174
+ return _fncts_io_IO_api.map((ns) => trimArrayIntInplace(addArrayIntToNew({
175
+ sign: 1,
176
+ data: ns
177
+ }, low)), fileName_1 + ":189:11")(_fncts_io_IO_api.gen(function* (_) {
178
+ const rangeSize = trimArrayIntInplace(addOneToPositiveArrayInt(substractArrayIntToNew(high, low)));
179
+ const rangeLength = rangeSize.data.length;
180
+ const out = [];
181
+ while (true) {
182
+ for (let index = 0; index !== rangeLength; ++index) {
183
+ const indexRangeSize = index === 0 ? rangeSize.data[0] + 1 : 4294967296;
184
+ out[index] = yield* _(self.randomIntBounded(indexRangeSize), fileName_1 + ":176:42");
185
+ }
186
+ for (let index = 0; index !== rangeLength; ++index) {
187
+ const current = out[index];
188
+ const currentInRange = rangeSize.data[index];
189
+ if (current < currentInRange) return out;
190
+ else if (current > currentInRange) break;
191
+ }
192
+ }
193
+ }, fileName_1 + ":169:18"));
194
+ }
195
+ };
235
196
  /**
236
- * @internal
237
- */
238
- exports.TestRandom = TestRandom;
197
+ * @internal
198
+ */
239
199
  function nextIntBetweenWith(min, max, nextInt, nextIntBounded) {
240
- if (min >= max) {
241
- return tsplus_module_5.haltNow(new _exceptions.IllegalArgumentError("invalid bounds", "TestRandom.nextIntBetweenWith"), fileName_1 + ":202:22");
242
- } else {
243
- const difference = max - min;
244
- if (difference > 0) return tsplus_module_5.map(n => n + min, fileName_1 + ":205:62")(nextIntBounded(difference));else return tsplus_module_5.repeatUntil(n => min <= n && n < max, fileName_1 + ":206:36")(nextInt);
245
- }
246
- }
247
- class Data {
248
- seed1;
249
- seed2;
250
- nextNextGaussians;
251
- constructor(seed1, seed2, nextNextGaussians = tsplus_module_6.empty()) {
252
- this.seed1 = seed1;
253
- this.seed2 = seed2;
254
- this.nextNextGaussians = nextNextGaussians;
255
- }
256
- }
257
- exports.Data = Data;
258
- class Buffer {
259
- booleans;
260
- bytes;
261
- chars;
262
- doubles;
263
- integers;
264
- strings;
265
- constructor(booleans = tsplus_module_2.empty(), bytes = tsplus_module_2.empty(), chars = tsplus_module_2.empty(), doubles = tsplus_module_2.empty(), integers = tsplus_module_2.empty(), strings = tsplus_module_2.empty()) {
266
- this.booleans = booleans;
267
- this.bytes = bytes;
268
- this.chars = chars;
269
- this.doubles = doubles;
270
- this.integers = integers;
271
- this.strings = strings;
272
- }
273
- copy(_) {
274
- return new Buffer(_.booleans ?? this.booleans, _.bytes ?? this.bytes, _.chars ?? this.chars, _.doubles ?? this.doubles, _.integers ?? this.integers, _.strings ?? this.strings);
275
- }
200
+ if (min >= max) return _fncts_io_IO_api.haltNow(new _fncts_base_data_exceptions.IllegalArgumentError("invalid bounds", "TestRandom.nextIntBetweenWith"), fileName_1 + ":202:22");
201
+ else {
202
+ const difference = max - min;
203
+ if (difference > 0) return _fncts_io_IO_api.map((n) => n + min, fileName_1 + ":205:62")(nextIntBounded(difference));
204
+ else return _fncts_io_IO_api.repeatUntil((n) => min <= n && n < max, fileName_1 + ":206:36")(nextInt);
205
+ }
276
206
  }
207
+ var Data = class {
208
+ seed1;
209
+ seed2;
210
+ nextNextGaussians;
211
+ constructor(seed1, seed2, nextNextGaussians = _fncts_base_collection_immutable_Queue_constructors.empty()) {
212
+ this.seed1 = seed1;
213
+ this.seed2 = seed2;
214
+ this.nextNextGaussians = nextNextGaussians;
215
+ }
216
+ };
217
+ var Buffer = class Buffer {
218
+ booleans;
219
+ bytes;
220
+ chars;
221
+ doubles;
222
+ integers;
223
+ strings;
224
+ constructor(booleans = _fncts_base_collection_immutable_Vector_api.empty(), bytes = _fncts_base_collection_immutable_Vector_api.empty(), chars = _fncts_base_collection_immutable_Vector_api.empty(), doubles = _fncts_base_collection_immutable_Vector_api.empty(), integers = _fncts_base_collection_immutable_Vector_api.empty(), strings = _fncts_base_collection_immutable_Vector_api.empty()) {
225
+ this.booleans = booleans;
226
+ this.bytes = bytes;
227
+ this.chars = chars;
228
+ this.doubles = doubles;
229
+ this.integers = integers;
230
+ this.strings = strings;
231
+ }
232
+ copy(_) {
233
+ return new Buffer(_.booleans ?? this.booleans, _.bytes ?? this.bytes, _.chars ?? this.chars, _.doubles ?? this.doubles, _.integers ?? this.integers, _.strings ?? this.strings);
234
+ }
235
+ };
277
236
  /** @internal */
278
- exports.Buffer = Buffer;
279
237
  function isStrictlySmaller(dataA, dataB) {
280
- const maxLength = Math.max(dataA.length, dataB.length);
281
- for (let index = 0; index < maxLength; ++index) {
282
- const indexA = index + dataA.length - maxLength;
283
- const indexB = index + dataB.length - maxLength;
284
- const vA = indexA >= 0 ? dataA[indexA] : 0;
285
- const vB = indexB >= 0 ? dataB[indexB] : 0;
286
- if (vA < vB) return true;
287
- if (vA > vB) return false;
288
- }
289
- return false;
238
+ const maxLength = Math.max(dataA.length, dataB.length);
239
+ for (let index = 0; index < maxLength; ++index) {
240
+ const indexA = index + dataA.length - maxLength;
241
+ const indexB = index + dataB.length - maxLength;
242
+ const vA = indexA >= 0 ? dataA[indexA] : 0;
243
+ const vB = indexB >= 0 ? dataB[indexB] : 0;
244
+ if (vA < vB) return true;
245
+ if (vA > vB) return false;
246
+ }
247
+ return false;
290
248
  }
291
249
  function substractArrayIntToNew(arrayIntA, arrayIntB) {
292
- if (arrayIntA.sign !== arrayIntB.sign) {
293
- return addArrayIntToNew(arrayIntA, {
294
- sign: -arrayIntB.sign,
295
- data: arrayIntB.data
296
- });
297
- }
298
- const dataA = arrayIntA.data;
299
- const dataB = arrayIntB.data;
300
- if (isStrictlySmaller(dataA, dataB)) {
301
- const out = substractArrayIntToNew(arrayIntB, arrayIntA);
302
- out.sign = -out.sign;
303
- return out;
304
- }
305
- const data = [];
306
- let reminder = 0;
307
- for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
308
- const vA = indexA >= 0 ? dataA[indexA] : 0;
309
- const vB = indexB >= 0 ? dataB[indexB] : 0;
310
- const current = vA - vB - reminder;
311
- data.push(current >>> 0);
312
- reminder = current < 0 ? 1 : 0;
313
- }
314
- return {
315
- sign: arrayIntA.sign,
316
- data: data.reverse()
317
- };
250
+ if (arrayIntA.sign !== arrayIntB.sign) return addArrayIntToNew(arrayIntA, {
251
+ sign: -arrayIntB.sign,
252
+ data: arrayIntB.data
253
+ });
254
+ const dataA = arrayIntA.data;
255
+ const dataB = arrayIntB.data;
256
+ if (isStrictlySmaller(dataA, dataB)) {
257
+ const out = substractArrayIntToNew(arrayIntB, arrayIntA);
258
+ out.sign = -out.sign;
259
+ return out;
260
+ }
261
+ const data = [];
262
+ let reminder = 0;
263
+ for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
264
+ const current = (indexA >= 0 ? dataA[indexA] : 0) - (indexB >= 0 ? dataB[indexB] : 0) - reminder;
265
+ data.push(current >>> 0);
266
+ reminder = current < 0 ? 1 : 0;
267
+ }
268
+ return {
269
+ sign: arrayIntA.sign,
270
+ data: data.reverse()
271
+ };
318
272
  }
319
273
  /**
320
- * Trim uneeded zeros in ArrayInt
321
- * and uniform notation for zero: {sign: 1, data: [0]}
322
- */
274
+ * Trim uneeded zeros in ArrayInt
275
+ * and uniform notation for zero: {sign: 1, data: [0]}
276
+ */
323
277
  function trimArrayIntInplace(arrayInt) {
324
- const data = arrayInt.data;
325
- let firstNonZero = 0;
326
- for (; firstNonZero !== data.length && data[firstNonZero] === 0; ++firstNonZero) {}
327
- if (firstNonZero === data.length) {
328
- // only zeros
329
- arrayInt.sign = 1;
330
- arrayInt.data = [0];
331
- return arrayInt;
332
- }
333
- data.splice(0, firstNonZero);
334
- return arrayInt;
278
+ const data = arrayInt.data;
279
+ let firstNonZero = 0;
280
+ for (; firstNonZero !== data.length && data[firstNonZero] === 0; ++firstNonZero);
281
+ if (firstNonZero === data.length) {
282
+ arrayInt.sign = 1;
283
+ arrayInt.data = [0];
284
+ return arrayInt;
285
+ }
286
+ data.splice(0, firstNonZero);
287
+ return arrayInt;
335
288
  }
336
289
  /**
337
- * Add two ArrayInt
338
- * @internal
339
- */
290
+ * Add two ArrayInt
291
+ * @internal
292
+ */
340
293
  function addArrayIntToNew(arrayIntA, arrayIntB) {
341
- if (arrayIntA.sign !== arrayIntB.sign) {
342
- return substractArrayIntToNew(arrayIntA, {
343
- sign: -arrayIntB.sign,
344
- data: arrayIntB.data
345
- });
346
- }
347
- const data = [];
348
- let reminder = 0;
349
- const dataA = arrayIntA.data;
350
- const dataB = arrayIntB.data;
351
- for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
352
- const vA = indexA >= 0 ? dataA[indexA] : 0;
353
- const vB = indexB >= 0 ? dataB[indexB] : 0;
354
- const current = vA + vB + reminder;
355
- data.push(current >>> 0);
356
- reminder = ~~(current / 0x100000000);
357
- }
358
- if (reminder !== 0) {
359
- data.push(reminder);
360
- }
361
- return {
362
- sign: arrayIntA.sign,
363
- data: data.reverse()
364
- };
294
+ if (arrayIntA.sign !== arrayIntB.sign) return substractArrayIntToNew(arrayIntA, {
295
+ sign: -arrayIntB.sign,
296
+ data: arrayIntB.data
297
+ });
298
+ const data = [];
299
+ let reminder = 0;
300
+ const dataA = arrayIntA.data;
301
+ const dataB = arrayIntB.data;
302
+ for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
303
+ const current = (indexA >= 0 ? dataA[indexA] : 0) + (indexB >= 0 ? dataB[indexB] : 0) + reminder;
304
+ data.push(current >>> 0);
305
+ reminder = ~~(current / 4294967296);
306
+ }
307
+ if (reminder !== 0) data.push(reminder);
308
+ return {
309
+ sign: arrayIntA.sign,
310
+ data: data.reverse()
311
+ };
365
312
  }
366
313
  /**
367
- * Add one to a given positive ArrayInt
368
- * @internal
369
- */
314
+ * Add one to a given positive ArrayInt
315
+ * @internal
316
+ */
370
317
  function addOneToPositiveArrayInt(arrayInt) {
371
- arrayInt.sign = 1; // handling case { sign: -1, data: [0,...,0] }
372
- const data = arrayInt.data;
373
- for (let index = data.length - 1; index >= 0; --index) {
374
- if (data[index] === 0xffffffff) {
375
- data[index] = 0;
376
- } else {
377
- data[index] += 1;
378
- return arrayInt;
379
- }
380
- }
381
- data.unshift(1);
382
- return arrayInt;
318
+ arrayInt.sign = 1;
319
+ const data = arrayInt.data;
320
+ for (let index = data.length - 1; index >= 0; --index) if (data[index] === 4294967295) data[index] = 0;
321
+ else {
322
+ data[index] += 1;
323
+ return arrayInt;
324
+ }
325
+ data.unshift(1);
326
+ return arrayInt;
383
327
  }
384
328
  function Mash() {
385
- let n = 0xefc8249d;
386
- const mash = function (data) {
387
- for (let i = 0; i < data.length; i++) {
388
- n += data.charCodeAt(i);
389
- let h = 0.02519603282416938 * n;
390
- n = h >>> 0;
391
- h -= n;
392
- h *= n;
393
- n = h >>> 0;
394
- h -= n;
395
- n += h * 0x100000000; // 2^32
396
- }
397
- return (n >>> 0) * 2.3283064365386963e-10; // 2^-32
398
- };
399
- return mash;
329
+ let n = 4022871197;
330
+ const mash = function(data) {
331
+ for (let i = 0; i < data.length; i++) {
332
+ n += data.charCodeAt(i);
333
+ let h = .02519603282416938 * n;
334
+ n = h >>> 0;
335
+ h -= n;
336
+ h *= n;
337
+ n = h >>> 0;
338
+ h -= n;
339
+ n += h * 4294967296;
340
+ }
341
+ return (n >>> 0) * 23283064365386963e-26;
342
+ };
343
+ return mash;
400
344
  }
345
+ //#endregion
346
+ exports.Buffer = Buffer;
347
+ exports.Data = Data;
348
+ exports.TestRandom = TestRandom;
349
+ exports.TestRandomTag = TestRandomTag;
350
+ exports.addArrayIntToNew = addArrayIntToNew;
351
+ exports.addOneToPositiveArrayInt = addOneToPositiveArrayInt;
352
+ exports.substractArrayIntToNew = substractArrayIntToNew;
353
+ exports.trimArrayIntInplace = trimArrayIntInplace;
354
+
401
355
  //# sourceMappingURL=definition.cjs.map