@fncts/test 0.0.20 → 0.0.22

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 (459) hide show
  1. package/_cjs/api.cjs +39 -76
  2. package/_cjs/api.cjs.map +1 -1
  3. package/_cjs/control/AbstractRunnableSpec.cjs +1 -12
  4. package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
  5. package/_cjs/control/Annotations/api.cjs +0 -12
  6. package/_cjs/control/Annotations/api.cjs.map +1 -1
  7. package/_cjs/control/Annotations/definition.cjs +0 -6
  8. package/_cjs/control/Annotations/definition.cjs.map +1 -1
  9. package/_cjs/control/Annotations/live.cjs +6 -29
  10. package/_cjs/control/Annotations/live.cjs.map +1 -1
  11. package/_cjs/control/Annotations.cjs +0 -6
  12. package/_cjs/control/Annotations.cjs.map +1 -1
  13. package/_cjs/control/Assertion/api.cjs +50 -100
  14. package/_cjs/control/Assertion/api.cjs.map +1 -1
  15. package/_cjs/control/Assertion/definition.cjs +0 -8
  16. package/_cjs/control/Assertion/definition.cjs.map +1 -1
  17. package/_cjs/control/Assertion.cjs +0 -4
  18. package/_cjs/control/Assertion.cjs.map +1 -1
  19. package/_cjs/control/AssertionIO/api.cjs +20 -26
  20. package/_cjs/control/AssertionIO/api.cjs.map +1 -1
  21. package/_cjs/control/AssertionIO/definition.cjs +0 -8
  22. package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
  23. package/_cjs/control/AssertionIO.cjs +0 -4
  24. package/_cjs/control/AssertionIO.cjs.map +1 -1
  25. package/_cjs/control/DefaultRunnableSpec.cjs +0 -12
  26. package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
  27. package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
  28. package/_cjs/control/DefaultTestReporter/render.cjs +54 -123
  29. package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
  30. package/_cjs/control/DefaultTestReporter.cjs +0 -4
  31. package/_cjs/control/DefaultTestReporter.cjs.map +1 -1
  32. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +20 -36
  33. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
  34. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
  35. package/_cjs/control/FreeBooleanAlgebraIO.cjs +0 -4
  36. package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -1
  37. package/_cjs/control/Gen/api.cjs +533 -200
  38. package/_cjs/control/Gen/api.cjs.map +1 -1
  39. package/_cjs/control/Gen/definition.cjs +0 -3
  40. package/_cjs/control/Gen/definition.cjs.map +1 -1
  41. package/_cjs/control/Gen.cjs +0 -97
  42. package/_cjs/control/Gen.cjs.map +1 -1
  43. package/_cjs/control/Live/definition.cjs +5 -23
  44. package/_cjs/control/Live/definition.cjs.map +1 -1
  45. package/_cjs/control/Live.cjs +0 -2
  46. package/_cjs/control/Live.cjs.map +1 -1
  47. package/_cjs/control/RunnableSpec.cjs +8 -28
  48. package/_cjs/control/RunnableSpec.cjs.map +1 -1
  49. package/_cjs/control/Sample/api.cjs +66 -107
  50. package/_cjs/control/Sample/api.cjs.map +1 -1
  51. package/_cjs/control/Sample/definition.cjs +0 -3
  52. package/_cjs/control/Sample/definition.cjs.map +1 -1
  53. package/_cjs/control/Sample.cjs +0 -4
  54. package/_cjs/control/Sample.cjs.map +1 -1
  55. package/_cjs/control/Sized/api.cjs +0 -8
  56. package/_cjs/control/Sized/api.cjs.map +1 -1
  57. package/_cjs/control/Sized/definition.cjs +0 -6
  58. package/_cjs/control/Sized/definition.cjs.map +1 -1
  59. package/_cjs/control/Sized/live.cjs +3 -15
  60. package/_cjs/control/Sized/live.cjs.map +1 -1
  61. package/_cjs/control/Sized.cjs +0 -6
  62. package/_cjs/control/Sized.cjs.map +1 -1
  63. package/_cjs/control/Spec/api.cjs +322 -367
  64. package/_cjs/control/Spec/api.cjs.map +1 -1
  65. package/_cjs/control/Spec/definition.cjs +6 -45
  66. package/_cjs/control/Spec/definition.cjs.map +1 -1
  67. package/_cjs/control/Spec.cjs +0 -4
  68. package/_cjs/control/Spec.cjs.map +1 -1
  69. package/_cjs/control/SummaryBuilder.cjs +10 -31
  70. package/_cjs/control/SummaryBuilder.cjs.map +1 -1
  71. package/_cjs/control/Test.cjs +1 -11
  72. package/_cjs/control/Test.cjs.map +1 -1
  73. package/_cjs/control/TestAnnotationRenderer/api.cjs +20 -45
  74. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
  75. package/_cjs/control/TestAnnotationRenderer/definition.cjs +4 -20
  76. package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
  77. package/_cjs/control/TestAnnotationRenderer.cjs +0 -4
  78. package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -1
  79. package/_cjs/control/TestAspect/api.cjs +14 -55
  80. package/_cjs/control/TestAspect/api.cjs.map +1 -1
  81. package/_cjs/control/TestAspect.cjs +0 -4
  82. package/_cjs/control/TestAspect.cjs.map +1 -1
  83. package/_cjs/control/TestClock/api.cjs +1 -22
  84. package/_cjs/control/TestClock/api.cjs.map +1 -1
  85. package/_cjs/control/TestClock/definition.cjs +50 -110
  86. package/_cjs/control/TestClock/definition.cjs.map +1 -1
  87. package/_cjs/control/TestClock.cjs +0 -4
  88. package/_cjs/control/TestClock.cjs.map +1 -1
  89. package/_cjs/control/TestConsole/api.cjs +3 -21
  90. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  91. package/_cjs/control/TestConsole/definition.cjs +23 -48
  92. package/_cjs/control/TestConsole/definition.cjs.map +1 -1
  93. package/_cjs/control/TestConsole.cjs +0 -4
  94. package/_cjs/control/TestConsole.cjs.map +1 -1
  95. package/_cjs/control/TestEnvironment.cjs +3 -15
  96. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  97. package/_cjs/control/TestExecutor.cjs +3 -17
  98. package/_cjs/control/TestExecutor.cjs.map +1 -1
  99. package/_cjs/control/TestLogger.cjs +2 -17
  100. package/_cjs/control/TestLogger.cjs.map +1 -1
  101. package/_cjs/control/TestRandom/api.cjs +9 -39
  102. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  103. package/_cjs/control/TestRandom/definition.cjs +61 -145
  104. package/_cjs/control/TestRandom/definition.cjs.map +1 -1
  105. package/_cjs/control/TestRandom.cjs +0 -4
  106. package/_cjs/control/TestRandom.cjs.map +1 -1
  107. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +11 -36
  108. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
  109. package/_cjs/control/TestRunner.cjs +2 -19
  110. package/_cjs/control/TestRunner.cjs.map +1 -1
  111. package/_cjs/data/AssertionData.cjs +0 -14
  112. package/_cjs/data/AssertionData.cjs.map +1 -1
  113. package/_cjs/data/AssertionResult.cjs +0 -8
  114. package/_cjs/data/AssertionResult.cjs.map +1 -1
  115. package/_cjs/data/AssertionValue/api.cjs +23 -30
  116. package/_cjs/data/AssertionValue/api.cjs.map +1 -1
  117. package/_cjs/data/AssertionValue/definition.cjs +0 -8
  118. package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
  119. package/_cjs/data/AssertionValue.cjs +0 -4
  120. package/_cjs/data/AssertionValue.cjs.map +1 -1
  121. package/_cjs/data/ExecutedSpec/api.cjs +61 -75
  122. package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
  123. package/_cjs/data/ExecutedSpec/definition.cjs +3 -21
  124. package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
  125. package/_cjs/data/ExecutedSpec.cjs +0 -4
  126. package/_cjs/data/ExecutedSpec.cjs.map +1 -1
  127. package/_cjs/data/ExecutionResult.cjs +42 -67
  128. package/_cjs/data/ExecutionResult.cjs.map +1 -1
  129. package/_cjs/data/FailureDetails.cjs +0 -3
  130. package/_cjs/data/FailureDetails.cjs.map +1 -1
  131. package/_cjs/data/FreeBooleanAlgebra/api.cjs +82 -115
  132. package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
  133. package/_cjs/data/FreeBooleanAlgebra/definition.cjs +4 -24
  134. package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
  135. package/_cjs/data/FreeBooleanAlgebra.cjs +0 -4
  136. package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -1
  137. package/_cjs/data/GenFailureDetails.cjs +0 -3
  138. package/_cjs/data/GenFailureDetails.cjs.map +1 -1
  139. package/_cjs/data/LogLine/Fragment.cjs +2 -24
  140. package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
  141. package/_cjs/data/LogLine/Line.cjs +11 -41
  142. package/_cjs/data/LogLine/Line.cjs.map +1 -1
  143. package/_cjs/data/LogLine/Message.cjs +32 -58
  144. package/_cjs/data/LogLine/Message.cjs.map +1 -1
  145. package/_cjs/data/LogLine/Style.cjs +10 -44
  146. package/_cjs/data/LogLine/Style.cjs.map +1 -1
  147. package/_cjs/data/LogLine/api.cjs +0 -15
  148. package/_cjs/data/LogLine/api.cjs.map +1 -1
  149. package/_cjs/data/LogLine.cjs +0 -4
  150. package/_cjs/data/LogLine.cjs.map +1 -1
  151. package/_cjs/data/Render/api.cjs +0 -4
  152. package/_cjs/data/Render/api.cjs.map +1 -1
  153. package/_cjs/data/Render/definition.cjs +3 -17
  154. package/_cjs/data/Render/definition.cjs.map +1 -1
  155. package/_cjs/data/Render.cjs +0 -4
  156. package/_cjs/data/Render.cjs.map +1 -1
  157. package/_cjs/data/RenderParam/api.cjs +3 -15
  158. package/_cjs/data/RenderParam/api.cjs.map +1 -1
  159. package/_cjs/data/RenderParam/definition.cjs +2 -12
  160. package/_cjs/data/RenderParam/definition.cjs.map +1 -1
  161. package/_cjs/data/RenderParam.cjs +0 -4
  162. package/_cjs/data/RenderParam.cjs.map +1 -1
  163. package/_cjs/data/Summary.cjs +0 -3
  164. package/_cjs/data/Summary.cjs.map +1 -1
  165. package/_cjs/data/TestAnnotation/api.cjs +2 -17
  166. package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
  167. package/_cjs/data/TestAnnotation/definition.cjs +4 -19
  168. package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
  169. package/_cjs/data/TestAnnotation.cjs +0 -4
  170. package/_cjs/data/TestAnnotation.cjs.map +1 -1
  171. package/_cjs/data/TestAnnotationMap.cjs +4 -19
  172. package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
  173. package/_cjs/data/TestArgs/definition.cjs +0 -3
  174. package/_cjs/data/TestArgs/definition.cjs.map +1 -1
  175. package/_cjs/data/TestArgs.cjs +0 -2
  176. package/_cjs/data/TestArgs.cjs.map +1 -1
  177. package/_cjs/data/TestConfig.cjs +0 -17
  178. package/_cjs/data/TestConfig.cjs.map +1 -1
  179. package/_cjs/data/TestFailure.cjs +2 -23
  180. package/_cjs/data/TestFailure.cjs.map +1 -1
  181. package/_cjs/data/TestSuccess.cjs +2 -16
  182. package/_cjs/data/TestSuccess.cjs.map +1 -1
  183. package/_cjs/data/TestTimeoutException.cjs +0 -3
  184. package/_cjs/data/TestTimeoutException.cjs.map +1 -1
  185. package/_cjs/demo.cjs +5 -15
  186. package/_cjs/demo.cjs.map +1 -1
  187. package/_cjs/util/math.cjs +20 -148
  188. package/_cjs/util/math.cjs.map +1 -1
  189. package/_mjs/api.mjs +37 -40
  190. package/_mjs/api.mjs.map +1 -1
  191. package/_mjs/control/AbstractRunnableSpec.mjs +1 -7
  192. package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
  193. package/_mjs/control/Annotations/api.mjs +0 -4
  194. package/_mjs/control/Annotations/api.mjs.map +1 -1
  195. package/_mjs/control/Annotations/definition.mjs +0 -2
  196. package/_mjs/control/Annotations/definition.mjs.map +1 -1
  197. package/_mjs/control/Annotations/live.mjs +6 -11
  198. package/_mjs/control/Annotations/live.mjs.map +1 -1
  199. package/_mjs/control/Annotations.mjs.map +1 -1
  200. package/_mjs/control/Assertion/api.mjs +43 -46
  201. package/_mjs/control/Assertion/api.mjs.map +1 -1
  202. package/_mjs/control/Assertion/definition.mjs +0 -2
  203. package/_mjs/control/Assertion/definition.mjs.map +1 -1
  204. package/_mjs/control/Assertion.mjs.map +1 -1
  205. package/_mjs/control/AssertionIO/api.mjs +17 -14
  206. package/_mjs/control/AssertionIO/api.mjs.map +1 -1
  207. package/_mjs/control/AssertionIO/definition.mjs +0 -3
  208. package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
  209. package/_mjs/control/AssertionIO.mjs.map +1 -1
  210. package/_mjs/control/DefaultRunnableSpec.mjs +0 -1
  211. package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -1
  212. package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -1
  213. package/_mjs/control/DefaultTestReporter/render.mjs +54 -87
  214. package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
  215. package/_mjs/control/DefaultTestReporter.mjs.map +1 -1
  216. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +18 -22
  217. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
  218. package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -1
  219. package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -1
  220. package/_mjs/control/Gen/api.mjs +462 -138
  221. package/_mjs/control/Gen/api.mjs.map +1 -1
  222. package/_mjs/control/Gen/definition.mjs +0 -1
  223. package/_mjs/control/Gen/definition.mjs.map +1 -1
  224. package/_mjs/control/Gen.mjs +1 -10
  225. package/_mjs/control/Gen.mjs.map +1 -1
  226. package/_mjs/control/Live/definition.mjs +5 -10
  227. package/_mjs/control/Live/definition.mjs.map +1 -1
  228. package/_mjs/control/Live.mjs.map +1 -1
  229. package/_mjs/control/RunnableSpec.mjs +8 -11
  230. package/_mjs/control/RunnableSpec.mjs.map +1 -1
  231. package/_mjs/control/Sample/api.mjs +57 -73
  232. package/_mjs/control/Sample/api.mjs.map +1 -1
  233. package/_mjs/control/Sample/definition.mjs +0 -1
  234. package/_mjs/control/Sample/definition.mjs.map +1 -1
  235. package/_mjs/control/Sample.mjs.map +1 -1
  236. package/_mjs/control/Sized/api.mjs +0 -2
  237. package/_mjs/control/Sized/api.mjs.map +1 -1
  238. package/_mjs/control/Sized/definition.mjs +0 -2
  239. package/_mjs/control/Sized/definition.mjs.map +1 -1
  240. package/_mjs/control/Sized/live.mjs +3 -6
  241. package/_mjs/control/Sized/live.mjs.map +1 -1
  242. package/_mjs/control/Sized.mjs.map +1 -1
  243. package/_mjs/control/Spec/api.mjs +300 -309
  244. package/_mjs/control/Spec/api.mjs.map +1 -1
  245. package/_mjs/control/Spec/definition.mjs +6 -31
  246. package/_mjs/control/Spec/definition.mjs.map +1 -1
  247. package/_mjs/control/Spec.mjs.map +1 -1
  248. package/_mjs/control/SummaryBuilder.mjs +10 -15
  249. package/_mjs/control/SummaryBuilder.mjs.map +1 -1
  250. package/_mjs/control/Test.mjs +1 -2
  251. package/_mjs/control/Test.mjs.map +1 -1
  252. package/_mjs/control/TestAnnotationRenderer/api.mjs +20 -34
  253. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
  254. package/_mjs/control/TestAnnotationRenderer/definition.mjs +4 -10
  255. package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
  256. package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -1
  257. package/_mjs/control/TestAspect/api.mjs +14 -18
  258. package/_mjs/control/TestAspect/api.mjs.map +1 -1
  259. package/_mjs/control/TestAspect.mjs.map +1 -1
  260. package/_mjs/control/TestClock/api.mjs +1 -5
  261. package/_mjs/control/TestClock/api.mjs.map +1 -1
  262. package/_mjs/control/TestClock/definition.mjs +50 -72
  263. package/_mjs/control/TestClock/definition.mjs.map +1 -1
  264. package/_mjs/control/TestClock.mjs.map +1 -1
  265. package/_mjs/control/TestConsole/api.mjs +3 -6
  266. package/_mjs/control/TestConsole/api.mjs.map +1 -1
  267. package/_mjs/control/TestConsole/definition.mjs +23 -32
  268. package/_mjs/control/TestConsole/definition.mjs.map +1 -1
  269. package/_mjs/control/TestConsole.mjs.map +1 -1
  270. package/_mjs/control/TestEnvironment.mjs +3 -3
  271. package/_mjs/control/TestEnvironment.mjs.map +1 -1
  272. package/_mjs/control/TestExecutor.mjs +3 -3
  273. package/_mjs/control/TestExecutor.mjs.map +1 -1
  274. package/_mjs/control/TestLogger.mjs +2 -7
  275. package/_mjs/control/TestLogger.mjs.map +1 -1
  276. package/_mjs/control/TestRandom/api.mjs +9 -19
  277. package/_mjs/control/TestRandom/api.mjs.map +1 -1
  278. package/_mjs/control/TestRandom/definition.mjs +61 -121
  279. package/_mjs/control/TestRandom/definition.mjs.map +1 -1
  280. package/_mjs/control/TestRandom.mjs.map +1 -1
  281. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +11 -21
  282. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
  283. package/_mjs/control/TestRunner.mjs +2 -6
  284. package/_mjs/control/TestRunner.mjs.map +1 -1
  285. package/_mjs/data/AssertionData.mjs +0 -5
  286. package/_mjs/data/AssertionData.mjs.map +1 -1
  287. package/_mjs/data/AssertionResult.mjs +0 -2
  288. package/_mjs/data/AssertionResult.mjs.map +1 -1
  289. package/_mjs/data/AssertionValue/api.mjs +23 -20
  290. package/_mjs/data/AssertionValue/api.mjs.map +1 -1
  291. package/_mjs/data/AssertionValue/definition.mjs +0 -2
  292. package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
  293. package/_mjs/data/AssertionValue.mjs.map +1 -1
  294. package/_mjs/data/ExecutedSpec/api.mjs +55 -57
  295. package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
  296. package/_mjs/data/ExecutedSpec/definition.mjs +5 -13
  297. package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
  298. package/_mjs/data/ExecutedSpec.mjs.map +1 -1
  299. package/_mjs/data/ExecutionResult.mjs +40 -52
  300. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  301. package/_mjs/data/FailureDetails.mjs +0 -1
  302. package/_mjs/data/FailureDetails.mjs.map +1 -1
  303. package/_mjs/data/FreeBooleanAlgebra/api.mjs +70 -87
  304. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
  305. package/_mjs/data/FreeBooleanAlgebra/definition.mjs +8 -16
  306. package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
  307. package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -1
  308. package/_mjs/data/GenFailureDetails.mjs +0 -1
  309. package/_mjs/data/GenFailureDetails.mjs.map +1 -1
  310. package/_mjs/data/LogLine/Fragment.mjs +2 -11
  311. package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
  312. package/_mjs/data/LogLine/Line.mjs +11 -24
  313. package/_mjs/data/LogLine/Line.mjs.map +1 -1
  314. package/_mjs/data/LogLine/Message.mjs +26 -36
  315. package/_mjs/data/LogLine/Message.mjs.map +1 -1
  316. package/_mjs/data/LogLine/Style.mjs +10 -39
  317. package/_mjs/data/LogLine/Style.mjs.map +1 -1
  318. package/_mjs/data/LogLine/api.mjs.map +1 -1
  319. package/_mjs/data/LogLine.mjs.map +1 -1
  320. package/_mjs/data/Render/api.mjs +0 -2
  321. package/_mjs/data/Render/api.mjs.map +1 -1
  322. package/_mjs/data/Render/definition.mjs +3 -9
  323. package/_mjs/data/Render/definition.mjs.map +1 -1
  324. package/_mjs/data/Render.mjs.map +1 -1
  325. package/_mjs/data/RenderParam/api.mjs +3 -10
  326. package/_mjs/data/RenderParam/api.mjs.map +1 -1
  327. package/_mjs/data/RenderParam/definition.mjs +4 -8
  328. package/_mjs/data/RenderParam/definition.mjs.map +1 -1
  329. package/_mjs/data/RenderParam.mjs.map +1 -1
  330. package/_mjs/data/Summary.mjs +0 -1
  331. package/_mjs/data/Summary.mjs.map +1 -1
  332. package/_mjs/data/TestAnnotation/api.mjs +2 -8
  333. package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
  334. package/_mjs/data/TestAnnotation/definition.mjs +4 -8
  335. package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
  336. package/_mjs/data/TestAnnotation.mjs.map +1 -1
  337. package/_mjs/data/TestAnnotationMap.mjs +4 -10
  338. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  339. package/_mjs/data/TestArgs/definition.mjs +0 -1
  340. package/_mjs/data/TestArgs/definition.mjs.map +1 -1
  341. package/_mjs/data/TestArgs.mjs.map +1 -1
  342. package/_mjs/data/TestConfig.mjs +0 -8
  343. package/_mjs/data/TestConfig.mjs.map +1 -1
  344. package/_mjs/data/TestFailure.mjs +4 -12
  345. package/_mjs/data/TestFailure.mjs.map +1 -1
  346. package/_mjs/data/TestSuccess.mjs +4 -10
  347. package/_mjs/data/TestSuccess.mjs.map +1 -1
  348. package/_mjs/data/TestTimeoutException.mjs +0 -1
  349. package/_mjs/data/TestTimeoutException.mjs.map +1 -1
  350. package/_mjs/demo.mjs +5 -8
  351. package/_mjs/demo.mjs.map +1 -1
  352. package/_mjs/util/math.mjs +20 -117
  353. package/_mjs/util/math.mjs.map +1 -1
  354. package/_src/api.ts +36 -35
  355. package/_src/control/AbstractRunnableSpec.ts +0 -6
  356. package/_src/control/Annotations/live.ts +4 -10
  357. package/_src/control/Assertion/api.ts +36 -25
  358. package/_src/control/AssertionIO/api.ts +23 -17
  359. package/_src/control/DefaultTestReporter/render.ts +2 -12
  360. package/_src/control/FreeBooleanAlgebraIO/api.ts +12 -14
  361. package/_src/control/Gen/api.ts +476 -71
  362. package/_src/control/Gen.ts +0 -10
  363. package/_src/control/Live/definition.ts +0 -4
  364. package/_src/control/RunnableSpec.ts +1 -1
  365. package/_src/control/Sample/api.ts +78 -67
  366. package/_src/control/Spec/api.ts +235 -222
  367. package/_src/control/Spec/definition.ts +0 -2
  368. package/_src/control/SummaryBuilder.ts +0 -1
  369. package/_src/control/TestAnnotationRenderer/api.ts +17 -15
  370. package/_src/control/TestAnnotationRenderer/definition.ts +0 -2
  371. package/_src/control/TestAspect/api.ts +2 -3
  372. package/_src/control/TestClock/definition.ts +13 -25
  373. package/_src/control/TestConsole/definition.ts +1 -2
  374. package/_src/control/TestLogger.ts +0 -2
  375. package/_src/control/TestRandom/api.ts +5 -0
  376. package/_src/control/TestRandom/definition.ts +3 -37
  377. package/_src/control/TestRenderer/ConsoleRenderer.ts +0 -1
  378. package/_src/control/TestRunner.ts +0 -3
  379. package/_src/data/AssertionValue/api.ts +27 -23
  380. package/_src/data/AssertionValue/definition.ts +0 -1
  381. package/_src/data/ExecutedSpec/api.ts +41 -36
  382. package/_src/data/ExecutionResult.ts +54 -51
  383. package/_src/data/FreeBooleanAlgebra/api.ts +68 -58
  384. package/_src/data/LogLine/Line.ts +5 -3
  385. package/_src/data/LogLine/Message.ts +26 -18
  386. package/_src/data/LogLine/Style.ts +0 -1
  387. package/_src/data/Render/definition.ts +0 -2
  388. package/_src/data/RenderParam/api.ts +1 -1
  389. package/_src/data/TestAnnotation/api.ts +4 -2
  390. package/_src/data/TestAnnotation/definition.ts +0 -3
  391. package/_src/data/TestAnnotationMap.ts +2 -8
  392. package/_src/demo.ts +3 -4
  393. package/_src/util/math.ts +31 -17
  394. package/api.d.ts +12 -12
  395. package/control/AbstractRunnableSpec.d.ts +0 -1
  396. package/control/Annotations/live.d.ts +1 -1
  397. package/control/Assertion/api.d.ts +16 -12
  398. package/control/AssertionIO/api.d.ts +8 -8
  399. package/control/FreeBooleanAlgebraIO/api.d.ts +6 -6
  400. package/control/Gen/api.d.ts +216 -33
  401. package/control/Gen.d.ts +0 -7
  402. package/control/Sample/api.d.ts +14 -14
  403. package/control/Spec/api.d.ts +38 -41
  404. package/control/TestAnnotationRenderer/api.d.ts +3 -3
  405. package/control/TestClock/definition.d.ts +2 -2
  406. package/control/TestConsole/definition.d.ts +1 -1
  407. package/control/TestRandom/definition.d.ts +1 -1
  408. package/control/TestRunner.d.ts +1 -3
  409. package/data/AssertionValue/api.d.ts +8 -8
  410. package/data/ExecutedSpec/api.d.ts +8 -8
  411. package/data/ExecutionResult.d.ts +4 -4
  412. package/data/FreeBooleanAlgebra/api.d.ts +20 -20
  413. package/data/LogLine/Line.d.ts +2 -2
  414. package/data/LogLine/Message.d.ts +10 -10
  415. package/data/TestAnnotation/api.d.ts +1 -1
  416. package/data/TestAnnotation/definition.d.ts +2 -2
  417. package/package.json +4 -4
  418. package/_cjs/control/Gen/api/array.cjs +0 -50
  419. package/_cjs/control/Gen/api/array.cjs.map +0 -1
  420. package/_cjs/control/Gen/api/char.cjs +0 -129
  421. package/_cjs/control/Gen/api/char.cjs.map +0 -1
  422. package/_cjs/control/Gen/api/conc.cjs +0 -73
  423. package/_cjs/control/Gen/api/conc.cjs.map +0 -1
  424. package/_cjs/control/Gen/api/double.cjs +0 -82
  425. package/_cjs/control/Gen/api/double.cjs.map +0 -1
  426. package/_cjs/control/Gen/api/float.cjs +0 -55
  427. package/_cjs/control/Gen/api/float.cjs.map +0 -1
  428. package/_cjs/control/Gen/api/string.cjs +0 -102
  429. package/_cjs/control/Gen/api/string.cjs.map +0 -1
  430. package/_cjs/control/Gen/api/struct.cjs +0 -36
  431. package/_cjs/control/Gen/api/struct.cjs.map +0 -1
  432. package/_mjs/control/Gen/api/array.mjs +0 -31
  433. package/_mjs/control/Gen/api/array.mjs.map +0 -1
  434. package/_mjs/control/Gen/api/char.mjs +0 -95
  435. package/_mjs/control/Gen/api/char.mjs.map +0 -1
  436. package/_mjs/control/Gen/api/conc.mjs +0 -49
  437. package/_mjs/control/Gen/api/conc.mjs.map +0 -1
  438. package/_mjs/control/Gen/api/double.mjs +0 -60
  439. package/_mjs/control/Gen/api/double.mjs.map +0 -1
  440. package/_mjs/control/Gen/api/float.mjs +0 -41
  441. package/_mjs/control/Gen/api/float.mjs.map +0 -1
  442. package/_mjs/control/Gen/api/string.mjs +0 -72
  443. package/_mjs/control/Gen/api/string.mjs.map +0 -1
  444. package/_mjs/control/Gen/api/struct.mjs +0 -18
  445. package/_mjs/control/Gen/api/struct.mjs.map +0 -1
  446. package/_src/control/Gen/api/array.ts +0 -31
  447. package/_src/control/Gen/api/char.ts +0 -83
  448. package/_src/control/Gen/api/conc.ts +0 -48
  449. package/_src/control/Gen/api/double.ts +0 -64
  450. package/_src/control/Gen/api/float.ts +0 -36
  451. package/_src/control/Gen/api/string.ts +0 -71
  452. package/_src/control/Gen/api/struct.ts +0 -21
  453. package/control/Gen/api/array.d.ts +0 -18
  454. package/control/Gen/api/char.d.ts +0 -47
  455. package/control/Gen/api/conc.d.ts +0 -25
  456. package/control/Gen/api/double.d.ts +0 -13
  457. package/control/Gen/api/float.d.ts +0 -7
  458. package/control/Gen/api/string.d.ts +0 -48
  459. package/control/Gen/api/struct.d.ts +0 -8
