@fncts/test 0.0.50 → 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 -86
- 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 +20 -23
- package/_cjs/control/Annotations/definition.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +50 -39
- 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 -19
- 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 -18
- 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 -14
- 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 -15
- 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 -24
- 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 -72
- 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 -31
- 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 -156
- 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 -68
- 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 -343
- 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 -21
- 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 -24
- 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 -35
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec.cjs +15 -28
- package/_cjs/data/ExecutionResult.cjs +78 -97
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FailureDetails.cjs +12 -12
- 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 -35
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra.cjs +22 -28
- package/_cjs/data/GenFailureDetails.cjs +14 -13
- package/_cjs/data/GenFailureDetails.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +10 -71
- package/_cjs/data/LogLine/Line.cjs +13 -110
- package/_cjs/data/LogLine/Message.cjs +13 -114
- 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 -31
- 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 -19
- package/_cjs/data/RenderParam/definition.cjs.map +1 -1
- package/_cjs/data/RenderParam.cjs +8 -28
- package/_cjs/data/Summary.cjs +19 -15
- 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 -36
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation.cjs +19 -28
- package/_cjs/data/TestAnnotationMap.cjs +36 -33
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/data/TestArgs/definition.cjs +14 -13
- package/_cjs/data/TestArgs/definition.cjs.map +1 -1
- package/_cjs/data/TestArgs.cjs +3 -17
- package/_cjs/data/TestConfig.cjs +46 -44
- package/_cjs/data/TestConfig.cjs.map +1 -1
- package/_cjs/data/TestFailure.cjs +41 -39
- package/_cjs/data/TestFailure.cjs.map +1 -1
- package/_cjs/data/TestSuccess.cjs +26 -27
- 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 -70
- 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 -14
- package/_mjs/control/Annotations/definition.mjs.map +1 -1
- package/_mjs/control/Annotations/live.mjs +32 -27
- 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 -12
- 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 -8
- 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 -8
- 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 -9
- 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 -17
- 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 -60
- 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 -19
- 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 -133
- 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 -57
- 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 -327
- 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 -12
- 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 -17
- 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 -28
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec.mjs +3 -4
- package/_mjs/data/ExecutionResult.mjs +63 -85
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FailureDetails.mjs +12 -6
- 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 -27
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs +3 -4
- package/_mjs/data/GenFailureDetails.mjs +14 -7
- package/_mjs/data/GenFailureDetails.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs +2 -56
- package/_mjs/data/LogLine/Line.mjs +2 -92
- package/_mjs/data/LogLine/Message.mjs +2 -98
- 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 -22
- 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 -13
- package/_mjs/data/RenderParam/definition.mjs.map +1 -1
- package/_mjs/data/RenderParam.mjs +3 -4
- package/_mjs/data/Summary.mjs +19 -9
- 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 -24
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotation.mjs +3 -4
- package/_mjs/data/TestAnnotationMap.mjs +28 -23
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/data/TestArgs/definition.mjs +14 -7
- package/_mjs/data/TestArgs/definition.mjs.map +1 -1
- package/_mjs/data/TestArgs.mjs +2 -3
- package/_mjs/data/TestConfig.mjs +34 -33
- package/_mjs/data/TestConfig.mjs.map +1 -1
- package/_mjs/data/TestFailure.mjs +35 -29
- package/_mjs/data/TestFailure.mjs.map +1 -1
- package/_mjs/data/TestSuccess.mjs +22 -19
- 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/_src/control/TestClock/definition.ts +26 -18
- package/_src/control/TestConsole/definition.ts +19 -9
- package/_src/control/TestRandom/definition.ts +39 -17
- package/_src/data/Summary.ts +3 -1
- package/_src/vitest.ts +1 -1
- package/control/TestClock/definition.d.ts +4 -4
- package/control/TestConsole/definition.d.ts +5 -5
- package/control/TestRandom/definition.d.ts +13 -13
- package/data/Summary.d.ts +1 -1
- package/package.json +14 -5
- 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
package/_mjs/control/Gen/api.mjs
CHANGED
|
@@ -1,756 +1,735 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import * as
|
|
6
|
-
import * as tsplus_module_5 from "@fncts/io/Random/api";
|
|
1
|
+
import { MAX_VALUE_32, Unit64, add64, clamp, computeArrayInt64GenerateRange, indexToDouble, indexToFloat, isStrictlyPositive64, isStrictlySmaller64, safeDoubleToIndex, safeFloatToIndex, substract64 } from "../../util/math.mjs";
|
|
2
|
+
import { Sample } from "../Sample/definition.mjs";
|
|
3
|
+
import "../Sample.mjs";
|
|
4
|
+
import { Gen } from "./definition.mjs";
|
|
5
|
+
import * as tsplus_module_13 from "@fncts/base/data/Maybe/api";
|
|
7
6
|
import * as tsplus_module_6 from "@fncts/io/IO/api";
|
|
8
|
-
import * as tsplus_module_7 from "@fncts/base/collection/immutable/Conc/definition";
|
|
9
7
|
import * as tsplus_module_8 from "@fncts/base/data/Maybe/constructors";
|
|
8
|
+
import * as tsplus_module_16 from "@fncts/base/collection/immutable/Conc/constructors";
|
|
10
9
|
import * as tsplus_module_9 from "@fncts/io/Stream/api";
|
|
11
|
-
import * as
|
|
10
|
+
import * as tsplus_module_4 from "@fncts/test/control/Sample/api";
|
|
12
11
|
import * as tsplus_module_11 from "@fncts/base/collection/immutable/Conc/api";
|
|
13
|
-
import * as tsplus_module_12 from "@fncts/base/collection/immutable/Conc/api/replicate";
|
|
14
|
-
import * as tsplus_module_13 from "@fncts/base/data/Maybe/api";
|
|
15
12
|
import * as tsplus_module_14 from "@fncts/base/data/Maybe/destructors";
|
|
13
|
+
import { identity } from "@fncts/base/data/function";
|
|
14
|
+
import * as tsplus_module_5 from "@fncts/io/Random/api";
|
|
15
|
+
import * as tsplus_module_1 from "@fncts/base/data/Equatable/api";
|
|
16
|
+
import { IllegalArgumentError, NoSuchElementError } from "@fncts/base/data/exceptions";
|
|
16
17
|
import * as tsplus_module_15 from "@fncts/base/collection/immutable/ReadonlyArray/api";
|
|
17
|
-
import * as
|
|
18
|
+
import * as tsplus_module_19 from "@fncts/base/data/function/api";
|
|
18
19
|
import * as tsplus_module_17 from "@fncts/base/data/number/instances";
|
|
20
|
+
import * as tsplus_module_10 from "@fncts/base/collection/immutable/Conc/api/empty";
|
|
21
|
+
import * as tsplus_module_21 from "@fncts/base/data/Eq/api";
|
|
22
|
+
import * as tsplus_module_2 from "@fncts/base/data/Eq/definition";
|
|
23
|
+
import * as tsplus_module_3 from "@fncts/test/control/Sized/api";
|
|
24
|
+
import * as tsplus_module_7 from "@fncts/base/collection/immutable/Conc/definition";
|
|
25
|
+
import * as tsplus_module_12 from "@fncts/base/collection/immutable/Conc/api/replicate";
|
|
19
26
|
import * as tsplus_module_18 from "@fncts/base/collection/immutable/SortedMap/api";
|
|
20
|
-
import * as tsplus_module_19 from "@fncts/base/data/function/api";
|
|
21
27
|
import * as tsplus_module_20 from "@fncts/base/data/string/instances";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}), 10], [/*#__PURE__*/char_1({
|
|
130
|
-
min: 65,
|
|
131
|
-
max: 90
|
|
132
|
-
}), 26], [/*#__PURE__*/char_1({
|
|
133
|
-
min: 97,
|
|
134
|
-
max: 122
|
|
28
|
+
//#region build/esm/control/Gen/api.js
|
|
29
|
+
const fileName_1 = "(@fncts/test) src/control/Gen/api.ts";
|
|
30
|
+
const array = array_1;
|
|
31
|
+
const arrayWith = arrayWith_1;
|
|
32
|
+
const arrayN = arrayN_1;
|
|
33
|
+
const arrayInt64 = arrayInt64_1;
|
|
34
|
+
const asciiStringWith = asciiStringWith_1;
|
|
35
|
+
const base64StringWith = base64StringWith_1;
|
|
36
|
+
const bounded = bounded_1;
|
|
37
|
+
const char = char_1;
|
|
38
|
+
const concWith = concWith_1;
|
|
39
|
+
const concN = concN_1;
|
|
40
|
+
const constant = constant_1;
|
|
41
|
+
const defer = defer_1;
|
|
42
|
+
const filter = filter_1;
|
|
43
|
+
const flatMap = flatMap_1;
|
|
44
|
+
const flatten = flatten_1;
|
|
45
|
+
const fromIO = fromIO_1;
|
|
46
|
+
const fromIOSample = fromIOSample_1;
|
|
47
|
+
const floatWith = floatWith_1;
|
|
48
|
+
const intWith = intWith_1;
|
|
49
|
+
const map = map_1;
|
|
50
|
+
const memo = memo_1;
|
|
51
|
+
const oneOf = oneOf_1;
|
|
52
|
+
const reshrink = reshrink_1;
|
|
53
|
+
const small = small_1;
|
|
54
|
+
const string = string_1;
|
|
55
|
+
const stringN = stringN_1;
|
|
56
|
+
const unfoldGenN = unfoldGenN_1;
|
|
57
|
+
const uniqueConc = uniqueConc_1;
|
|
58
|
+
const uniqueConcN = uniqueConcN_1;
|
|
59
|
+
const unwrap = unwrap_1;
|
|
60
|
+
const weighted = weighted_1;
|
|
61
|
+
const zipWith = zipWith_1;
|
|
62
|
+
const tuple = tuple_1;
|
|
63
|
+
const record = record_1;
|
|
64
|
+
const date = date_1;
|
|
65
|
+
const int8Array = int8Array_1;
|
|
66
|
+
const int16Array = int16Array_1;
|
|
67
|
+
const int32Array = int32Array_1;
|
|
68
|
+
const uint8Array = uint8Array_1;
|
|
69
|
+
const uint16Array = uint16Array_1;
|
|
70
|
+
const uint32Array = uint32Array_1;
|
|
71
|
+
const gapSize = 2048;
|
|
72
|
+
/**
|
|
73
|
+
* @tsplus static fncts.test.GenOps anything
|
|
74
|
+
*/
|
|
75
|
+
function anything(constraints = {}) {
|
|
76
|
+
const key = constraints.key ?? alphaNumericString_1;
|
|
77
|
+
const maxDepth = constraints.maxDepth ?? 2;
|
|
78
|
+
const maxKeys = constraints.maxKeys ?? 5;
|
|
79
|
+
const values = constraints.values ?? [
|
|
80
|
+
boolean_1,
|
|
81
|
+
alphaNumericString_1,
|
|
82
|
+
double_1,
|
|
83
|
+
int_1,
|
|
84
|
+
oneOf_1(alphaNumericString_1, constant_1(null), constant_1(void 0))
|
|
85
|
+
];
|
|
86
|
+
function mapOf(key, value) {
|
|
87
|
+
return map_1((pairs) => new Map(pairs))(uniqueConc_1({
|
|
88
|
+
eq: tsplus_module_2.makeEq({ equals: ([k1]) => ([k]) => tsplus_module_1.strictEquals(k, k1) }),
|
|
89
|
+
maxLength: maxKeys
|
|
90
|
+
})(tuple_1(key, value)));
|
|
91
|
+
}
|
|
92
|
+
function setOf(value) {
|
|
93
|
+
return map_1((values) => new Set(values))(uniqueConc_1({
|
|
94
|
+
eq: tsplus_module_2.makeEq({ equals: (v1) => (v) => tsplus_module_1.strictEquals(v, v1) }),
|
|
95
|
+
maxLength: maxKeys
|
|
96
|
+
})(value));
|
|
97
|
+
}
|
|
98
|
+
const base = oneOf_1(...values);
|
|
99
|
+
const arrayBase = oneOf_1(...values.map((gen) => arrayWith_1({ maxLength: maxKeys })(gen)));
|
|
100
|
+
const arrayGen = memo_1((n) => oneOf_1(arrayBase, arrayWith_1({ maxLength: maxKeys })(gen(n))));
|
|
101
|
+
const objectBase = oneOf_1(...values.map((gen) => record_1(key, gen)));
|
|
102
|
+
const objectGen = memo_1((n) => oneOf_1(objectBase, record_1(key, gen(n))));
|
|
103
|
+
const setBase = oneOf_1(...values.map(setOf));
|
|
104
|
+
const setGen = memo_1((n) => oneOf_1(setBase, setOf(gen(n))));
|
|
105
|
+
const mapBase = oneOf_1(...values.map((value) => mapOf(key, value)));
|
|
106
|
+
const mapGen = memo_1((n) => oneOf_1(mapBase, mapOf(oneOf_1(key, gen(n)), gen(n))));
|
|
107
|
+
const gen = memo_1((n) => {
|
|
108
|
+
if (n <= 0) return base;
|
|
109
|
+
return oneOf_1(base, arrayGen(), objectGen(), ...constraints.withDate ? [date_1()] : [], ...constraints.withSet ? [setGen()] : [], ...constraints.withMap ? [mapGen()] : [], ...constraints.withTypedArray ? [oneOf_1(int8Array_1(), uint8Array_1(), int16Array_1(), uint16Array_1(), int32Array_1(), uint32Array_1())] : []);
|
|
110
|
+
});
|
|
111
|
+
return gen(maxDepth);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @tsplus static fncts.test.GenOps size
|
|
115
|
+
*/
|
|
116
|
+
const size_1 = fromIO_1(tsplus_module_3.size);
|
|
117
|
+
const size = size_1;
|
|
118
|
+
/**
|
|
119
|
+
* @tsplus static fncts.test.GenOps uniform
|
|
120
|
+
*/
|
|
121
|
+
const uniform_1 = fromIOSample_1(tsplus_module_6.map(tsplus_module_4.shrinkFractional(0), fileName_1 + ":127:82")(tsplus_module_5.nextDouble));
|
|
122
|
+
const uniform = uniform_1;
|
|
123
|
+
/**
|
|
124
|
+
* @tsplus static fncts.test.GenOps alphaNumericChar
|
|
125
|
+
*/
|
|
126
|
+
const alphaNumericChar_1 = weighted_1([char_1({
|
|
127
|
+
min: 48,
|
|
128
|
+
max: 57
|
|
129
|
+
}), 10], [char_1({
|
|
130
|
+
min: 65,
|
|
131
|
+
max: 90
|
|
132
|
+
}), 26], [char_1({
|
|
133
|
+
min: 97,
|
|
134
|
+
max: 122
|
|
135
135
|
}), 26]);
|
|
136
|
-
|
|
136
|
+
const alphaNumericChar = alphaNumericChar_1;
|
|
137
137
|
/**
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
* @tsplus static fncts.test.GenOps alphaNumericStringWith
|
|
139
|
+
*/
|
|
140
|
+
function alphaNumericStringWith(constraints = {}) {
|
|
141
|
+
return string_1(constraints)(alphaNumericChar_1);
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const alphaNumericString_1 =
|
|
147
|
-
|
|
144
|
+
* @tsplus static fncts.test.GenOps alphaNumericString
|
|
145
|
+
*/
|
|
146
|
+
const alphaNumericString_1 = string_1()(alphaNumericChar_1);
|
|
147
|
+
const alphaNumericString = alphaNumericString_1;
|
|
148
148
|
/**
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
* @tsplus static fncts.test.GenOps array
|
|
150
|
+
* @tsplus getter fncts.test.Gen array
|
|
151
|
+
*/
|
|
152
152
|
function array_1(self) {
|
|
153
|
-
|
|
153
|
+
return arrayWith_1()(self);
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
* @tsplus pipeable fncts.test.Gen arrayWith
|
|
157
|
+
*/
|
|
158
158
|
function arrayWith_1(constraints = {}) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
return (g) => {
|
|
160
|
+
const minLength = constraints.minLength || 0;
|
|
161
|
+
return constraints.maxLength ? flatMap_1((n) => arrayN_1(n)(g))(intWith_1({
|
|
162
|
+
min: minLength,
|
|
163
|
+
max: constraints.maxLength
|
|
164
|
+
})) : small_1((n) => arrayN_1(n)(g), minLength);
|
|
165
|
+
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
* @tsplus pipeable fncts.test.Gen arrayN
|
|
169
|
+
*/
|
|
170
170
|
function arrayN_1(n) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
return (self) => {
|
|
172
|
+
return map_1((conc) => tsplus_module_7.toArray(conc))(concN_1(n)(self));
|
|
173
|
+
};
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
* @tsplus static fncts.test.GenOps arrayInt64
|
|
177
|
+
*/
|
|
178
178
|
function arrayInt64_1(min, max) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const asciiChar_1 = /*#__PURE__*/_char(0x00, 0x7f, indexToPrintableIndex);
|
|
193
|
-
export const asciiChar = asciiChar_1;
|
|
194
|
-
/**
|
|
195
|
-
* @tsplus static fncts.test.GenOps asciiStringWith
|
|
196
|
-
*/
|
|
179
|
+
return new Gen(tsplus_module_9.map((uncheckedValue) => {
|
|
180
|
+
if (uncheckedValue.data.length === 1) uncheckedValue.data.unshift(0);
|
|
181
|
+
return tsplus_module_8.just(tsplus_module_4.shrinkArrayInt64(min)(uncheckedValue), fileName_1 + ":190:20");
|
|
182
|
+
}, fileName_1 + ":186:11")(tsplus_module_9.flatMap(({ min, max }) => tsplus_module_9.repeatIO(tsplus_module_5.nextArrayIntBetween(min, max, fileName_1 + ":185:76"), fileName_1 + ":185:49"), fileName_1 + ":185:15")(tsplus_module_9.fromIO(computeArrayInt64GenerateRange(min, max, void 0, void 0), fileName_1 + ":184:18"))));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @tsplus static fncts.test.GenOps asciiChar
|
|
186
|
+
*/
|
|
187
|
+
const asciiChar_1 = _char(0, 127, indexToPrintableIndex);
|
|
188
|
+
const asciiChar = asciiChar_1;
|
|
189
|
+
/**
|
|
190
|
+
* @tsplus static fncts.test.GenOps asciiStringWith
|
|
191
|
+
*/
|
|
197
192
|
function asciiStringWith_1(constraints) {
|
|
198
|
-
|
|
193
|
+
return string_1(constraints)(asciiChar_1);
|
|
199
194
|
}
|
|
200
195
|
/**
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
196
|
+
* @tsplus static fncts.test.GenOps asciiString
|
|
197
|
+
*/
|
|
198
|
+
const asciiString = asciiStringWith_1();
|
|
204
199
|
/**
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const base64Char_1 =
|
|
208
|
-
|
|
200
|
+
* @tsplus static fncts.test.GenOps base64Char
|
|
201
|
+
*/
|
|
202
|
+
const base64Char_1 = _char(0, 63, base64ToCharCode);
|
|
203
|
+
const base64Char = base64Char_1;
|
|
209
204
|
/**
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
205
|
+
* @tsplus static fncts.test.GenOps base64String
|
|
206
|
+
*/
|
|
207
|
+
const base64String = base64StringWith_1();
|
|
213
208
|
/**
|
|
214
|
-
|
|
215
|
-
|
|
209
|
+
* @tsplus static fncts.test.GenOps base64StringWith
|
|
210
|
+
*/
|
|
216
211
|
function base64StringWith_1(constraints = {}) {
|
|
217
|
-
|
|
212
|
+
return string_1(constraints)(base64Char_1);
|
|
218
213
|
}
|
|
219
214
|
/**
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
215
|
+
* @tsplus static fncts.test.GenOps bigInt
|
|
216
|
+
*/
|
|
217
|
+
const bigInt = fromIOSample_1(tsplus_module_6.map(tsplus_module_4.shrinkBigInt(BigInt(0)), fileName_1 + ":233:98")(tsplus_module_5.nextBigIntBetween(BigInt(-1) << BigInt(255), (BigInt(1) << BigInt(255)) - BigInt(1), fileName_1 + ":233:27")));
|
|
223
218
|
/**
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const boolean_1 =
|
|
227
|
-
|
|
219
|
+
* @tsplus static fncts.test.GenOps boolean
|
|
220
|
+
*/
|
|
221
|
+
const boolean_1 = defer_1(() => oneOf_1(constant_1(true), constant_1(false)));
|
|
222
|
+
const boolean = boolean_1;
|
|
228
223
|
/**
|
|
229
|
-
|
|
230
|
-
|
|
224
|
+
* @tsplus static fncts.test.GenOps bounded
|
|
225
|
+
*/
|
|
231
226
|
function bounded_1(min, max, f) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
227
|
+
return flatMap_1(f)(intWith_1({
|
|
228
|
+
min,
|
|
229
|
+
max
|
|
230
|
+
}));
|
|
236
231
|
}
|
|
237
232
|
/**
|
|
238
|
-
|
|
239
|
-
|
|
233
|
+
* @tsplus static fncts.test.GenOps char
|
|
234
|
+
*/
|
|
240
235
|
function char_1(constraints) {
|
|
241
|
-
|
|
236
|
+
return _char(constraints.min, constraints.max, identity);
|
|
242
237
|
}
|
|
243
238
|
/**
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const char16_1 =
|
|
247
|
-
|
|
239
|
+
* @tsplus static fncts.test.GenOps char16
|
|
240
|
+
*/
|
|
241
|
+
const char16_1 = _char(0, 65535, indexToPrintableIndex);
|
|
242
|
+
const char16 = char16_1;
|
|
248
243
|
/**
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
* @tsplus pipeable fncts.test.Gen conc
|
|
245
|
+
*/
|
|
251
246
|
function concWith_1(constraints = {}) {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
247
|
+
return (self) => {
|
|
248
|
+
const minLength = constraints.minLength ?? 0;
|
|
249
|
+
return constraints.maxLength ? flatMap_1((n) => concN_1(n)(self))(intWith_1({
|
|
250
|
+
min: minLength,
|
|
251
|
+
max: constraints.maxLength
|
|
252
|
+
})) : small_1((n) => concN_1(n)(self), minLength);
|
|
253
|
+
};
|
|
259
254
|
}
|
|
260
255
|
/**
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
256
|
+
* @tsplus getter fncts.test.Gen conc
|
|
257
|
+
* @tsplus static fncts.test.GenOps conc
|
|
258
|
+
*/
|
|
259
|
+
function conc(self) {
|
|
260
|
+
return concWith_1()(self);
|
|
266
261
|
}
|
|
267
262
|
/**
|
|
268
|
-
|
|
269
|
-
|
|
263
|
+
* @tsplus pipeable fncts.test.Gen concN
|
|
264
|
+
*/
|
|
270
265
|
function concN_1(n) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
266
|
+
return (g) => {
|
|
267
|
+
return tsplus_module_11.foldLeft(constant_1(tsplus_module_10.empty()), (gen, a) => zipWith_1(a, (as, a) => tsplus_module_11.append(a)(as))(gen))(tsplus_module_12.replicate(n, g));
|
|
268
|
+
};
|
|
274
269
|
}
|
|
275
270
|
/**
|
|
276
|
-
|
|
277
|
-
|
|
271
|
+
* @tsplus static fncts.test.GenOps constant
|
|
272
|
+
*/
|
|
278
273
|
function constant_1(a) {
|
|
279
|
-
|
|
274
|
+
return new Gen(tsplus_module_9.succeedNow(tsplus_module_8.just(tsplus_module_4.noShrink(a), fileName_1 + ":297:40"), fileName_1 + ":297:35"));
|
|
280
275
|
}
|
|
281
276
|
/**
|
|
282
|
-
|
|
283
|
-
|
|
277
|
+
* @tsplus static fncts.test.GenOps defer
|
|
278
|
+
*/
|
|
284
279
|
function defer_1(gen) {
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
const double_1 =
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
*/
|
|
322
|
-
const empty_1 = /*#__PURE__*/new Gen(tsplus_module_9.empty);
|
|
323
|
-
export const empty = empty_1;
|
|
324
|
-
/**
|
|
325
|
-
* @tsplus static fncts.test.GenOps exponential
|
|
326
|
-
*/
|
|
327
|
-
const exponential_1 = /*#__PURE__*/map_1(n => -Math.log(1 - n))(uniform_1);
|
|
328
|
-
export const exponential = exponential_1;
|
|
280
|
+
return flatten_1(fromIO_1(tsplus_module_6.succeed(gen, fileName_1 + ":304:31")));
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* @tsplus static fncts.test.GenOps double
|
|
284
|
+
*/
|
|
285
|
+
const double_1 = fromIOSample_1(tsplus_module_6.map(tsplus_module_4.shrinkFractional(0), fileName_1 + ":310:81")(tsplus_module_5.nextDouble));
|
|
286
|
+
const double = double_1;
|
|
287
|
+
/**
|
|
288
|
+
* @tsplus static fncts.test.GenOps doubleWith
|
|
289
|
+
*/
|
|
290
|
+
function doubleWith(constraints = {}) {
|
|
291
|
+
const { noDefaultInfinity = false, noNaN = false, min = noDefaultInfinity ? -Number.MAX_VALUE : Number.NEGATIVE_INFINITY, max = noDefaultInfinity ? Number.MAX_VALUE : Number.POSITIVE_INFINITY } = constraints;
|
|
292
|
+
return unwrap_1(tsplus_module_6.gen(function* (_) {
|
|
293
|
+
const minIndex = yield* _(safeDoubleToIndex(min, "min"), fileName_1 + ":324:32");
|
|
294
|
+
const maxIndex = yield* _(safeDoubleToIndex(max, "max"), fileName_1 + ":325:32");
|
|
295
|
+
if (isStrictlySmaller64(maxIndex, minIndex)) return yield* _(tsplus_module_6.haltNow(new IllegalArgumentError("min must be less than or equal to max", "Gen.double"), fileName_1 + ":327:35"), fileName_1 + ":327:24");
|
|
296
|
+
if (noNaN) return map_1(indexToDouble)(arrayInt64_1(minIndex, maxIndex));
|
|
297
|
+
const positiveMaxIdx = isStrictlyPositive64(maxIndex);
|
|
298
|
+
const minIndexWithNaN = positiveMaxIdx ? minIndex : substract64(minIndex, Unit64);
|
|
299
|
+
const maxIndexWithNaN = positiveMaxIdx ? add64(maxIndex, Unit64) : maxIndex;
|
|
300
|
+
return map_1((index) => {
|
|
301
|
+
if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return NaN;
|
|
302
|
+
else return indexToDouble(index);
|
|
303
|
+
})(arrayInt64_1(minIndexWithNaN, maxIndexWithNaN));
|
|
304
|
+
}, fileName_1 + ":323:11"));
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @tsplus static fncts.test.GenOps empty
|
|
308
|
+
*/
|
|
309
|
+
const empty_1 = new Gen(tsplus_module_9.empty);
|
|
310
|
+
const empty = empty_1;
|
|
311
|
+
/**
|
|
312
|
+
* @tsplus static fncts.test.GenOps exponential
|
|
313
|
+
*/
|
|
314
|
+
const exponential_1 = map_1((n) => -Math.log(1 - n))(uniform_1);
|
|
315
|
+
const exponential = exponential_1;
|
|
329
316
|
function filter_1(p) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
317
|
+
return (fa) => {
|
|
318
|
+
return flatMap_1((a) => p(a) ? constant_1(a) : empty_1)(fa);
|
|
319
|
+
};
|
|
333
320
|
}
|
|
334
321
|
/**
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
322
|
+
* @tsplus pipeable fncts.test.Gen filterNot
|
|
323
|
+
*/
|
|
324
|
+
function filterNot(p) {
|
|
325
|
+
return (fa) => {
|
|
326
|
+
return filter_1((a) => !p(a))(fa);
|
|
327
|
+
};
|
|
341
328
|
}
|
|
342
329
|
/**
|
|
343
|
-
|
|
344
|
-
|
|
330
|
+
* @tsplus pipeable fncts.test.Gen flatMap
|
|
331
|
+
*/
|
|
345
332
|
function flatMap_1(f) {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
333
|
+
return (ma) => {
|
|
334
|
+
return new Gen(tsplus_module_4.flatMapStream(ma.sample, (sample) => {
|
|
335
|
+
const values = f(sample.value).sample;
|
|
336
|
+
const shrinks = flatMap_1((a) => f(a))(new Gen(sample.shrink)).sample;
|
|
337
|
+
return tsplus_module_9.map((maybeSample) => tsplus_module_13.map((sample) => tsplus_module_4.flatMap((b) => new Sample(b, shrinks))(sample))(maybeSample), fileName_1 + ":382:26")(values);
|
|
338
|
+
}));
|
|
339
|
+
};
|
|
353
340
|
}
|
|
354
341
|
/**
|
|
355
|
-
|
|
356
|
-
|
|
342
|
+
* @tsplus getter fncts.test.Gen flatten
|
|
343
|
+
*/
|
|
357
344
|
function flatten_1(mma) {
|
|
358
|
-
|
|
345
|
+
return flatMap_1(identity)(mma);
|
|
359
346
|
}
|
|
360
347
|
/**
|
|
361
|
-
|
|
362
|
-
|
|
348
|
+
* @tsplus static fncts.test.GenOps fromIO
|
|
349
|
+
*/
|
|
363
350
|
function fromIO_1(effect) {
|
|
364
|
-
|
|
351
|
+
return fromIOSample_1(tsplus_module_6.map(tsplus_module_4.noShrink, fileName_1 + ":399:37")(effect));
|
|
365
352
|
}
|
|
366
353
|
/**
|
|
367
|
-
|
|
368
|
-
|
|
354
|
+
* @tsplus static fncts.test.GenOps fromIOSample
|
|
355
|
+
*/
|
|
369
356
|
function fromIOSample_1(effect) {
|
|
370
|
-
|
|
357
|
+
return new Gen(tsplus_module_9.fromIO(tsplus_module_6.map(tsplus_module_8.just, fileName_1 + ":406:42")(effect), fileName_1 + ":406:31"));
|
|
371
358
|
}
|
|
372
359
|
/**
|
|
373
|
-
|
|
374
|
-
|
|
360
|
+
* @tsplus static fncts.test.GenOps floatWith
|
|
361
|
+
*/
|
|
375
362
|
function floatWith_1(constraints = {}) {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
/**
|
|
431
|
-
* @tsplus static fncts.test.GenOps int
|
|
432
|
-
*/
|
|
433
|
-
const int_1 = /*#__PURE__*/fromIOSample_1(/*#__PURE__*/tsplus_module_6.map(tsplus_module_4.shrinkIntegral(0), fileName_1 + ":473:75")(tsplus_module_5.nextInt));
|
|
434
|
-
export const int = int_1;
|
|
435
|
-
/**
|
|
436
|
-
* @tsplus static fncts.test.GenOps intWith
|
|
437
|
-
*/
|
|
363
|
+
const { noDefaultInfinity = false, min = noDefaultInfinity ? -MAX_VALUE_32 : Number.NEGATIVE_INFINITY, max = noDefaultInfinity ? MAX_VALUE_32 : Number.POSITIVE_INFINITY, noNaN = false } = constraints;
|
|
364
|
+
return unwrap_1(tsplus_module_6.gen(function* (_) {
|
|
365
|
+
const minIndex = yield* _(safeFloatToIndex(min, "min"), fileName_1 + ":421:32");
|
|
366
|
+
const maxIndex = yield* _(safeFloatToIndex(max, "max"), fileName_1 + ":422:32");
|
|
367
|
+
if (minIndex > maxIndex) return yield* _(tsplus_module_6.haltNow(/* @__PURE__ */ new Error("Gen.float constraints.min must be less than or equal to constraints.max"), fileName_1 + ":425:21"), fileName_1 + ":424:24");
|
|
368
|
+
if (noNaN) return map_1(indexToFloat)(intWith_1({
|
|
369
|
+
min: minIndex,
|
|
370
|
+
max: maxIndex
|
|
371
|
+
}));
|
|
372
|
+
const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
|
|
373
|
+
const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
|
|
374
|
+
return map_1((index) => {
|
|
375
|
+
if (index > maxIndex || index < minIndex) return NaN;
|
|
376
|
+
else return indexToFloat(index);
|
|
377
|
+
})(intWith_1({
|
|
378
|
+
min: minIndexWithNaN,
|
|
379
|
+
max: maxIndexWithNaN
|
|
380
|
+
}));
|
|
381
|
+
}, fileName_1 + ":420:11"));
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* @tsplus static fncts.test.GenOps float
|
|
385
|
+
*/
|
|
386
|
+
const float = floatWith_1();
|
|
387
|
+
/**
|
|
388
|
+
* @tsplus static fncts.test.GenOps fullUnicodeChar
|
|
389
|
+
*/
|
|
390
|
+
const fullUnicodeChar_1 = _char(0, 1114111 - gapSize, unicodeToCharCode);
|
|
391
|
+
const fullUnicodeChar = fullUnicodeChar_1;
|
|
392
|
+
/**
|
|
393
|
+
* @tsplus static fncts.test.GenOps fullUnicodeString
|
|
394
|
+
*/
|
|
395
|
+
function fullUnicodeString(constraints = {}) {
|
|
396
|
+
return string_1(constraints)(fullUnicodeChar_1);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* @tsplus static fncts.test.GenOps hexChar
|
|
400
|
+
*/
|
|
401
|
+
const hexChar_1 = _char(0, 15, hexToCharCode);
|
|
402
|
+
const hexChar = hexChar_1;
|
|
403
|
+
/**
|
|
404
|
+
* @tsplus static fncts.test.GenOps hexString
|
|
405
|
+
*/
|
|
406
|
+
function hexString(constraints = {}) {
|
|
407
|
+
return string_1(constraints)(hexChar_1);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* @tsplus static fncts.test.GenOps int
|
|
411
|
+
*/
|
|
412
|
+
const int_1 = fromIOSample_1(tsplus_module_6.map(tsplus_module_4.shrinkIntegral(0), fileName_1 + ":473:75")(tsplus_module_5.nextInt));
|
|
413
|
+
const int = int_1;
|
|
414
|
+
/**
|
|
415
|
+
* @tsplus static fncts.test.GenOps intWith
|
|
416
|
+
*/
|
|
438
417
|
function intWith_1(constraints = {}) {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* @tsplus pipeable fncts.test.Gen map
|
|
451
|
-
*/
|
|
418
|
+
return fromIOSample_1(tsplus_module_6.defer(() => {
|
|
419
|
+
const min = constraints.min ?? -2147483648;
|
|
420
|
+
const max = constraints.max ?? 2147483647;
|
|
421
|
+
if (min > max || min < Number.MIN_SAFE_INTEGER || max > Number.MAX_SAFE_INTEGER) return tsplus_module_6.haltNow(new IllegalArgumentError("invalid bounds", "Gen.intWith"), fileName_1 + ":484:26");
|
|
422
|
+
else return tsplus_module_6.map(tsplus_module_4.shrinkIntegral(min), fileName_1 + ":486:51")(tsplus_module_5.nextIntBetween(min, max, fileName_1 + ":486:37"));
|
|
423
|
+
}, fileName_1 + ":480:13"));
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* @tsplus pipeable fncts.test.Gen map
|
|
427
|
+
*/
|
|
452
428
|
function map_1(f) {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
429
|
+
return (self) => {
|
|
430
|
+
return new Gen(tsplus_module_9.map((maybeSample) => tsplus_module_13.map((sample) => tsplus_module_4.map(f)(sample))(maybeSample), fileName_1 + ":497:35")(self.sample));
|
|
431
|
+
};
|
|
456
432
|
}
|
|
457
433
|
/**
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
434
|
+
* @tsplus pipeable fncts.test.Gen mapIO
|
|
435
|
+
*/
|
|
436
|
+
function mapIO(f) {
|
|
437
|
+
return (self) => {
|
|
438
|
+
return new Gen(tsplus_module_9.mapIO((maybeSample) => tsplus_module_14.match(() => tsplus_module_6.succeedNow(tsplus_module_8.nothing(fileName_1 + ":509:38"), fileName_1 + ":509:30"), (sample) => tsplus_module_6.map(tsplus_module_8.just, fileName_1 + ":510:44")(tsplus_module_4.foreach(f)(sample)))(maybeSample), fileName_1 + ":507:24")(self.sample));
|
|
439
|
+
};
|
|
464
440
|
}
|
|
465
441
|
/**
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
442
|
+
* @tsplus static fncts.test.GenOps medium
|
|
443
|
+
*/
|
|
444
|
+
function medium(f, min = 0) {
|
|
445
|
+
return flatMap_1(f)(reshrink_1(tsplus_module_4.shrinkIntegral(min))(flatMap_1((max) => map_1((n) => clamp(Math.round(n * max / 10), min, max))(exponential_1))(size_1)));
|
|
470
446
|
}
|
|
471
447
|
/**
|
|
472
|
-
|
|
473
|
-
|
|
448
|
+
* @tsplus static fncts.test.GenOps memo
|
|
449
|
+
*/
|
|
474
450
|
function memo_1(builder) {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
}
|
|
488
|
-
/**
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
}
|
|
497
|
-
/**
|
|
498
|
-
|
|
499
|
-
|
|
451
|
+
const previous = {};
|
|
452
|
+
let remainingDepth = 10;
|
|
453
|
+
return (maxDepth) => {
|
|
454
|
+
const n = maxDepth !== void 0 ? maxDepth : remainingDepth;
|
|
455
|
+
if (!Object.prototype.hasOwnProperty.call(previous, n)) {
|
|
456
|
+
const prev = remainingDepth;
|
|
457
|
+
remainingDepth = n - 1;
|
|
458
|
+
previous[n] = builder(n);
|
|
459
|
+
remainingDepth = prev;
|
|
460
|
+
}
|
|
461
|
+
return previous[n];
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* @tsplus static fncts.test.GenOps nat
|
|
466
|
+
*/
|
|
467
|
+
function nat(max = 2147483647) {
|
|
468
|
+
return intWith_1({
|
|
469
|
+
min: 0,
|
|
470
|
+
max: clamp(max, 0, max)
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* @tsplus static fncts.test.GenOps oneOf
|
|
475
|
+
*/
|
|
500
476
|
function oneOf_1(...gens) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
477
|
+
if (tsplus_module_15.isEmpty(gens)) return empty_1;
|
|
478
|
+
else return flatMap_1((i) => gens[i])(intWith_1({
|
|
479
|
+
min: 0,
|
|
480
|
+
max: gens.length - 1
|
|
481
|
+
}));
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* @tsplus static fncts.test.GenOps partial
|
|
485
|
+
*/
|
|
486
|
+
function partial(properties) {
|
|
487
|
+
const entries = Object.entries(properties);
|
|
488
|
+
return tsplus_module_15.foldLeft(constant_1({}), (b, [k, gen]) => unwrap_1(tsplus_module_6.ifIO(() => tsplus_module_6.succeed(() => zipWith_1(gen, (r, a) => ({
|
|
489
|
+
...r,
|
|
490
|
+
[k]: a
|
|
491
|
+
}))(b), fileName_1 + ":575:50"), () => tsplus_module_6.succeed(() => b, fileName_1 + ":575:108"), fileName_1 + ":575:39")(tsplus_module_5.nextBoolean)))(entries);
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* @tsplus static fncts.test.GenOps printableChar
|
|
495
|
+
*/
|
|
496
|
+
const printableChar = char_1({
|
|
497
|
+
min: 32,
|
|
498
|
+
max: 126
|
|
522
499
|
});
|
|
523
500
|
/**
|
|
524
|
-
|
|
525
|
-
|
|
501
|
+
* @tsplus pipeable fncts.test.Gen reshrink
|
|
502
|
+
*/
|
|
526
503
|
function reshrink_1(f) {
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
504
|
+
return (gen) => {
|
|
505
|
+
return new Gen(tsplus_module_9.map((maybeSample) => tsplus_module_13.map((sample) => f(sample.value))(maybeSample), fileName_1 + ":590:69")(gen.sample));
|
|
506
|
+
};
|
|
530
507
|
}
|
|
531
508
|
/**
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
509
|
+
* @tsplus static fncts.test.GenOps sized
|
|
510
|
+
*/
|
|
511
|
+
function sized(f) {
|
|
512
|
+
return flatMap_1(f)(size_1);
|
|
536
513
|
}
|
|
537
514
|
/**
|
|
538
|
-
|
|
539
|
-
|
|
515
|
+
* @tsplus static fncts.test.GenOps small
|
|
516
|
+
*/
|
|
540
517
|
function small_1(f, min = 0) {
|
|
541
|
-
|
|
518
|
+
return flatMap_1(f)(reshrink_1(tsplus_module_4.shrinkIntegral(min))(flatMap_1((max) => map_1((n) => clamp(Math.round(n * max / 25), min, max))(exponential_1))(size_1)));
|
|
542
519
|
}
|
|
543
520
|
/**
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
521
|
+
* @tsplus static fncts.test.GenOps string16
|
|
522
|
+
*/
|
|
523
|
+
function string16(constraints = {}) {
|
|
524
|
+
return string_1(constraints)(char16_1);
|
|
548
525
|
}
|
|
549
526
|
/**
|
|
550
|
-
|
|
551
|
-
|
|
527
|
+
* @tsplus pipeable fncts.test.Gen string
|
|
528
|
+
*/
|
|
552
529
|
function string_1(constraints = {}) {
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
530
|
+
return (char) => {
|
|
531
|
+
const min = constraints.minLength || 0;
|
|
532
|
+
return constraints.maxLength ? bounded_1(min, constraints.maxLength, (n) => stringN_1(n)(char)) : small_1((n) => stringN_1(n)(char), min);
|
|
533
|
+
};
|
|
557
534
|
}
|
|
558
535
|
/**
|
|
559
|
-
|
|
560
|
-
|
|
536
|
+
* @tsplus pipeable fncts.test.Gen stringN
|
|
537
|
+
*/
|
|
561
538
|
function stringN_1(n) {
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
539
|
+
return (char) => {
|
|
540
|
+
return map_1((arr) => arr.join(""))(arrayN_1(n)(char));
|
|
541
|
+
};
|
|
565
542
|
}
|
|
566
543
|
/**
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
544
|
+
* @tsplus static fncts.test.GenOps struct
|
|
545
|
+
*/
|
|
546
|
+
function struct(properties) {
|
|
547
|
+
const entries = Object.entries(properties);
|
|
548
|
+
return tsplus_module_15.foldLeft(constant_1({}), (b, [k, gen]) => zipWith_1(gen, (out, a) => ({
|
|
549
|
+
...out,
|
|
550
|
+
[k]: a
|
|
551
|
+
}))(b))(entries);
|
|
575
552
|
}
|
|
576
553
|
/**
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
554
|
+
* @tsplus static fncts.test.GenOps unfoldGen
|
|
555
|
+
*/
|
|
556
|
+
function unfoldGen(s, f) {
|
|
557
|
+
return small_1((n) => unfoldGenN_1(n, s, f));
|
|
581
558
|
}
|
|
582
559
|
/**
|
|
583
|
-
|
|
584
|
-
|
|
560
|
+
* @tsplus static fncts.test.GenOps unfoldGenN
|
|
561
|
+
*/
|
|
585
562
|
function unfoldGenN_1(n, s, f) {
|
|
586
|
-
|
|
563
|
+
if (n <= 0) return constant_1(tsplus_module_16.make());
|
|
564
|
+
else return flatMap_1(([s, a]) => map_1((as) => tsplus_module_11.append(a)(as))(unfoldGenN_1(n - 1, s, f)))(f(s));
|
|
587
565
|
}
|
|
588
566
|
/**
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
const unicodeChar_1 =
|
|
592
|
-
|
|
567
|
+
* @tsplus static fncts.test.GenOps unicodeChar
|
|
568
|
+
*/
|
|
569
|
+
const unicodeChar_1 = _char(0, 65535 - gapSize, unicodeToCharCode);
|
|
570
|
+
const unicodeChar = unicodeChar_1;
|
|
593
571
|
/**
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
572
|
+
* @tsplus static fncts.test.GenOps unicodeString
|
|
573
|
+
*/
|
|
574
|
+
function unicodeString(constraints = {}) {
|
|
575
|
+
return string_1(constraints)(unicodeChar_1);
|
|
598
576
|
}
|
|
599
577
|
/**
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
578
|
+
* @tsplus pipeable fncts.test.Gen uniqueArray
|
|
579
|
+
*/
|
|
580
|
+
function uniqueArray(constraints = {}) {
|
|
581
|
+
return (gen) => {
|
|
582
|
+
return map_1((conc) => tsplus_module_7.toArray(conc))(uniqueConc_1(constraints)(gen));
|
|
583
|
+
};
|
|
606
584
|
}
|
|
607
585
|
/**
|
|
608
|
-
|
|
609
|
-
|
|
586
|
+
* @tsplus pipeable fncts.test.Gen uniqueConc
|
|
587
|
+
*/
|
|
610
588
|
function uniqueConc_1(constraints = {}) {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
return constraints.maxLength ? bounded_1(minLength, constraints.maxLength, n => uniqueConcN_1(n, eq)(self)) : small_1(n => uniqueConcN_1(n, eq)(self), minLength);
|
|
617
|
-
};
|
|
589
|
+
return (self) => {
|
|
590
|
+
const minLength = constraints.minLength ?? 0;
|
|
591
|
+
const eq = constraints.eq ?? tsplus_module_2.makeEq({ equals: (y) => (x) => tsplus_module_1.strictEquals(x, y) });
|
|
592
|
+
return constraints.maxLength ? bounded_1(minLength, constraints.maxLength, (n) => uniqueConcN_1(n, eq)(self)) : small_1((n) => uniqueConcN_1(n, eq)(self), minLength);
|
|
593
|
+
};
|
|
618
594
|
}
|
|
619
595
|
/**
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
function uniqueConcN_1(n,
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
596
|
+
* @tsplus pipeable fncts.test.Gen uniqueConcN
|
|
597
|
+
*/
|
|
598
|
+
function uniqueConcN_1(n, E) {
|
|
599
|
+
return (self) => {
|
|
600
|
+
return tsplus_module_11.foldLeft(constant_1(tsplus_module_10.empty()), (gen, a) => zipWith_1(a, (as, a) => tsplus_module_11.elem(a, E)(as) ? as : tsplus_module_11.append(a)(as))(gen))(tsplus_module_12.replicate(n, self));
|
|
601
|
+
};
|
|
626
602
|
}
|
|
627
603
|
/**
|
|
628
|
-
|
|
629
|
-
|
|
604
|
+
* @tsplus static fncts.test.GenOps unwrap
|
|
605
|
+
*/
|
|
630
606
|
function unwrap_1(effect) {
|
|
631
|
-
|
|
607
|
+
return flatten_1(fromIO_1(effect));
|
|
632
608
|
}
|
|
633
609
|
/**
|
|
634
|
-
|
|
635
|
-
|
|
610
|
+
* @tsplus static fncts.test.GenOps weighted
|
|
611
|
+
*/
|
|
636
612
|
function weighted_1(...gens) {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
613
|
+
const sum = tsplus_module_15.foldLeft(0, (b, a) => b + a)(gens.map(([, weight]) => weight));
|
|
614
|
+
const [map] = tsplus_module_15.foldLeft(tsplus_module_19.tuple(tsplus_module_18.make(tsplus_module_17.Ord), 0), ([map, acc], [gen, d]) => {
|
|
615
|
+
if ((acc + d) / sum > acc / sum) return tsplus_module_19.tuple(tsplus_module_18.set((acc + d) / sum, gen)(map), acc + d);
|
|
616
|
+
else return tsplus_module_19.tuple(map, acc);
|
|
617
|
+
})(gens);
|
|
618
|
+
return flatMap_1((n) => tsplus_module_13.getOrElse(() => {
|
|
619
|
+
throw new NoSuchElementError("Gen.weighted");
|
|
620
|
+
})(tsplus_module_18.getGte(n)(map)))(uniform_1);
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* @tsplus pipeable fncts.test.Gen zipWith
|
|
624
|
+
*/
|
|
648
625
|
function zipWith_1(that, f) {
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
626
|
+
return (self) => {
|
|
627
|
+
return flatMap_1((a) => map_1((b) => f(a, b))(that))(self);
|
|
628
|
+
};
|
|
652
629
|
}
|
|
653
630
|
/**
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
631
|
+
* @tsplus pipeable fncts.test.Gen zip
|
|
632
|
+
*/
|
|
633
|
+
function zip(that) {
|
|
634
|
+
return (self) => {
|
|
635
|
+
return zipWith_1(that, tsplus_module_19.tuple)(self);
|
|
636
|
+
};
|
|
660
637
|
}
|
|
661
638
|
/**
|
|
662
|
-
|
|
663
|
-
|
|
639
|
+
* @tsplus static fncts.test.GenOps tuple
|
|
640
|
+
*/
|
|
664
641
|
function tuple_1(...components) {
|
|
665
|
-
|
|
642
|
+
return tsplus_module_15.foldLeft(constant_1([]), (b, a) => zipWith_1(a, (vs, v) => [...vs, v])(b))(components);
|
|
666
643
|
}
|
|
667
644
|
/**
|
|
668
|
-
|
|
669
|
-
|
|
645
|
+
* @tsplus static fncts.test.GenOps record
|
|
646
|
+
*/
|
|
670
647
|
function record_1(key, value, constraints) {
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
648
|
+
return map_1((pairs) => tsplus_module_11.foldLeft({}, (b, [k, v]) => ({
|
|
649
|
+
...b,
|
|
650
|
+
[k]: v
|
|
651
|
+
}))(pairs))(uniqueConc_1({
|
|
652
|
+
eq: tsplus_module_21.contramap(([k]) => k)(tsplus_module_20.Eq),
|
|
653
|
+
...constraints
|
|
654
|
+
})(tuple_1(key, value)));
|
|
678
655
|
}
|
|
679
656
|
/**
|
|
680
|
-
|
|
681
|
-
|
|
657
|
+
* @tsplus static fncts.test.GenOps date
|
|
658
|
+
*/
|
|
682
659
|
function date_1(constraints = {}) {
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
660
|
+
const min = constraints.min ? constraints.min.getTime() : -864e13;
|
|
661
|
+
const max = constraints.max ? constraints.max.getTime() : 864e13;
|
|
662
|
+
return map_1((n) => new Date(n))(intWith_1({
|
|
663
|
+
min,
|
|
664
|
+
max
|
|
665
|
+
}));
|
|
689
666
|
}
|
|
690
667
|
function typedArray(constraints, minBound, maxBound, ctor) {
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
668
|
+
const min = constraints.min ? clamp(constraints.min, minBound, maxBound) : minBound;
|
|
669
|
+
const max = constraints.max ? clamp(constraints.max, minBound, maxBound) : maxBound;
|
|
670
|
+
return map_1((n) => new ctor(n))(array_1(intWith_1({
|
|
671
|
+
min,
|
|
672
|
+
max
|
|
673
|
+
})));
|
|
697
674
|
}
|
|
698
675
|
/**
|
|
699
|
-
|
|
700
|
-
|
|
676
|
+
* @tsplus static fncts.test.GenOps int8Array
|
|
677
|
+
*/
|
|
701
678
|
function int8Array_1(constraints = {}) {
|
|
702
|
-
|
|
679
|
+
return typedArray(constraints, -128, 127, Int8Array);
|
|
703
680
|
}
|
|
704
681
|
/**
|
|
705
|
-
|
|
706
|
-
|
|
682
|
+
* @tsplus static fncts.test.GenOps int16Array
|
|
683
|
+
*/
|
|
707
684
|
function int16Array_1(constraints = {}) {
|
|
708
|
-
|
|
685
|
+
return typedArray(constraints, -32768, 32767, Int16Array);
|
|
709
686
|
}
|
|
710
687
|
/**
|
|
711
|
-
|
|
712
|
-
|
|
688
|
+
* @tsplus static fncts.test.GenOps int32Array
|
|
689
|
+
*/
|
|
713
690
|
function int32Array_1(constraints = {}) {
|
|
714
|
-
|
|
691
|
+
return typedArray(constraints, -2147483648, 2147483647, Int32Array);
|
|
715
692
|
}
|
|
716
693
|
/**
|
|
717
|
-
|
|
718
|
-
|
|
694
|
+
* @tsplus static fncts.test.GenOps uint8Array
|
|
695
|
+
*/
|
|
719
696
|
function uint8Array_1(constraints = {}) {
|
|
720
|
-
|
|
697
|
+
return typedArray(constraints, 0, 255, Uint8Array);
|
|
721
698
|
}
|
|
722
699
|
/**
|
|
723
|
-
|
|
724
|
-
|
|
700
|
+
* @tsplus static fncts.test.GenOps uint16Array
|
|
701
|
+
*/
|
|
725
702
|
function uint16Array_1(constraints = {}) {
|
|
726
|
-
|
|
703
|
+
return typedArray(constraints, 0, 65535, Uint16Array);
|
|
727
704
|
}
|
|
728
705
|
/**
|
|
729
|
-
|
|
730
|
-
|
|
706
|
+
* @tsplus static fncts.test.GenOps uint32Array
|
|
707
|
+
*/
|
|
731
708
|
function uint32Array_1(constraints = {}) {
|
|
732
|
-
|
|
709
|
+
return typedArray(constraints, 0, 4294967295, Uint32Array);
|
|
733
710
|
}
|
|
734
711
|
function _char(min, max, mapToCode) {
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
712
|
+
return map_1((n) => String.fromCharCode(mapToCode(n)))(intWith_1({
|
|
713
|
+
min,
|
|
714
|
+
max
|
|
715
|
+
}));
|
|
739
716
|
}
|
|
740
717
|
function indexToPrintableIndex(v) {
|
|
741
|
-
|
|
718
|
+
return v < 95 ? v + 32 : v <= 126 ? v - 95 : v;
|
|
742
719
|
}
|
|
743
720
|
function base64ToCharCode(v) {
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
721
|
+
if (v < 26) return v + 65;
|
|
722
|
+
if (v < 52) return v + 97 - 26;
|
|
723
|
+
if (v < 62) return v + 48 - 52;
|
|
724
|
+
return v === 62 ? 43 : 47;
|
|
748
725
|
}
|
|
749
726
|
function hexToCharCode(v) {
|
|
750
|
-
|
|
751
|
-
: v + 97 - 10; // a-f
|
|
727
|
+
return v < 10 ? v + 48 : v + 97 - 10;
|
|
752
728
|
}
|
|
753
729
|
function unicodeToCharCode(v) {
|
|
754
|
-
|
|
730
|
+
return v < 55296 ? indexToPrintableIndex(v) : v + gapSize;
|
|
755
731
|
}
|
|
732
|
+
//#endregion
|
|
733
|
+
export { alphaNumericChar, alphaNumericString, alphaNumericStringWith, anything, array, arrayInt64, arrayN, arrayWith, asciiChar, asciiString, asciiStringWith, base64Char, base64String, base64StringWith, bigInt, boolean, bounded, char, char16, conc, concN, concWith, constant, date, defer, double, doubleWith, empty, exponential, filter, filterNot, flatMap, flatten, float, floatWith, fromIO, fromIOSample, fullUnicodeChar, fullUnicodeString, hexChar, hexString, int, int16Array, int32Array, int8Array, intWith, map, mapIO, medium, memo, nat, oneOf, partial, printableChar, record, reshrink, size, sized, small, string, string16, stringN, struct, tuple, uint16Array, uint32Array, uint8Array, unfoldGen, unfoldGenN, unicodeChar, unicodeString, uniform, uniqueArray, uniqueConc, uniqueConcN, unwrap, weighted, zip, zipWith };
|
|
734
|
+
|
|
756
735
|
//# sourceMappingURL=api.mjs.map
|