@fncts/test 0.0.51 → 0.0.52
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.
- package/LICENSE +26 -0
- package/_cjs/Fragment.cjs +424 -0
- package/_cjs/Fragment.cjs.map +1 -0
- package/_cjs/api.cjs +97 -83
- package/_cjs/api.cjs.map +1 -1
- package/_cjs/chunk.cjs +28 -0
- package/_cjs/control/AbstractRunnableSpec.cjs +83 -81
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
- package/_cjs/control/Annotations/api.cjs +25 -24
- package/_cjs/control/Annotations/api.cjs.map +1 -1
- package/_cjs/control/Annotations/definition.cjs +19 -18
- package/_cjs/control/Annotations/definition.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +50 -40
- package/_cjs/control/Annotations/live.cjs.map +1 -1
- package/_cjs/control/Annotations.cjs +13 -39
- package/_cjs/control/Assertion/api.cjs +170 -156
- package/_cjs/control/Assertion/api.cjs.map +1 -1
- package/_cjs/control/Assertion/definition.cjs +21 -21
- package/_cjs/control/Assertion/definition.cjs.map +1 -1
- package/_cjs/control/Assertion.cjs +39 -28
- package/_cjs/control/AssertionIO/api.cjs +33 -31
- package/_cjs/control/AssertionIO/api.cjs.map +1 -1
- package/_cjs/control/AssertionIO/definition.cjs +27 -27
- package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
- package/_cjs/control/AssertionIO.cjs +9 -28
- package/_cjs/control/DefaultRunnableSpec.cjs +14 -15
- package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/definition.cjs +5 -6
- package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/render.cjs +184 -176
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter.cjs +10 -28
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +47 -46
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +5 -6
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO.cjs +12 -28
- package/_cjs/control/Gen/api.cjs +653 -614
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen/constraints.cjs +0 -2
- package/_cjs/control/Gen/definition.cjs +13 -15
- package/_cjs/control/Gen/definition.cjs.map +1 -1
- package/_cjs/control/Gen.cjs +84 -39
- package/_cjs/control/Live/definition.cjs +43 -38
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/Live.cjs +6 -17
- package/_cjs/control/Sample/api.cjs +143 -145
- package/_cjs/control/Sample/api.cjs.map +1 -1
- package/_cjs/control/Sample/definition.cjs +15 -17
- package/_cjs/control/Sample/definition.cjs.map +1 -1
- package/_cjs/control/Sample.cjs +18 -28
- package/_cjs/control/Sized/api.cjs +17 -16
- package/_cjs/control/Sized/api.cjs.map +1 -1
- package/_cjs/control/Sized/definition.cjs +15 -15
- package/_cjs/control/Sized/definition.cjs.map +1 -1
- package/_cjs/control/Sized/live.cjs +25 -21
- package/_cjs/control/Sized/live.cjs.map +1 -1
- package/_cjs/control/Sized.cjs +9 -39
- package/_cjs/control/Spec/api.cjs +288 -385
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs +86 -87
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/Spec.cjs +38 -28
- package/_cjs/control/SummaryBuilder.cjs +48 -56
- package/_cjs/control/SummaryBuilder.cjs.map +1 -1
- package/_cjs/control/Test.cjs +21 -17
- package/_cjs/control/Test.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/api.cjs +63 -57
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +36 -33
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer.cjs +14 -28
- package/_cjs/control/TestAspect/api.cjs +81 -80
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestAspect/definition.cjs +0 -2
- package/_cjs/control/TestAspect.cjs +14 -28
- package/_cjs/control/TestClock/api.cjs +44 -32
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestClock/definition.cjs +175 -173
- package/_cjs/control/TestClock/definition.cjs.map +1 -1
- package/_cjs/control/TestClock.cjs +13 -28
- package/_cjs/control/TestConsole/api.cjs +45 -34
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/definition.cjs +76 -83
- package/_cjs/control/TestConsole/definition.cjs.map +1 -1
- package/_cjs/control/TestConsole.cjs +8 -28
- package/_cjs/control/TestEnvironment.cjs +31 -23
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs +36 -31
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +67 -58
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRandom/definition.cjs +332 -378
- package/_cjs/control/TestRandom/definition.cjs.map +1 -1
- package/_cjs/control/TestRandom.cjs +20 -28
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +78 -82
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
- package/_cjs/control/TestRenderer/definition.cjs +0 -2
- package/_cjs/control.cjs +0 -2
- package/_cjs/data/AssertionData.cjs +35 -31
- package/_cjs/data/AssertionData.cjs.map +1 -1
- package/_cjs/data/AssertionResult.cjs +23 -23
- package/_cjs/data/AssertionResult.cjs.map +1 -1
- package/_cjs/data/AssertionValue/api.cjs +39 -40
- package/_cjs/data/AssertionValue/api.cjs.map +1 -1
- package/_cjs/data/AssertionValue/definition.cjs +27 -27
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
- package/_cjs/data/AssertionValue.cjs +10 -28
- package/_cjs/data/ExecutedSpec/api.cjs +71 -90
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/definition.cjs +39 -41
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec.cjs +15 -28
- package/_cjs/data/ExecutionResult.cjs +78 -103
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FailureDetails.cjs +12 -14
- package/_cjs/data/FailureDetails.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +129 -127
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs +40 -41
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra.cjs +22 -28
- package/_cjs/data/GenFailureDetails.cjs +14 -16
- package/_cjs/data/GenFailureDetails.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +10 -73
- package/_cjs/data/LogLine/Line.cjs +13 -112
- package/_cjs/data/LogLine/Message.cjs +13 -115
- package/_cjs/data/LogLine/Style.cjs +56 -65
- package/_cjs/data/LogLine/Style.cjs.map +1 -1
- package/_cjs/data/LogLine/api.cjs +30 -29
- package/_cjs/data/LogLine/api.cjs.map +1 -1
- package/_cjs/data/LogLine.cjs +24 -28
- package/_cjs/data/Render/api.cjs +13 -14
- package/_cjs/data/Render/api.cjs.map +1 -1
- package/_cjs/data/Render/definition.cjs +37 -36
- package/_cjs/data/Render/definition.cjs.map +1 -1
- package/_cjs/data/Render.cjs +8 -28
- package/_cjs/data/RenderParam/api.cjs +18 -22
- package/_cjs/data/RenderParam/api.cjs.map +1 -1
- package/_cjs/data/RenderParam/definition.cjs +20 -21
- package/_cjs/data/RenderParam/definition.cjs.map +1 -1
- package/_cjs/data/RenderParam.cjs +8 -28
- package/_cjs/data/Summary.cjs +19 -21
- package/_cjs/data/Summary.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/api.cjs +55 -40
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/definition.cjs +44 -39
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation.cjs +19 -28
- package/_cjs/data/TestAnnotationMap.cjs +36 -34
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/data/TestArgs/definition.cjs +14 -16
- package/_cjs/data/TestArgs/definition.cjs.map +1 -1
- package/_cjs/data/TestArgs.cjs +3 -17
- package/_cjs/data/TestConfig.cjs +46 -41
- package/_cjs/data/TestConfig.cjs.map +1 -1
- package/_cjs/data/TestFailure.cjs +41 -41
- package/_cjs/data/TestFailure.cjs.map +1 -1
- package/_cjs/data/TestSuccess.cjs +26 -26
- package/_cjs/data/TestSuccess.cjs.map +1 -1
- package/_cjs/data/TestTimeoutException.cjs +9 -11
- package/_cjs/data/TestTimeoutException.cjs.map +1 -1
- package/_cjs/data.cjs +0 -2
- package/_cjs/global.cjs +0 -2
- package/_cjs/index.cjs +0 -2
- package/_cjs/util/math.cjs +319 -440
- package/_cjs/util/math.cjs.map +1 -1
- package/_cjs/util.cjs +0 -2
- package/_cjs/vitest.cjs +115 -104
- package/_cjs/vitest.cjs.map +1 -1
- package/_mjs/Fragment.mjs +237 -0
- package/_mjs/Fragment.mjs.map +1 -0
- package/_mjs/api.mjs +67 -64
- package/_mjs/api.mjs.map +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs +53 -65
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
- package/_mjs/control/Annotations/api.mjs +21 -17
- package/_mjs/control/Annotations/api.mjs.map +1 -1
- package/_mjs/control/Annotations/definition.mjs +14 -10
- package/_mjs/control/Annotations/definition.mjs.map +1 -1
- package/_mjs/control/Annotations/live.mjs +32 -28
- package/_mjs/control/Annotations/live.mjs.map +1 -1
- package/_mjs/control/Annotations.mjs +4 -5
- package/_mjs/control/Assertion/api.mjs +140 -142
- package/_mjs/control/Assertion/api.mjs.map +1 -1
- package/_mjs/control/Assertion/definition.mjs +19 -14
- package/_mjs/control/Assertion/definition.mjs.map +1 -1
- package/_mjs/control/Assertion.mjs +3 -4
- package/_mjs/control/AssertionIO/api.mjs +26 -22
- package/_mjs/control/AssertionIO/api.mjs.map +1 -1
- package/_mjs/control/AssertionIO/definition.mjs +22 -18
- package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
- package/_mjs/control/AssertionIO.mjs +3 -4
- package/_mjs/control/DefaultRunnableSpec.mjs +9 -5
- package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/definition.mjs +5 -1
- package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/render.mjs +152 -165
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter.mjs +3 -4
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +43 -39
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs +5 -1
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO.mjs +3 -4
- package/_mjs/control/Gen/api.mjs +570 -591
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen/constraints.mjs +0 -2
- package/_mjs/control/Gen/definition.mjs +13 -9
- package/_mjs/control/Gen/definition.mjs.map +1 -1
- package/_mjs/control/Gen.mjs +4 -5
- package/_mjs/control/Live/definition.mjs +31 -27
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/Live.mjs +2 -3
- package/_mjs/control/Sample/api.mjs +109 -126
- package/_mjs/control/Sample/api.mjs.map +1 -1
- package/_mjs/control/Sample/definition.mjs +15 -11
- package/_mjs/control/Sample/definition.mjs.map +1 -1
- package/_mjs/control/Sample.mjs +3 -4
- package/_mjs/control/Sized/api.mjs +13 -9
- package/_mjs/control/Sized/api.mjs.map +1 -1
- package/_mjs/control/Sized/definition.mjs +11 -7
- package/_mjs/control/Sized/definition.mjs.map +1 -1
- package/_mjs/control/Sized/live.mjs +18 -14
- package/_mjs/control/Sized/live.mjs.map +1 -1
- package/_mjs/control/Sized.mjs +4 -5
- package/_mjs/control/Spec/api.mjs +245 -366
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs +79 -75
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/Spec.mjs +3 -4
- package/_mjs/control/SummaryBuilder.mjs +31 -41
- package/_mjs/control/SummaryBuilder.mjs.map +1 -1
- package/_mjs/control/Test.mjs +13 -9
- package/_mjs/control/Test.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/api.mjs +53 -55
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +25 -21
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer.mjs +3 -4
- package/_mjs/control/TestAspect/api.mjs +49 -63
- package/_mjs/control/TestAspect/api.mjs.map +1 -1
- package/_mjs/control/TestAspect/definition.mjs +0 -2
- package/_mjs/control/TestAspect.mjs +3 -4
- package/_mjs/control/TestClock/api.mjs +24 -20
- package/_mjs/control/TestClock/api.mjs.map +1 -1
- package/_mjs/control/TestClock/definition.mjs +128 -150
- package/_mjs/control/TestClock/definition.mjs.map +1 -1
- package/_mjs/control/TestClock.mjs +3 -4
- package/_mjs/control/TestConsole/api.mjs +27 -24
- package/_mjs/control/TestConsole/api.mjs.map +1 -1
- package/_mjs/control/TestConsole/definition.mjs +62 -72
- package/_mjs/control/TestConsole/definition.mjs.map +1 -1
- package/_mjs/control/TestConsole.mjs +3 -4
- package/_mjs/control/TestEnvironment.mjs +14 -10
- package/_mjs/control/TestEnvironment.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs +25 -21
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/api.mjs +46 -43
- package/_mjs/control/TestRandom/api.mjs.map +1 -1
- package/_mjs/control/TestRandom/definition.mjs +311 -362
- package/_mjs/control/TestRandom/definition.mjs.map +1 -1
- package/_mjs/control/TestRandom.mjs +3 -4
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +66 -72
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
- package/_mjs/control/TestRenderer/definition.mjs +0 -2
- package/_mjs/control.mjs +0 -2
- package/_mjs/data/AssertionData.mjs +27 -22
- package/_mjs/data/AssertionData.mjs.map +1 -1
- package/_mjs/data/AssertionResult.mjs +18 -14
- package/_mjs/data/AssertionResult.mjs.map +1 -1
- package/_mjs/data/AssertionValue/api.mjs +34 -32
- package/_mjs/data/AssertionValue/api.mjs.map +1 -1
- package/_mjs/data/AssertionValue/definition.mjs +24 -20
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
- package/_mjs/data/AssertionValue.mjs +3 -4
- package/_mjs/data/ExecutedSpec/api.mjs +64 -80
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/definition.mjs +38 -34
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec.mjs +3 -4
- package/_mjs/data/ExecutionResult.mjs +63 -91
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FailureDetails.mjs +12 -8
- package/_mjs/data/FailureDetails.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +107 -111
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs +37 -33
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs +3 -4
- package/_mjs/data/GenFailureDetails.mjs +14 -10
- package/_mjs/data/GenFailureDetails.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs +2 -58
- package/_mjs/data/LogLine/Line.mjs +2 -94
- package/_mjs/data/LogLine/Message.mjs +2 -99
- package/_mjs/data/LogLine/Style.mjs +56 -66
- package/_mjs/data/LogLine/Style.mjs.map +1 -1
- package/_mjs/data/LogLine/api.mjs +24 -20
- package/_mjs/data/LogLine/api.mjs.map +1 -1
- package/_mjs/data/LogLine.mjs +3 -3
- package/_mjs/data/Render/api.mjs +12 -8
- package/_mjs/data/Render/api.mjs.map +1 -1
- package/_mjs/data/Render/definition.mjs +31 -27
- package/_mjs/data/Render/definition.mjs.map +1 -1
- package/_mjs/data/Render.mjs +3 -4
- package/_mjs/data/RenderParam/api.mjs +15 -15
- package/_mjs/data/RenderParam/api.mjs.map +1 -1
- package/_mjs/data/RenderParam/definition.mjs +19 -15
- package/_mjs/data/RenderParam/definition.mjs.map +1 -1
- package/_mjs/data/RenderParam.mjs +3 -4
- package/_mjs/data/Summary.mjs +19 -15
- package/_mjs/data/Summary.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/api.mjs +34 -30
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/definition.mjs +31 -27
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotation.mjs +3 -4
- package/_mjs/data/TestAnnotationMap.mjs +28 -24
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/data/TestArgs/definition.mjs +14 -10
- package/_mjs/data/TestArgs/definition.mjs.map +1 -1
- package/_mjs/data/TestArgs.mjs +2 -3
- package/_mjs/data/TestConfig.mjs +34 -30
- package/_mjs/data/TestConfig.mjs.map +1 -1
- package/_mjs/data/TestFailure.mjs +35 -31
- package/_mjs/data/TestFailure.mjs.map +1 -1
- package/_mjs/data/TestSuccess.mjs +22 -18
- package/_mjs/data/TestSuccess.mjs.map +1 -1
- package/_mjs/data/TestTimeoutException.mjs +9 -5
- package/_mjs/data/TestTimeoutException.mjs.map +1 -1
- package/_mjs/data.mjs +0 -2
- package/_mjs/global.mjs +0 -2
- package/_mjs/index.mjs +0 -2
- package/_mjs/util/math.mjs +310 -432
- package/_mjs/util/math.mjs.map +1 -1
- package/_mjs/util.mjs +0 -2
- package/_mjs/vitest.mjs +80 -80
- package/_mjs/vitest.mjs.map +1 -1
- package/package.json +13 -4
- package/_cjs/control/Annotations.cjs.map +0 -1
- package/_cjs/control/Assertion.cjs.map +0 -1
- package/_cjs/control/AssertionIO.cjs.map +0 -1
- package/_cjs/control/DefaultTestReporter.cjs.map +0 -1
- package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +0 -1
- package/_cjs/control/Gen/constraints.cjs.map +0 -1
- package/_cjs/control/Gen.cjs.map +0 -1
- package/_cjs/control/Live.cjs.map +0 -1
- package/_cjs/control/Sample.cjs.map +0 -1
- package/_cjs/control/Sized.cjs.map +0 -1
- package/_cjs/control/Spec.cjs.map +0 -1
- package/_cjs/control/TestAnnotationRenderer.cjs.map +0 -1
- package/_cjs/control/TestAspect/definition.cjs.map +0 -1
- package/_cjs/control/TestAspect.cjs.map +0 -1
- package/_cjs/control/TestClock.cjs.map +0 -1
- package/_cjs/control/TestConsole.cjs.map +0 -1
- package/_cjs/control/TestRandom.cjs.map +0 -1
- package/_cjs/control/TestRenderer/definition.cjs.map +0 -1
- package/_cjs/control.cjs.map +0 -1
- package/_cjs/data/AssertionValue.cjs.map +0 -1
- package/_cjs/data/ExecutedSpec.cjs.map +0 -1
- package/_cjs/data/FreeBooleanAlgebra.cjs.map +0 -1
- package/_cjs/data/LogLine/Fragment.cjs.map +0 -1
- package/_cjs/data/LogLine/Line.cjs.map +0 -1
- package/_cjs/data/LogLine/Message.cjs.map +0 -1
- package/_cjs/data/LogLine.cjs.map +0 -1
- package/_cjs/data/Render.cjs.map +0 -1
- package/_cjs/data/RenderParam.cjs.map +0 -1
- package/_cjs/data/TestAnnotation.cjs.map +0 -1
- package/_cjs/data/TestArgs.cjs.map +0 -1
- package/_cjs/data.cjs.map +0 -1
- package/_cjs/global.cjs.map +0 -1
- package/_cjs/index.cjs.map +0 -1
- package/_cjs/util.cjs.map +0 -1
- package/_mjs/control/Annotations.mjs.map +0 -1
- package/_mjs/control/Assertion.mjs.map +0 -1
- package/_mjs/control/AssertionIO.mjs.map +0 -1
- package/_mjs/control/DefaultTestReporter.mjs.map +0 -1
- package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +0 -1
- package/_mjs/control/Gen/constraints.mjs.map +0 -1
- package/_mjs/control/Gen.mjs.map +0 -1
- package/_mjs/control/Live.mjs.map +0 -1
- package/_mjs/control/Sample.mjs.map +0 -1
- package/_mjs/control/Sized.mjs.map +0 -1
- package/_mjs/control/Spec.mjs.map +0 -1
- package/_mjs/control/TestAnnotationRenderer.mjs.map +0 -1
- package/_mjs/control/TestAspect/definition.mjs.map +0 -1
- package/_mjs/control/TestAspect.mjs.map +0 -1
- package/_mjs/control/TestClock.mjs.map +0 -1
- package/_mjs/control/TestConsole.mjs.map +0 -1
- package/_mjs/control/TestRandom.mjs.map +0 -1
- package/_mjs/control/TestRenderer/definition.mjs.map +0 -1
- package/_mjs/control.mjs.map +0 -1
- package/_mjs/data/AssertionValue.mjs.map +0 -1
- package/_mjs/data/ExecutedSpec.mjs.map +0 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs.map +0 -1
- package/_mjs/data/LogLine/Fragment.mjs.map +0 -1
- package/_mjs/data/LogLine/Line.mjs.map +0 -1
- package/_mjs/data/LogLine/Message.mjs.map +0 -1
- package/_mjs/data/LogLine.mjs.map +0 -1
- package/_mjs/data/Render.mjs.map +0 -1
- package/_mjs/data/RenderParam.mjs.map +0 -1
- package/_mjs/data/TestAnnotation.mjs.map +0 -1
- package/_mjs/data/TestArgs.mjs.map +0 -1
- package/_mjs/data.mjs.map +0 -1
- package/_mjs/global.mjs.map +0 -1
- package/_mjs/index.mjs.map +0 -1
- package/_mjs/util.mjs.map +0 -1
|
@@ -1,401 +1,355 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_chunk = require("../../chunk.cjs");
|
|
3
|
+
let _fncts_base_collection_immutable_List_constructors = require("@fncts/base/collection/immutable/List/constructors");
|
|
4
|
+
_fncts_base_collection_immutable_List_constructors = require_chunk.__toESM(_fncts_base_collection_immutable_List_constructors, 1);
|
|
5
|
+
let _fncts_base_collection_immutable_List_api = require("@fncts/base/collection/immutable/List/api");
|
|
6
|
+
_fncts_base_collection_immutable_List_api = require_chunk.__toESM(_fncts_base_collection_immutable_List_api, 1);
|
|
7
|
+
let _fncts_io_IO_api = require("@fncts/io/IO/api");
|
|
8
|
+
_fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
|
|
9
|
+
let _fncts_base_data_Maybe_destructors = require("@fncts/base/data/Maybe/destructors");
|
|
10
|
+
_fncts_base_data_Maybe_destructors = require_chunk.__toESM(_fncts_base_data_Maybe_destructors, 1);
|
|
11
|
+
let _fncts_base_data_Tag_constructors = require("@fncts/base/data/Tag/constructors");
|
|
12
|
+
_fncts_base_data_Tag_constructors = require_chunk.__toESM(_fncts_base_data_Tag_constructors, 1);
|
|
13
|
+
let _fncts_base_collection_immutable_Vector_api = require("@fncts/base/collection/immutable/Vector/api");
|
|
14
|
+
_fncts_base_collection_immutable_Vector_api = require_chunk.__toESM(_fncts_base_collection_immutable_Vector_api, 1);
|
|
15
|
+
let _fncts_io_Ref_api_modify = require("@fncts/io/Ref/api/modify");
|
|
16
|
+
_fncts_io_Ref_api_modify = require_chunk.__toESM(_fncts_io_Ref_api_modify, 1);
|
|
17
|
+
let _fncts_io_Ref_api_get = require("@fncts/io/Ref/api/get");
|
|
18
|
+
_fncts_io_Ref_api_get = require_chunk.__toESM(_fncts_io_Ref_api_get, 1);
|
|
19
|
+
let _fncts_base_collection_immutable_Queue_constructors = require("@fncts/base/collection/immutable/Queue/constructors");
|
|
20
|
+
_fncts_base_collection_immutable_Queue_constructors = require_chunk.__toESM(_fncts_base_collection_immutable_Queue_constructors, 1);
|
|
21
|
+
let _fncts_io_Ref_api_set = require("@fncts/io/Ref/api/set");
|
|
22
|
+
_fncts_io_Ref_api_set = require_chunk.__toESM(_fncts_io_Ref_api_set, 1);
|
|
23
|
+
let _fncts_base_data_exceptions = require("@fncts/base/data/exceptions");
|
|
24
|
+
//#region build/esm/control/TestRandom/definition.js
|
|
23
25
|
const fileName_1 = "(@fncts/test) src/control/TestRandom/definition.ts";
|
|
24
26
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const TestRandomTag =
|
|
27
|
+
* @tsplus static fncts.test.TestRandomOps Tag
|
|
28
|
+
*/
|
|
29
|
+
const TestRandomTag = _fncts_base_data_Tag_constructors.makeTag("fncts.test.TestRandom");
|
|
28
30
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
get next() {
|
|
196
|
-
return this.getOrElse(this.bufferedDouble, this.random);
|
|
197
|
-
}
|
|
198
|
-
nextBigIntBetween(low, high) {
|
|
199
|
-
return tsplus_module_5.repeatUntil(n => low <= n && n < high, fileName_1 + ":159:39")(this.randomLong);
|
|
200
|
-
}
|
|
201
|
-
nextIntBetween(low, high) {
|
|
202
|
-
return nextIntBetweenWith(low, high, this.randomInt, this.randomIntBounded);
|
|
203
|
-
}
|
|
204
|
-
nextRange(low, high) {
|
|
205
|
-
return tsplus_module_5.map(n => (high - low + 1) * n + low, fileName_1 + ":165:25")(this.next);
|
|
206
|
-
}
|
|
207
|
-
nextArrayIntBetween(low, high) {
|
|
208
|
-
const self = this;
|
|
209
|
-
return tsplus_module_5.map(ns => trimArrayIntInplace(addArrayIntToNew({
|
|
210
|
-
sign: 1,
|
|
211
|
-
data: ns
|
|
212
|
-
}, low)), fileName_1 + ":189:11")(tsplus_module_5.gen(function* (_) {
|
|
213
|
-
const rangeSize = trimArrayIntInplace(addOneToPositiveArrayInt(substractArrayIntToNew(high, low)));
|
|
214
|
-
const rangeLength = rangeSize.data.length;
|
|
215
|
-
const out = [];
|
|
216
|
-
while (true) {
|
|
217
|
-
for (let index = 0; index !== rangeLength; ++index) {
|
|
218
|
-
const indexRangeSize = index === 0 ? rangeSize.data[0] + 1 : 0x100000000;
|
|
219
|
-
const g = yield* _(self.randomIntBounded(indexRangeSize), fileName_1 + ":176:42");
|
|
220
|
-
out[index] = g;
|
|
221
|
-
}
|
|
222
|
-
for (let index = 0; index !== rangeLength; ++index) {
|
|
223
|
-
const current = out[index];
|
|
224
|
-
const currentInRange = rangeSize.data[index];
|
|
225
|
-
if (current < currentInRange) {
|
|
226
|
-
return out;
|
|
227
|
-
} else if (current > currentInRange) {
|
|
228
|
-
break;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}, fileName_1 + ":169:18"));
|
|
233
|
-
}
|
|
234
|
-
}
|
|
31
|
+
* @tsplus type fncts.test.TestRandom
|
|
32
|
+
* @tsplus companion fncts.test.TestRandomOps
|
|
33
|
+
*/
|
|
34
|
+
var TestRandom = class {
|
|
35
|
+
randomState;
|
|
36
|
+
bufferState;
|
|
37
|
+
constructor(randomState, bufferState) {
|
|
38
|
+
this.randomState = randomState;
|
|
39
|
+
this.bufferState = bufferState;
|
|
40
|
+
}
|
|
41
|
+
get clearBooleans() {
|
|
42
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ booleans: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":20:35")(this.bufferState);
|
|
43
|
+
}
|
|
44
|
+
get clearBytes() {
|
|
45
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ bytes: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":23:35")(this.bufferState);
|
|
46
|
+
}
|
|
47
|
+
get clearChars() {
|
|
48
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ chars: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":26:35")(this.bufferState);
|
|
49
|
+
}
|
|
50
|
+
get clearDoubles() {
|
|
51
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ doubles: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":29:35")(this.bufferState);
|
|
52
|
+
}
|
|
53
|
+
get clearInts() {
|
|
54
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ integers: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":32:35")(this.bufferState);
|
|
55
|
+
}
|
|
56
|
+
get clearStrings() {
|
|
57
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ strings: _fncts_base_collection_immutable_Vector_api.empty() }), fileName_1 + ":35:35")(this.bufferState);
|
|
58
|
+
}
|
|
59
|
+
feedBooleans(...booleans) {
|
|
60
|
+
return _fncts_io_Ref_api_modify.update((buff) => buff.copy({ booleans: _fncts_base_collection_immutable_Vector_api.concat(buff.booleans)(_fncts_base_collection_immutable_Vector_api.from(booleans)) }), fileName_1 + ":38:35")(this.bufferState);
|
|
61
|
+
}
|
|
62
|
+
feedBytes(...bytes) {
|
|
63
|
+
return _fncts_io_Ref_api_modify.update((data) => data.copy({ bytes: _fncts_base_collection_immutable_Vector_api.concat(data.bytes)(_fncts_base_collection_immutable_Vector_api.from(bytes)) }), fileName_1 + ":41:35")(this.bufferState);
|
|
64
|
+
}
|
|
65
|
+
feedChars(...chars) {
|
|
66
|
+
return _fncts_io_Ref_api_modify.update((data) => data.copy({ chars: _fncts_base_collection_immutable_Vector_api.concat(data.chars)(_fncts_base_collection_immutable_Vector_api.from(chars)) }), fileName_1 + ":44:35")(this.bufferState);
|
|
67
|
+
}
|
|
68
|
+
feedDoubles(...doubles) {
|
|
69
|
+
return _fncts_io_Ref_api_modify.update((data) => data.copy({ doubles: _fncts_base_collection_immutable_Vector_api.concat(data.doubles)(_fncts_base_collection_immutable_Vector_api.from(doubles)) }), fileName_1 + ":47:35")(this.bufferState);
|
|
70
|
+
}
|
|
71
|
+
feedInts(...ints) {
|
|
72
|
+
return _fncts_io_Ref_api_modify.update((data) => data.copy({ integers: _fncts_base_collection_immutable_Vector_api.concat(data.integers)(_fncts_base_collection_immutable_Vector_api.from(ints)) }), fileName_1 + ":50:35")(this.bufferState);
|
|
73
|
+
}
|
|
74
|
+
feedStrings(...strings) {
|
|
75
|
+
return _fncts_io_Ref_api_modify.update((data) => data.copy({ strings: _fncts_base_collection_immutable_Vector_api.concat(data.strings)(_fncts_base_collection_immutable_Vector_api.from(strings)) }), fileName_1 + ":53:35")(this.bufferState);
|
|
76
|
+
}
|
|
77
|
+
get getSeed() {
|
|
78
|
+
return _fncts_io_IO_api.map((data) => (data.seed1 << 24 | data.seed2) ^ 25214903917, fileName_1 + ":56:36")(_fncts_io_Ref_api_get.get(this.randomState, fileName_1 + ":56:28"));
|
|
79
|
+
}
|
|
80
|
+
setSeed(seed) {
|
|
81
|
+
const newSeed = Mash()(seed.toString());
|
|
82
|
+
const seed1 = Math.floor(newSeed >>> 24);
|
|
83
|
+
const seed2 = Math.floor(newSeed) & (1 << 24) - 1;
|
|
84
|
+
return _fncts_io_Ref_api_set.set(new Data(seed1, seed2, _fncts_base_collection_immutable_Queue_constructors.empty()), fileName_1 + ":63:32")(this.randomState);
|
|
85
|
+
}
|
|
86
|
+
bufferedBoolean = (buffer) => {
|
|
87
|
+
return [_fncts_base_collection_immutable_Vector_api.head(buffer.booleans), buffer.copy({ booleans: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.booleans) })];
|
|
88
|
+
};
|
|
89
|
+
bufferedDouble = (buffer) => {
|
|
90
|
+
return [_fncts_base_collection_immutable_Vector_api.head(buffer.doubles), buffer.copy({ doubles: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.doubles) })];
|
|
91
|
+
};
|
|
92
|
+
bufferedInt = (buffer) => {
|
|
93
|
+
return [_fncts_base_collection_immutable_Vector_api.head(buffer.integers), buffer.copy({ integers: _fncts_base_collection_immutable_Vector_api.drop(1)(buffer.integers) })];
|
|
94
|
+
};
|
|
95
|
+
getOrElse = (buffer, random) => {
|
|
96
|
+
return _fncts_io_IO_api.flatMap((_) => _fncts_base_data_Maybe_destructors.match(() => random, _fncts_io_IO_api.succeedNow)(_), fileName_1 + ":75:51")(_fncts_io_Ref_api_modify.modify(buffer, fileName_1 + ":75:35")(this.bufferState));
|
|
97
|
+
};
|
|
98
|
+
leastSignificantBits = (x) => {
|
|
99
|
+
return Math.floor(x) & (1 << 24) - 1;
|
|
100
|
+
};
|
|
101
|
+
mostSignificantBits = (x) => {
|
|
102
|
+
return Math.floor(x / (1 << 24));
|
|
103
|
+
};
|
|
104
|
+
randomBits = (bits) => {
|
|
105
|
+
return _fncts_io_Ref_api_modify.modify((data) => {
|
|
106
|
+
const multiplier = 25214903917;
|
|
107
|
+
const multiplier1 = Math.floor(multiplier >>> 24);
|
|
108
|
+
const multiplier2 = Math.floor(multiplier) & (1 << 24) - 1;
|
|
109
|
+
const product1 = data.seed1 * multiplier1 + data.seed1 * multiplier2;
|
|
110
|
+
const product2 = data.seed2 * multiplier2 + 11;
|
|
111
|
+
const newSeed1 = this.mostSignificantBits(product2) + this.leastSignificantBits(product1) & (1 << 24) - 1;
|
|
112
|
+
const newSeed2 = this.leastSignificantBits(product2);
|
|
113
|
+
return [(newSeed1 << 8 | newSeed2 >> 16) >>> 32 - bits, new Data(newSeed1, newSeed2, data.nextNextGaussians)];
|
|
114
|
+
}, fileName_1 + ":84:35")(this.randomState);
|
|
115
|
+
};
|
|
116
|
+
get randomBoolean() {
|
|
117
|
+
return _fncts_io_IO_api.map((n) => n !== 0, fileName_1 + ":97:34")(this.randomBits(1));
|
|
118
|
+
}
|
|
119
|
+
randomBytes = (length) => {
|
|
120
|
+
const loop = (i, rnd, n, acc) => {
|
|
121
|
+
if (i === length) return _fncts_io_IO_api.map((l) => _fncts_base_collection_immutable_List_api.reverse(l), fileName_1 + ":102:23")(acc);
|
|
122
|
+
else if (n > 0) return _fncts_io_IO_api.flatMap((rnd) => loop(i + 1, _fncts_io_IO_api.succeedNow(rnd >> 8, fileName_1 + ":107:26"), n - 1, _fncts_io_IO_api.map((_) => _fncts_base_collection_immutable_List_api.prepend(rnd)(_), fileName_1 + ":109:20")(acc)), fileName_1 + ":104:27")(rnd);
|
|
123
|
+
else return loop(i, this.nextInt, Math.min(length - i, 4), acc);
|
|
124
|
+
};
|
|
125
|
+
return _fncts_io_IO_api.map((list) => Array.from(list), fileName_1 + ":116:89")(loop(0, this.randomInt, Math.min(length, 4), _fncts_io_IO_api.succeedNow(_fncts_base_collection_immutable_List_constructors.empty(), fileName_1 + ":116:70")));
|
|
126
|
+
};
|
|
127
|
+
randomIntBounded = (n) => {
|
|
128
|
+
if (n <= 0) return _fncts_io_IO_api.haltNow(new _fncts_base_data_exceptions.IllegalArgumentError("n must be positive", "TestRandom.randomIntBounded"), fileName_1 + ":120:24");
|
|
129
|
+
else if ((n & -n) === n) return _fncts_io_IO_api.map((_) => _ >> Math.clz32(n), fileName_1 + ":122:37")(this.randomBits(31));
|
|
130
|
+
else {
|
|
131
|
+
const loop = _fncts_io_IO_api.flatMap((i) => {
|
|
132
|
+
const value = i % n;
|
|
133
|
+
if (i - value + (n - 1) < 0) return loop;
|
|
134
|
+
else return _fncts_io_IO_api.succeedNow(value, fileName_1 + ":127:34");
|
|
135
|
+
}, fileName_1 + ":124:60")(this.randomBits(31));
|
|
136
|
+
return loop;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
get randomLong() {
|
|
140
|
+
return _fncts_io_IO_api.flatMap((i1) => _fncts_io_IO_api.flatMap((i2) => _fncts_io_IO_api.succeedNow(BigInt(i1 << 32) + BigInt(i2), fileName_1 + ":134:56"), fileName_1 + ":134:34")(this.randomBits(32)), fileName_1 + ":133:39")(this.randomBits(32));
|
|
141
|
+
}
|
|
142
|
+
get randomInt() {
|
|
143
|
+
return this.randomBits(32);
|
|
144
|
+
}
|
|
145
|
+
get randomDouble() {
|
|
146
|
+
return _fncts_io_IO_api.flatMap((i1) => _fncts_io_IO_api.map((i2) => (i1 * (1 << 27) + i2) / (1 << 53), fileName_1 + ":141:71")(this.randomBits(27)), fileName_1 + ":141:39")(this.randomBits(26));
|
|
147
|
+
}
|
|
148
|
+
get random() {
|
|
149
|
+
return this.randomBits(26);
|
|
150
|
+
}
|
|
151
|
+
get nextInt() {
|
|
152
|
+
return this.getOrElse(this.bufferedInt, this.randomInt);
|
|
153
|
+
}
|
|
154
|
+
get nextBoolean() {
|
|
155
|
+
return this.getOrElse(this.bufferedBoolean, this.randomBoolean);
|
|
156
|
+
}
|
|
157
|
+
get nextDouble() {
|
|
158
|
+
return this.getOrElse(this.bufferedDouble, this.randomDouble);
|
|
159
|
+
}
|
|
160
|
+
get next() {
|
|
161
|
+
return this.getOrElse(this.bufferedDouble, this.random);
|
|
162
|
+
}
|
|
163
|
+
nextBigIntBetween(low, high) {
|
|
164
|
+
return _fncts_io_IO_api.repeatUntil((n) => low <= n && n < high, fileName_1 + ":159:39")(this.randomLong);
|
|
165
|
+
}
|
|
166
|
+
nextIntBetween(low, high) {
|
|
167
|
+
return nextIntBetweenWith(low, high, this.randomInt, this.randomIntBounded);
|
|
168
|
+
}
|
|
169
|
+
nextRange(low, high) {
|
|
170
|
+
return _fncts_io_IO_api.map((n) => (high - low + 1) * n + low, fileName_1 + ":165:25")(this.next);
|
|
171
|
+
}
|
|
172
|
+
nextArrayIntBetween(low, high) {
|
|
173
|
+
const self = this;
|
|
174
|
+
return _fncts_io_IO_api.map((ns) => trimArrayIntInplace(addArrayIntToNew({
|
|
175
|
+
sign: 1,
|
|
176
|
+
data: ns
|
|
177
|
+
}, low)), fileName_1 + ":189:11")(_fncts_io_IO_api.gen(function* (_) {
|
|
178
|
+
const rangeSize = trimArrayIntInplace(addOneToPositiveArrayInt(substractArrayIntToNew(high, low)));
|
|
179
|
+
const rangeLength = rangeSize.data.length;
|
|
180
|
+
const out = [];
|
|
181
|
+
while (true) {
|
|
182
|
+
for (let index = 0; index !== rangeLength; ++index) {
|
|
183
|
+
const indexRangeSize = index === 0 ? rangeSize.data[0] + 1 : 4294967296;
|
|
184
|
+
out[index] = yield* _(self.randomIntBounded(indexRangeSize), fileName_1 + ":176:42");
|
|
185
|
+
}
|
|
186
|
+
for (let index = 0; index !== rangeLength; ++index) {
|
|
187
|
+
const current = out[index];
|
|
188
|
+
const currentInRange = rangeSize.data[index];
|
|
189
|
+
if (current < currentInRange) return out;
|
|
190
|
+
else if (current > currentInRange) break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}, fileName_1 + ":169:18"));
|
|
194
|
+
}
|
|
195
|
+
};
|
|
235
196
|
/**
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
exports.TestRandom = TestRandom;
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
239
199
|
function nextIntBetweenWith(min, max, nextInt, nextIntBounded) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
class Data {
|
|
248
|
-
seed1;
|
|
249
|
-
seed2;
|
|
250
|
-
nextNextGaussians;
|
|
251
|
-
constructor(seed1, seed2, nextNextGaussians = tsplus_module_6.empty()) {
|
|
252
|
-
this.seed1 = seed1;
|
|
253
|
-
this.seed2 = seed2;
|
|
254
|
-
this.nextNextGaussians = nextNextGaussians;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
exports.Data = Data;
|
|
258
|
-
class Buffer {
|
|
259
|
-
booleans;
|
|
260
|
-
bytes;
|
|
261
|
-
chars;
|
|
262
|
-
doubles;
|
|
263
|
-
integers;
|
|
264
|
-
strings;
|
|
265
|
-
constructor(booleans = tsplus_module_2.empty(), bytes = tsplus_module_2.empty(), chars = tsplus_module_2.empty(), doubles = tsplus_module_2.empty(), integers = tsplus_module_2.empty(), strings = tsplus_module_2.empty()) {
|
|
266
|
-
this.booleans = booleans;
|
|
267
|
-
this.bytes = bytes;
|
|
268
|
-
this.chars = chars;
|
|
269
|
-
this.doubles = doubles;
|
|
270
|
-
this.integers = integers;
|
|
271
|
-
this.strings = strings;
|
|
272
|
-
}
|
|
273
|
-
copy(_) {
|
|
274
|
-
return new Buffer(_.booleans ?? this.booleans, _.bytes ?? this.bytes, _.chars ?? this.chars, _.doubles ?? this.doubles, _.integers ?? this.integers, _.strings ?? this.strings);
|
|
275
|
-
}
|
|
200
|
+
if (min >= max) return _fncts_io_IO_api.haltNow(new _fncts_base_data_exceptions.IllegalArgumentError("invalid bounds", "TestRandom.nextIntBetweenWith"), fileName_1 + ":202:22");
|
|
201
|
+
else {
|
|
202
|
+
const difference = max - min;
|
|
203
|
+
if (difference > 0) return _fncts_io_IO_api.map((n) => n + min, fileName_1 + ":205:62")(nextIntBounded(difference));
|
|
204
|
+
else return _fncts_io_IO_api.repeatUntil((n) => min <= n && n < max, fileName_1 + ":206:36")(nextInt);
|
|
205
|
+
}
|
|
276
206
|
}
|
|
207
|
+
var Data = class {
|
|
208
|
+
seed1;
|
|
209
|
+
seed2;
|
|
210
|
+
nextNextGaussians;
|
|
211
|
+
constructor(seed1, seed2, nextNextGaussians = _fncts_base_collection_immutable_Queue_constructors.empty()) {
|
|
212
|
+
this.seed1 = seed1;
|
|
213
|
+
this.seed2 = seed2;
|
|
214
|
+
this.nextNextGaussians = nextNextGaussians;
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
var Buffer = class Buffer {
|
|
218
|
+
booleans;
|
|
219
|
+
bytes;
|
|
220
|
+
chars;
|
|
221
|
+
doubles;
|
|
222
|
+
integers;
|
|
223
|
+
strings;
|
|
224
|
+
constructor(booleans = _fncts_base_collection_immutable_Vector_api.empty(), bytes = _fncts_base_collection_immutable_Vector_api.empty(), chars = _fncts_base_collection_immutable_Vector_api.empty(), doubles = _fncts_base_collection_immutable_Vector_api.empty(), integers = _fncts_base_collection_immutable_Vector_api.empty(), strings = _fncts_base_collection_immutable_Vector_api.empty()) {
|
|
225
|
+
this.booleans = booleans;
|
|
226
|
+
this.bytes = bytes;
|
|
227
|
+
this.chars = chars;
|
|
228
|
+
this.doubles = doubles;
|
|
229
|
+
this.integers = integers;
|
|
230
|
+
this.strings = strings;
|
|
231
|
+
}
|
|
232
|
+
copy(_) {
|
|
233
|
+
return new Buffer(_.booleans ?? this.booleans, _.bytes ?? this.bytes, _.chars ?? this.chars, _.doubles ?? this.doubles, _.integers ?? this.integers, _.strings ?? this.strings);
|
|
234
|
+
}
|
|
235
|
+
};
|
|
277
236
|
/** @internal */
|
|
278
|
-
exports.Buffer = Buffer;
|
|
279
237
|
function isStrictlySmaller(dataA, dataB) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
238
|
+
const maxLength = Math.max(dataA.length, dataB.length);
|
|
239
|
+
for (let index = 0; index < maxLength; ++index) {
|
|
240
|
+
const indexA = index + dataA.length - maxLength;
|
|
241
|
+
const indexB = index + dataB.length - maxLength;
|
|
242
|
+
const vA = indexA >= 0 ? dataA[indexA] : 0;
|
|
243
|
+
const vB = indexB >= 0 ? dataB[indexB] : 0;
|
|
244
|
+
if (vA < vB) return true;
|
|
245
|
+
if (vA > vB) return false;
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
290
248
|
}
|
|
291
249
|
function substractArrayIntToNew(arrayIntA, arrayIntB) {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
return {
|
|
315
|
-
sign: arrayIntA.sign,
|
|
316
|
-
data: data.reverse()
|
|
317
|
-
};
|
|
250
|
+
if (arrayIntA.sign !== arrayIntB.sign) return addArrayIntToNew(arrayIntA, {
|
|
251
|
+
sign: -arrayIntB.sign,
|
|
252
|
+
data: arrayIntB.data
|
|
253
|
+
});
|
|
254
|
+
const dataA = arrayIntA.data;
|
|
255
|
+
const dataB = arrayIntB.data;
|
|
256
|
+
if (isStrictlySmaller(dataA, dataB)) {
|
|
257
|
+
const out = substractArrayIntToNew(arrayIntB, arrayIntA);
|
|
258
|
+
out.sign = -out.sign;
|
|
259
|
+
return out;
|
|
260
|
+
}
|
|
261
|
+
const data = [];
|
|
262
|
+
let reminder = 0;
|
|
263
|
+
for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
|
|
264
|
+
const current = (indexA >= 0 ? dataA[indexA] : 0) - (indexB >= 0 ? dataB[indexB] : 0) - reminder;
|
|
265
|
+
data.push(current >>> 0);
|
|
266
|
+
reminder = current < 0 ? 1 : 0;
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
sign: arrayIntA.sign,
|
|
270
|
+
data: data.reverse()
|
|
271
|
+
};
|
|
318
272
|
}
|
|
319
273
|
/**
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
274
|
+
* Trim uneeded zeros in ArrayInt
|
|
275
|
+
* and uniform notation for zero: {sign: 1, data: [0]}
|
|
276
|
+
*/
|
|
323
277
|
function trimArrayIntInplace(arrayInt) {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
return arrayInt;
|
|
278
|
+
const data = arrayInt.data;
|
|
279
|
+
let firstNonZero = 0;
|
|
280
|
+
for (; firstNonZero !== data.length && data[firstNonZero] === 0; ++firstNonZero);
|
|
281
|
+
if (firstNonZero === data.length) {
|
|
282
|
+
arrayInt.sign = 1;
|
|
283
|
+
arrayInt.data = [0];
|
|
284
|
+
return arrayInt;
|
|
285
|
+
}
|
|
286
|
+
data.splice(0, firstNonZero);
|
|
287
|
+
return arrayInt;
|
|
335
288
|
}
|
|
336
289
|
/**
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
290
|
+
* Add two ArrayInt
|
|
291
|
+
* @internal
|
|
292
|
+
*/
|
|
340
293
|
function addArrayIntToNew(arrayIntA, arrayIntB) {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
data.push(reminder);
|
|
360
|
-
}
|
|
361
|
-
return {
|
|
362
|
-
sign: arrayIntA.sign,
|
|
363
|
-
data: data.reverse()
|
|
364
|
-
};
|
|
294
|
+
if (arrayIntA.sign !== arrayIntB.sign) return substractArrayIntToNew(arrayIntA, {
|
|
295
|
+
sign: -arrayIntB.sign,
|
|
296
|
+
data: arrayIntB.data
|
|
297
|
+
});
|
|
298
|
+
const data = [];
|
|
299
|
+
let reminder = 0;
|
|
300
|
+
const dataA = arrayIntA.data;
|
|
301
|
+
const dataB = arrayIntB.data;
|
|
302
|
+
for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
|
|
303
|
+
const current = (indexA >= 0 ? dataA[indexA] : 0) + (indexB >= 0 ? dataB[indexB] : 0) + reminder;
|
|
304
|
+
data.push(current >>> 0);
|
|
305
|
+
reminder = ~~(current / 4294967296);
|
|
306
|
+
}
|
|
307
|
+
if (reminder !== 0) data.push(reminder);
|
|
308
|
+
return {
|
|
309
|
+
sign: arrayIntA.sign,
|
|
310
|
+
data: data.reverse()
|
|
311
|
+
};
|
|
365
312
|
}
|
|
366
313
|
/**
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
314
|
+
* Add one to a given positive ArrayInt
|
|
315
|
+
* @internal
|
|
316
|
+
*/
|
|
370
317
|
function addOneToPositiveArrayInt(arrayInt) {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
}
|
|
381
|
-
data.unshift(1);
|
|
382
|
-
return arrayInt;
|
|
318
|
+
arrayInt.sign = 1;
|
|
319
|
+
const data = arrayInt.data;
|
|
320
|
+
for (let index = data.length - 1; index >= 0; --index) if (data[index] === 4294967295) data[index] = 0;
|
|
321
|
+
else {
|
|
322
|
+
data[index] += 1;
|
|
323
|
+
return arrayInt;
|
|
324
|
+
}
|
|
325
|
+
data.unshift(1);
|
|
326
|
+
return arrayInt;
|
|
383
327
|
}
|
|
384
328
|
function Mash() {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
329
|
+
let n = 4022871197;
|
|
330
|
+
const mash = function(data) {
|
|
331
|
+
for (let i = 0; i < data.length; i++) {
|
|
332
|
+
n += data.charCodeAt(i);
|
|
333
|
+
let h = .02519603282416938 * n;
|
|
334
|
+
n = h >>> 0;
|
|
335
|
+
h -= n;
|
|
336
|
+
h *= n;
|
|
337
|
+
n = h >>> 0;
|
|
338
|
+
h -= n;
|
|
339
|
+
n += h * 4294967296;
|
|
340
|
+
}
|
|
341
|
+
return (n >>> 0) * 23283064365386963e-26;
|
|
342
|
+
};
|
|
343
|
+
return mash;
|
|
400
344
|
}
|
|
345
|
+
//#endregion
|
|
346
|
+
exports.Buffer = Buffer;
|
|
347
|
+
exports.Data = Data;
|
|
348
|
+
exports.TestRandom = TestRandom;
|
|
349
|
+
exports.TestRandomTag = TestRandomTag;
|
|
350
|
+
exports.addArrayIntToNew = addArrayIntToNew;
|
|
351
|
+
exports.addOneToPositiveArrayInt = addOneToPositiveArrayInt;
|
|
352
|
+
exports.substractArrayIntToNew = substractArrayIntToNew;
|
|
353
|
+
exports.trimArrayIntInplace = trimArrayIntInplace;
|
|
354
|
+
|
|
401
355
|
//# sourceMappingURL=definition.cjs.map
|