@@ -1,205 +1,428 @@
1
1
  const fileName_1 = "(@fncts/test) src/control/Gen/api.ts";
2
- import * as tsplus_module_1 from "@fncts/test/control/Sample/api";
3
- import * as tsplus_module_2 from "@fncts/io/Random/api";
4
- import * as tsplus_module_3 from "@fncts/io/IO/api";
5
- import * as tsplus_module_4 from "@fncts/base/data/Maybe/constructors";
6
- import * as tsplus_module_5 from "@fncts/io/Stream/api";
7
- import * as tsplus_module_6 from "@fncts/base/data/Maybe/api";
8
- import * as tsplus_module_7 from "@fncts/base/data/Maybe/destructors";
9
- import * as tsplus_module_8 from "@fncts/test/control/Sized/api";
10
- import * as tsplus_module_9 from "@fncts/base/collection/compat/Array/api";
11
- import * as tsplus_module_10 from "@fncts/base/collection/immutable/Conc/constructors";
12
- import * as tsplus_module_11 from "@fncts/base/collection/immutable/Conc/api";
13
- import * as tsplus_module_12 from "@fncts/base/data/number/instances";
14
- import * as tsplus_module_13 from "@fncts/base/collection/immutable/SortedMap/api";
2
+ import * as tsplus_module_1 from "@fncts/test/control/Sized/api";
3
+ import * as tsplus_module_2 from "@fncts/test/control/Sample/api";
4
+ import * as tsplus_module_3 from "@fncts/io/Random/api";
5
+ import * as tsplus_module_4 from "@fncts/io/IO/api";
6
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/definition";
7
+ import * as tsplus_module_6 from "@fncts/base/data/Maybe/constructors";
8
+ import * as tsplus_module_7 from "@fncts/io/Stream/api";
9
+ import * as tsplus_module_8 from "@fncts/base/collection/immutable/Conc/api/empty";
10
+ import * as tsplus_module_9 from "@fncts/base/collection/immutable/Conc/api";
11
+ import * as tsplus_module_10 from "@fncts/base/collection/immutable/Conc/api/replicate";
12
+ import * as tsplus_module_11 from "@fncts/base/data/Maybe/api";
13
+ import * as tsplus_module_12 from "@fncts/base/data/Maybe/destructors";
14
+ import * as tsplus_module_13 from "@fncts/base/collection/compat/Array/api";
15
+ import * as tsplus_module_14 from "@fncts/base/collection/immutable/Conc/constructors";
16
+ import * as tsplus_module_15 from "@fncts/base/data/Equatable/api";
17
+ import * as tsplus_module_16 from "@fncts/base/data/Eq/definition";
18
+ import * as tsplus_module_17 from "@fncts/base/data/number/instances";
19
+ import * as tsplus_module_18 from "@fncts/base/collection/immutable/SortedMap/api";
20
+ export const arrayWith = arrayWith_1;
21
+ export const arrayN = arrayN_1;
22
+ export const arrayInt64 = arrayInt64_1;
23
+ export const asciiStringWith = asciiStringWith_1;
24
+ export const base64StringWith = base64StringWith_1;
25
+ export const bounded = bounded_1;
26
+ export const char = char_1;
27
+ export const concWith = concWith_1;
28
+ export const concN = concN_1;
15
29
  export const constant = constant_1;
