@fncts/test 0.0.21 → 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 (426) hide show
  1. package/_cjs/api.cjs +2 -47
  2. package/_cjs/api.cjs.map +1 -1
  3. package/_cjs/control/AbstractRunnableSpec.cjs +0 -11
  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 +9 -30
  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 +8 -70
  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 +0 -12
  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 +5 -74
  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 +0 -20
  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 +496 -176
  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 +0 -18
  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 +1 -21
  48. package/_cjs/control/RunnableSpec.cjs.map +1 -1
  49. package/_cjs/control/Sample/api.cjs +1 -56
  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 +0 -12
  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 +1 -82
  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 +0 -21
  70. package/_cjs/control/SummaryBuilder.cjs.map +1 -1
  71. package/_cjs/control/Test.cjs +0 -10
  72. package/_cjs/control/Test.cjs.map +1 -1
  73. package/_cjs/control/TestAnnotationRenderer/api.cjs +4 -31
  74. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
  75. package/_cjs/control/TestAnnotationRenderer/definition.cjs +2 -18
  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 +3 -44
  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 +10 -29
  84. package/_cjs/control/TestClock/api.cjs.map +1 -1
  85. package/_cjs/control/TestClock/definition.cjs +57 -107
  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 +0 -18
  90. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  91. package/_cjs/control/TestConsole/definition.cjs +24 -45
  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 +0 -12
  96. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  97. package/_cjs/control/TestExecutor.cjs +0 -14
  98. package/_cjs/control/TestExecutor.cjs.map +1 -1
  99. package/_cjs/control/TestLogger.cjs +0 -15
  100. package/_cjs/control/TestLogger.cjs.map +1 -1
  101. package/_cjs/control/TestRandom/api.cjs +0 -30
  102. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  103. package/_cjs/control/TestRandom/definition.cjs +56 -134
  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 +0 -25
  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 +1 -16
  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 +4 -26
  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 +0 -29
  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 +4 -53
  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 +0 -22
  140. package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
  141. package/_cjs/data/LogLine/Line.cjs +0 -32
  142. package/_cjs/data/LogLine/Line.cjs.map +1 -1
  143. package/_cjs/data/LogLine/Message.cjs +0 -34
  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 +2 -16
  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 +1 -16
  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 +2 -17
  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 +0 -10
  186. package/_cjs/demo.cjs.map +1 -1
  187. package/_cjs/util/math.cjs +14 -142
  188. package/_cjs/util/math.cjs.map +1 -1
  189. package/_mjs/api.mjs +2 -13
  190. package/_mjs/api.mjs.map +1 -1
  191. package/_mjs/control/AbstractRunnableSpec.mjs +0 -6
  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 +9 -13
  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 +6 -21
  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 +0 -3
  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 +5 -38
  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 +0 -8
  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 +430 -120
  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 +0 -5
  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 +1 -4
  230. package/_mjs/control/RunnableSpec.mjs.map +1 -1
  231. package/_mjs/control/Sample/api.mjs +1 -31
  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 +0 -3
  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 +1 -45
  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 +0 -5
  249. package/_mjs/control/SummaryBuilder.mjs.map +1 -1
  250. package/_mjs/control/Test.mjs +0 -1
  251. package/_mjs/control/Test.mjs.map +1 -1
  252. package/_mjs/control/TestAnnotationRenderer/api.mjs +4 -20
  253. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
  254. package/_mjs/control/TestAnnotationRenderer/definition.mjs +2 -8
  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 +3 -7
  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 +10 -13
  261. package/_mjs/control/TestClock/api.mjs.map +1 -1
  262. package/_mjs/control/TestClock/definition.mjs +57 -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 +0 -3
  266. package/_mjs/control/TestConsole/api.mjs.map +1 -1
  267. package/_mjs/control/TestConsole/definition.mjs +24 -31
  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.map +1 -1
  271. package/_mjs/control/TestExecutor.mjs.map +1 -1
  272. package/_mjs/control/TestLogger.mjs +0 -5
  273. package/_mjs/control/TestLogger.mjs.map +1 -1
  274. package/_mjs/control/TestRandom/api.mjs +0 -10
  275. package/_mjs/control/TestRandom/api.mjs.map +1 -1
  276. package/_mjs/control/TestRandom/definition.mjs +56 -113
  277. package/_mjs/control/TestRandom/definition.mjs.map +1 -1
  278. package/_mjs/control/TestRandom.mjs.map +1 -1
  279. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +0 -10
  280. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
  281. package/_mjs/control/TestRunner.mjs +2 -6
  282. package/_mjs/control/TestRunner.mjs.map +1 -1
  283. package/_mjs/data/AssertionData.mjs +0 -5
  284. package/_mjs/data/AssertionData.mjs.map +1 -1
  285. package/_mjs/data/AssertionResult.mjs +0 -2
  286. package/_mjs/data/AssertionResult.mjs.map +1 -1
  287. package/_mjs/data/AssertionValue/api.mjs +1 -6
  288. package/_mjs/data/AssertionValue/api.mjs.map +1 -1
  289. package/_mjs/data/AssertionValue/definition.mjs +0 -2
  290. package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
  291. package/_mjs/data/AssertionValue.mjs.map +1 -1
  292. package/_mjs/data/ExecutedSpec/api.mjs +3 -13
  293. package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
  294. package/_mjs/data/ExecutedSpec/definition.mjs +5 -13
  295. package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
  296. package/_mjs/data/ExecutedSpec.mjs.map +1 -1
  297. package/_mjs/data/ExecutionResult.mjs +0 -16
  298. package/_mjs/data/ExecutionResult.mjs.map +1 -1
  299. package/_mjs/data/FailureDetails.mjs +0 -1
  300. package/_mjs/data/FailureDetails.mjs.map +1 -1
  301. package/_mjs/data/FreeBooleanAlgebra/api.mjs +4 -37
  302. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
  303. package/_mjs/data/FreeBooleanAlgebra/definition.mjs +8 -16
  304. package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
  305. package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -1
  306. package/_mjs/data/GenFailureDetails.mjs +0 -1
  307. package/_mjs/data/GenFailureDetails.mjs.map +1 -1
  308. package/_mjs/data/LogLine/Fragment.mjs +0 -9
  309. package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
  310. package/_mjs/data/LogLine/Line.mjs +0 -15
  311. package/_mjs/data/LogLine/Line.mjs.map +1 -1
  312. package/_mjs/data/LogLine/Message.mjs +0 -18
  313. package/_mjs/data/LogLine/Message.mjs.map +1 -1
  314. package/_mjs/data/LogLine/Style.mjs +10 -39
  315. package/_mjs/data/LogLine/Style.mjs.map +1 -1
  316. package/_mjs/data/LogLine/api.mjs.map +1 -1
  317. package/_mjs/data/LogLine.mjs.map +1 -1
  318. package/_mjs/data/Render/api.mjs +0 -2
  319. package/_mjs/data/Render/api.mjs.map +1 -1
  320. package/_mjs/data/Render/definition.mjs +2 -8
  321. package/_mjs/data/Render/definition.mjs.map +1 -1
  322. package/_mjs/data/Render.mjs.map +1 -1
  323. package/_mjs/data/RenderParam/api.mjs +3 -10
  324. package/_mjs/data/RenderParam/api.mjs.map +1 -1
  325. package/_mjs/data/RenderParam/definition.mjs +4 -8
  326. package/_mjs/data/RenderParam/definition.mjs.map +1 -1
  327. package/_mjs/data/RenderParam.mjs.map +1 -1
  328. package/_mjs/data/Summary.mjs +0 -1
  329. package/_mjs/data/Summary.mjs.map +1 -1
  330. package/_mjs/data/TestAnnotation/api.mjs +1 -7
  331. package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
  332. package/_mjs/data/TestAnnotation/definition.mjs +4 -8
  333. package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
  334. package/_mjs/data/TestAnnotation.mjs.map +1 -1
  335. package/_mjs/data/TestAnnotationMap.mjs +2 -8
  336. package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
  337. package/_mjs/data/TestArgs/definition.mjs +0 -1
  338. package/_mjs/data/TestArgs/definition.mjs.map +1 -1
  339. package/_mjs/data/TestArgs.mjs.map +1 -1
  340. package/_mjs/data/TestConfig.mjs +0 -8
  341. package/_mjs/data/TestConfig.mjs.map +1 -1
  342. package/_mjs/data/TestFailure.mjs +4 -12
  343. package/_mjs/data/TestFailure.mjs.map +1 -1
  344. package/_mjs/data/TestSuccess.mjs +4 -10
  345. package/_mjs/data/TestSuccess.mjs.map +1 -1
  346. package/_mjs/data/TestTimeoutException.mjs +0 -1
  347. package/_mjs/data/TestTimeoutException.mjs.map +1 -1
  348. package/_mjs/demo.mjs +0 -3
  349. package/_mjs/demo.mjs.map +1 -1
  350. package/_mjs/util/math.mjs +14 -111
  351. package/_mjs/util/math.mjs.map +1 -1
  352. package/_src/api.ts +2 -2
  353. package/_src/control/AbstractRunnableSpec.ts +0 -3
  354. package/_src/control/Annotations/live.ts +4 -6
  355. package/_src/control/Assertion/api.ts +5 -5
  356. package/_src/control/DefaultTestReporter/render.ts +1 -1
  357. package/_src/control/Gen/api.ts +429 -40
  358. package/_src/control/Gen.ts +0 -9
  359. package/_src/control/RunnableSpec.ts +1 -1
  360. package/_src/control/Sample/api.ts +1 -1
  361. package/_src/control/Spec/api.ts +1 -1
  362. package/_src/control/TestAspect/api.ts +2 -2
  363. package/_src/control/TestClock/definition.ts +9 -8
  364. package/_src/control/TestConsole/definition.ts +1 -1
  365. package/_src/control/TestRunner.ts +0 -3
  366. package/_src/data/AssertionValue/api.ts +1 -1
  367. package/_src/data/ExecutedSpec/api.ts +3 -3
  368. package/_src/data/RenderParam/api.ts +1 -1
  369. package/_src/data/TestAnnotation/api.ts +1 -1
  370. package/_src/data/TestAnnotationMap.ts +2 -2
  371. package/api.d.ts +2 -2
  372. package/control/AbstractRunnableSpec.d.ts +0 -1
  373. package/control/Annotations/live.d.ts +1 -1
  374. package/control/Assertion/api.d.ts +2 -2
  375. package/control/Gen/api.d.ts +207 -24
  376. package/control/Gen.d.ts +0 -7
  377. package/control/TestClock/definition.d.ts +2 -2
  378. package/control/TestConsole/definition.d.ts +3 -3
  379. package/control/TestRandom/definition.d.ts +1 -1
  380. package/control/TestRunner.d.ts +1 -3
  381. package/data/ExecutedSpec/api.d.ts +2 -2
  382. package/data/TestAnnotation/api.d.ts +1 -1
  383. package/data/TestAnnotation/definition.d.ts +2 -2
  384. package/package.json +4 -4
  385. package/_cjs/control/Gen/api/array.cjs +0 -56
  386. package/_cjs/control/Gen/api/array.cjs.map +0 -1
  387. package/_cjs/control/Gen/api/char.cjs +0 -129
  388. package/_cjs/control/Gen/api/char.cjs.map +0 -1
  389. package/_cjs/control/Gen/api/conc.cjs +0 -82
  390. package/_cjs/control/Gen/api/conc.cjs.map +0 -1
  391. package/_cjs/control/Gen/api/double.cjs +0 -82
  392. package/_cjs/control/Gen/api/double.cjs.map +0 -1
  393. package/_cjs/control/Gen/api/float.cjs +0 -55
  394. package/_cjs/control/Gen/api/float.cjs.map +0 -1
  395. package/_cjs/control/Gen/api/string.cjs +0 -106
  396. package/_cjs/control/Gen/api/string.cjs.map +0 -1
  397. package/_cjs/control/Gen/api/struct.cjs +0 -36
  398. package/_cjs/control/Gen/api/struct.cjs.map +0 -1
  399. package/_mjs/control/Gen/api/array.mjs +0 -37
  400. package/_mjs/control/Gen/api/array.mjs.map +0 -1
  401. package/_mjs/control/Gen/api/char.mjs +0 -95
  402. package/_mjs/control/Gen/api/char.mjs.map +0 -1
  403. package/_mjs/control/Gen/api/conc.mjs +0 -57
  404. package/_mjs/control/Gen/api/conc.mjs.map +0 -1
  405. package/_mjs/control/Gen/api/double.mjs +0 -60
  406. package/_mjs/control/Gen/api/double.mjs.map +0 -1
  407. package/_mjs/control/Gen/api/float.mjs +0 -41
  408. package/_mjs/control/Gen/api/float.mjs.map +0 -1
  409. package/_mjs/control/Gen/api/string.mjs +0 -76
  410. package/_mjs/control/Gen/api/string.mjs.map +0 -1
  411. package/_mjs/control/Gen/api/struct.mjs +0 -18
  412. package/_mjs/control/Gen/api/struct.mjs.map +0 -1
  413. package/_src/control/Gen/api/array.ts +0 -34
  414. package/_src/control/Gen/api/char.ts +0 -83
  415. package/_src/control/Gen/api/conc.ts +0 -53
  416. package/_src/control/Gen/api/double.ts +0 -64
  417. package/_src/control/Gen/api/float.ts +0 -36
  418. package/_src/control/Gen/api/string.ts +0 -75
  419. package/_src/control/Gen/api/struct.ts +0 -31
  420. package/control/Gen/api/array.d.ts +0 -18
  421. package/control/Gen/api/char.d.ts +0 -47
  422. package/control/Gen/api/conc.d.ts +0 -25
  423. package/control/Gen/api/double.d.ts +0 -13
  424. package/control/Gen/api/float.d.ts +0 -7
  425. package/control/Gen/api/string.d.ts +0 -48
  426. package/control/Gen/api/struct.d.ts +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.mjs","mappings":";;;aAoBgBA,MAAM;AAftB;;;;AAGA,OAAM,SAAUC,KAAV,CAAgBC,cAAiC,EAAjD,EAAmD;EACvD,OAAcC,CAAP,IAAyD;IAC9D,MAAMC,SAAS,GAAGF,WAAW,CAACE,SAAZ,IAAyB,CAA3C;IACA,OAAOF,WAAW,CAACG,SAAZ,GACHC,wBAAiEC,CAAD,IAAOC,SAASD,CAAT,IAAvE,sBAAQ;MAAEE,GAAG,EAAEL,SAAP;MAAkBM,GAAG,EAAER,WAAW,CAACG;IAAnC,CAAR,EADG,GAEHC,sBAAWC,CAAD,IAAOC,SAASD,CAAT,IAAjB,EAA8BH,SAA9B,CAFJ;EAGD,CALD;AAMD;AAED;;;;AAGA,kBAAuBG,CAAvB,EAAgC;EAC9B,OAAcI,IAAP,IAAoD;IACzD,OAAOL,oBAAmBM,IAAD,IAASC,wBAACD,IAAD,CAA3B,wBAAWL,CAAX,QAAP;EACD,CAFD;AAGD;AAED;;;;;AAGA,OAAM,SAAUO,WAAV,CAAyBZ,cAAmD,EAA5E,EAA8E;EAClF,OAAWa,GAAJ,IAAwD;IAC7D,OAAOT,oBAAiCM,IAAD,IAASC,wBAACD,IAAD,CAAzC,6BAAeV,WAAf,OAAP;EACD,CAFD;AAGD","names":["arrayN","array","constraints","g","minLength","maxLength","tsplus_module_1","n","arrayN_1","min","max","self","conc","tsplus_module_2","uniqueArray","gen"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/array.ts"],"sourcesContent":[null]}
