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