16
- export const flatMap_ = flatMap_1;
17
- export const filter_ = filter_1;
30
+ export const defer = defer_1;
31
+ export const filter = filter_1;
32
+ export const flatMap = flatMap_1;
18
33
  export const flatten = flatten_1;
19
34
  export const fromIO = fromIO_1;
20
35
  export const fromIOSample = fromIOSample_1;
21
- export const int = int_1;
22
- export const map_ = map_1;
23
- export const reshrink_ = reshrink_1;
36
+ export const intWith = intWith_1;
37
+ export const map = map_1;
38
+ export const oneOf = oneOf_1;
39
+ export const reshrink = reshrink_1;
24
40
  export const small = small_1;
41
+ export const string = string_1;
42
+ export const stringN = stringN_1;
25
43
  export const unfoldGenN = unfoldGenN_1;
44
+ export const uniqueConc = uniqueConc_1;
45
+ export const uniqueConcN = uniqueConcN_1;
46
+ export const unwrap = unwrap_1;
47
+ export const weighted = weighted_1;
48
+ export const zipWith = zipWith_1;
26
49
  import { IllegalArgumentError, NoSuchElementError } from "@fncts/base/data/exceptions";
27
50
  import { tuple } from "@fncts/base/data/function";
28
51
  import { identity } from "@fncts/base/data/function";