@@ -1,95 +0,0 @@
1
- import * as tsplus_module_1 from "@fncts/test/control/Gen/api";
2
- export const char = char_1;
3
- import { identity } from "@fncts/base/data/function";
4
- const gapSize = 0xdfff + 1 - 0xd800;
5
- /**
6
- * @tsplus static fncts.test.GenOps alphaNumericChar
7
- */
8
-
9
- export const alphaNumericChar = /*#__PURE__*/tsplus_module_1.weighted([/*#__PURE__*/char_1({
10
- min: 48,
11
- max: 57
12
- }), 10], [/*#__PURE__*/char_1({
13
- min: 65,
14
- max: 90
15
- }), 26], [/*#__PURE__*/char_1({
16
- min: 97,
17
- max: 122
18
- }), 26]);
19
- /**
20
- * @tsplus static fncts.test.GenOps asciiChar
21
- */
22
-
23
- export const asciiChar = /*#__PURE__*/_char(0x00, 0x7f, indexToPrintableIndex);
24
- /**
25
- * @tsplus static fncts.test.GenOps base64Char
26
- */
27
-
28
- export const base64Char = /*#__PURE__*/_char(0, 63, base64ToCharCode);
29
- /**
30
- * @tsplus static fncts.test.GenOps char
31
- */
32
-
33
- function char_1(constraints) {
34
- return _char(constraints.min, constraints.max, identity);
35
- }
36
- /**
37
- * @tsplus static fncts.test.GenOps char16
38
- */
39
-
40
-
41
- export const char16 = /*#__PURE__*/_char(0x0000, 0xffff, indexToPrintableIndex);
42
- /**
43
- * @tsplus static fncts.test.GenOps fullUnicodeChar
44
- */
45
-
46
- export const fullUnicodeChar = /*#__PURE__*/_char(0x0000, 0x10ffff - gapSize, unicodeToCharCode);
47
- /**
48
- * @tsplus static fncts.test.GenOps hexChar
49
- */
50
-
51
- export const hexChar = /*#__PURE__*/_char(0, 15, hexToCharCode);
52
- /**
53
- * @tsplus static fncts.test.GenOps printableChar
54
- */
55
-
56
- export const printableChar = /*#__PURE__*/char_1({
57
- min: 0x20,
58
- max: 0x7e
59
- });
60
- /**
61
- * @tsplus static fncts.test.GenOps unicodeChar
62
- */
63
-
64
- export const unicodeChar = /*#__PURE__*/_char(0x0000, 0xffff - gapSize, unicodeToCharCode);
65
-
66
- function _char(min, max, mapToCode) {
67
- return tsplus_module_1.map(n => String.fromCharCode(mapToCode(n)))(tsplus_module_1.int({
68
- min,
69
- max
70
- }));
71
- }
72
-
73
- function indexToPrintableIndex(v) {
74
- return v < 95 ? v + 0x20 : v <= 0x7e ? v - 95 : v;
75
- }
76
-
77
- function base64ToCharCode(v) {
78
- if (v < 26) return v + 65; // A-Z
79
-
80
- if (v < 52) return v + 97 - 26; // a-z
81
-
82
- if (v < 62) return v + 48 - 52; // 0-9
83
-
84
- return v === 62 ? 43 : 47; // +/
85
- }
86
-
87
- function hexToCharCode(v) {
88
- return v < 10 ? v + 48 // 0-9
89
- : v + 97 - 10; // a-f
90
- }
91
-
92
- function unicodeToCharCode(v) {
93
- return v < 0xd800 ? indexToPrintableIndex(v) : v + gapSize;
94
- }
95
- //# sourceMappingURL=char.mjs.map
@@ -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,oBAA2BkB,CAAD,IAAOC,MAAM,CAACC,YAAP,CAAoBH,SAAS,CAACC,CAAD,CAA7B,CAAjC,sBAAQ;IAAEhB,GAAF;IAAOC;EAAP,CAAR,EAAP;AACD;;AAED,SAASG,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,57 +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 pipeable fncts.test.Gen conc
12
- */
13
-
14
- export function conc(constraints = {}) {
15
- return self => {
16
- const minLength = constraints.minLength ?? 0;
17
- return constraints.maxLength ? tsplus_module_1.flatMap(n => concN_1(n)(self))(tsplus_module_1.int({
18
- min: minLength,
19
- max: constraints.maxLength
20
- })) : tsplus_module_1.small(n => concN_1(n)(self), minLength);
21
- };
22
- }
23
- /**
24
- * @tsplus pipeable fncts.test.Gen concN
25
- */
26
-
27
- function concN_1(n) {
28
- return g => {
29
- return tsplus_module_3.foldLeft(tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith(a, (as, a) => tsplus_module_3.append(a)(as))(gen))(tsplus_module_4.replicate(n, g));
30
- };
31
- }
32
- /**
33
- * @tsplus pipeable fncts.test.Gen uniqueConc
34
- */
35
-
36
-
37
- export function uniqueConc(constraints = {}) {
38
- return self => {
39
- const minLength = constraints.minLength ?? 0;
40
- const eq = constraints.eq ?? tsplus_module_6.mkEq({
41
- equals: tsplus_module_5.strictEquals
42
- });
43
- return constraints.maxLength ? tsplus_module_1.bounded(minLength, constraints.maxLength, n => uniqueConcN_1(n, eq)(self)) : tsplus_module_1.small(n => uniqueConcN_1(n, eq)(self), minLength);
44
- };
45
- }
46
- /**
47
- * @tsplus pipeable fncts.test.Gen uniqueConcN
48
- */
49
-
50
- function uniqueConcN_1(n,
51
- /** @tsplus auto */
52
- E) {
53
- return self => {
54
- return tsplus_module_3.foldLeft(tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith(a, (as, a) => tsplus_module_3.elem(a, E)(as) ? as : tsplus_module_3.append(a)(as))(gen))(tsplus_module_4.replicate(n, self));
55
- };
56
- }
57
- //# sourceMappingURL=conc.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conc.mjs","mappings":";;;;;;aAsBgBA,KAAK;aAwBLC,WAAW;AA3C3B,SAASC,EAAT,QAA8B,uBAA9B;AAIA;;;;AAGA,OAAM,SAAUC,IAAV,CAAeC,cAAiC,EAAhD,EAAkD;EACtD,OAAcC,IAAP,IAAmD;IACxD,MAAMC,SAAS,GAAGF,WAAW,CAACE,SAAZ,IAAyB,CAA3C;IACA,OAAOF,WAAW,CAACG,SAAZ,GACHC,wBAAiEC,CAAD,IAAOC,QAAWD,CAAX,OAAvE,sBAAQ;MAAEE,GAAG,EAAEL,SAAP;MAAkBM,GAAG,EAAER,WAAW,CAACG;IAAnC,CAAR,EADG,GAEHC,sBAAWC,CAAD,IAAOC,QAAWD,CAAX,OAAjB,EAAgCH,SAAhC,CAFJ;EAGD,CALD;AAMD;AAED;;;;AAGA,iBAAsBG,CAAtB,EAA+B;EAC7B,OAAcI,CAAP,IAAwC;IAC7C,OAAOC,yBAA8BN,yBAAaO,uBAAb,CAA9B,EAA6E,CAACC,GAAD,EAAMC,CAAN,KAClFT,wBAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAWH,uBAAUG,CAAV,KAA1B,MADK,4BAAeR,CAAf,EAAkBI,CAAlB,EAAP;EAGD,CAJD;AAKD;AAED;;;;;AAGA,OAAM,SAAUM,UAAV,CAAwBf,cAAmD,EAA3E,EAA6E;EACjF,OAAWC,IAAJ,IAAgD;IACrD,MAAMC,SAAS,GAAGF,WAAW,CAACE,SAAZ,IAAyB,CAA3C;IACA,MAAMc,EAAE,GAAUhB,WAAW,CAACgB,EAAZ,IAAkBC,qBAAG;MAAEC,MAAM;IAAR,CAAH,CAApC;IACA,OAAOlB,WAAW,CAACG,SAAZ,GACHC,wBAAYF,SAAZ,EAAuBF,WAAW,CAACG,SAAnC,EAA+CE,CAAD,IAAOc,cAAiBd,CAAjB,EAAoBW,EAApB,OAArD,CADG,GAEHZ,sBAAWC,CAAD,IAAOc,cAAiBd,CAAjB,EAAoBW,EAApB,OAAjB,EAA0Cd,SAA1C,CAFJ;EAGD,CAND;AAOD;AAED;;;;AAGA,uBAA+BG,CAA/B;AAA0C;AAAoBe,CAA9D,EAAsE;EACpE,OAAWnB,IAAJ,IAAwC;IAC7C,OAAOS,yBAAiCN,yBAAaO,uBAAb,CAAjC,EAAgF,CAACC,GAAD,EAAMC,CAAN,KACrFT,wBAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAYH,qBAAQG,CAAR,EAAWO,CAAX,QAAgBN,EAAhB,GAAqBJ,uBAAUG,CAAV,KAAhD,MADK,4BAAeR,CAAf,EAAkBJ,IAAlB,EAAP;EAGD,CAJD;AAKD","names":["concN","uniqueConcN","Eq","conc","constraints","self","minLength","maxLength","tsplus_module_1","n","concN_1","min","max","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(uncheckedValue => {
18
- if (uncheckedValue.data.length === 1) {
19
- uncheckedValue.data.unshift(0);
20
- }
21
-
22
- return tsplus_module_2.just(tsplus_module_1.shrinkArrayInt64(min)(uncheckedValue));
23
- }, fileName_1 + ":26:11")(tsplus_module_4.flatMap(({
24
- min,
25
- max
26
- }) => tsplus_module_4.repeatIO(tsplus_module_3.nextArrayIntBetween(min, max, fileName_1 + ":25:76"), fileName_1 + ":25:49"), fileName_1 + ":25:15")(tsplus_module_4.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined), fileName_1 + ":24:18"))));
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(indexToDouble)(arrayInt64_1(minIndex, maxIndex));
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(index => {
56
- if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return Number.NaN;else return indexToDouble(index);
57
- })(arrayInt64_1(minIndexWithNaN, maxIndexWithNaN));
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,oBAEQC,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,iCAAwBR,GAAxB,EAA6BG,cAA7B,CAAL,CAAP;EACD,CAPH,EAOGM,qBAPH,0BACW,CAAC;IAAET,GAAF;IAAOC;EAAP,CAAD,KAAkBC,yBAAgBQ,oCAA2BV,GAA3B,EAAgCC,GAAhC,EAAmCQ,qBAAnC,CAAhB,EAAoDA,qBAApD,CAD7B,EACkFA,qBADlF,yBAAcjB,8BAA8B,CAACQ,GAAD,EAAMC,GAAN,EAAWU,SAAX,EAAsBA,SAAtB,CAA5C,EAA4EF,qBAA5E,GADK,CAAP;AAUD;AAED;;;;;AAGA,OAAM,SAAUG,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,EAA8BS,qBAA9B,CAAzB;IACA,MAAMe,QAAQ,GAAG,OAAOF,CAAC,CAAC1B,iBAAiB,CAACK,GAAD,EAAM,KAAN,CAAlB,EAA8BQ,qBAA9B,CAAzB;;IACA,IAAId,mBAAmB,CAAC6B,QAAD,EAAWD,QAAX,CAAvB,EAA6C;MAC3C,OAAO,OAAOD,CAAC,CAACD,wBAAW,IAAI/B,oBAAJ,CAAyB,uCAAzB,EAAkE,YAAlE,CAAX,EAA0FmB,qBAA1F,CAAD,EAA4FA,qBAA5F,CAAf;IACD;;IACD,IAAIM,KAAJ,EAAW;MACT,OAAOK,oBAAmC3B,aAAnC,eAAW8B,QAAX,EAAqBC,QAArB,EAAP;IACD;;IACD,MAAMC,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,oBAAkDQ,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,eAAWF,eAAX,EAA4BC,eAA5B,EAAP;EAID,CAhBD,EAgBClB,qBAhBD,CADK,CAAP;AAmBD","names":["arrayInt64","IllegalArgumentError","add64","computeArrayInt64GenerateRange","indexToDouble","isStrictlyPositive64","isStrictlySmaller64","safeDoubleToIndex","substract64","Unit64","Gen","min","max","tsplus_module_4","uncheckedValue","data","length","unshift","tsplus_module_2","tsplus_module_1","fileName_1","tsplus_module_3","undefined","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(indexToFloat)(tsplus_module_2.int({
26
- min: minIndex,
27
- max: maxIndex
28
- }));
29
- }
30
-
31
- const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
32
- const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
33
- return tsplus_module_2.map(index => {
34
- if (index > maxIndex || index < minIndex) return Number.NaN;else return indexToFloat(index);
35
- })(tsplus_module_2.int({
36
- min: minIndexWithNaN,
37
- max: maxIndexWithNaN
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,oBAA8CZ,YAA9C,sBAAQ;QAAEM,GAAG,EAAES,QAAP;QAAiBN,GAAG,EAAEQ;MAAtB,CAAR,EAAP;IACD;;IACD,MAAME,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,oBAA6DS,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,sBAAQ;MAAEf,GAAG,EAAEa,eAAP;MAAwBV,GAAG,EAAEW;IAA7B,CAAR,EAAP;EAID,CAjBD,EAiBCJ,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,76 +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(constraints)(asciiChar);
12
- }
13
- /**
14
- * @tsplus static fncts.test.GenOps alphaNumericString
15
- */
16
-
17
- export function alphaNumericString(constraints = {}) {
18
- return string_1(constraints)(alphaNumericChar);
19
- }
20
- /**
21
- * @tsplus static fncts.test.GenOps base64String
22
- */
23
-
24
- export function base64String(constraints = {}) {
25
- return string_1(constraints)(base64Char);
26
- }
27
- /**
28
- * @tsplus static fncts.test.GenOps fullUnicodeString
29
- */
30
-
31
- export function fullUnicodeString(constraints = {}) {
32
- return string_1(constraints)(fullUnicodeChar);
33
- }
34
- /**
35
- * @tsplus static fncts.test.GenOps hexString
36
- */
37
-
38
- export function hexString(constraints = {}) {
39
- return string_1(constraints)(hexChar);
40
- }
41
- /**
42
- * @tsplus static fncts.test.GenOps string16
43
- */
44
-
45
- export function string16(constraints = {}) {
46
- return string_1(constraints)(char16);
47
- }
48
- /**
49
- * @tsplus pipeable fncts.test.Gen string
50
- */
51
-
52
- function string_1(constraints = {}) {
53
- return char => {
54
- const min = constraints.minLength || 0;
55
- return constraints.maxLength ? tsplus_module_1.bounded(min, constraints.maxLength, n => stringN_1(n)(char)) : tsplus_module_1.small(n => stringN_1(n)(char), min);
56
- };
57
- }
58
- /**
59
- * @tsplus pipeable fncts.test.Gen stringN
60
- */
61
-
62
-
63
- function stringN_1(n) {
64
- return char => {
65
- return tsplus_module_1.map(arr => arr.join(""))(tsplus_module_2.arrayN(n)(char));
66
- };
67
- }
68
- /**
69
- * @tsplus static fncts.test.GenOps unicodeString
70
- */
71
-
72
-
73
- export function unicodeString(constraints = {}) {
74
- return string_1(constraints)(unicodeChar);
75
- }
76
- //# sourceMappingURL=string.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.mjs","mappings":";;aAmDgBA,MAAM;aAYNC,OAAO;AA3DvB,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,SAAiBD,WAAjB,YAAP;AACD;AAED;;;;AAGA,OAAM,SAAUE,kBAAV,CAA6BF,cAAiC,EAA9D,EAAgE;EACpE,OAAOC,SAAwBD,WAAxB,mBAAP;AACD;AAED;;;;AAGA,OAAM,SAAUG,YAAV,CAAuBH,cAAiC,EAAxD,EAA0D;EAC9D,OAAOC,SAAkBD,WAAlB,aAAP;AACD;AAED;;;;AAGA,OAAM,SAAUI,iBAAV,CAA4BJ,cAAiC,EAA7D,EAA+D;EACnE,OAAOC,SAAuBD,WAAvB,kBAAP;AACD;AAED;;;;AAGA,OAAM,SAAUK,SAAV,CAAoBL,cAAiC,EAArD,EAAuD;EAC3D,OAAOC,SAAeD,WAAf,UAAP;AACD;AAED;;;;AAGA,OAAM,SAAUM,QAAV,CAAmBN,cAAiC,EAApD,EAAsD;EAC1D,OAAOC,SAAcD,WAAd,SAAP;AACD;AAED;;;;AAGA,kBAAuBA,cAAiC,EAAxD,EAA0D;EACxD,OAAWO,IAAJ,IAAoD;IACzD,MAAMC,GAAG,GAAGR,WAAW,CAACS,SAAZ,IAAyB,CAArC;IACA,OAAOT,WAAW,CAACU,SAAZ,GACHC,wBAAYH,GAAZ,EAAiBR,WAAW,CAACU,SAA7B,EAAyCE,CAAD,IAAOC,UAAaD,CAAb,OAA/C,CADG,GAEHD,sBAAWC,CAAD,IAAOC,UAAaD,CAAb,OAAjB,EAAkCJ,GAAlC,CAFJ;EAGD,CALD;AAMD;AAED;;;;;AAGA,mBAAwBI,CAAxB,EAAiC;EAC/B,OAAWL,IAAJ,IAA4C;IACjD,OAAOI,oBAAoBG,GAAD,IAASA,GAAG,CAACC,IAAJ,CAAS,EAAT,CAA5B,yBAAYH,CAAZ,QAAP;EACD,CAFD;AAGD;AAED;;;;;AAGA,OAAM,SAAUI,aAAV,CAAwBhB,cAAiC,EAAzD,EAA2D;EAC/D,OAAOC,SAAmBD,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(tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.zipWith(gen, (out, a) => ({ ...out,
9
- [k]: a
10
- }))(b))(entries);
11
- }
12
- export function partial(properties) {
13
- const entries = Object.entries(properties);
14
- return tsplus_module_2.foldLeft(tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.unwrap(tsplus_module_3.ifIO(() => tsplus_module_3.succeed(() => tsplus_module_1.zipWith(gen, (r, a) => ({ ...r,
15
- [k]: a
16
- }))(b), fileName_1 + ":29:50"), () => tsplus_module_3.succeed(() => b, fileName_1 + ":29:108"), fileName_1 + ":29:39")(tsplus_module_4.nextBoolean)))(entries);
17
- }
18
- //# sourceMappingURL=struct.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"struct.mjs","mappings":";;;;;AAIA,OAAM,SAAUA,MAAV,CACJC,UADI,EACS;EAOb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,yBAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,wBAAUG,GAAV,EAAe,CAACC,GAAD,EAAMC,CAAN,MAAa,EAAE,GAAGD,GAAL;IAAU,CAACF,CAAD,GAAKG;EAAf,CAAb,CAAf,IADK,UAAP;AAGD;AAED,OAAM,SAAUC,OAAV,CACJV,UADI,EACS;EAOb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,yBAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,uBAAWO,2BAAwBA,8BAAWP,wBAAUG,GAAV,EAAe,CAACK,CAAD,EAAIH,CAAJ,MAAW,EAAE,GAAGG,CAAL;IAAQ,CAACN,CAAD,GAAKG;EAAb,CAAX,CAAf,IAAX,EAAuDI,qBAAvD,CAAxB,EAAgF,MAAEF,8BAAWN,CAAX,EAAYQ,sBAAZ,CAAlF,EAA+FA,qBAA/F,EAA+FC,2BAA/F,CAAX,CADK,UAAP;AAGD","names":["struct","properties","entries","Object","tsplus_module_2","tsplus_module_1","b","k","gen","out","a","partial","tsplus_module_3","r","fileName_1","tsplus_module_4"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/struct.ts"],"sourcesContent":[null]}
@@ -1,34 +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 pipeable fncts.test.Gen array
8
- */
9
- export function array(constraints: LengthConstraints = {}) {
10
- return <R, A>(g: Gen<R, A>): Gen<R | Sized, ReadonlyArray<A>> => {
11
- const minLength = constraints.minLength || 0;
12
- return constraints.maxLength
13
- ? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => g.arrayN(n))
14
- : Gen.small((n) => g.arrayN(n), minLength);
15
- };
16
- }
17
-
18
- /**
19
- * @tsplus pipeable fncts.test.Gen arrayN
20
- */
21
- export function arrayN(n: number) {
22
- return <R, A>(self: Gen<R, A>): Gen<R, ReadonlyArray<A>> => {
23
- return self.concN(n).map((conc) => conc.toArray);
24
- };
25
- }
26
-
27
- /**
28
- * @tsplus pipeable fncts.test.Gen uniqueArray
29
- */
30
- export function uniqueArray<A>(constraints: LengthConstraints & EqConstraint<A> = {}) {
31
- return <R>(gen: Gen<R, A>): Gen<Sized | R, ReadonlyArray<A>> => {
32
- return gen.uniqueConc(constraints).map((conc) => conc.toArray);
33
- };
34
- }
@@ -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,53 +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 pipeable fncts.test.Gen conc
10
- */
11
- export function conc(constraints: LengthConstraints = {}) {
12
- return <R, A>(self: Gen<R, A>): Gen<R | Sized, Conc<A>> => {
13
- const minLength = constraints.minLength ?? 0;
14
- return constraints.maxLength
15
- ? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => self.concN(n))
16
- : Gen.small((n) => self.concN(n), minLength);
17
- };
18
- }
19
-
20
- /**
21
- * @tsplus pipeable fncts.test.Gen concN
22
- */
23
- export function concN(n: number) {
24
- return <R, A>(g: Gen<R, A>): Gen<R, Conc<A>> => {
25
- return Conc.replicate(n, g).foldLeft(Gen.constant(Conc.empty()) as Gen<R, Conc<A>>, (gen, a) =>
26
- gen.zipWith(a, (as, a) => as.append(a)),
27
- );
28
- };
29
- }
30
-
31
- /**
32
- * @tsplus pipeable fncts.test.Gen uniqueConc
33
- */
34
- export function uniqueConc<A>(constraints: LengthConstraints & EqConstraint<A> = {}) {
35
- return <R>(self: Gen<R, A>): Gen<Sized | R, Conc<A>> => {
36
- const minLength = constraints.minLength ?? 0;
37
- const eq = constraints.eq ?? Eq({ equals: Equatable.strictEquals });
38
- return constraints.maxLength
39
- ? Gen.bounded(minLength, constraints.maxLength, (n) => self.uniqueConcN(n, eq))
40
- : Gen.small((n) => self.uniqueConcN(n, eq), minLength);
41
- };
42
- }
43
-
44
- /**
45
- * @tsplus pipeable fncts.test.Gen uniqueConcN
46
- */
47
- export function uniqueConcN<A>(n: number, /** @tsplus auto */ E: Eq<A>) {
48
- return <R>(self: Gen<R, A>): Gen<R, Conc<A>> => {
49
- return Conc.replicate(n, self).foldLeft(Gen.constant(Conc.empty()) as Gen<R, Conc<A>>, (gen, a) =>
50
- gen.zipWith(a, (as, a) => (as.elem(a, E) ? as : as.append(a))),
51
- );
52
- };
53
- }
@@ -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
- }