@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 +0,0 @@
1
- {"version":3,"file":"char.mjs","mappings":";aA8BgBA,IAAI;AA5BpB,SAASC,QAAT,QAAyB,2BAAzB;AAIA,MAAMC,OAAO,GAAG,SAAS,CAAT,GAAa,MAA7B;AAEA;;;;AAGA,OAAO,MAAMC,gBAAgB,gBAAuBC,yBAClD,cAACC,OAAS;EAAEC,GAAG,EAAE,EAAP;EAAWC,GAAG,EAAE;AAAhB,CAAT,CAAD,EAAiC,EAAjC,CADkD,EAElD,cAACF,OAAS;EAAEC,GAAG,EAAE,EAAP;EAAWC,GAAG,EAAE;AAAhB,CAAT,CAAD,EAAiC,EAAjC,CAFkD,EAGlD,cAACF,OAAS;EAAEC,GAAG,EAAE,EAAP;EAAWC,GAAG,EAAE;AAAhB,CAAT,CAAD,EAAkC,EAAlC,CAHkD,CAA7C;AAMP;;;;AAGA,OAAO,MAAMC,SAAS,gBAAuBC,KAAK,CAAC,IAAD,EAAO,IAAP,EAAaC,qBAAb,CAA3C;AAEP;;;;AAGA,OAAO,MAAMC,UAAU,gBAAuBF,KAAK,CAAC,CAAD,EAAI,EAAJ,EAAQG,gBAAR,CAA5C;AAEP;;;;AAGA,gBAAqBC,WAArB,EAA6D;EAC3D,OAAOJ,KAAK,CAACI,WAAW,CAACP,GAAb,EAAkBO,WAAW,CAACN,GAA9B,EAAmCN,QAAnC,CAAZ;AACD;AAED;;;;;AAGA,OAAO,MAAMa,MAAM,gBAAuBL,KAAK,CAAC,MAAD,EAAS,MAAT,EAAiBC,qBAAjB,CAAxC;AAEP;;;;AAGA,OAAO,MAAMK,eAAe,gBAAuBN,KAAK,CAAC,MAAD,EAAS,WAAWP,OAApB,EAA6Bc,iBAA7B,CAAjD;AAEP;;;;AAGA,OAAO,MAAMC,OAAO,gBAAuBR,KAAK,CAAC,CAAD,EAAI,EAAJ,EAAQS,aAAR,CAAzC;AAEP;;;;AAGA,OAAO,MAAMC,aAAa,gBAAuBd,OAAK;EAAEC,GAAG,EAAE,IAAP;EAAaC,GAAG,EAAE;AAAlB,CAAL,CAA1C;AAEP;;;;AAGA,OAAO,MAAMa,WAAW,gBAAuBX,KAAK,CAAC,MAAD,EAAS,SAASP,OAAlB,EAA2Bc,iBAA3B,CAA7C;;AAEP,SAASP,KAAT,CAAeH,GAAf,EAA4BC,GAA5B,EAAyCc,SAAzC,EAAyE;EACvE,OAAOjB,yCAAQ;IAAEE,GAAF;IAAOC;EAAP,CAAR,GAA2Be,CAAD,IAAOC,MAAM,CAACC,YAAP,CAAoBH,SAAS,CAACC,CAAD,CAA7B,CAAjC,CAAP;AACD;;AAED,SAASZ,qBAAT,CAA+Be,CAA/B,EAAwC;EACtC,OAAOA,CAAC,GAAG,EAAJ,GAASA,CAAC,GAAG,IAAb,GAAoBA,CAAC,IAAI,IAAL,GAAYA,CAAC,GAAG,EAAhB,GAAqBA,CAAhD;AACD;;AAED,SAASb,gBAAT,CAA0Ba,CAA1B,EAAmC;EACjC,IAAIA,CAAC,GAAG,EAAR,EAAY,OAAOA,CAAC,GAAG,EAAX,CADqB,CACN;;EAC3B,IAAIA,CAAC,GAAG,EAAR,EAAY,OAAOA,CAAC,GAAG,EAAJ,GAAS,EAAhB,CAFqB,CAED;;EAChC,IAAIA,CAAC,GAAG,EAAR,EAAY,OAAOA,CAAC,GAAG,EAAJ,GAAS,EAAhB,CAHqB,CAGD;;EAChC,OAAOA,CAAC,KAAK,EAAN,GAAW,EAAX,GAAgB,EAAvB,CAJiC,CAIN;AAC5B;;AAED,SAASP,aAAT,CAAuBO,CAAvB,EAAgC;EAC9B,OAAOA,CAAC,GAAG,EAAJ,GACHA,CAAC,GAAG,EADD,CACI;EADJ,EAEHA,CAAC,GAAG,EAAJ,GAAS,EAFb,CAD8B,CAGb;AAClB;;AAED,SAAST,iBAAT,CAA2BS,CAA3B,EAAoC;EAClC,OAAOA,CAAC,GAAG,MAAJ,GAAaf,qBAAqB,CAACe,CAAD,CAAlC,GAAwCA,CAAC,GAAGvB,OAAnD;AACD","names":["char","identity","gapSize","alphaNumericChar","tsplus_module_1","char_1","min","max","asciiChar","_char","indexToPrintableIndex","base64Char","base64ToCharCode","constraints","char16","fullUnicodeChar","unicodeToCharCode","hexChar","hexToCharCode","printableChar","unicodeChar","mapToCode","n","String","fromCharCode","v"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/char.ts"],"sourcesContent":[null]}
@@ -1,49 +0,0 @@
1
- import * as tsplus_module_1 from "@fncts/test/control/Gen/api";
2
- import * as tsplus_module_2 from "@fncts/base/collection/immutable/Conc/api/empty";
3
- import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api";
4
- import * as tsplus_module_4 from "@fncts/base/collection/immutable/Conc/api/replicate";
5
- import * as tsplus_module_5 from "@fncts/base/typeclass/Equatable/api";
6
- import * as tsplus_module_6 from "@fncts/base/typeclass/Eq/definition";
7
- export const concN_ = concN_1;
8
- export const uniqueConcN_ = uniqueConcN_1;
9
- import { Eq } from "@fncts/base/typeclass";
10
- /**
11
- * @tsplus fluent fncts.test.Gen conc
12
- */
13
-
14
- export function conc(self, constraints = {}) {
15
- const minLength = constraints.minLength ?? 0;
16
- return constraints.maxLength ? tsplus_module_1.flatMap_(tsplus_module_1.int({
17
- min: minLength,
18
- max: constraints.maxLength
19
- }), n => concN_1(self, n)) : tsplus_module_1.small(n => concN_1(self, n), minLength);
20
- }
21
- /**
22
- * @tsplus fluent fncts.test.Gen concN
23
- */
24
-
25
- function concN_1(g, n) {
26
- return tsplus_module_3.foldLeft_(tsplus_module_4.replicate(n, g), tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith_(gen, a, (as, a) => tsplus_module_3.append_(as, a)));
27
- }
28
- /**
29
- * @tsplus fluent fncts.test.Gen uniqueConc
30
- */
31
-
32
-
33
- export function uniqueConc_(self, constraints = {}) {
34
- const minLength = constraints.minLength ?? 0;
35
- const eq = constraints.eq ?? tsplus_module_6.mkEq({
36
- equals: tsplus_module_5.strictEquals
37
- });
38
- return constraints.maxLength ? tsplus_module_1.bounded(minLength, constraints.maxLength, n => uniqueConcN_1(self, n, eq)) : tsplus_module_1.small(n => uniqueConcN_1(self, n, eq), minLength);
39
- }
40
- /**
41
- * @tsplus fluent fncts.test.Gen uniqueConcN
42
- */
43
-
44
- function uniqueConcN_1(self, n,
45
- /** @tsplus auto */
46
- E) {
47
- return tsplus_module_3.foldLeft_(tsplus_module_4.replicate(n, self), tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith_(gen, a, (as, a) => tsplus_module_3.elem_(as, a, E) ? as : tsplus_module_3.append_(as, a)));
48
- }
49
- //# sourceMappingURL=conc.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conc.mjs","mappings":";;;;;;aAoBgBA,MAAM;aAuBNC,YAAY;AAxC5B,SAASC,EAAT,QAA8B,uBAA9B;AAIA;;;;AAGA,OAAM,SAAUC,IAAV,CAAqBC,IAArB,EAAsCC,cAAiC,EAAvE,EAAyE;EAC7E,MAAMC,SAAS,GAAGD,WAAW,CAACC,SAAZ,IAAyB,CAA3C;EACA,OAAOD,WAAW,CAACE,SAAZ,GACHC,6CAAQ;IAAEC,GAAG,EAAEH,SAAP;IAAkBI,GAAG,EAAEL,WAAW,CAACE;EAAnC,CAAR,GAAiEI,CAAD,IAAOC,cAAWD,CAAX,CAAvE,CADG,GAEHH,sBAAWG,CAAD,IAAOC,cAAWD,CAAX,CAAjB,EAAgCL,SAAhC,CAFJ;AAGD;AAED;;;;AAGA,iBAA6BO,CAA7B,EAA2CF,CAA3C,EAAoD;EAClD,OAAOG,oDAAeH,CAAf,EAAkBE,CAAlB,GAA8BL,yBAAaO,uBAAb,CAA9B,EAA6E,CAACC,GAAD,EAAMC,CAAN,KAClFT,8BAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAWH,4BAAUG,CAAV,CAA1B,CADK,CAAP;AAGD;AAED;;;;;AAGA,OAAM,SAAUE,WAAV,CACJf,IADI,EAEJC,cAAmD,EAF/C,EAEiD;EAErD,MAAMC,SAAS,GAAGD,WAAW,CAACC,SAAZ,IAAyB,CAA3C;EACA,MAAMc,EAAE,GAAUf,WAAW,CAACe,EAAZ,IAAkBC,qBAAG;IAAEC,MAAM;EAAR,CAAH,CAApC;EACA,OAAOjB,WAAW,CAACE,SAAZ,GACHC,wBAAYF,SAAZ,EAAuBD,WAAW,CAACE,SAAnC,EAA+CI,CAAD,IAAOY,oBAAiBZ,CAAjB,EAAoBS,EAApB,CAArD,CADG,GAEHZ,sBAAWG,CAAD,IAAOY,oBAAiBZ,CAAjB,EAAoBS,EAApB,CAAjB,EAA0Cd,SAA1C,CAFJ;AAGD;AAED;;;;AAGA,uBAAmCF,IAAnC,EAAoDO,CAApD;AAA+D;AAAoBa,CAAnF,EAA2F;EACzF,OAAOV,oDAAeH,CAAf,EAAkBP,IAAlB,GAAiCI,yBAAaO,uBAAb,CAAjC,EAAgF,CAACC,GAAD,EAAMC,CAAN,KACrFT,8BAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAYH,0BAAQG,CAAR,EAAWO,CAAX,IAAgBN,EAAhB,GAAqBJ,4BAAUG,CAAV,CAAhD,CADK,CAAP;AAGD","names":["concN_","uniqueConcN_","Eq","conc","self","constraints","minLength","maxLength","tsplus_module_1","min","max","n","concN_1","g","tsplus_module_3","tsplus_module_2","gen","a","as","uniqueConc_","eq","tsplus_module_6","equals","uniqueConcN_1","E"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/conc.ts"],"sourcesContent":[null]}
@@ -1,60 +0,0 @@
1
- const fileName_1 = "(@fncts/test) src/control/Gen/api/double.ts";
2
- import * as tsplus_module_1 from "@fncts/test/control/Sample/api";
3
- import * as tsplus_module_2 from "@fncts/base/data/Maybe/constructors";
4
- import * as tsplus_module_3 from "@fncts/io/Random/api";
5
- import * as tsplus_module_4 from "@fncts/io/Stream/api";
6
- import * as tsplus_module_5 from "@fncts/io/IO/api";
7
- import * as tsplus_module_6 from "@fncts/test/control/Gen/api";
8
- export const arrayInt64 = arrayInt64_1;
9
- import { IllegalArgumentError } from "@fncts/base/data/exceptions";
10
- import { add64, computeArrayInt64GenerateRange, indexToDouble, isStrictlyPositive64, isStrictlySmaller64, safeDoubleToIndex, substract64, Unit64 } from "../../../util/math.mjs";
11
- import { Gen } from "../definition.mjs";
12
- /**
13
- * @tsplus static fncts.test.GenOps arrayInt64
14
- */
15
-
16
- function arrayInt64_1(min, max) {
17
- return new Gen(tsplus_module_4.map_(tsplus_module_4.flatMap_(tsplus_module_4.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined), fileName_1 + ":24:18"), ({
18
- min,
19
- max
20
- }) => tsplus_module_4.repeatIO(tsplus_module_3.nextArrayIntBetween(min, max, fileName_1 + ":25:76"), fileName_1 + ":25:49"), fileName_1 + ":25:15"), uncheckedValue => {
21
- if (uncheckedValue.data.length === 1) {
22
- uncheckedValue.data.unshift(0);
23
- }
24
-
25
- return tsplus_module_2.just(tsplus_module_1.shrinkArrayInt64(min)(uncheckedValue));
26
- }, fileName_1 + ":26:11"));
27
- }
28
- /**
29
- * @tsplus static fncts.test.GenOps double
30
- */
31
-
32
-
33
- export function double(constraints = {}) {
34
- const {
35
- noDefaultInfinity = false,
36
- noNaN = false,
37
- min = noDefaultInfinity ? -Number.MAX_VALUE : Number.NEGATIVE_INFINITY,
38
- max = noDefaultInfinity ? Number.MAX_VALUE : Number.POSITIVE_INFINITY
39
- } = constraints;
40
- return tsplus_module_6.unwrap(tsplus_module_5.gen(function* (_) {
41
- const minIndex = yield* _(safeDoubleToIndex(min, "min"), fileName_1 + ":47:32");
42
- const maxIndex = yield* _(safeDoubleToIndex(max, "max"), fileName_1 + ":48:32");
43
-
44
- if (isStrictlySmaller64(maxIndex, minIndex)) {
45
- return yield* _(tsplus_module_5.haltNow(new IllegalArgumentError("min must be less than or equal to max", "Gen.double"), fileName_1 + ":50:35"), fileName_1 + ":50:24");
46
- }
47
-
48
- if (noNaN) {
49
- return tsplus_module_6.map_(arrayInt64_1(minIndex, maxIndex), indexToDouble);
50
- }
51
-
52
- const positiveMaxIdx = isStrictlyPositive64(maxIndex);
53
- const minIndexWithNaN = positiveMaxIdx ? minIndex : substract64(minIndex, Unit64);
54
- const maxIndexWithNaN = positiveMaxIdx ? add64(maxIndex, Unit64) : maxIndex;
55
- return tsplus_module_6.map_(arrayInt64_1(minIndexWithNaN, maxIndexWithNaN), index => {
56
- if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return Number.NaN;else return indexToDouble(index);
57
- });
58
- }, fileName_1 + ":46:11"));
59
- }
60
- //# sourceMappingURL=double.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"double.mjs","mappings":";;;;;;;aAqBgBA,UAAU;AAlB1B,SAASC,oBAAT,QAAqC,6BAArC;AAEA,SACEC,KADF,EAEEC,8BAFF,EAGEC,aAHF,EAIEC,oBAJF,EAKEC,mBALF,EAMEC,iBANF,EAOEC,WAPF,EAQEC,MARF,QASO,wBATP;AAWA,SAASC,GAAT,QAAoB,mBAApB;AAEA;;;;AAGA,sBAA2BC,GAA3B,EAA4CC,GAA5C,EAA2D;EACzD,OAAO,IAAIF,GAAJ,CACLG,qEAAcV,8BAA8B,CAACQ,GAAD,EAAMC,GAAN,EAAWE,SAAX,EAAsBA,SAAtB,CAA5C,EAA4EC,qBAA5E,GACW,CAAC;IAAEJ,GAAF;IAAOC;EAAP,CAAD,KAAkBC,yBAAgBG,oCAA2BL,GAA3B,EAAgCC,GAAhC,EAAmCG,qBAAnC,CAAhB,EAAoDA,qBAApD,CAD7B,EACkFA,qBADlF,GAEQE,cAAD,IAAmB;IACtB,IAAIA,cAAc,CAACC,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;MACpCF,cAAc,CAACC,IAAf,CAAoBE,OAApB,CAA4B,CAA5B;IACD;;IACD,OAAOC,qBAAKC,iCAAwBX,GAAxB,EAA6BM,cAA7B,CAAL,CAAP;EACD,CAPH,EAOGF,qBAPH,CADK,CAAP;AAUD;AAED;;;;;AAGA,OAAM,SAAUQ,MAAV,CAAiBC,cAAoD,EAArE,EAAuE;EAC3E,MAAM;IACJC,iBAAiB,GAAG,KADhB;IAEJC,KAAK,GAAG,KAFJ;IAGJf,GAAG,GAAGc,iBAAiB,GAAG,CAACE,MAAM,CAACC,SAAX,GAAuBD,MAAM,CAACE,iBAHjD;IAIJjB,GAAG,GAAGa,iBAAiB,GAAGE,MAAM,CAACC,SAAV,GAAsBD,MAAM,CAACG;EAJhD,IAKFN,WALJ;EAMA,OAAOO,uBACLC,oBAAO,WAAWC,CAAX,EAAY;IACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAAC1B,iBAAiB,CAACI,GAAD,EAAM,KAAN,CAAlB,EAA8BI,qBAA9B,CAAzB;IACA,MAAMoB,QAAQ,GAAG,OAAOF,CAAC,CAAC1B,iBAAiB,CAACK,GAAD,EAAM,KAAN,CAAlB,EAA8BG,qBAA9B,CAAzB;;IACA,IAAIT,mBAAmB,CAAC6B,QAAD,EAAWD,QAAX,CAAvB,EAA6C;MAC3C,OAAO,OAAOD,CAAC,CAACD,wBAAW,IAAI/B,oBAAJ,CAAyB,uCAAzB,EAAkE,YAAlE,CAAX,EAA0Fc,qBAA1F,CAAD,EAA4FA,qBAA5F,CAAf;IACD;;IACD,IAAIW,KAAJ,EAAW;MACT,OAAOK,kCAAWG,QAAX,EAAqBC,QAArB,GAAmC/B,aAAnC,CAAP;IACD;;IACD,MAAMgC,cAAc,GAAI/B,oBAAoB,CAAC8B,QAAD,CAA5C;IACA,MAAME,eAAe,GAAGD,cAAc,GAAGF,QAAH,GAAc1B,WAAW,CAAC0B,QAAD,EAAWzB,MAAX,CAA/D;IACA,MAAM6B,eAAe,GAAGF,cAAc,GAAGlC,KAAK,CAACiC,QAAD,EAAW1B,MAAX,CAAR,GAA6B0B,QAAnE;IACA,OAAOJ,kCAAWM,eAAX,EAA4BC,eAA5B,GAAkDC,KAAD,IAAU;MAChE,IAAIjC,mBAAmB,CAAC6B,QAAD,EAAWI,KAAX,CAAnB,IAAwCjC,mBAAmB,CAACiC,KAAD,EAAQL,QAAR,CAA/D,EAAkF,OAAOP,MAAM,CAACa,GAAd,CAAlF,KACK,OAAOpC,aAAa,CAACmC,KAAD,CAApB;IACN,CAHM,CAAP;EAID,CAhBD,EAgBCxB,qBAhBD,CADK,CAAP;AAmBD","names":["arrayInt64","IllegalArgumentError","add64","computeArrayInt64GenerateRange","indexToDouble","isStrictlyPositive64","isStrictlySmaller64","safeDoubleToIndex","substract64","Unit64","Gen","min","max","tsplus_module_4","undefined","fileName_1","tsplus_module_3","uncheckedValue","data","length","unshift","tsplus_module_2","tsplus_module_1","double","constraints","noDefaultInfinity","noNaN","Number","MAX_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","tsplus_module_6","tsplus_module_5","_","minIndex","maxIndex","positiveMaxIdx","minIndexWithNaN","maxIndexWithNaN","index","NaN"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/double.ts"],"sourcesContent":[null]}
@@ -1,41 +0,0 @@
1
- const fileName_1 = "(@fncts/test) src/control/Gen/api/float.ts";
2
- import * as tsplus_module_1 from "@fncts/io/IO/api";
3
- import * as tsplus_module_2 from "@fncts/test/control/Gen/api";
4
- import { indexToFloat, MAX_VALUE_32, safeFloatToIndex } from "../../../util/math.mjs";
5
- /**
6
- * @tsplus static fncts.test.GenOps float
7
- */
8
-
9
- export function float(constraints = {}) {
10
- const {
11
- noDefaultInfinity = false,
12
- min = noDefaultInfinity ? -MAX_VALUE_32 : Number.NEGATIVE_INFINITY,
13
- max = noDefaultInfinity ? MAX_VALUE_32 : Number.POSITIVE_INFINITY,
14
- noNaN = false
15
- } = constraints;
16
- return tsplus_module_2.unwrap(tsplus_module_1.gen(function* (_) {
17
- const minIndex = yield* _(safeFloatToIndex(min, "min"), fileName_1 + ":18:32");
18
- const maxIndex = yield* _(safeFloatToIndex(max, "max"), fileName_1 + ":19:32");
19
-
20
- if (minIndex > maxIndex) {
21
- return yield* _(tsplus_module_1.haltNow(new Error("Gen.float constraints.min must be less than or equal to constraints.max"), fileName_1 + ":22:21"), fileName_1 + ":21:24");
22
- }
23
-
24
- if (noNaN) {
25
- return tsplus_module_2.map_(tsplus_module_2.int({
26
- min: minIndex,
27
- max: maxIndex
28
- }), indexToFloat);
29
- }
30
-
31
- const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
32
- const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
33
- return tsplus_module_2.map_(tsplus_module_2.int({
34
- min: minIndexWithNaN,
35
- max: maxIndexWithNaN
36
- }), index => {
37
- if (index > maxIndex || index < minIndex) return Number.NaN;else return indexToFloat(index);
38
- });
39
- }, fileName_1 + ":17:11"));
40
- }
41
- //# sourceMappingURL=float.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"float.mjs","mappings":";;;AAEA,SAASA,YAAT,EAAuBC,YAAvB,EAAqCC,gBAArC,QAA6D,wBAA7D;AAGA;;;;AAGA,OAAM,SAAUC,KAAV,CAAgBC,cAAoD,EAApE,EAAsE;EAC1E,MAAM;IACJC,iBAAiB,GAAG,KADhB;IAEJC,GAAG,GAAGD,iBAAiB,GAAG,CAACJ,YAAJ,GAAmBM,MAAM,CAACC,iBAF7C;IAGJC,GAAG,GAAGJ,iBAAiB,GAAGJ,YAAH,GAAkBM,MAAM,CAACG,iBAH5C;IAIJC,KAAK,GAAG;EAJJ,IAKFP,WALJ;EAMA,OAAOQ,uBACLC,oBAAO,WAAWC,CAAX,EAAY;IACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAACZ,gBAAgB,CAACI,GAAD,EAAM,KAAN,CAAjB,EAA6BU,qBAA7B,CAAzB;IACA,MAAMC,QAAQ,GAAG,OAAOH,CAAC,CAACZ,gBAAgB,CAACO,GAAD,EAAM,KAAN,CAAjB,EAA6BO,qBAA7B,CAAzB;;IACA,IAAID,QAAQ,GAAGE,QAAf,EAAyB;MACvB,OAAO,OAAOH,CAAC,CACbD,wBAAW,IAAIK,KAAJ,CAAU,yEAAV,CAAX,EAA+FF,qBAA/F,CADa,EACmFA,qBADnF,CAAf;IAGD;;IACD,IAAIL,KAAJ,EAAW;MACT,OAAOC,yCAAQ;QAAEN,GAAG,EAAES,QAAP;QAAiBN,GAAG,EAAEQ;MAAtB,CAAR,GAA8CjB,YAA9C,CAAP;IACD;;IACD,MAAMmB,eAAe,GAAGF,QAAQ,GAAG,CAAX,GAAeF,QAAf,GAA0BA,QAAQ,GAAG,CAA7D;IACA,MAAMK,eAAe,GAAGH,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAG,CAA1B,GAA8BA,QAAtD;IACA,OAAOL,yCAAQ;MAAEN,GAAG,EAAEa,eAAP;MAAwBV,GAAG,EAAEW;IAA7B,CAAR,GAA6DC,KAAD,IAAU;MAC3E,IAAIA,KAAK,GAAGJ,QAAR,IAAoBI,KAAK,GAAGN,QAAhC,EAA0C,OAAOR,MAAM,CAACe,GAAd,CAA1C,KACK,OAAOtB,YAAY,CAACqB,KAAD,CAAnB;IACN,CAHM,CAAP;EAID,CAjBD,EAiBCL,qBAjBD,CADK,CAAP;AAoBD","names":["indexToFloat","MAX_VALUE_32","safeFloatToIndex","float","constraints","noDefaultInfinity","min","Number","NEGATIVE_INFINITY","max","POSITIVE_INFINITY","noNaN","tsplus_module_2","tsplus_module_1","_","minIndex","fileName_1","maxIndex","Error","minIndexWithNaN","maxIndexWithNaN","index","NaN"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/float.ts"],"sourcesContent":[null]}
@@ -1,72 +0,0 @@
1
- import * as tsplus_module_1 from "@fncts/test/control/Gen/api";
2
- import * as tsplus_module_2 from "@fncts/test/control/Gen/api/array";
3
- export const string = string_1;
4
- export const stringN = stringN_1;
5
- import { alphaNumericChar, asciiChar, base64Char, char16, fullUnicodeChar, hexChar, unicodeChar } from "./char.mjs";
6
- /**
7
- * @tsplus static fncts.test.GenOps asciiString
8
- */
9
-
10
- export function asciiString(constraints) {
11
- return string_1(asciiChar, constraints);
12
- }
13
- /**
14
- * @tsplus static fncts.test.GenOps alphaNumericString
15
- */
16
-
17
- export function alphaNumericString(constraints = {}) {
18
- return string_1(alphaNumericChar, constraints);
19
- }
20
- /**
21
- * @tsplus static fncts.test.GenOps base64String
22
- */
23
-
24
- export function base64String(constraints = {}) {
25
- return string_1(base64Char, constraints);
26
- }
27
- /**
28
- * @tsplus static fncts.test.GenOps fullUnicodeString
29
- */
30
-
31
- export function fullUnicodeString(constraints = {}) {
32
- return string_1(fullUnicodeChar, constraints);
33
- }
34
- /**
35
- * @tsplus static fncts.test.GenOps hexString
36
- */
37
-
38
- export function hexString(constraints = {}) {
39
- return string_1(hexChar, constraints);
40
- }
41
- /**
42
- * @tsplus static fncts.test.GenOps string16
43
- */
44
-
45
- export function string16(constraints = {}) {
46
- return string_1(char16, constraints);
47
- }
48
- /**
49
- * @tsplus fluent fncts.test.Gen string
50
- */
51
-
52
- function string_1(char, constraints = {}) {
53
- const min = constraints.minLength || 0;
54
- return constraints.maxLength ? tsplus_module_1.bounded(min, constraints.maxLength, n => stringN_1(char, n)) : tsplus_module_1.small(n => stringN_1(char, n), min);
55
- }
56
- /**
57
- * @tsplus fluent fncts.test.Gen stringN
58
- */
59
-
60
-
61
- function stringN_1(char, n) {
62
- return tsplus_module_1.map_(tsplus_module_2.arrayN_(char, n), arr => arr.join(""));
63
- }
64
- /**
65
- * @tsplus static fncts.test.GenOps unicodeString
66
- */
67
-
68
-
69
- export function unicodeString(constraints = {}) {
70
- return string_1(unicodeChar, constraints);
71
- }
72
- //# sourceMappingURL=string.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.mjs","mappings":";;aAmDgBA,MAAM;aAUNC,OAAO;AAzDvB,SAASC,gBAAT,EAA2BC,SAA3B,EAAsCC,UAAtC,EAAkDC,MAAlD,EAA0DC,eAA1D,EAA2EC,OAA3E,EAAoFC,WAApF,QAAuG,YAAvG;AAEA;;;;AAGA,OAAM,SAAUC,WAAV,CAAyBC,WAAzB,EAAwD;EAC5D,OAAOC,oBAAiBD,WAAjB,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUE,kBAAV,CAA6BF,cAAiC,EAA9D,EAAgE;EACpE,OAAOC,2BAAwBD,WAAxB,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUG,YAAV,CAAuBH,cAAiC,EAAxD,EAA0D;EAC9D,OAAOC,qBAAkBD,WAAlB,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUI,iBAAV,CAA4BJ,cAAiC,EAA7D,EAA+D;EACnE,OAAOC,0BAAuBD,WAAvB,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUK,SAAV,CAAoBL,cAAiC,EAArD,EAAuD;EAC3D,OAAOC,kBAAeD,WAAf,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUM,QAAV,CAAmBN,cAAiC,EAApD,EAAsD;EAC1D,OAAOC,iBAAcD,WAAd,CAAP;AACD;AAED;;;;AAGA,kBAA0BO,IAA1B,EAAgDP,cAAiC,EAAjF,EAAmF;EACjF,MAAMQ,GAAG,GAAGR,WAAW,CAACS,SAAZ,IAAyB,CAArC;EACA,OAAOT,WAAW,CAACU,SAAZ,GACHC,wBAAYH,GAAZ,EAAiBR,WAAW,CAACU,SAA7B,EAAyCE,CAAD,IAAOC,gBAAaD,CAAb,CAA/C,CADG,GAEHD,sBAAWC,CAAD,IAAOC,gBAAaD,CAAb,CAAjB,EAAkCJ,GAAlC,CAFJ;AAGD;AAED;;;;;AAGA,mBAA2BD,IAA3B,EAAiDK,CAAjD,EAA0D;EACxD,OAAOD,mDAAYC,CAAZ,GAAoBE,GAAD,IAASA,GAAG,CAACC,IAAJ,CAAS,EAAT,CAA5B,CAAP;AACD;AAED;;;;;AAGA,OAAM,SAAUC,aAAV,CAAwBhB,cAAiC,EAAzD,EAA2D;EAC/D,OAAOC,sBAAmBD,WAAnB,CAAP;AACD","names":["string","stringN","alphaNumericChar","asciiChar","base64Char","char16","fullUnicodeChar","hexChar","unicodeChar","asciiString","constraints","string_1","alphaNumericString","base64String","fullUnicodeString","hexString","string16","char","min","minLength","maxLength","tsplus_module_1","n","stringN_1","arr","join","unicodeString"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/string.ts"],"sourcesContent":[null]}
@@ -1,18 +0,0 @@
1
- const fileName_1 = "(@fncts/test) src/control/Gen/api/struct.ts";
2
- import * as tsplus_module_1 from "@fncts/test/control/Gen/api";
3
- import * as tsplus_module_2 from "@fncts/base/collection/compat/Array/api";
4
- import * as tsplus_module_3 from "@fncts/io/IO/api";
5
- import * as tsplus_module_4 from "@fncts/io/Random/api";
6
- export function struct(properties) {
7
- const entries = Object.entries(properties);
8
- return tsplus_module_2.foldLeft(entries, tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.zipWith_(b, gen, (out, a) => ({ ...out,
9
- [k]: a
10
- })));
11
- }
12
- export function partial(properties) {
13
- const entries = Object.entries(properties);
14
- return tsplus_module_2.foldLeft(entries, tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.unwrap(tsplus_module_3.ifIO_(tsplus_module_4.nextBoolean, () => tsplus_module_3.succeed(() => tsplus_module_1.zipWith_(b, gen, (r, a) => ({ ...r,
15
- [k]: a
16
- })), fileName_1 + ":19:50"), () => tsplus_module_3.succeed(() => b, fileName_1 + ":19:108"), fileName_1 + ":19:39")));
17
- }
18
- //# sourceMappingURL=struct.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"struct.mjs","mappings":";;;;;AAIA,OAAM,SAAUA,MAAV,CACJC,UADI,EACS;EAEb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,kCAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,4BAAUG,GAAV,EAAe,CAACC,GAAD,EAAMC,CAAN,MAAa,EAAE,GAAGD,GAAL;IAAU,CAACF,CAAD,GAAKG;EAAf,CAAb,CAAf,CADK,CAAP;AAGD;AAED,OAAM,SAAUC,OAAV,CACJV,UADI,EACS;EAEb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,kCAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,uBAAWO,yDAAwBA,8BAAWP,4BAAUG,GAAV,EAAe,CAACK,CAAD,EAAIH,CAAJ,MAAW,EAAE,GAAGG,CAAL;IAAQ,CAACN,CAAD,GAAKG;EAAb,CAAX,CAAf,CAAX,EAAuDI,qBAAvD,CAAxB,EAAgF,MAAEF,8BAAWN,CAAX,EAAYQ,sBAAZ,CAAlF,EAA+FA,qBAA/F,CAAX,CADK,CAAP;AAGD","names":["struct","properties","entries","Object","tsplus_module_2","tsplus_module_1","b","k","gen","out","a","partial","tsplus_module_3","r","fileName_1"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/struct.ts"],"sourcesContent":[null]}
@@ -1,31 +0,0 @@
1
- import type { Sized } from "../../Sized.js";
2
- import type { EqConstraint, LengthConstraints } from "../constraints.js";
3
-
4
- import { Gen } from "../definition.js";
5
-
6
- /**
7
- * @tsplus fluent fncts.test.Gen array
8
- */
9
- export function array<R, A>(g: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R | Sized, ReadonlyArray<A>> {
10
- const minLength = constraints.minLength || 0;
11
- return constraints.maxLength
12
- ? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => g.arrayN(n))
13
- : Gen.small((n) => g.arrayN(n), minLength);
14
- }
15
-
16
- /**
17
- * @tsplus fluent fncts.test.Gen arrayN
18
- */
19
- export function arrayN_<R, A>(self: Gen<R, A>, n: number): Gen<R, ReadonlyArray<A>> {
20
- return self.concN(n).map((conc) => conc.toArray);
21
- }
22
-
23
- /**
24
- * @tsplus fluent fncts.test.Gen uniqueArray
25
- */
26
- export function uniqueArray_<R, A>(
27
- gen: Gen<R, A>,
28
- constraints: LengthConstraints & EqConstraint<A> = {},
29
- ): Gen<Sized | R, ReadonlyArray<A>> {
30
- return gen.uniqueConc(constraints).map((conc) => conc.toArray);
31
- }
@@ -1,83 +0,0 @@
1
- import type { NumberConstraints } from "../constraints.js";
2
-
3
- import { identity } from "@fncts/base/data/function";
4
-
5
- import { Gen } from "../definition.js";
6
-
7
- const gapSize = 0xdfff + 1 - 0xd800;
8
-
9
- /**
10
- * @tsplus static fncts.test.GenOps alphaNumericChar
11
- */
12
- export const alphaNumericChar: Gen<never, string> = Gen.weighted(
13
- [Gen.char({ min: 48, max: 57 }), 10],
14
- [Gen.char({ min: 65, max: 90 }), 26],
15
- [Gen.char({ min: 97, max: 122 }), 26],
16
- );
17
-
18
- /**
19
- * @tsplus static fncts.test.GenOps asciiChar
20
- */
21
- export const asciiChar: Gen<never, string> = _char(0x00, 0x7f, indexToPrintableIndex);
22
-
23
- /**
24
- * @tsplus static fncts.test.GenOps base64Char
25
- */
26
- export const base64Char: Gen<never, string> = _char(0, 63, base64ToCharCode);
27
-
28
- /**
29
- * @tsplus static fncts.test.GenOps char
30
- */
31
- export function char(constraints: Required<NumberConstraints>): Gen<never, string> {
32
- return _char(constraints.min, constraints.max, identity);
33
- }
34
-
35
- /**
36
- * @tsplus static fncts.test.GenOps char16
37
- */
38
- export const char16: Gen<never, string> = _char(0x0000, 0xffff, indexToPrintableIndex);
39
-
40
- /**
41
- * @tsplus static fncts.test.GenOps fullUnicodeChar
42
- */
43
- export const fullUnicodeChar: Gen<never, string> = _char(0x0000, 0x10ffff - gapSize, unicodeToCharCode);
44
-
45
- /**
46
- * @tsplus static fncts.test.GenOps hexChar
47
- */
48
- export const hexChar: Gen<never, string> = _char(0, 15, hexToCharCode);
49
-
50
- /**
51
- * @tsplus static fncts.test.GenOps printableChar
52
- */
53
- export const printableChar: Gen<never, string> = char({ min: 0x20, max: 0x7e });
54
-
55
- /**
56
- * @tsplus static fncts.test.GenOps unicodeChar
57
- */
58
- export const unicodeChar: Gen<never, string> = _char(0x0000, 0xffff - gapSize, unicodeToCharCode);
59
-
60
- function _char(min: number, max: number, mapToCode: (v: number) => number): Gen<never, string> {
61
- return Gen.int({ min, max }).map((n) => String.fromCharCode(mapToCode(n)));
62
- }
63
-
64
- function indexToPrintableIndex(v: number): number {
65
- return v < 95 ? v + 0x20 : v <= 0x7e ? v - 95 : v;
66
- }
67
-
68
- function base64ToCharCode(v: number): number {
69
- if (v < 26) return v + 65; // A-Z
70
- if (v < 52) return v + 97 - 26; // a-z
71
- if (v < 62) return v + 48 - 52; // 0-9
72
- return v === 62 ? 43 : 47; // +/
73
- }
74
-
75
- function hexToCharCode(v: number): number {
76
- return v < 10
77
- ? v + 48 // 0-9
78
- : v + 97 - 10; // a-f
79
- }
80
-
81
- function unicodeToCharCode(v: number): number {
82
- return v < 0xd800 ? indexToPrintableIndex(v) : v + gapSize;
83
- }
@@ -1,48 +0,0 @@
1
- import type { Sized } from "../../Sized.js";
2
- import type { EqConstraint, LengthConstraints } from "../constraints.js";
3
-
4
- import { Eq, Equatable } from "@fncts/base/typeclass";
5
-
6
- import { Gen } from "../definition.js";
7
-
8
- /**
9
- * @tsplus fluent fncts.test.Gen conc
10
- */
11
- export function conc<R, A>(self: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R | Sized, Conc<A>> {
12
- const minLength = constraints.minLength ?? 0;
13
- return constraints.maxLength
14
- ? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => self.concN(n))
15
- : Gen.small((n) => self.concN(n), minLength);
16
- }
17
-
18
- /**
19
- * @tsplus fluent fncts.test.Gen concN
20
- */
21
- export function concN_<R, A>(g: Gen<R, A>, n: number): Gen<R, Conc<A>> {
22
- return Conc.replicate(n, g).foldLeft(Gen.constant(Conc.empty()) as Gen<R, Conc<A>>, (gen, a) =>
23
- gen.zipWith(a, (as, a) => as.append(a)),
24
- );
25
- }
26
-
27
- /**
28
- * @tsplus fluent fncts.test.Gen uniqueConc
29
- */
30
- export function uniqueConc_<R, A>(
31
- self: Gen<R, A>,
32
- constraints: LengthConstraints & EqConstraint<A> = {},
33
- ): Gen<Sized | R, Conc<A>> {
34
- const minLength = constraints.minLength ?? 0;
35
- const eq = constraints.eq ?? Eq({ equals: Equatable.strictEquals });
36
- return constraints.maxLength
37
- ? Gen.bounded(minLength, constraints.maxLength, (n) => self.uniqueConcN(n, eq))
38
- : Gen.small((n) => self.uniqueConcN(n, eq), minLength);
39
- }
40
-
41
- /**
42
- * @tsplus fluent fncts.test.Gen uniqueConcN
43
- */
44
- export function uniqueConcN_<R, A>(self: Gen<R, A>, n: number, /** @tsplus auto */ E: Eq<A>): Gen<R, Conc<A>> {
45
- return Conc.replicate(n, self).foldLeft(Gen.constant(Conc.empty()) as Gen<R, Conc<A>>, (gen, a) =>
46
- gen.zipWith(a, (as, a) => (as.elem(a, E) ? as : as.append(a))),
47
- );
48
- }
@@ -1,64 +0,0 @@
1
- import type { FloatConstraints, NumberConstraints } from "../constraints.js";
2
- import type { ArrayInt64 } from "@fncts/base/util/rand";
3
-
4
- import { IllegalArgumentError } from "@fncts/base/data/exceptions";
5
-
6
- import {
7
- add64,
8
- computeArrayInt64GenerateRange,
9
- indexToDouble,
10
- isStrictlyPositive64,
11
- isStrictlySmaller64,
12
- safeDoubleToIndex,
13
- substract64,
14
- Unit64,
15
- } from "../../../util/math.js";
16
- import { Sample } from "../../Sample.js";
17
- import { Gen } from "../definition.js";
18
-
19
- /**
20
- * @tsplus static fncts.test.GenOps arrayInt64
21
- */
22
- export function arrayInt64(min: ArrayInt64, max: ArrayInt64): Gen<never, ArrayInt64> {
23
- return new Gen(
24
- Stream.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined))
25
- .flatMap(({ min, max }) => Stream.repeatIO(Random.nextArrayIntBetween(min, max)))
26
- .map((uncheckedValue) => {
27
- if (uncheckedValue.data.length === 1) {
28
- uncheckedValue.data.unshift(0);
29
- }
30
- return Just(Sample.shrinkArrayInt64(min)(uncheckedValue as ArrayInt64));
31
- }),
32
- );
33
- }
34
-
35
- /**
36
- * @tsplus static fncts.test.GenOps double
37
- */
38
- export function double(constraints: NumberConstraints & FloatConstraints = {}): Gen<never, number> {
39
- const {
40
- noDefaultInfinity = false,
41
- noNaN = false,
42
- min = noDefaultInfinity ? -Number.MAX_VALUE : Number.NEGATIVE_INFINITY,
43
- max = noDefaultInfinity ? Number.MAX_VALUE : Number.POSITIVE_INFINITY,
44
- } = constraints;
45
- return Gen.unwrap(
46
- IO.gen(function* (_) {
47
- const minIndex = yield* _(safeDoubleToIndex(min, "min"));
48
- const maxIndex = yield* _(safeDoubleToIndex(max, "max"));
49
- if (isStrictlySmaller64(maxIndex, minIndex)) {
50
- return yield* _(IO.haltNow(new IllegalArgumentError("min must be less than or equal to max", "Gen.double")));
51
- }
52
- if (noNaN) {
53
- return arrayInt64(minIndex, maxIndex).map(indexToDouble);
54
- }
55
- const positiveMaxIdx = isStrictlyPositive64(maxIndex);
56
- const minIndexWithNaN = positiveMaxIdx ? minIndex : substract64(minIndex, Unit64);
57
- const maxIndexWithNaN = positiveMaxIdx ? add64(maxIndex, Unit64) : maxIndex;
58
- return arrayInt64(minIndexWithNaN, maxIndexWithNaN).map((index) => {
59
- if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return Number.NaN;
60
- else return indexToDouble(index);
61
- });
62
- }),
63
- );
64
- }
@@ -1,36 +0,0 @@
1
- import type { FloatConstraints, NumberConstraints } from "../constraints.js";
2
-
3
- import { indexToFloat, MAX_VALUE_32, safeFloatToIndex } from "../../../util/math.js";
4
- import { Gen } from "../definition.js";
5
-
6
- /**
7
- * @tsplus static fncts.test.GenOps float
8
- */
9
- export function float(constraints: NumberConstraints & FloatConstraints = {}): Gen<never, number> {
10
- const {
11
- noDefaultInfinity = false,
12
- min = noDefaultInfinity ? -MAX_VALUE_32 : Number.NEGATIVE_INFINITY,
13
- max = noDefaultInfinity ? MAX_VALUE_32 : Number.POSITIVE_INFINITY,
14
- noNaN = false,
15
- } = constraints;
16
- return Gen.unwrap(
17
- IO.gen(function* (_) {
18
- const minIndex = yield* _(safeFloatToIndex(min, "min"));
19
- const maxIndex = yield* _(safeFloatToIndex(max, "max"));
20
- if (minIndex > maxIndex) {
21
- return yield* _(
22
- IO.haltNow(new Error("Gen.float constraints.min must be less than or equal to constraints.max")),
23
- );
24
- }
25
- if (noNaN) {
26
- return Gen.int({ min: minIndex, max: maxIndex }).map(indexToFloat);
27
- }
28
- const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
29
- const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
30
- return Gen.int({ min: minIndexWithNaN, max: maxIndexWithNaN }).map((index) => {
31
- if (index > maxIndex || index < minIndex) return Number.NaN;
32
- else return indexToFloat(index);
33
- });
34
- }),
35
- );
36
- }
@@ -1,71 +0,0 @@
1
- import type { Sized } from "../../Sized.js";
2
- import type { LengthConstraints } from "../constraints.js";
3
-
4
- import { Gen } from "../definition.js";
5
- import { alphaNumericChar, asciiChar, base64Char, char16, fullUnicodeChar, hexChar, unicodeChar } from "./char.js";
6
-
7
- /**
8
- * @tsplus static fncts.test.GenOps asciiString
9
- */
10
- export function asciiString<R>(constraints?: LengthConstraints): Gen<R | Sized, string> {
11
- return asciiChar.string(constraints);
12
- }
13
-
14
- /**
15
- * @tsplus static fncts.test.GenOps alphaNumericString
16
- */
17
- export function alphaNumericString(constraints: LengthConstraints = {}): Gen<Sized, string> {
18
- return alphaNumericChar.string(constraints);
19
- }
20
-
21
- /**
22
- * @tsplus static fncts.test.GenOps base64String
23
- */
24
- export function base64String(constraints: LengthConstraints = {}): Gen<Sized, string> {
25
- return base64Char.string(constraints);
26
- }
27
-
28
- /**
29
- * @tsplus static fncts.test.GenOps fullUnicodeString
30
- */
31
- export function fullUnicodeString(constraints: LengthConstraints = {}): Gen<Sized, string> {
32
- return fullUnicodeChar.string(constraints);
33
- }
34
-
35
- /**
36
- * @tsplus static fncts.test.GenOps hexString
37
- */
38
- export function hexString(constraints: LengthConstraints = {}): Gen<Sized, string> {
39
- return hexChar.string(constraints);
40
- }
41
-
42
- /**
43
- * @tsplus static fncts.test.GenOps string16
44
- */
45
- export function string16(constraints: LengthConstraints = {}): Gen<Sized, string> {
46
- return char16.string(constraints);
47
- }
48
-
49
- /**
50
- * @tsplus fluent fncts.test.Gen string
51
- */
52
- export function string<R>(char: Gen<R, string>, constraints: LengthConstraints = {}): Gen<R | Sized, string> {
53
- const min = constraints.minLength || 0;
54
- return constraints.maxLength
55
- ? Gen.bounded(min, constraints.maxLength, (n) => char.stringN(n))
56
- : Gen.small((n) => char.stringN(n), min);
57
- }
58
-
59
- /**
60
- * @tsplus fluent fncts.test.Gen stringN
61
- */
62
- export function stringN<R>(char: Gen<R, string>, n: number): Gen<R, string> {
63
- return char.arrayN(n).map((arr) => arr.join(""));
64
- }
65
-
66
- /**
67
- * @tsplus static fncts.test.GenOps unicodeString
68
- */
69
- export function unicodeString(constraints: LengthConstraints = {}): Gen<Sized, string> {
70
- return unicodeChar.string(constraints);
71
- }
@@ -1,21 +0,0 @@
1
- import type { _A, _R } from "@fncts/base/types";
2
-
3
- import { Gen } from "../definition.js";
4
-
5
- export function struct<P extends Record<string, Gen<any, any>>>(
6
- properties: P,
7
- ): Gen<_R<P[keyof P]>, { readonly [K in keyof P]: _A<P[K]> }> {
8
- const entries = Object.entries(properties);
9
- return entries.foldLeft(Gen.constant({}) as Gen<any, any>, (b, [k, gen]) =>
10
- b.zipWith(gen, (out, a) => ({ ...out, [k]: a })),
11
- );
12
- }
13
-
14
- export function partial<P extends Record<string, Gen<any, any>>>(
15
- properties: P,
16
- ): Gen<unknown & _R<P[keyof P]>, Partial<{ readonly [K in keyof P]: _A<P[K]> }>> {
17
- const entries = Object.entries(properties);
18
- return entries.foldLeft(Gen.constant({}) as Gen<any, any>, (b, [k, gen]) =>
19
- Gen.unwrap(Random.nextBoolean.ifIO(IO.succeed(b.zipWith(gen, (r, a) => ({ ...r, [k]: a }))), IO.succeed(b))),
20
- );
21
- }