29
- import { clamp } from "../../util/math.mjs";
52
+ import { add64, clamp, computeArrayInt64GenerateRange, indexToDouble, indexToFloat, isStrictlyPositive64, isStrictlySmaller64, MAX_VALUE_32, safeDoubleToIndex, safeFloatToIndex, substract64, Unit64 } from "../../util/math.mjs";
30
53
  import { Sample } from "../Sample.mjs";
31
54
  import { Gen } from "./definition.mjs";
55
+ const gapSize = 0xdfff + 1 - 0xd800;
32
56
  /**
33
- * @tsplus static fncts.test.GenOps anyBigInt
57
+ * @tsplus static fncts.test.GenOps size
34
58
  */
35
-
36
- export const anyBigInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map_( /*#__PURE__*/tsplus_module_2.nextBigIntBetween( /*#__PURE__*/BigInt(-1) << /*#__PURE__*/BigInt(255), ( /*#__PURE__*/BigInt(1) << /*#__PURE__*/BigInt(255)) - /*#__PURE__*/BigInt(1), fileName_1 + ":18:27"), /*#__PURE__*/tsplus_module_1.shrinkBigInt( /*#__PURE__*/BigInt(0)), fileName_1 + ":18:98"));
59
+ const size_1 = /*#__PURE__*/fromIO_1(tsplus_module_1.size);
60
+ export const size = size_1;
37
61
  /**
38
- * @tsplus static fncts.test.GenOps anyDouble
62
+ * @tsplus static fncts.test.GenOps uniform
39
63
  */
