@fncts/test 0.0.21 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (433) 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 +7 -11
  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 +4 -16
  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 +3 -9
  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 +12 -24
  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 +5 -6
  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 +3 -6
  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 +3 -3
  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 +10 -12
  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/AssertionIO/definition.ts +2 -4
  357. package/_src/control/DefaultTestReporter/render.ts +1 -1
  358. package/_src/control/Gen/api.ts +429 -40
  359. package/_src/control/Gen.ts +0 -9
  360. package/_src/control/RunnableSpec.ts +1 -1
  361. package/_src/control/Sample/api.ts +1 -1
  362. package/_src/control/Spec/api.ts +1 -1
  363. package/_src/control/TestAspect/api.ts +2 -2
  364. package/_src/control/TestClock/definition.ts +9 -8
  365. package/_src/control/TestConsole/definition.ts +1 -1
  366. package/_src/control/TestRunner.ts +0 -3
  367. package/_src/data/AssertionData.ts +1 -1
  368. package/_src/data/AssertionValue/api.ts +1 -1
  369. package/_src/data/AssertionValue/definition.ts +1 -1
  370. package/_src/data/ExecutedSpec/api.ts +3 -3
  371. package/_src/data/RenderParam/api.ts +1 -1
  372. package/_src/data/TestAnnotation/api.ts +1 -1
  373. package/_src/data/TestAnnotation/definition.ts +7 -4
  374. package/_src/data/TestAnnotationMap.ts +2 -2
  375. package/api.d.ts +2 -2
  376. package/control/AbstractRunnableSpec.d.ts +0 -1
  377. package/control/Annotations/live.d.ts +1 -1
  378. package/control/Assertion/api.d.ts +2 -2
  379. package/control/AssertionIO/definition.d.ts +1 -1
  380. package/control/Gen/api.d.ts +207 -24
  381. package/control/Gen.d.ts +0 -7
  382. package/control/TestClock/definition.d.ts +2 -2
  383. package/control/TestConsole/definition.d.ts +3 -3
  384. package/control/TestRandom/definition.d.ts +1 -1
  385. package/control/TestRunner.d.ts +1 -3
  386. package/data/AssertionData.d.ts +1 -1
  387. package/data/AssertionValue/definition.d.ts +1 -1
  388. package/data/ExecutedSpec/api.d.ts +2 -2
  389. package/data/TestAnnotation/api.d.ts +1 -1
  390. package/data/TestAnnotation/definition.d.ts +8 -4
  391. package/package.json +4 -4
  392. package/_cjs/control/Gen/api/array.cjs +0 -56
  393. package/_cjs/control/Gen/api/array.cjs.map +0 -1
  394. package/_cjs/control/Gen/api/char.cjs +0 -129
  395. package/_cjs/control/Gen/api/char.cjs.map +0 -1
  396. package/_cjs/control/Gen/api/conc.cjs +0 -82
  397. package/_cjs/control/Gen/api/conc.cjs.map +0 -1
  398. package/_cjs/control/Gen/api/double.cjs +0 -82
  399. package/_cjs/control/Gen/api/double.cjs.map +0 -1
  400. package/_cjs/control/Gen/api/float.cjs +0 -55
  401. package/_cjs/control/Gen/api/float.cjs.map +0 -1
  402. package/_cjs/control/Gen/api/string.cjs +0 -106
  403. package/_cjs/control/Gen/api/string.cjs.map +0 -1
  404. package/_cjs/control/Gen/api/struct.cjs +0 -36
  405. package/_cjs/control/Gen/api/struct.cjs.map +0 -1
  406. package/_mjs/control/Gen/api/array.mjs +0 -37
  407. package/_mjs/control/Gen/api/array.mjs.map +0 -1
  408. package/_mjs/control/Gen/api/char.mjs +0 -95
  409. package/_mjs/control/Gen/api/char.mjs.map +0 -1
  410. package/_mjs/control/Gen/api/conc.mjs +0 -57
  411. package/_mjs/control/Gen/api/conc.mjs.map +0 -1
  412. package/_mjs/control/Gen/api/double.mjs +0 -60
  413. package/_mjs/control/Gen/api/double.mjs.map +0 -1
  414. package/_mjs/control/Gen/api/float.mjs +0 -41
  415. package/_mjs/control/Gen/api/float.mjs.map +0 -1
  416. package/_mjs/control/Gen/api/string.mjs +0 -76
  417. package/_mjs/control/Gen/api/string.mjs.map +0 -1
  418. package/_mjs/control/Gen/api/struct.mjs +0 -18
  419. package/_mjs/control/Gen/api/struct.mjs.map +0 -1
  420. package/_src/control/Gen/api/array.ts +0 -34
  421. package/_src/control/Gen/api/char.ts +0 -83
  422. package/_src/control/Gen/api/conc.ts +0 -53
  423. package/_src/control/Gen/api/double.ts +0 -64
  424. package/_src/control/Gen/api/float.ts +0 -36
  425. package/_src/control/Gen/api/string.ts +0 -75
  426. package/_src/control/Gen/api/struct.ts +0 -31
  427. package/control/Gen/api/array.d.ts +0 -18
  428. package/control/Gen/api/char.d.ts +0 -47
  429. package/control/Gen/api/conc.d.ts +0 -25
  430. package/control/Gen/api/double.d.ts +0 -13
  431. package/control/Gen/api/float.d.ts +0 -7
  432. package/control/Gen/api/string.d.ts +0 -48
  433. 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