40
-
41
- export const anyDouble = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map_(tsplus_module_2.nextDouble, /*#__PURE__*/tsplus_module_1.shrinkFractional(0), fileName_1 + ":26:84"));
64
+ const uniform_1 = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_4.map(tsplus_module_2.shrinkFractional(0.0), fileName_1 + ":38:82")(tsplus_module_3.nextDouble));
65
+ export const uniform = uniform_1;
42
66
  /**
43
- * @tsplus static fncts.test.GenOps anyInt
67
+ * @tsplus static fncts.test.GenOps alphaNumericChar
44
68
  */
45
-
46
- export const anyInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map_(tsplus_module_2.nextInt, /*#__PURE__*/tsplus_module_1.shrinkIntegral(0), fileName_1 + ":31:78"));
69
+ const alphaNumericChar_1 = /*#__PURE__*/weighted_1([/*#__PURE__*/char_1({
70
+ min: 48,
71
+ max: 57
72
+ }), 10], [/*#__PURE__*/char_1({
73
+ min: 65,
74
+ max: 90
75
+ }), 26], [/*#__PURE__*/char_1({
76
+ min: 97,
77
+ max: 122
78
+ }), 26]);
79
+ export const alphaNumericChar = alphaNumericChar_1;
80
+ /**
81
+ * @tsplus static fncts.test.GenOps alphaNumericStringWith
82
+ */
83
+ export function alphaNumericStringWith(constraints = {}) {
84
+ return string_1(constraints)(alphaNumericChar_1);
85
+ }
86
+ /**
87
+ * @tsplus static fncts.test.GenOps alphaNumericString
88
+ */
89
+ export const alphaNumericString = /*#__PURE__*/string_1()(alphaNumericChar_1);
90
+ /**
91
+ * @tsplus getter fncts.test.Gen array
92
+ */
93
+ export function array(self) {
94
+ return arrayWith_1()(self);
95
+ }
96
+ /**
97
+ * @tsplus pipeable fncts.test.Gen arrayWith
98
+ */
99
+ function arrayWith_1(constraints = {}) {
100
+ return g => {
101
+ const minLength = constraints.minLength || 0;
102
+ return constraints.maxLength ? flatMap_1(n => arrayN_1(n)(g))(intWith_1({
103
+ min: minLength,
104
+ max: constraints.maxLength
105
+ })) : small_1(n => arrayN_1(n)(g), minLength);
106
+ };
107
+ }
108
+ /**
109
+ * @tsplus pipeable fncts.test.Gen arrayN
110
+ */
111
+ function arrayN_1(n) {
112
+ return self => {
113
+ return map_1(conc => tsplus_module_5.toArray(conc))(concN_1(n)(self));
114
+ };
115
+ }
116
+ /**
117
+ * @tsplus static fncts.test.GenOps arrayInt64
118
+ */
119
+ function arrayInt64_1(min, max) {
120
+ return new Gen(tsplus_module_7.map(uncheckedValue => {
121
+ if (uncheckedValue.data.length === 1) {
122
+ uncheckedValue.data.unshift(0);
123
+ }
124
+ return tsplus_module_6.just(tsplus_module_2.shrinkArrayInt64(min)(uncheckedValue));
125
+ }, fileName_1 + ":96:11")(tsplus_module_7.flatMap(({
126
+ min,
127
+ max
128
+ }) => tsplus_module_7.repeatIO(tsplus_module_3.nextArrayIntBetween(min, max, fileName_1 + ":95:76"), fileName_1 + ":95:49"), fileName_1 + ":95:15")(tsplus_module_7.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined), fileName_1 + ":94:18"))));
129
+ }
130
+ /**
131
+ * @tsplus static fncts.test.GenOps asciiChar
132
+ */
133
+ const asciiChar_1 = /*#__PURE__*/_char(0x00, 0x7f, indexToPrintableIndex);
134
+ export const asciiChar = asciiChar_1;
135
+ /**
136
+ * @tsplus static fncts.test.GenOps asciiStringWith
137
+ */
138
+ function asciiStringWith_1(constraints) {
139
+ return string_1(constraints)(asciiChar_1);
140
+ }
141
+ /**
142
+ * @tsplus static fncts.test.GenOps asciiString
143
+ */
144
+ export const asciiString = /*#__PURE__*/asciiStringWith_1();
145
+ /**
146
+ * @tsplus static fncts.test.GenOps base64Char
147
+ */
148
+ const base64Char_1 = /*#__PURE__*/_char(0, 63, base64ToCharCode);
149
+ export const base64Char = base64Char_1;
150
+ /**
151
+ * @tsplus static fncts.test.GenOps base64String
152
+ */
153
+ export const base64String = /*#__PURE__*/base64StringWith_1();
154
+ /**
155
+ * @tsplus static fncts.test.GenOps base64StringWith
156
+ */
157
+ function base64StringWith_1(constraints = {}) {
158
+ return string_1(constraints)(base64Char_1);
159
+ }
160
+ /**
161
+ * @tsplus static fncts.test.GenOps bigInt
162
+ */
163
+ export const bigInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_4.map(tsplus_module_2.shrinkBigInt(BigInt(0)), fileName_1 + ":143:98")( /*#__PURE__*/tsplus_module_3.nextBigIntBetween( /*#__PURE__*/BigInt(-1) << /*#__PURE__*/BigInt(255), ( /*#__PURE__*/BigInt(1) << /*#__PURE__*/BigInt(255)) - /*#__PURE__*/BigInt(1), fileName_1 + ":143:27")));
164
+ /**
165
+ * @tsplus static fncts.test.GenOps boolean
166
+ */
167
+ export const boolean = /*#__PURE__*/defer_1(() => oneOf_1(constant_1(true), constant_1(false)));
47
168
  /**
48
169
  * @tsplus static fncts.test.GenOps bounded
49
170
  */
50
-
51
- export function bounded(min, max, f) {
52
- return flatMap_1(int_1({
171
+ function bounded_1(min, max, f) {
172
+ return flatMap_1(f)(intWith_1({
53
173
  min,
54
174
  max
55
- }), f);
175
+ }));
176
+ }
177
+ /**
178
+ * @tsplus static fncts.test.GenOps char
179
+ */
180
+ function char_1(constraints) {
181
+ return _char(constraints.min, constraints.max, identity);
182
+ }
183
+ /**
184
+ * @tsplus static fncts.test.GenOps char16
185
+ */
186
+ const char16_1 = /*#__PURE__*/_char(0x0000, 0xffff, indexToPrintableIndex);
187
+ export const char16 = char16_1;
188
+ /**
189
+ * @tsplus pipeable fncts.test.Gen conc
190
+ */
191
+ function concWith_1(constraints = {}) {
192
+ return self => {
193
+ const minLength = constraints.minLength ?? 0;
194
+ return constraints.maxLength ? flatMap_1(n => concN_1(n)(self))(intWith_1({
195
+ min: minLength,
196
+ max: constraints.maxLength
197
+ })) : small_1(n => concN_1(n)(self), minLength);
198
+ };
199
+ }
200
+ /**
201
+ * @tsplus getter fncts.test.Gen conc
202
+ */
203
+ export function conc(self) {
204
+ return concWith_1()(self);
205
+ }
206
+ /**
207
+ * @tsplus pipeable fncts.test.Gen concN
208
+ */
209
+ function concN_1(n) {
210
+ return g => {
211
+ return tsplus_module_9.foldLeft(constant_1(tsplus_module_8.empty()), (gen, a) => zipWith_1(a, (as, a) => tsplus_module_9.append(a)(as))(gen))(tsplus_module_10.replicate(n, g));
212
+ };
56
213
  }
57
214
  /**
58
215
  * @tsplus static fncts.test.GenOps constant
59
216
  */
60
-
61
217
  function constant_1(a) {
62
- return new Gen(tsplus_module_5.succeedNow(tsplus_module_4.just(tsplus_module_1.noShrink(a)), fileName_1 + ":44:35"));
218
+ return new Gen(tsplus_module_7.succeedNow(tsplus_module_6.just(tsplus_module_2.noShrink(a)), fileName_1 + ":206:35"));
63
219
  }
64
220
  /**
65
- * @tsplus fluent fncts.test.Gen flatMap
221
+ * @tsplus static fncts.test.GenOps defer
66
222
  */
67
-
68
-
69
- function flatMap_1(ma, f) {
70
- return new Gen(tsplus_module_1.flatMapStream(ma.sample, sample => {
71
- const values = f(sample.value).sample;
72
- const shrinks = flatMap_1(new Gen(sample.shrink), a => f(a)).sample;
73
- return tsplus_module_5.map_(values, maybeSample => tsplus_module_6.map_(maybeSample, sample => tsplus_module_1.flatMap_(sample, b => new Sample(b, shrinks))), fileName_1 + ":55:24");
74
- }));
223
+ function defer_1(gen) {
224
+ return flatten_1(fromIO_1(tsplus_module_4.succeed(gen, fileName_1 + ":213:31")));
75
225
  }
76
226
  /**
77
- * @tsplus static fncts.test.GenOps defer
227
+ * @tsplus static fncts.test.GenOps double
78
228
  */
79
-
80
-
81
- export function defer(gen) {
82
- return flatten_1(fromIO_1(tsplus_module_3.succeed(gen, fileName_1 + ":64:31")));
229
+ export const double = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_4.map(tsplus_module_2.shrinkFractional(0), fileName_1 + ":219:81")(tsplus_module_3.nextDouble));
230
+ /**
231
+ * @tsplus static fncts.test.GenOps doubleWith
232
+ */
233
+ export function doubleWith(constraints = {}) {
234
+ const {
235
+ noDefaultInfinity = false,
236
+ noNaN = false,
237
+ min = noDefaultInfinity ? -Number.MAX_VALUE : Number.NEGATIVE_INFINITY,
238
+ max = noDefaultInfinity ? Number.MAX_VALUE : Number.POSITIVE_INFINITY
239
+ } = constraints;
240
+ return unwrap_1(tsplus_module_4.gen(function* (_) {
241
+ const minIndex = yield* _(safeDoubleToIndex(min, "min"), fileName_1 + ":233:32");
242
+ const maxIndex = yield* _(safeDoubleToIndex(max, "max"), fileName_1 + ":234:32");
243
+ if (isStrictlySmaller64(maxIndex, minIndex)) {
244
+ return yield* _(tsplus_module_4.haltNow(new IllegalArgumentError("min must be less than or equal to max", "Gen.double"), fileName_1 + ":236:35"), fileName_1 + ":236:24");
245
+ }
246
+ if (noNaN) {
247
+ return map_1(indexToDouble)(arrayInt64_1(minIndex, maxIndex));
248
+ }
249
+ const positiveMaxIdx = isStrictlyPositive64(maxIndex);
250
+ const minIndexWithNaN = positiveMaxIdx ? minIndex : substract64(minIndex, Unit64);
251
+ const maxIndexWithNaN = positiveMaxIdx ? add64(maxIndex, Unit64) : maxIndex;
252
+ return map_1(index => {
253
+ if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return Number.NaN;else return indexToDouble(index);
254
+ })(arrayInt64_1(minIndexWithNaN, maxIndexWithNaN));
255
+ }, fileName_1 + ":232:11"));
83
256
  }
84
257
  /**
85
258
  * @tsplus static fncts.test.GenOps empty
86
259
  */
87
-
88
- const empty_1 = /*#__PURE__*/new Gen(tsplus_module_5.empty);
260
+ const empty_1 = /*#__PURE__*/new Gen(tsplus_module_7.empty);
89
261
  export const empty = empty_1;
90
-
91
- function filter_1(fa, p) {
92
- return flatMap_1(fa, a => p(a) ? constant_1(a) : empty_1);
262
+ /**
263
+ * @tsplus static fncts.test.GenOps exponential
264
+ */
265
+ const exponential_1 = /*#__PURE__*/map_1(n => -Math.log(1 - n))(uniform_1);
266
+ export const exponential = exponential_1;
267
+ function filter_1(p) {
268
+ return fa => {
269
+ return flatMap_1(a => p(a) ? constant_1(a) : empty_1)(fa);
270
+ };
93
271
  }
94
272
  /**
95
- * @tsplus fluent fncts.test.Gen filterNot
273
+ * @tsplus pipeable fncts.test.Gen filterNot
96
274
  */
97
-
98
-
99
- export function filterNot_(fa, p) {
100
- return filter_1(fa, a => !p(a));
275
+ export function filterNot(p) {
276
+ return fa => {
277
+ return filter_1(a => !p(a))(fa);
278
+ };
279
+ }
280
+ /**
281
+ * @tsplus pipeable fncts.test.Gen flatMap
282
+ */
283
+ function flatMap_1(f) {
284
+ return ma => {
285
+ return new Gen(tsplus_module_2.flatMapStream(ma.sample, sample => {
286
+ const values = f(sample.value).sample;
287
+ const shrinks = flatMap_1(a => f(a))(new Gen(sample.shrink)).sample;
288
+ return tsplus_module_7.map(maybeSample => tsplus_module_11.map(sample => tsplus_module_2.flatMap(b => new Sample(b, shrinks))(sample))(maybeSample), fileName_1 + ":291:26")(values);
289
+ }));
290
+ };
101
291
  }
102
292
  /**
103
293
  * @tsplus getter fncts.test.Gen flatten
104
294
  */
105
-
106
295
  function flatten_1(mma) {
107
- return flatMap_1(mma, identity);
296
+ return flatMap_1(identity)(mma);
108
297
  }
109
298
  /**
110
299
  * @tsplus static fncts.test.GenOps fromIO
111
300
  */
112
-
113
-
114
301
  function fromIO_1(effect) {
115
- return fromIOSample_1(tsplus_module_3.map_(effect, tsplus_module_1.noShrink, fileName_1 + ":99:37"));
302
+ return fromIOSample_1(tsplus_module_4.map(tsplus_module_2.noShrink, fileName_1 + ":308:37")(effect));
116
303
  }
117
304
  /**
118
305
  * @tsplus static fncts.test.GenOps fromIOSample
119
306
  */
120
-
121
-
122
307
  function fromIOSample_1(effect) {
123
- return new Gen(tsplus_module_5.fromIO(tsplus_module_3.map_(effect, tsplus_module_4.just, fileName_1 + ":106:42"), fileName_1 + ":106:31"));
308
+ return new Gen(tsplus_module_7.fromIO(tsplus_module_4.map(tsplus_module_6.just, fileName_1 + ":315:42")(effect), fileName_1 + ":315:31"));
309
+ }
310
+ /**
311
+ * @tsplus static fncts.test.GenOps floatWith
312
+ */
313
+ export function floatWith(constraints = {}) {
314
+ const {
315
+ noDefaultInfinity = false,
316
+ min = noDefaultInfinity ? -MAX_VALUE_32 : Number.NEGATIVE_INFINITY,
317
+ max = noDefaultInfinity ? MAX_VALUE_32 : Number.POSITIVE_INFINITY,
318
+ noNaN = false
319
+ } = constraints;
320
+ return unwrap_1(tsplus_module_4.gen(function* (_) {
321
+ const minIndex = yield* _(safeFloatToIndex(min, "min"), fileName_1 + ":330:32");
322
+ const maxIndex = yield* _(safeFloatToIndex(max, "max"), fileName_1 + ":331:32");
323
+ if (minIndex > maxIndex) {
324
+ return yield* _(tsplus_module_4.haltNow(new Error("Gen.float constraints.min must be less than or equal to constraints.max"), fileName_1 + ":334:21"), fileName_1 + ":333:24");
325
+ }
326
+ if (noNaN) {
327
+ return map_1(indexToFloat)(intWith_1({
328
+ min: minIndex,
329
+ max: maxIndex
330
+ }));
331
+ }
332
+ const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
333
+ const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
334
+ return map_1(index => {
335
+ if (index > maxIndex || index < minIndex) return Number.NaN;else return indexToFloat(index);
336
+ })(intWith_1({
337
+ min: minIndexWithNaN,
338
+ max: maxIndexWithNaN
339
+ }));
340
+ }, fileName_1 + ":329:11"));
341
+ }
342
+ /**
343
+ * @tsplus static fncts.test.GenOps fullUnicodeChar
344
+ */
345
+ const fullUnicodeChar_1 = /*#__PURE__*/_char(0x0000, 0x10ffff - gapSize, unicodeToCharCode);
346
+ export const fullUnicodeChar = fullUnicodeChar_1;
347
+ /**
348
+ * @tsplus static fncts.test.GenOps fullUnicodeString
349
+ */
350
+ export function fullUnicodeString(constraints = {}) {
351
+ return string_1(constraints)(fullUnicodeChar_1);
352
+ }
353
+ /**
354
+ * @tsplus static fncts.test.GenOps hexChar
355
+ */
356
+ const hexChar_1 = /*#__PURE__*/_char(0, 15, hexToCharCode);
357
+ export const hexChar = hexChar_1;
358
+ /**
359
+ * @tsplus static fncts.test.GenOps hexString
360
+ */
361
+ export function hexString(constraints = {}) {
362
+ return string_1(constraints)(hexChar_1);
124
363
  }
125
364
  /**
126
365
  * @tsplus static fncts.test.GenOps int
127
366
  */
128
-
129
-
130
- function int_1(constraints = {}) {
131
- return fromIOSample_1(tsplus_module_3.defer(() => {
367
+ export const int = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_4.map(tsplus_module_2.shrinkIntegral(0), fileName_1 + ":377:75")(tsplus_module_3.nextInt));
368
+ /**
369
+ * @tsplus static fncts.test.GenOps intWith
370
+ */
371
+ function intWith_1(constraints = {}) {
372
+ return fromIOSample_1(tsplus_module_4.defer(() => {
132
373
  const min = constraints.min ?? -0x80000000;
133
374
  const max = constraints.max ?? 0x7fffffff;
134
-
135
375
  if (min > max || min < Number.MIN_SAFE_INTEGER || max > Number.MAX_SAFE_INTEGER) {
136
- return tsplus_module_3.haltNow(new IllegalArgumentError("invalid bounds", "Gen.int"), fileName_1 + ":118:26");
376
+ return tsplus_module_4.haltNow(new IllegalArgumentError("invalid bounds", "Gen.intWith"), fileName_1 + ":388:26");
137
377
  } else {
138
- return tsplus_module_3.map_(tsplus_module_2.nextIntBetween(min, max, fileName_1 + ":120:37"), tsplus_module_1.shrinkIntegral(min), fileName_1 + ":120:51");
378
+ return tsplus_module_4.map(tsplus_module_2.shrinkIntegral(min), fileName_1 + ":390:51")(tsplus_module_3.nextIntBetween(min, max, fileName_1 + ":390:37"));
139
379
  }
140
- }, fileName_1 + ":114:13"));
380
+ }, fileName_1 + ":384:13"));
141
381
  }
142
382
  /**
143
- * @tsplus fluent fncts.test.Gen map
383
+ * @tsplus pipeable fncts.test.Gen map
144
384
  */
145
-
146
-
147
- function map_1(self, f) {
148
- return new Gen(tsplus_module_5.map_(self.sample, maybeSample => tsplus_module_6.map_(maybeSample, sample => tsplus_module_1.map_(sample, f)), fileName_1 + ":130:33"));
385
+ function map_1(f) {
386
+ return self => {
387
+ return new Gen(tsplus_module_7.map(maybeSample => tsplus_module_11.map(sample => tsplus_module_2.map(f)(sample))(maybeSample), fileName_1 + ":401:35")(self.sample));
388
+ };
149
389
  }
150
390
  /**
151
- * @tsplus fluent fncts.test.Gen mapIO
391
+ * @tsplus pipeable fncts.test.Gen mapIO
152
392
  */
153
-
154
-
155
- export function mapIO_(self, f) {
156
- return new Gen(tsplus_module_5.mapIO_(self.sample, maybeSample => tsplus_module_7.match_(maybeSample, () => tsplus_module_3.succeedNow(tsplus_module_4.nothing(), fileName_1 + ":140:28"), sample => tsplus_module_3.map_(tsplus_module_1.foreach_(sample, f), tsplus_module_4.just, fileName_1 + ":141:42")), fileName_1 + ":138:22"));
393
+ export function mapIO(f) {
394
+ return self => {
395
+ return new Gen(tsplus_module_7.mapIO(maybeSample => tsplus_module_12.match(() => tsplus_module_4.succeedNow(tsplus_module_6.nothing(), fileName_1 + ":413:30"), sample => tsplus_module_4.map(tsplus_module_6.just, fileName_1 + ":414:44")(tsplus_module_2.foreach(f)(sample)))(maybeSample), fileName_1 + ":411:24")(self.sample));
396
+ };
157
397
  }
158
- /**
159
- * @tsplus static fncts.test.GenOps exponential
160
- */
161
-
162
- const exponential_1 = /*#__PURE__*/map_1(uniform_1, n => -Math.log(1 - n));
163
- export const exponential = exponential_1;
164
- /**
165
- * @tsplus static fncts.test.GenOps size
166
- */
167
-
168
- const size_1 = /*#__PURE__*/fromIO_1(tsplus_module_8.size);
169
- export const size = size_1;
170
398
  /**
171
399
  * @tsplus static fncts.test.GenOps medium
172
400
  */
173
-
174
401
  export function medium(f, min = 0) {
175
- return flatMap_1(reshrink_1(flatMap_1(size_1, max => map_1(exponential_1, n => clamp(Math.round(n * max / 10.0), min, max))), tsplus_module_1.shrinkIntegral(min)), f);
402
+ return flatMap_1(f)(reshrink_1(tsplus_module_2.shrinkIntegral(min))(flatMap_1(max => map_1(n => clamp(Math.round(n * max / 10.0), min, max))(exponential_1))(size_1)));
176
403
  }
177
404
  /**
178
405
  * @tsplus static fncts.test.GenOps memo
179
406
  */
180
-
181
407
  export function memo(builder) {
182
408
  const previous = {};
183
409
  let remainingDepth = 10;
184
410
  return maxDepth => {
185
411
  const n = maxDepth !== undefined ? maxDepth : remainingDepth;
186
-
187
412
  if (!Object.prototype.hasOwnProperty.call(previous, n)) {
188
413
  const prev = remainingDepth;
189
414
  remainingDepth = n - 1;
190
415
  previous[n] = builder(n);
191
416
  remainingDepth = prev;
192
417
  }
193
-
194
418
  return previous[n];
195
419
  };
196
420
  }
197
421
  /**
198
422
  * @tsplus static fncts.test.GenOps nat
199
423
  */
200
-
201
424
  export function nat(max = 0x7fffffff) {
202
- return int_1({
425
+ return intWith_1({
203
426
  min: 0,
204
427
  max: clamp(max, 0, max)
205
428
  });
@@ -207,82 +430,183 @@ export function nat(max = 0x7fffffff) {
207
430
  /**
208
431
  * @tsplus static fncts.test.GenOps oneOf
209
432
  */
210
-
211
- export function oneOf(...gens) {
212
- if (tsplus_module_9.isEmpty(gens)) return empty_1;else return flatMap_1(int_1({
433
+ function oneOf_1(...gens) {
434
+ if (tsplus_module_13.isEmpty(gens)) return empty_1;else return flatMap_1(i => gens[i])(intWith_1({
213
435
  min: 0,
214
436
  max: gens.length - 1
215
- }), i => gens[i]);
437
+ }));
438
+ }
439
+ export function partial(properties) {
440
+ const entries = Object.entries(properties);
441
+ return tsplus_module_13.foldLeft(constant_1({}), (b, [k, gen]) => unwrap_1(tsplus_module_4.ifIO(() => tsplus_module_4.succeed(() => zipWith_1(gen, (r, a) => ({
442
+ ...r,
443
+ [k]: a
444
+ }))(b), fileName_1 + ":476:50"), () => tsplus_module_4.succeed(() => b, fileName_1 + ":476:108"), fileName_1 + ":476:39")(tsplus_module_3.nextBoolean)))(entries);
216
445
  }
217
446
  /**
218
- * @tsplus fluent fncts.test.Gen reshrink
447
+ * @tsplus static fncts.test.GenOps printableChar
219
448
  */
220
-
221
- function reshrink_1(gen, f) {
222
- return new Gen(tsplus_module_5.map_(gen.sample, maybeSample => tsplus_module_6.map_(maybeSample, sample => f(sample.value)), fileName_1 + ":205:67"));
449
+ export const printableChar = /*#__PURE__*/char_1({
450
+ min: 0x20,
451
+ max: 0x7e
452
+ });
453
+ /**
454
+ * @tsplus pipeable fncts.test.Gen reshrink
455
+ */
456
+ function reshrink_1(f) {
457
+ return gen => {
458
+ return new Gen(tsplus_module_7.map(maybeSample => tsplus_module_11.map(sample => f(sample.value))(maybeSample), fileName_1 + ":491:69")(gen.sample));
459
+ };
223
460
  }
224
461
  /**
225
462
  * @tsplus static fncts.test.GenOps sized
226
463
  */
227
-
228
-
229
464
  export function sized(f) {
230
- return flatMap_1(size_1, f);
465
+ return flatMap_1(f)(size_1);
231
466
  }
232
467
  /**
233
468
  * @tsplus static fncts.test.GenOps small
234
469
  */
235
-
236
470
  function small_1(f, min = 0) {
237
- return flatMap_1(reshrink_1(flatMap_1(size_1, max => map_1(exponential_1, n => clamp(Math.round(n * max / 25), min, max))), tsplus_module_1.shrinkIntegral(min)), f);
471
+ return flatMap_1(f)(reshrink_1(tsplus_module_2.shrinkIntegral(min))(flatMap_1(max => map_1(n => clamp(Math.round(n * max / 25), min, max))(exponential_1))(size_1)));
472
+ }
473
+ /**
474
+ * @tsplus static fncts.test.GenOps string16
475
+ */
476
+ export function string16(constraints = {}) {
477
+ return string_1(constraints)(char16_1);
478
+ }
479
+ /**
480
+ * @tsplus pipeable fncts.test.Gen string
481
+ */
482
+ function string_1(constraints = {}) {
483
+ return char => {
484
+ const min = constraints.minLength || 0;
485
+ return constraints.maxLength ? bounded_1(min, constraints.maxLength, n => stringN_1(n)(char)) : small_1(n => stringN_1(n)(char), min);
486
+ };
487
+ }
488
+ /**
489
+ * @tsplus pipeable fncts.test.Gen stringN
490
+ */
491
+ function stringN_1(n) {
492
+ return char => {
493
+ return map_1(arr => arr.join(""))(arrayN_1(n)(char));
494
+ };
495
+ }
496
+ export function struct(properties) {
497
+ const entries = Object.entries(properties);
498
+ return tsplus_module_13.foldLeft(constant_1({}), (b, [k, gen]) => zipWith_1(gen, (out, a) => ({
499
+ ...out,
500
+ [k]: a
501
+ }))(b))(entries);
238
502
  }
239
503
  /**
240
504
  * @tsplus static fncts.test.GenOps unfoldGen
241
505
  */
242
-
243
-
244
506
  export function unfoldGen(s, f) {
245
507
  return small_1(n => unfoldGenN_1(n, s, f));
246
508
  }
247
509
  /**
248
510
  * @tsplus static fncts.test.GenOps unfoldGenN
249
511
  */
250
-
251
512
  function unfoldGenN_1(n, s, f) {
252
- if (n <= 0) return constant_1(tsplus_module_10.make());else return flatMap_1(f(s), ([s, a]) => map_1(unfoldGenN_1(n - 1, s, f), as => tsplus_module_11.append_(as, a)));
513
+ if (n <= 0) return constant_1(tsplus_module_14.make());else return flatMap_1(([s, a]) => map_1(as => tsplus_module_9.append(a)(as))(unfoldGenN_1(n - 1, s, f)))(f(s));
253
514
  }
254
515
  /**
255
- * @tsplus static fncts.test.GenOps uniform
516
+ * @tsplus static fncts.test.GenOps unicodeChar
256
517
  */
257
-
258
-
259
- const uniform_1 = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map_(tsplus_module_2.nextDouble, /*#__PURE__*/tsplus_module_1.shrinkFractional(0.0), fileName_1 + ":246:82"));
260
- export const uniform = uniform_1;
518
+ const unicodeChar_1 = /*#__PURE__*/_char(0x0000, 0xffff - gapSize, unicodeToCharCode);
519
+ export const unicodeChar = unicodeChar_1;
520
+ /**
521
+ * @tsplus static fncts.test.GenOps unicodeString
522
+ */
523
+ export function unicodeString(constraints = {}) {
524
+ return string_1(constraints)(unicodeChar_1);
525
+ }
526
+ /**
527
+ * @tsplus pipeable fncts.test.Gen uniqueArray
528
+ */
529
+ export function uniqueArray(constraints = {}) {
530
+ return gen => {
531
+ return map_1(conc => tsplus_module_5.toArray(conc))(uniqueConc_1(constraints)(gen));
532
+ };
533
+ }
534
+ /**
535
+ * @tsplus pipeable fncts.test.Gen uniqueConc
536
+ */
537
+ function uniqueConc_1(constraints = {}) {
538
+ return self => {
539
+ const minLength = constraints.minLength ?? 0;
540
+ const eq = constraints.eq ?? tsplus_module_16.makeEq({
541
+ equals: y => x => tsplus_module_15.strictEquals(x, y)
542
+ });
543
+ return constraints.maxLength ? bounded_1(minLength, constraints.maxLength, n => uniqueConcN_1(n, eq)(self)) : small_1(n => uniqueConcN_1(n, eq)(self), minLength);
544
+ };
545
+ }
546
+ /**
547
+ * @tsplus pipeable fncts.test.Gen uniqueConcN
548
+ */
549
+ function uniqueConcN_1(n, /** @tsplus auto */E) {
550
+ return self => {
551
+ return tsplus_module_9.foldLeft(constant_1(tsplus_module_8.empty()), (gen, a) => zipWith_1(a, (as, a) => tsplus_module_9.elem(a, E)(as) ? as : tsplus_module_9.append(a)(as))(gen))(tsplus_module_10.replicate(n, self));
552
+ };
553
+ }
261
554
  /**
262
555
  * @tsplus static fncts.test.GenOps unwrap
263
556
  */
264
-
265
- export function unwrap(effect) {
557
+ function unwrap_1(effect) {
266
558
  return flatten_1(fromIO_1(effect));
267
559
  }
268
560
  /**
269
561
  * @tsplus static fncts.test.GenOps weighted
270
562
  */
271
-
272
- export function weighted(...gens) {
273
- const sum = tsplus_module_9.foldLeft(gens.map(([, weight]) => weight), 0, (b, a) => b + a);
274
- const [map] = tsplus_module_9.foldLeft(gens, tuple(tsplus_module_13.make(tsplus_module_12.Ord), 0), ([map, acc], [gen, d]) => {
275
- if ((acc + d) / sum > acc / sum) return tuple(tsplus_module_13.insert_(map, (acc + d) / sum, gen), acc + d);else return tuple(map, acc);
276
- });
277
- return flatMap_1(uniform_1, n => tsplus_module_6.getOrElse_(tsplus_module_13.getGte_(map, n), () => {
563
+ function weighted_1(...gens) {
564
+ const sum = tsplus_module_13.foldLeft(0, (b, a) => b + a)(gens.map(([, weight]) => weight));
565
+ const [map] = tsplus_module_13.foldLeft(tuple(tsplus_module_18.make(tsplus_module_17.Ord), 0), ([map, acc], [gen, d]) => {
566
+ if ((acc + d) / sum > acc / sum) return tuple(tsplus_module_18.set((acc + d) / sum, gen)(map), acc + d);else return tuple(map, acc);
567
+ })(gens);
568
+ return flatMap_1(n => tsplus_module_11.getOrElse(() => {
278
569
  throw new NoSuchElementError("Gen.weighted");
279
- }));
570
+ })(tsplus_module_18.getGte(n)(map)))(uniform_1);
571
+ }
572
+ /**
573
+ * @tsplus pipeable fncts.test.Gen zipWith
574
+ */
575
+ function zipWith_1(that, f) {
576
+ return self => {
577
+ return flatMap_1(a => map_1(b => f(a, b))(that))(self);
578
+ };
280
579
  }
281
580
  /**
282
- * @tsplus fluent fncts.test.Gen zipWith
581
+ * @tsplus pipeable fncts.test.Gen zip
283
582
  */
583
+ export function zip(that) {
584
+ return self => {
585
+ return zipWith_1(that, tuple)(self);
586
+ };
587
+ }
588
+ function _char(min, max, mapToCode) {
589
+ return map_1(n => String.fromCharCode(mapToCode(n)))(intWith_1({
590
+ min,
591
+ max
592
+ }));
593
+ }
594
+ function indexToPrintableIndex(v) {
595
+ return v < 95 ? v + 0x20 : v <= 0x7e ? v - 95 : v;
596
+ }
597
+ function base64ToCharCode(v) {
598
+ if (v < 26) return v + 65; // A-Z
599
+ if (v < 52) return v + 97 - 26; // a-z
600
+ if (v < 62) return v + 48 - 52; // 0-9
601
+ return v === 62 ? 43 : 47; // +/
602
+ }
603
+
604
+ function hexToCharCode(v) {
605
+ return v < 10 ? v + 48 // 0-9
606
+ : v + 97 - 10; // a-f
607
+ }
284
608
 
285
- export function zipWith_(self, that, f) {
286
- return flatMap_1(self, a => map_1(that, b => f(a, b)));
609
+ function unicodeToCharCode(v) {
610
+ return v < 0xd800 ? indexToPrintableIndex(v) : v + gapSize;
287
611
  }
288
612
  //# sourceMappingURL=api.mjs.map