@fncts/test 0.0.1
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/TestSpec.d.ts +4 -0
- package/_cjs/api.cjs +91 -0
- package/_cjs/api.cjs.map +1 -0
- package/_cjs/control/AbstractRunnableSpec.cjs +30 -0
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -0
- package/_cjs/control/Annotations/api.cjs +50 -0
- package/_cjs/control/Annotations/api.cjs.map +1 -0
- package/_cjs/control/Annotations/definition.cjs +27 -0
- package/_cjs/control/Annotations/definition.cjs.map +1 -0
- package/_cjs/control/Annotations/live.cjs +68 -0
- package/_cjs/control/Annotations/live.cjs.map +1 -0
- package/_cjs/control/Annotations.cjs +45 -0
- package/_cjs/control/Annotations.cjs.map +1 -0
- package/_cjs/control/Assertion/api.cjs +256 -0
- package/_cjs/control/Assertion/api.cjs.map +1 -0
- package/_cjs/control/Assertion/definition.cjs +32 -0
- package/_cjs/control/Assertion/definition.cjs.map +1 -0
- package/_cjs/control/Assertion.cjs +32 -0
- package/_cjs/control/Assertion.cjs.map +1 -0
- package/_cjs/control/AssertionIO/api.cjs +46 -0
- package/_cjs/control/AssertionIO/api.cjs.map +1 -0
- package/_cjs/control/AssertionIO/definition.cjs +37 -0
- package/_cjs/control/AssertionIO/definition.cjs.map +1 -0
- package/_cjs/control/AssertionIO.cjs +32 -0
- package/_cjs/control/AssertionIO.cjs.map +1 -0
- package/_cjs/control/DefaultRunnableSpec.cjs +30 -0
- package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter/definition.cjs +9 -0
- package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter/render.cjs +288 -0
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter.cjs +32 -0
- package/_cjs/control/DefaultTestReporter.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +89 -0
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +9 -0
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO.cjs +32 -0
- package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -0
- package/_cjs/control/Gen/api/array.cjs +50 -0
- package/_cjs/control/Gen/api/array.cjs.map +1 -0
- package/_cjs/control/Gen/api/char.cjs +129 -0
- package/_cjs/control/Gen/api/char.cjs.map +1 -0
- package/_cjs/control/Gen/api/conc.cjs +70 -0
- package/_cjs/control/Gen/api/conc.cjs.map +1 -0
- package/_cjs/control/Gen/api/double.cjs +82 -0
- package/_cjs/control/Gen/api/double.cjs.map +1 -0
- package/_cjs/control/Gen/api/float.cjs +55 -0
- package/_cjs/control/Gen/api/float.cjs.map +1 -0
- package/_cjs/control/Gen/api/string.cjs +102 -0
- package/_cjs/control/Gen/api/string.cjs.map +1 -0
- package/_cjs/control/Gen/api/struct.cjs +36 -0
- package/_cjs/control/Gen/api/struct.cjs.map +1 -0
- package/_cjs/control/Gen/api.cjs +369 -0
- package/_cjs/control/Gen/api.cjs.map +1 -0
- package/_cjs/control/Gen/constraints.cjs +6 -0
- package/_cjs/control/Gen/constraints.cjs.map +1 -0
- package/_cjs/control/Gen/definition.cjs +20 -0
- package/_cjs/control/Gen/definition.cjs.map +1 -0
- package/_cjs/control/Gen.cjs +136 -0
- package/_cjs/control/Gen.cjs.map +1 -0
- package/_cjs/control/Live/definition.cjs +67 -0
- package/_cjs/control/Live/definition.cjs.map +1 -0
- package/_cjs/control/Live.cjs +19 -0
- package/_cjs/control/Live.cjs.map +1 -0
- package/_cjs/control/RunnableSpec.cjs +70 -0
- package/_cjs/control/RunnableSpec.cjs.map +1 -0
- package/_cjs/control/Sample/api.cjs +244 -0
- package/_cjs/control/Sample/api.cjs.map +1 -0
- package/_cjs/control/Sample/definition.cjs +21 -0
- package/_cjs/control/Sample/definition.cjs.map +1 -0
- package/_cjs/control/Sample.cjs +32 -0
- package/_cjs/control/Sample.cjs.map +1 -0
- package/_cjs/control/Sized/api.cjs +32 -0
- package/_cjs/control/Sized/api.cjs.map +1 -0
- package/_cjs/control/Sized/definition.cjs +27 -0
- package/_cjs/control/Sized/definition.cjs.map +1 -0
- package/_cjs/control/Sized/live.cjs +42 -0
- package/_cjs/control/Sized/live.cjs.map +1 -0
- package/_cjs/control/Sized.cjs +45 -0
- package/_cjs/control/Sized.cjs.map +1 -0
- package/_cjs/control/Spec/api.cjs +525 -0
- package/_cjs/control/Spec/api.cjs.map +1 -0
- package/_cjs/control/Spec/definition.cjs +125 -0
- package/_cjs/control/Spec/definition.cjs.map +1 -0
- package/_cjs/control/Spec.cjs +32 -0
- package/_cjs/control/Spec.cjs.map +1 -0
- package/_cjs/control/SummaryBuilder.cjs +87 -0
- package/_cjs/control/SummaryBuilder.cjs.map +1 -0
- package/_cjs/control/Test.cjs +34 -0
- package/_cjs/control/Test.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer/api.cjs +101 -0
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +53 -0
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer.cjs +32 -0
- package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -0
- package/_cjs/control/TestAspect/api.cjs +148 -0
- package/_cjs/control/TestAspect/api.cjs.map +1 -0
- package/_cjs/control/TestAspect/definition.cjs +6 -0
- package/_cjs/control/TestAspect/definition.cjs.map +1 -0
- package/_cjs/control/TestAspect.cjs +32 -0
- package/_cjs/control/TestAspect.cjs.map +1 -0
- package/_cjs/control/TestClock/api.cjs +72 -0
- package/_cjs/control/TestClock/api.cjs.map +1 -0
- package/_cjs/control/TestClock/definition.cjs +225 -0
- package/_cjs/control/TestClock/definition.cjs.map +1 -0
- package/_cjs/control/TestClock.cjs +32 -0
- package/_cjs/control/TestClock.cjs.map +1 -0
- package/_cjs/control/TestConsole/api.cjs +64 -0
- package/_cjs/control/TestConsole/api.cjs.map +1 -0
- package/_cjs/control/TestConsole/definition.cjs +100 -0
- package/_cjs/control/TestConsole/definition.cjs.map +1 -0
- package/_cjs/control/TestConsole.cjs +32 -0
- package/_cjs/control/TestConsole.cjs.map +1 -0
- package/_cjs/control/TestEnvironment.cjs +39 -0
- package/_cjs/control/TestEnvironment.cjs.map +1 -0
- package/_cjs/control/TestExecutor.cjs +58 -0
- package/_cjs/control/TestExecutor.cjs.map +1 -0
- package/_cjs/control/TestLogger.cjs +58 -0
- package/_cjs/control/TestLogger.cjs.map +1 -0
- package/_cjs/control/TestRandom/api.cjs +125 -0
- package/_cjs/control/TestRandom/api.cjs.map +1 -0
- package/_cjs/control/TestRandom/definition.cjs +458 -0
- package/_cjs/control/TestRandom/definition.cjs.map +1 -0
- package/_cjs/control/TestRandom.cjs +32 -0
- package/_cjs/control/TestRandom.cjs.map +1 -0
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +113 -0
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -0
- package/_cjs/control/TestRenderer/definition.cjs +6 -0
- package/_cjs/control/TestRenderer/definition.cjs.map +1 -0
- package/_cjs/control/TestRunner.cjs +45 -0
- package/_cjs/control/TestRunner.cjs.map +1 -0
- package/_cjs/data/AssertionData.cjs +55 -0
- package/_cjs/data/AssertionData.cjs.map +1 -0
- package/_cjs/data/AssertionResult.cjs +34 -0
- package/_cjs/data/AssertionResult.cjs.map +1 -0
- package/_cjs/data/AssertionValue/api.cjs +64 -0
- package/_cjs/data/AssertionValue/api.cjs.map +1 -0
- package/_cjs/data/AssertionValue/definition.cjs +35 -0
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -0
- package/_cjs/data/AssertionValue.cjs +32 -0
- package/_cjs/data/AssertionValue.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec/api.cjs +132 -0
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec/definition.cjs +58 -0
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec.cjs +32 -0
- package/_cjs/data/ExecutedSpec.cjs.map +1 -0
- package/_cjs/data/ExecutionResult.cjs +142 -0
- package/_cjs/data/ExecutionResult.cjs.map +1 -0
- package/_cjs/data/FailureDetails.cjs +17 -0
- package/_cjs/data/FailureDetails.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +194 -0
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs +59 -0
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra.cjs +32 -0
- package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -0
- package/_cjs/data/GenFailureDetails.cjs +18 -0
- package/_cjs/data/GenFailureDetails.cjs.map +1 -0
- package/_cjs/data/LogLine/Fragment.cjs +94 -0
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -0
- package/_cjs/data/LogLine/Line.cjs +142 -0
- package/_cjs/data/LogLine/Line.cjs.map +1 -0
- package/_cjs/data/LogLine/Message.cjs +145 -0
- package/_cjs/data/LogLine/Message.cjs.map +1 -0
- package/_cjs/data/LogLine/Style.cjs +124 -0
- package/_cjs/data/LogLine/Style.cjs.map +1 -0
- package/_cjs/data/LogLine/api.cjs +65 -0
- package/_cjs/data/LogLine/api.cjs.map +1 -0
- package/_cjs/data/LogLine.cjs +32 -0
- package/_cjs/data/LogLine.cjs.map +1 -0
- package/_cjs/data/Render/api.cjs +25 -0
- package/_cjs/data/Render/api.cjs.map +1 -0
- package/_cjs/data/Render/definition.cjs +52 -0
- package/_cjs/data/Render/definition.cjs.map +1 -0
- package/_cjs/data/Render.cjs +32 -0
- package/_cjs/data/Render.cjs.map +1 -0
- package/_cjs/data/RenderParam/api.cjs +40 -0
- package/_cjs/data/RenderParam/api.cjs.map +1 -0
- package/_cjs/data/RenderParam/definition.cjs +33 -0
- package/_cjs/data/RenderParam/definition.cjs.map +1 -0
- package/_cjs/data/RenderParam.cjs +32 -0
- package/_cjs/data/RenderParam.cjs.map +1 -0
- package/_cjs/data/Summary.cjs +20 -0
- package/_cjs/data/Summary.cjs.map +1 -0
- package/_cjs/data/TestAnnotation/api.cjs +76 -0
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -0
- package/_cjs/data/TestAnnotation/definition.cjs +55 -0
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -0
- package/_cjs/data/TestAnnotation.cjs +32 -0
- package/_cjs/data/TestAnnotation.cjs.map +1 -0
- package/_cjs/data/TestAnnotationMap.cjs +51 -0
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -0
- package/_cjs/data/TestArgs/definition.cjs +18 -0
- package/_cjs/data/TestArgs/definition.cjs.map +1 -0
- package/_cjs/data/TestArgs.cjs +19 -0
- package/_cjs/data/TestArgs.cjs.map +1 -0
- package/_cjs/data/TestConfig.cjs +76 -0
- package/_cjs/data/TestConfig.cjs.map +1 -0
- package/_cjs/data/TestFailure.cjs +75 -0
- package/_cjs/data/TestFailure.cjs.map +1 -0
- package/_cjs/data/TestSuccess.cjs +48 -0
- package/_cjs/data/TestSuccess.cjs.map +1 -0
- package/_cjs/data/TestTimeoutException.cjs +16 -0
- package/_cjs/data/TestTimeoutException.cjs.map +1 -0
- package/_cjs/demo.cjs +44 -0
- package/_cjs/demo.cjs.map +1 -0
- package/_cjs/util/math.cjs +673 -0
- package/_cjs/util/math.cjs.map +1 -0
- package/_mjs/api.mjs +57 -0
- package/_mjs/api.mjs.map +1 -0
- package/_mjs/control/AbstractRunnableSpec.mjs +16 -0
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -0
- package/_mjs/control/Annotations/api.mjs +30 -0
- package/_mjs/control/Annotations/api.mjs.map +1 -0
- package/_mjs/control/Annotations/definition.mjs +13 -0
- package/_mjs/control/Annotations/definition.mjs.map +1 -0
- package/_mjs/control/Annotations/live.mjs +40 -0
- package/_mjs/control/Annotations/live.mjs.map +1 -0
- package/_mjs/control/Annotations.mjs +5 -0
- package/_mjs/control/Annotations.mjs.map +1 -0
- package/_mjs/control/Assertion/api.mjs +170 -0
- package/_mjs/control/Assertion/api.mjs.map +1 -0
- package/_mjs/control/Assertion/definition.mjs +17 -0
- package/_mjs/control/Assertion/definition.mjs.map +1 -0
- package/_mjs/control/Assertion.mjs +4 -0
- package/_mjs/control/Assertion.mjs.map +1 -0
- package/_mjs/control/AssertionIO/api.mjs +28 -0
- package/_mjs/control/AssertionIO/api.mjs.map +1 -0
- package/_mjs/control/AssertionIO/definition.mjs +23 -0
- package/_mjs/control/AssertionIO/definition.mjs.map +1 -0
- package/_mjs/control/AssertionIO.mjs +4 -0
- package/_mjs/control/AssertionIO.mjs.map +1 -0
- package/_mjs/control/DefaultRunnableSpec.mjs +15 -0
- package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter/definition.mjs +2 -0
- package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter/render.mjs +245 -0
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter.mjs +4 -0
- package/_mjs/control/DefaultTestReporter.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +62 -0
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs +2 -0
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO.mjs +4 -0
- package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -0
- package/_mjs/control/Gen/api/array.mjs +31 -0
- package/_mjs/control/Gen/api/array.mjs.map +1 -0
- package/_mjs/control/Gen/api/char.mjs +95 -0
- package/_mjs/control/Gen/api/char.mjs.map +1 -0
- package/_mjs/control/Gen/api/conc.mjs +46 -0
- package/_mjs/control/Gen/api/conc.mjs.map +1 -0
- package/_mjs/control/Gen/api/double.mjs +60 -0
- package/_mjs/control/Gen/api/double.mjs.map +1 -0
- package/_mjs/control/Gen/api/float.mjs +41 -0
- package/_mjs/control/Gen/api/float.mjs.map +1 -0
- package/_mjs/control/Gen/api/string.mjs +72 -0
- package/_mjs/control/Gen/api/string.mjs.map +1 -0
- package/_mjs/control/Gen/api/struct.mjs +18 -0
- package/_mjs/control/Gen/api/struct.mjs.map +1 -0
- package/_mjs/control/Gen/api.mjs +288 -0
- package/_mjs/control/Gen/api.mjs.map +1 -0
- package/_mjs/control/Gen/constraints.mjs +2 -0
- package/_mjs/control/Gen/constraints.mjs.map +1 -0
- package/_mjs/control/Gen/definition.mjs +11 -0
- package/_mjs/control/Gen/definition.mjs.map +1 -0
- package/_mjs/control/Gen.mjs +14 -0
- package/_mjs/control/Gen.mjs.map +1 -0
- package/_mjs/control/Live/definition.mjs +42 -0
- package/_mjs/control/Live/definition.mjs.map +1 -0
- package/_mjs/control/Live.mjs +3 -0
- package/_mjs/control/Live.mjs.map +1 -0
- package/_mjs/control/RunnableSpec.mjs +44 -0
- package/_mjs/control/RunnableSpec.mjs.map +1 -0
- package/_mjs/control/Sample/api.mjs +195 -0
- package/_mjs/control/Sample/api.mjs.map +1 -0
- package/_mjs/control/Sample/definition.mjs +12 -0
- package/_mjs/control/Sample/definition.mjs.map +1 -0
- package/_mjs/control/Sample.mjs +4 -0
- package/_mjs/control/Sample.mjs.map +1 -0
- package/_mjs/control/Sized/api.mjs +16 -0
- package/_mjs/control/Sized/api.mjs.map +1 -0
- package/_mjs/control/Sized/definition.mjs +13 -0
- package/_mjs/control/Sized/definition.mjs.map +1 -0
- package/_mjs/control/Sized/live.mjs +25 -0
- package/_mjs/control/Sized/live.mjs.map +1 -0
- package/_mjs/control/Sized.mjs +5 -0
- package/_mjs/control/Sized.mjs.map +1 -0
- package/_mjs/control/Spec/api.mjs +449 -0
- package/_mjs/control/Spec/api.mjs.map +1 -0
- package/_mjs/control/Spec/definition.mjs +96 -0
- package/_mjs/control/Spec/definition.mjs.map +1 -0
- package/_mjs/control/Spec.mjs +4 -0
- package/_mjs/control/Spec.mjs.map +1 -0
- package/_mjs/control/SummaryBuilder.mjs +61 -0
- package/_mjs/control/SummaryBuilder.mjs.map +1 -0
- package/_mjs/control/Test.mjs +15 -0
- package/_mjs/control/Test.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer/api.mjs +74 -0
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +32 -0
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer.mjs +4 -0
- package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -0
- package/_mjs/control/TestAspect/api.mjs +93 -0
- package/_mjs/control/TestAspect/api.mjs.map +1 -0
- package/_mjs/control/TestAspect/definition.mjs +2 -0
- package/_mjs/control/TestAspect/definition.mjs.map +1 -0
- package/_mjs/control/TestAspect.mjs +4 -0
- package/_mjs/control/TestAspect.mjs.map +1 -0
- package/_mjs/control/TestClock/api.mjs +45 -0
- package/_mjs/control/TestClock/api.mjs.map +1 -0
- package/_mjs/control/TestClock/definition.mjs +173 -0
- package/_mjs/control/TestClock/definition.mjs.map +1 -0
- package/_mjs/control/TestClock.mjs +4 -0
- package/_mjs/control/TestClock.mjs.map +1 -0
- package/_mjs/control/TestConsole/api.mjs +41 -0
- package/_mjs/control/TestConsole/api.mjs.map +1 -0
- package/_mjs/control/TestConsole/definition.mjs +73 -0
- package/_mjs/control/TestConsole/definition.mjs.map +1 -0
- package/_mjs/control/TestConsole.mjs +4 -0
- package/_mjs/control/TestConsole.mjs.map +1 -0
- package/_mjs/control/TestEnvironment.mjs +17 -0
- package/_mjs/control/TestEnvironment.mjs.map +1 -0
- package/_mjs/control/TestExecutor.mjs +36 -0
- package/_mjs/control/TestExecutor.mjs.map +1 -0
- package/_mjs/control/TestLogger.mjs +36 -0
- package/_mjs/control/TestLogger.mjs.map +1 -0
- package/_mjs/control/TestRandom/api.mjs +87 -0
- package/_mjs/control/TestRandom/api.mjs.map +1 -0
- package/_mjs/control/TestRandom/definition.mjs +418 -0
- package/_mjs/control/TestRandom/definition.mjs.map +1 -0
- package/_mjs/control/TestRandom.mjs +4 -0
- package/_mjs/control/TestRandom.mjs.map +1 -0
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +88 -0
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -0
- package/_mjs/control/TestRenderer/definition.mjs +2 -0
- package/_mjs/control/TestRenderer/definition.mjs.map +1 -0
- package/_mjs/control/TestRunner.mjs +23 -0
- package/_mjs/control/TestRunner.mjs.map +1 -0
- package/_mjs/data/AssertionData.mjs +34 -0
- package/_mjs/data/AssertionData.mjs.map +1 -0
- package/_mjs/data/AssertionResult.mjs +17 -0
- package/_mjs/data/AssertionResult.mjs.map +1 -0
- package/_mjs/data/AssertionValue/api.mjs +42 -0
- package/_mjs/data/AssertionValue/api.mjs.map +1 -0
- package/_mjs/data/AssertionValue/definition.mjs +19 -0
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -0
- package/_mjs/data/AssertionValue.mjs +4 -0
- package/_mjs/data/AssertionValue.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec/api.mjs +104 -0
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec/definition.mjs +40 -0
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec.mjs +4 -0
- package/_mjs/data/ExecutedSpec.mjs.map +1 -0
- package/_mjs/data/ExecutionResult.mjs +110 -0
- package/_mjs/data/ExecutionResult.mjs.map +1 -0
- package/_mjs/data/FailureDetails.mjs +8 -0
- package/_mjs/data/FailureDetails.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +154 -0
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs +40 -0
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra.mjs +4 -0
- package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -0
- package/_mjs/data/GenFailureDetails.mjs +9 -0
- package/_mjs/data/GenFailureDetails.mjs.map +1 -0
- package/_mjs/data/LogLine/Fragment.mjs +65 -0
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -0
- package/_mjs/data/LogLine/Line.mjs +104 -0
- package/_mjs/data/LogLine/Line.mjs.map +1 -0
- package/_mjs/data/LogLine/Message.mjs +107 -0
- package/_mjs/data/LogLine/Message.mjs.map +1 -0
- package/_mjs/data/LogLine/Style.mjs +101 -0
- package/_mjs/data/LogLine/Style.mjs.map +1 -0
- package/_mjs/data/LogLine/api.mjs +32 -0
- package/_mjs/data/LogLine/api.mjs.map +1 -0
- package/_mjs/data/LogLine.mjs +3 -0
- package/_mjs/data/LogLine.mjs.map +1 -0
- package/_mjs/data/Render/api.mjs +16 -0
- package/_mjs/data/Render/api.mjs.map +1 -0
- package/_mjs/data/Render/definition.mjs +33 -0
- package/_mjs/data/Render/definition.mjs.map +1 -0
- package/_mjs/data/Render.mjs +4 -0
- package/_mjs/data/Render.mjs.map +1 -0
- package/_mjs/data/RenderParam/api.mjs +28 -0
- package/_mjs/data/RenderParam/api.mjs.map +1 -0
- package/_mjs/data/RenderParam/definition.mjs +20 -0
- package/_mjs/data/RenderParam/definition.mjs.map +1 -0
- package/_mjs/data/RenderParam.mjs +4 -0
- package/_mjs/data/RenderParam.mjs.map +1 -0
- package/_mjs/data/Summary.mjs +11 -0
- package/_mjs/data/Summary.mjs.map +1 -0
- package/_mjs/data/TestAnnotation/api.mjs +47 -0
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -0
- package/_mjs/data/TestAnnotation/definition.mjs +33 -0
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -0
- package/_mjs/data/TestAnnotation.mjs +4 -0
- package/_mjs/data/TestAnnotation.mjs.map +1 -0
- package/_mjs/data/TestAnnotationMap.mjs +33 -0
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -0
- package/_mjs/data/TestArgs/definition.mjs +9 -0
- package/_mjs/data/TestArgs/definition.mjs.map +1 -0
- package/_mjs/data/TestArgs.mjs +3 -0
- package/_mjs/data/TestArgs.mjs.map +1 -0
- package/_mjs/data/TestConfig.mjs +52 -0
- package/_mjs/data/TestConfig.mjs.map +1 -0
- package/_mjs/data/TestFailure.mjs +49 -0
- package/_mjs/data/TestFailure.mjs.map +1 -0
- package/_mjs/data/TestSuccess.mjs +31 -0
- package/_mjs/data/TestSuccess.mjs.map +1 -0
- package/_mjs/data/TestTimeoutException.mjs +7 -0
- package/_mjs/data/TestTimeoutException.mjs.map +1 -0
- package/_mjs/demo.mjs +33 -0
- package/_mjs/demo.mjs.map +1 -0
- package/_mjs/util/math.mjs +604 -0
- package/_mjs/util/math.mjs.map +1 -0
- package/_src/api.ts +76 -0
- package/_src/control/AbstractRunnableSpec.ts +23 -0
- package/_src/control/Annotations/api.ts +33 -0
- package/_src/control/Annotations/definition.ts +20 -0
- package/_src/control/Annotations/live.ts +50 -0
- package/_src/control/Annotations.ts +5 -0
- package/_src/control/Assertion/api.ts +236 -0
- package/_src/control/Assertion/definition.ts +20 -0
- package/_src/control/Assertion.ts +4 -0
- package/_src/control/AssertionIO/api.ts +32 -0
- package/_src/control/AssertionIO/definition.ts +26 -0
- package/_src/control/AssertionIO.ts +4 -0
- package/_src/control/DefaultRunnableSpec.ts +12 -0
- package/_src/control/DefaultTestReporter/definition.ts +6 -0
- package/_src/control/DefaultTestReporter/render.ts +295 -0
- package/_src/control/DefaultTestReporter.ts +4 -0
- package/_src/control/FreeBooleanAlgebraIO/api.ts +67 -0
- package/_src/control/FreeBooleanAlgebraIO/definition.ts +13 -0
- package/_src/control/FreeBooleanAlgebraIO.ts +4 -0
- package/_src/control/Gen/api/array.ts +31 -0
- package/_src/control/Gen/api/char.ts +83 -0
- package/_src/control/Gen/api/conc.ts +50 -0
- package/_src/control/Gen/api/double.ts +64 -0
- package/_src/control/Gen/api/float.ts +36 -0
- package/_src/control/Gen/api/string.ts +71 -0
- package/_src/control/Gen/api/struct.ts +21 -0
- package/_src/control/Gen/api.ts +276 -0
- package/_src/control/Gen/constraints.ts +38 -0
- package/_src/control/Gen/definition.ts +9 -0
- package/_src/control/Gen.ts +15 -0
- package/_src/control/Live/definition.ts +47 -0
- package/_src/control/Live.ts +3 -0
- package/_src/control/RunnableSpec.ts +42 -0
- package/_src/control/Sample/api.ts +287 -0
- package/_src/control/Sample/definition.ts +7 -0
- package/_src/control/Sample.ts +4 -0
- package/_src/control/Sized/api.ts +14 -0
- package/_src/control/Sized/definition.ts +13 -0
- package/_src/control/Sized/live.ts +19 -0
- package/_src/control/Sized.ts +5 -0
- package/_src/control/Spec/api.ts +384 -0
- package/_src/control/Spec/definition.ts +103 -0
- package/_src/control/Spec.ts +4 -0
- package/_src/control/SummaryBuilder.ts +68 -0
- package/_src/control/Test.ts +31 -0
- package/_src/control/TestAnnotationRenderer/api.ts +75 -0
- package/_src/control/TestAnnotationRenderer/definition.ts +49 -0
- package/_src/control/TestAnnotationRenderer.ts +4 -0
- package/_src/control/TestAspect/api.ts +122 -0
- package/_src/control/TestAspect/definition.ts +3 -0
- package/_src/control/TestAspect.ts +4 -0
- package/_src/control/TestClock/api.ts +36 -0
- package/_src/control/TestClock/definition.ts +196 -0
- package/_src/control/TestClock.ts +4 -0
- package/_src/control/TestConsole/api.ts +36 -0
- package/_src/control/TestConsole/definition.ts +61 -0
- package/_src/control/TestConsole.ts +4 -0
- package/_src/control/TestEnvironment.ts +30 -0
- package/_src/control/TestExecutor.ts +54 -0
- package/_src/control/TestLogger.ts +37 -0
- package/_src/control/TestRandom/api.ts +76 -0
- package/_src/control/TestRandom/definition.ts +362 -0
- package/_src/control/TestRandom.ts +4 -0
- package/_src/control/TestRenderer/ConsoleRenderer.ts +94 -0
- package/_src/control/TestRenderer/definition.ts +7 -0
- package/_src/control/TestRunner.ts +34 -0
- package/_src/data/AssertionData.ts +33 -0
- package/_src/data/AssertionResult.ts +31 -0
- package/_src/data/AssertionValue/api.ts +48 -0
- package/_src/data/AssertionValue/definition.ts +20 -0
- package/_src/data/AssertionValue.ts +4 -0
- package/_src/data/ExecutedSpec/api.ts +96 -0
- package/_src/data/ExecutedSpec/definition.ts +37 -0
- package/_src/data/ExecutedSpec.ts +4 -0
- package/_src/data/ExecutionResult.ts +153 -0
- package/_src/data/FailureDetails.ts +13 -0
- package/_src/data/FreeBooleanAlgebra/api.ts +152 -0
- package/_src/data/FreeBooleanAlgebra/definition.ts +38 -0
- package/_src/data/FreeBooleanAlgebra.ts +4 -0
- package/_src/data/GenFailureDetails.ts +3 -0
- package/_src/data/LogLine/Fragment.ts +59 -0
- package/_src/data/LogLine/Line.ts +91 -0
- package/_src/data/LogLine/Message.ts +94 -0
- package/_src/data/LogLine/Style.ts +150 -0
- package/_src/data/LogLine/api.ts +40 -0
- package/_src/data/LogLine.ts +2 -0
- package/_src/data/Render/api.ts +18 -0
- package/_src/data/Render/definition.ts +36 -0
- package/_src/data/Render.ts +4 -0
- package/_src/data/RenderParam/api.ts +31 -0
- package/_src/data/RenderParam/definition.ts +28 -0
- package/_src/data/RenderParam.ts +4 -0
- package/_src/data/Summary.ts +4 -0
- package/_src/data/TestAnnotation/api.ts +49 -0
- package/_src/data/TestAnnotation/definition.ts +37 -0
- package/_src/data/TestAnnotation.ts +4 -0
- package/_src/data/TestAnnotationMap.ts +41 -0
- package/_src/data/TestArgs/definition.ts +7 -0
- package/_src/data/TestArgs.ts +3 -0
- package/_src/data/TestConfig.ts +47 -0
- package/_src/data/TestFailure.ts +56 -0
- package/_src/data/TestSuccess.ts +39 -0
- package/_src/data/TestTimeoutException.ts +5 -0
- package/_src/demo.ts +16 -0
- package/_src/util/math.ts +497 -0
- package/api.d.ts +21 -0
- package/control/AbstractRunnableSpec.d.ts +15 -0
- package/control/Annotations/api.d.ts +26 -0
- package/control/Annotations/definition.d.ts +20 -0
- package/control/Annotations/live.d.ts +18 -0
- package/control/Annotations.d.ts +3 -0
- package/control/Assertion/api.d.ts +81 -0
- package/control/Assertion/definition.d.ts +17 -0
- package/control/Assertion.d.ts +2 -0
- package/control/AssertionIO/api.d.ts +18 -0
- package/control/AssertionIO/definition.d.ts +18 -0
- package/control/AssertionIO.d.ts +2 -0
- package/control/DefaultRunnableSpec.d.ts +7 -0
- package/control/DefaultTestReporter/definition.d.ts +6 -0
- package/control/DefaultTestReporter/render.d.ts +23 -0
- package/control/DefaultTestReporter.d.ts +2 -0
- package/control/FreeBooleanAlgebraIO/api.d.ts +44 -0
- package/control/FreeBooleanAlgebraIO/definition.d.ts +12 -0
- package/control/FreeBooleanAlgebraIO.d.ts +2 -0
- package/control/Gen/api/array.d.ts +19 -0
- package/control/Gen/api/char.d.ts +47 -0
- package/control/Gen/api/conc.d.ts +26 -0
- package/control/Gen/api/double.d.ts +13 -0
- package/control/Gen/api/float.d.ts +7 -0
- package/control/Gen/api/string.d.ts +49 -0
- package/control/Gen/api/struct.d.ts +8 -0
- package/control/Gen/api.d.ts +169 -0
- package/control/Gen/constraints.d.ts +32 -0
- package/control/Gen/definition.d.ts +11 -0
- package/control/Gen.d.ts +10 -0
- package/control/Live/definition.d.ts +24 -0
- package/control/Live.d.ts +1 -0
- package/control/RunnableSpec.d.ts +12 -0
- package/control/Sample/api.d.ts +79 -0
- package/control/Sample/definition.d.ts +11 -0
- package/control/Sample.d.ts +2 -0
- package/control/Sized/api.d.ts +13 -0
- package/control/Sized/definition.d.ts +14 -0
- package/control/Sized/live.d.ts +9 -0
- package/control/Sized.d.ts +3 -0
- package/control/Spec/api.d.ts +159 -0
- package/control/Spec/definition.d.ts +96 -0
- package/control/Spec.d.ts +2 -0
- package/control/SummaryBuilder.d.ts +15 -0
- package/control/Test.d.ts +20 -0
- package/control/TestAnnotationRenderer/api.d.ts +42 -0
- package/control/TestAnnotationRenderer/definition.d.ts +31 -0
- package/control/TestAnnotationRenderer.d.ts +2 -0
- package/control/TestAspect/api.d.ts +23 -0
- package/control/TestAspect/definition.d.ts +2 -0
- package/control/TestAspect.d.ts +2 -0
- package/control/TestClock/api.d.ts +21 -0
- package/control/TestClock/definition.d.ts +66 -0
- package/control/TestClock.d.ts +2 -0
- package/control/TestConsole/api.d.ts +15 -0
- package/control/TestConsole/definition.d.ts +39 -0
- package/control/TestConsole.d.ts +2 -0
- package/control/TestEnvironment.d.ts +16 -0
- package/control/TestExecutor.d.ts +13 -0
- package/control/TestLogger.d.ts +25 -0
- package/control/TestRandom/api.d.ts +49 -0
- package/control/TestRandom/definition.d.ts +91 -0
- package/control/TestRandom.d.ts +2 -0
- package/control/TestRenderer/ConsoleRenderer.d.ts +15 -0
- package/control/TestRenderer/definition.d.ts +4 -0
- package/control/TestRunner.d.ts +18 -0
- package/data/AssertionData.d.ts +24 -0
- package/data/AssertionResult.d.ts +23 -0
- package/data/AssertionValue/api.d.ts +27 -0
- package/data/AssertionValue/definition.d.ts +19 -0
- package/data/AssertionValue.d.ts +2 -0
- package/data/ExecutedSpec/api.d.ts +47 -0
- package/data/ExecutedSpec/definition.d.ts +39 -0
- package/data/ExecutedSpec.d.ts +2 -0
- package/data/ExecutionResult.d.ts +59 -0
- package/data/FailureDetails.d.ts +15 -0
- package/data/FreeBooleanAlgebra/api.d.ts +81 -0
- package/data/FreeBooleanAlgebra/definition.d.ts +38 -0
- package/data/FreeBooleanAlgebra.d.ts +2 -0
- package/data/GenFailureDetails.d.ts +6 -0
- package/data/LogLine/Fragment.d.ts +46 -0
- package/data/LogLine/Line.d.ts +62 -0
- package/data/LogLine/Message.d.ts +61 -0
- package/data/LogLine/Style.d.ts +107 -0
- package/data/LogLine/api.d.ts +11 -0
- package/data/LogLine.d.ts +2 -0
- package/data/Render/api.d.ts +13 -0
- package/data/Render/definition.d.ts +31 -0
- package/data/Render.d.ts +2 -0
- package/data/RenderParam/api.d.ts +13 -0
- package/data/RenderParam/definition.d.ts +25 -0
- package/data/RenderParam.d.ts +2 -0
- package/data/Summary.d.ts +8 -0
- package/data/TestAnnotation/api.d.ts +41 -0
- package/data/TestAnnotation/definition.d.ts +20 -0
- package/data/TestAnnotation.d.ts +2 -0
- package/data/TestAnnotationMap.d.ts +12 -0
- package/data/TestArgs/definition.d.ts +7 -0
- package/data/TestArgs.d.ts +1 -0
- package/data/TestConfig.d.ts +42 -0
- package/data/TestFailure.d.ts +46 -0
- package/data/TestSuccess.d.ts +33 -0
- package/data/TestTimeoutException.d.ts +3 -0
- package/demo.d.ts +1 -0
- package/package.json +18 -0
- package/util/math.d.ts +130 -0
@@ -0,0 +1,458 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.TestRandomTag = exports.TestRandom = exports.Data = exports.Buffer = void 0;
|
7
|
+
exports.addArrayIntToNew = addArrayIntToNew;
|
8
|
+
exports.addOneToPositiveArrayInt = addOneToPositiveArrayInt;
|
9
|
+
exports.substractArrayIntToNew = substractArrayIntToNew;
|
10
|
+
exports.trimArrayIntInplace = trimArrayIntInplace;
|
11
|
+
|
12
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Tag/constructors"));
|
13
|
+
|
14
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
|
15
|
+
|
16
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/modify"));
|
17
|
+
|
18
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/get"));
|
19
|
+
|
20
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
21
|
+
|
22
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Queue/constructors"));
|
23
|
+
|
24
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/set"));
|
25
|
+
|
26
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
27
|
+
|
28
|
+
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/api"));
|
29
|
+
|
30
|
+
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/constructors"));
|
31
|
+
|
32
|
+
var _exceptions = /*#__PURE__*/require("@fncts/base/data/exceptions");
|
33
|
+
|
34
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
35
|
+
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
37
|
+
|
38
|
+
const fileName_1 = "(@fncts/test) src/control/TestRandom/definition.ts";
|
39
|
+
|
40
|
+
/**
|
41
|
+
* @tsplus static fncts.test.TestRandomOps Tag
|
42
|
+
*/
|
43
|
+
const TestRandomTag = /*#__PURE__*/tsplus_module_1.makeTag();
|
44
|
+
/**
|
45
|
+
* @tsplus type fncts.test.TestRandom
|
46
|
+
* @tsplus companion fncts.test.TestRandomOps
|
47
|
+
*/
|
48
|
+
|
49
|
+
exports.TestRandomTag = TestRandomTag;
|
50
|
+
|
51
|
+
class TestRandom {
|
52
|
+
constructor(randomState, bufferState) {
|
53
|
+
this.randomState = randomState;
|
54
|
+
this.bufferState = bufferState;
|
55
|
+
this.clearBooleans = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
56
|
+
booleans: tsplus_module_2.empty()
|
57
|
+
}));
|
58
|
+
this.clearBytes = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
59
|
+
bytes: tsplus_module_2.empty()
|
60
|
+
}));
|
61
|
+
this.clearChars = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
62
|
+
chars: tsplus_module_2.empty()
|
63
|
+
}));
|
64
|
+
this.clearDoubles = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
65
|
+
doubles: tsplus_module_2.empty()
|
66
|
+
}));
|
67
|
+
this.clearInts = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
68
|
+
integers: tsplus_module_2.empty()
|
69
|
+
}));
|
70
|
+
this.clearStrings = tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
71
|
+
strings: tsplus_module_2.empty()
|
72
|
+
}));
|
73
|
+
this.getSeed = tsplus_module_5.map_(tsplus_module_4.get(this.randomState), data => (data.seed1 << 24 | data.seed2) ^ 0x5deece66d, fileName_1 + ":41:50");
|
74
|
+
|
75
|
+
this.bufferedBoolean = buffer => {
|
76
|
+
return [tsplus_module_2.head(buffer.booleans), buffer.copy({
|
77
|
+
booleans: tsplus_module_2.drop_(buffer.booleans, 1)
|
78
|
+
})];
|
79
|
+
};
|
80
|
+
|
81
|
+
this.bufferedDouble = buffer => {
|
82
|
+
return [tsplus_module_2.head(buffer.doubles), buffer.copy({
|
83
|
+
doubles: tsplus_module_2.drop_(buffer.doubles, 1)
|
84
|
+
})];
|
85
|
+
};
|
86
|
+
|
87
|
+
this.bufferedInt = buffer => {
|
88
|
+
return [tsplus_module_2.head(buffer.integers), buffer.copy({
|
89
|
+
integers: tsplus_module_2.drop_(buffer.integers, 1)
|
90
|
+
})];
|
91
|
+
};
|
92
|
+
|
93
|
+
this.getOrElse = (buffer, random) => {
|
94
|
+
return tsplus_module_5.flatMap_(tsplus_module_3.modify_(this.bufferState, buffer), _ => tsplus_module_8.match_(_, () => random, tsplus_module_5.succeedNow), fileName_1 + ":62:51");
|
95
|
+
};
|
96
|
+
|
97
|
+
this.leastSignificantBits = x => {
|
98
|
+
return Math.floor(x) & (1 << 24) - 1;
|
99
|
+
};
|
100
|
+
|
101
|
+
this.mostSignificantBits = x => {
|
102
|
+
return Math.floor(x / (1 << 24));
|
103
|
+
};
|
104
|
+
|
105
|
+
this.randomBits = bits => {
|
106
|
+
return tsplus_module_3.modify_(this.randomState, data => {
|
107
|
+
const multiplier = 0x5deece66d;
|
108
|
+
const multiplier1 = Math.floor(multiplier >>> 24);
|
109
|
+
const multiplier2 = Math.floor(multiplier) & (1 << 24) - 1;
|
110
|
+
const product1 = data.seed1 * multiplier1 + data.seed1 * multiplier2;
|
111
|
+
const product2 = data.seed2 * multiplier2 + 0xb;
|
112
|
+
const newSeed1 = this.mostSignificantBits(product2) + this.leastSignificantBits(product1) & (1 << 24) - 1;
|
113
|
+
const newSeed2 = this.leastSignificantBits(product2);
|
114
|
+
const result = newSeed1 << 8 | newSeed2 >> 16;
|
115
|
+
return [result >>> 32 - bits, new Data(newSeed1, newSeed2, data.nextNextGaussians)];
|
116
|
+
});
|
117
|
+
};
|
118
|
+
|
119
|
+
this.randomBoolean = tsplus_module_5.map_(this.randomBits(1), n => n !== 0, fileName_1 + ":87:49");
|
120
|
+
|
121
|
+
this.randomBytes = length => {
|
122
|
+
const loop = (i, rnd, n, acc) => {
|
123
|
+
if (i === length) {
|
124
|
+
return tsplus_module_5.map_(acc, l => tsplus_module_9.reverse(l), fileName_1 + ":92:23");
|
125
|
+
} else if (n > 0) {
|
126
|
+
return tsplus_module_5.flatMap_(rnd, rnd => loop(i + 1, tsplus_module_5.succeedNow(rnd >> 8, fileName_1 + ":97:26"), n - 1, tsplus_module_5.map_(acc, _ => tsplus_module_9.prepend_(_, rnd), fileName_1 + ":99:20")), fileName_1 + ":94:27");
|
127
|
+
} else {
|
128
|
+
return loop(i, this.nextInt, Math.min(length - i, 4), acc);
|
129
|
+
}
|
130
|
+
};
|
131
|
+
|
132
|
+
return tsplus_module_5.map_(loop(0, this.randomInt, Math.min(length, 4), tsplus_module_5.succeedNow(tsplus_module_10.empty(), fileName_1 + ":107:70")), list => Array.from(list), fileName_1 + ":107:89");
|
133
|
+
};
|
134
|
+
|
135
|
+
this.randomIntBounded = n => {
|
136
|
+
if (n <= 0) {
|
137
|
+
return tsplus_module_5.haltNow(new _exceptions.IllegalArgumentError("n must be positive", "TestRandom.randomIntBounded"), fileName_1 + ":112:24");
|
138
|
+
} else if ((n & -n) === n) {
|
139
|
+
return tsplus_module_5.map_(this.randomBits(31), _ => _ >> Math.clz32(n), fileName_1 + ":114:37");
|
140
|
+
} else {
|
141
|
+
const loop = tsplus_module_5.flatMap_(this.randomBits(31), i => {
|
142
|
+
const value = i % n;
|
143
|
+
if (i - value + (n - 1) < 0) return loop;else return tsplus_module_5.succeedNow(value, fileName_1 + ":119:34");
|
144
|
+
}, fileName_1 + ":116:60");
|
145
|
+
return loop;
|
146
|
+
}
|
147
|
+
};
|
148
|
+
|
149
|
+
this.randomLong = tsplus_module_5.flatMap_(this.randomBits(32), i1 => tsplus_module_5.flatMap_(this.randomBits(32), i2 => tsplus_module_5.succeedNow(BigInt(i1 << 32) + BigInt(i2), fileName_1 + ":126:54"), fileName_1 + ":126:32"), fileName_1 + ":125:64");
|
150
|
+
this.randomInt = this.randomBits(32);
|
151
|
+
this.randomDouble = tsplus_module_5.flatMap_(this.randomBits(26), i1 => tsplus_module_5.map_(this.randomBits(27), i2 => (i1 * (1 << 27) + i2) / (1 << 53), fileName_1 + ":132:28"), fileName_1 + ":131:53");
|
152
|
+
this.random = this.randomBits(26);
|
153
|
+
}
|
154
|
+
|
155
|
+
feedBooleans(...booleans) {
|
156
|
+
return tsplus_module_3.update_(this.bufferState, buff => buff.copy({
|
157
|
+
booleans: tsplus_module_2.concat_(tsplus_module_2.from(booleans), buff.booleans)
|
158
|
+
}));
|
159
|
+
}
|
160
|
+
|
161
|
+
feedBytes(...bytes) {
|
162
|
+
return tsplus_module_3.update_(this.bufferState, data => data.copy({
|
163
|
+
bytes: tsplus_module_2.concat_(tsplus_module_2.from(bytes), data.bytes)
|
164
|
+
}));
|
165
|
+
}
|
166
|
+
|
167
|
+
feedChars(...chars) {
|
168
|
+
return tsplus_module_3.update_(this.bufferState, data => data.copy({
|
169
|
+
chars: tsplus_module_2.concat_(tsplus_module_2.from(chars), data.chars)
|
170
|
+
}));
|
171
|
+
}
|
172
|
+
|
173
|
+
feedDoubles(...doubles) {
|
174
|
+
return tsplus_module_3.update_(this.bufferState, data => data.copy({
|
175
|
+
doubles: tsplus_module_2.concat_(tsplus_module_2.from(doubles), data.doubles)
|
176
|
+
}));
|
177
|
+
}
|
178
|
+
|
179
|
+
feedInts(...ints) {
|
180
|
+
return tsplus_module_3.update_(this.bufferState, data => data.copy({
|
181
|
+
integers: tsplus_module_2.concat_(tsplus_module_2.from(ints), data.integers)
|
182
|
+
}));
|
183
|
+
}
|
184
|
+
|
185
|
+
feedStrings(...strings) {
|
186
|
+
return tsplus_module_3.update_(this.bufferState, data => data.copy({
|
187
|
+
strings: tsplus_module_2.concat_(tsplus_module_2.from(strings), data.strings)
|
188
|
+
}));
|
189
|
+
}
|
190
|
+
|
191
|
+
setSeed(seed) {
|
192
|
+
const mash = Mash();
|
193
|
+
const newSeed = mash(seed.toString());
|
194
|
+
const seed1 = Math.floor(newSeed >>> 24);
|
195
|
+
const seed2 = Math.floor(newSeed) & (1 << 24) - 1;
|
196
|
+
return tsplus_module_7.set_(this.randomState, new Data(seed1, seed2, tsplus_module_6.empty()));
|
197
|
+
}
|
198
|
+
|
199
|
+
get nextInt() {
|
200
|
+
return this.getOrElse(this.bufferedInt, this.randomInt);
|
201
|
+
}
|
202
|
+
|
203
|
+
get nextBoolean() {
|
204
|
+
return this.getOrElse(this.bufferedBoolean, this.randomBoolean);
|
205
|
+
}
|
206
|
+
|
207
|
+
get nextDouble() {
|
208
|
+
return this.getOrElse(this.bufferedDouble, this.randomDouble);
|
209
|
+
}
|
210
|
+
|
211
|
+
get next() {
|
212
|
+
return this.getOrElse(this.bufferedDouble, this.random);
|
213
|
+
}
|
214
|
+
|
215
|
+
nextBigIntBetween(low, high) {
|
216
|
+
return tsplus_module_5.repeatUntil_(this.randomLong, n => low <= n && n < high, fileName_1 + ":154:39");
|
217
|
+
}
|
218
|
+
|
219
|
+
nextIntBetween(low, high) {
|
220
|
+
return nextIntBetweenWith(low, high, this.randomInt, this.randomIntBounded);
|
221
|
+
}
|
222
|
+
|
223
|
+
nextRange(low, high) {
|
224
|
+
return tsplus_module_5.map_(this.next, n => (high - low + 1) * n + low, fileName_1 + ":162:25");
|
225
|
+
}
|
226
|
+
|
227
|
+
nextArrayIntBetween(low, high) {
|
228
|
+
const self = this;
|
229
|
+
return tsplus_module_5.map_(tsplus_module_5.gen(function* (_) {
|
230
|
+
const rangeSize = trimArrayIntInplace(addOneToPositiveArrayInt(substractArrayIntToNew(high, low)));
|
231
|
+
const rangeLength = rangeSize.data.length;
|
232
|
+
const out = [];
|
233
|
+
|
234
|
+
while (true) {
|
235
|
+
for (let index = 0; index !== rangeLength; ++index) {
|
236
|
+
const indexRangeSize = index === 0 ? rangeSize.data[0] + 1 : 0x100000000;
|
237
|
+
const g = yield* _(self.randomIntBounded(indexRangeSize), fileName_1 + ":174:42");
|
238
|
+
out[index] = g;
|
239
|
+
}
|
240
|
+
|
241
|
+
for (let index = 0; index !== rangeLength; ++index) {
|
242
|
+
const current = out[index];
|
243
|
+
const currentInRange = rangeSize.data[index];
|
244
|
+
|
245
|
+
if (current < currentInRange) {
|
246
|
+
return out;
|
247
|
+
} else if (current > currentInRange) {
|
248
|
+
break;
|
249
|
+
}
|
250
|
+
}
|
251
|
+
}
|
252
|
+
}), ns => trimArrayIntInplace(addArrayIntToNew({
|
253
|
+
sign: 1,
|
254
|
+
data: ns
|
255
|
+
}, low)), fileName_1 + ":187:11");
|
256
|
+
}
|
257
|
+
|
258
|
+
}
|
259
|
+
/**
|
260
|
+
* @internal
|
261
|
+
*/
|
262
|
+
|
263
|
+
|
264
|
+
exports.TestRandom = TestRandom;
|
265
|
+
|
266
|
+
function nextIntBetweenWith(min, max, nextInt, nextIntBounded) {
|
267
|
+
if (min >= max) {
|
268
|
+
return tsplus_module_5.haltNow(new _exceptions.IllegalArgumentError("invalid bounds", "TestRandom.nextIntBetweenWith"), fileName_1 + ":201:22");
|
269
|
+
} else {
|
270
|
+
const difference = max - min;
|
271
|
+
if (difference > 0) return tsplus_module_5.map_(nextIntBounded(difference), n => n + min, fileName_1 + ":204:62");else return tsplus_module_5.repeatUntil_(nextInt, n => min <= n && n < max, fileName_1 + ":205:36");
|
272
|
+
}
|
273
|
+
}
|
274
|
+
|
275
|
+
class Data {
|
276
|
+
constructor(seed1, seed2, nextNextGaussians = tsplus_module_6.empty()) {
|
277
|
+
this.seed1 = seed1;
|
278
|
+
this.seed2 = seed2;
|
279
|
+
this.nextNextGaussians = nextNextGaussians;
|
280
|
+
}
|
281
|
+
|
282
|
+
}
|
283
|
+
|
284
|
+
exports.Data = Data;
|
285
|
+
|
286
|
+
class Buffer {
|
287
|
+
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()) {
|
288
|
+
this.booleans = booleans;
|
289
|
+
this.bytes = bytes;
|
290
|
+
this.chars = chars;
|
291
|
+
this.doubles = doubles;
|
292
|
+
this.integers = integers;
|
293
|
+
this.strings = strings;
|
294
|
+
}
|
295
|
+
|
296
|
+
copy(_) {
|
297
|
+
return new Buffer(_.booleans ?? this.booleans, _.bytes ?? this.bytes, _.chars ?? this.chars, _.doubles ?? this.doubles, _.integers ?? this.integers, _.strings ?? this.strings);
|
298
|
+
}
|
299
|
+
|
300
|
+
}
|
301
|
+
/** @internal */
|
302
|
+
|
303
|
+
|
304
|
+
exports.Buffer = Buffer;
|
305
|
+
|
306
|
+
function isStrictlySmaller(dataA, dataB) {
|
307
|
+
const maxLength = Math.max(dataA.length, dataB.length);
|
308
|
+
|
309
|
+
for (let index = 0; index < maxLength; ++index) {
|
310
|
+
const indexA = index + dataA.length - maxLength;
|
311
|
+
const indexB = index + dataB.length - maxLength;
|
312
|
+
const vA = indexA >= 0 ? dataA[indexA] : 0;
|
313
|
+
const vB = indexB >= 0 ? dataB[indexB] : 0;
|
314
|
+
if (vA < vB) return true;
|
315
|
+
if (vA > vB) return false;
|
316
|
+
}
|
317
|
+
|
318
|
+
return false;
|
319
|
+
}
|
320
|
+
|
321
|
+
function substractArrayIntToNew(arrayIntA, arrayIntB) {
|
322
|
+
if (arrayIntA.sign !== arrayIntB.sign) {
|
323
|
+
return addArrayIntToNew(arrayIntA, {
|
324
|
+
sign: -arrayIntB.sign,
|
325
|
+
data: arrayIntB.data
|
326
|
+
});
|
327
|
+
}
|
328
|
+
|
329
|
+
const dataA = arrayIntA.data;
|
330
|
+
const dataB = arrayIntB.data;
|
331
|
+
|
332
|
+
if (isStrictlySmaller(dataA, dataB)) {
|
333
|
+
const out = substractArrayIntToNew(arrayIntB, arrayIntA);
|
334
|
+
out.sign = -out.sign;
|
335
|
+
return out;
|
336
|
+
}
|
337
|
+
|
338
|
+
const data = [];
|
339
|
+
let reminder = 0;
|
340
|
+
|
341
|
+
for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
|
342
|
+
const vA = indexA >= 0 ? dataA[indexA] : 0;
|
343
|
+
const vB = indexB >= 0 ? dataB[indexB] : 0;
|
344
|
+
const current = vA - vB - reminder;
|
345
|
+
data.push(current >>> 0);
|
346
|
+
reminder = current < 0 ? 1 : 0;
|
347
|
+
}
|
348
|
+
|
349
|
+
return {
|
350
|
+
sign: arrayIntA.sign,
|
351
|
+
data: data.reverse()
|
352
|
+
};
|
353
|
+
}
|
354
|
+
/**
|
355
|
+
* Trim uneeded zeros in ArrayInt
|
356
|
+
* and uniform notation for zero: {sign: 1, data: [0]}
|
357
|
+
*/
|
358
|
+
|
359
|
+
|
360
|
+
function trimArrayIntInplace(arrayInt) {
|
361
|
+
const data = arrayInt.data;
|
362
|
+
let firstNonZero = 0; // eslint-disable-next-line no-empty
|
363
|
+
|
364
|
+
for (; firstNonZero !== data.length && data[firstNonZero] === 0; ++firstNonZero) {}
|
365
|
+
|
366
|
+
if (firstNonZero === data.length) {
|
367
|
+
// only zeros
|
368
|
+
arrayInt.sign = 1;
|
369
|
+
arrayInt.data = [0];
|
370
|
+
return arrayInt;
|
371
|
+
}
|
372
|
+
|
373
|
+
data.splice(0, firstNonZero);
|
374
|
+
return arrayInt;
|
375
|
+
/* eslint-enable */
|
376
|
+
}
|
377
|
+
/**
|
378
|
+
* Add two ArrayInt
|
379
|
+
* @internal
|
380
|
+
*/
|
381
|
+
|
382
|
+
|
383
|
+
function addArrayIntToNew(arrayIntA, arrayIntB) {
|
384
|
+
if (arrayIntA.sign !== arrayIntB.sign) {
|
385
|
+
return substractArrayIntToNew(arrayIntA, {
|
386
|
+
sign: -arrayIntB.sign,
|
387
|
+
data: arrayIntB.data
|
388
|
+
});
|
389
|
+
}
|
390
|
+
|
391
|
+
const data = [];
|
392
|
+
let reminder = 0;
|
393
|
+
const dataA = arrayIntA.data;
|
394
|
+
const dataB = arrayIntB.data;
|
395
|
+
|
396
|
+
for (let indexA = dataA.length - 1, indexB = dataB.length - 1; indexA >= 0 || indexB >= 0; --indexA, --indexB) {
|
397
|
+
const vA = indexA >= 0 ? dataA[indexA] : 0;
|
398
|
+
const vB = indexB >= 0 ? dataB[indexB] : 0;
|
399
|
+
const current = vA + vB + reminder;
|
400
|
+
data.push(current >>> 0);
|
401
|
+
reminder = ~~(current / 0x100000000);
|
402
|
+
}
|
403
|
+
|
404
|
+
if (reminder !== 0) {
|
405
|
+
data.push(reminder);
|
406
|
+
}
|
407
|
+
|
408
|
+
return {
|
409
|
+
sign: arrayIntA.sign,
|
410
|
+
data: data.reverse()
|
411
|
+
};
|
412
|
+
}
|
413
|
+
/**
|
414
|
+
* Add one to a given positive ArrayInt
|
415
|
+
* @internal
|
416
|
+
*/
|
417
|
+
|
418
|
+
|
419
|
+
function addOneToPositiveArrayInt(arrayInt) {
|
420
|
+
arrayInt.sign = 1; // handling case { sign: -1, data: [0,...,0] }
|
421
|
+
|
422
|
+
const data = arrayInt.data;
|
423
|
+
|
424
|
+
for (let index = data.length - 1; index >= 0; --index) {
|
425
|
+
if (data[index] === 0xffffffff) {
|
426
|
+
data[index] = 0;
|
427
|
+
} else {
|
428
|
+
data[index] += 1;
|
429
|
+
return arrayInt;
|
430
|
+
}
|
431
|
+
}
|
432
|
+
|
433
|
+
data.unshift(1);
|
434
|
+
return arrayInt;
|
435
|
+
/* eslint-enable */
|
436
|
+
}
|
437
|
+
|
438
|
+
function Mash() {
|
439
|
+
let n = 0xefc8249d;
|
440
|
+
|
441
|
+
const mash = function (data) {
|
442
|
+
for (let i = 0; i < data.length; i++) {
|
443
|
+
n += data.charCodeAt(i);
|
444
|
+
let h = 0.02519603282416938 * n;
|
445
|
+
n = h >>> 0;
|
446
|
+
h -= n;
|
447
|
+
h *= n;
|
448
|
+
n = h >>> 0;
|
449
|
+
h -= n;
|
450
|
+
n += h * 0x100000000; // 2^32
|
451
|
+
}
|
452
|
+
|
453
|
+
return (n >>> 0) * 2.3283064365386963e-10; // 2^-32
|
454
|
+
};
|
455
|
+
|
456
|
+
return mash;
|
457
|
+
}
|
458
|
+
//# sourceMappingURL=definition.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"definition.cjs","mappings":"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","names":["TestRandomTag","tsplus_module_1","TestRandom","constructor","randomState","bufferState","tsplus_module_3","buff","copy","booleans","tsplus_module_2","bytes","chars","doubles","integers","strings","tsplus_module_5","data","seed1","seed2","fileName_1","buffer","random","_","tsplus_module_8","x","Math","floor","bits","multiplier","multiplier1","multiplier2","product1","product2","newSeed1","mostSignificantBits","leastSignificantBits","newSeed2","result","Data","nextNextGaussians","randomBits","n","length","loop","i","rnd","acc","l","tsplus_module_9","nextInt","min","randomInt","tsplus_module_10","list","Array","from","IllegalArgumentError","clz32","value","i1","i2","BigInt","feedBooleans","feedBytes","feedChars","feedDoubles","feedInts","ints","feedStrings","setSeed","seed","mash","Mash","newSeed","toString","tsplus_module_7","tsplus_module_6","getOrElse","bufferedInt","nextBoolean","bufferedBoolean","randomBoolean","nextDouble","bufferedDouble","randomDouble","next","nextBigIntBetween","low","high","randomLong","nextIntBetween","nextIntBetweenWith","randomIntBounded","nextRange","nextArrayIntBetween","self","rangeSize","trimArrayIntInplace","addOneToPositiveArrayInt","substractArrayIntToNew","rangeLength","out","index","indexRangeSize","g","current","currentInRange","ns","addArrayIntToNew","sign","max","nextIntBounded","difference","Buffer","isStrictlySmaller","dataA","dataB","maxLength","indexA","indexB","vA","vB","arrayIntA","arrayIntB","reminder","push","reverse","arrayInt","firstNonZero","splice","unshift","charCodeAt","h"],"sourceRoot":"","sources":["../../../_src/control/TestRandom/definition.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _api = /*#__PURE__*/require("./TestRandom/api.js");
|
8
|
+
|
9
|
+
Object.keys(_api).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _api[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function () {
|
15
|
+
return _api[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
19
|
+
|
20
|
+
var _definition = /*#__PURE__*/require("./TestRandom/definition.js");
|
21
|
+
|
22
|
+
Object.keys(_definition).forEach(function (key) {
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
24
|
+
if (key in exports && exports[key] === _definition[key]) return;
|
25
|
+
Object.defineProperty(exports, key, {
|
26
|
+
enumerable: true,
|
27
|
+
get: function () {
|
28
|
+
return _definition[key];
|
29
|
+
}
|
30
|
+
});
|
31
|
+
});
|
32
|
+
//# sourceMappingURL=TestRandom.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TestRandom.cjs","mappings":";;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA","names":[],"sourceRoot":"","sources":["../../_src/control/TestRandom.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.ConsoleRenderer = void 0;
|
7
|
+
exports.render = render;
|
8
|
+
|
9
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/test/data/LogLine/Line"));
|
10
|
+
|
11
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
|
12
|
+
|
13
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/test/data/LogLine/Message"));
|
14
|
+
|
15
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/test/data/LogLine/Fragment"));
|
16
|
+
|
17
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/test/data/TestAnnotation/api"));
|
18
|
+
|
19
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/definition"));
|
20
|
+
|
21
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/api"));
|
22
|
+
|
23
|
+
var _AnsiFormat = /*#__PURE__*/require("@fncts/base/util/AnsiFormat");
|
24
|
+
|
25
|
+
var _pattern = /*#__PURE__*/require("@fncts/base/util/pattern");
|
26
|
+
|
27
|
+
var _LogLine = /*#__PURE__*/require("../../data/LogLine.js");
|
28
|
+
|
29
|
+
var _Message2 = /*#__PURE__*/require("../../data/LogLine/Message.js");
|
30
|
+
|
31
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
32
|
+
|
33
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
34
|
+
|
35
|
+
const tabSize = 2;
|
36
|
+
const ConsoleRenderer = {};
|
37
|
+
/**
|
38
|
+
* @tsplus static fncts.test.ConsoleRenderer render
|
39
|
+
*/
|
40
|
+
|
41
|
+
exports.ConsoleRenderer = ConsoleRenderer;
|
42
|
+
|
43
|
+
function render(results, testAnnotationRenderer) {
|
44
|
+
return tsplus_module_2.map_(results, result => {
|
45
|
+
const message = tsplus_module_3.intersperse(new _Message2.Message(tsplus_module_2.from(result.lines)), tsplus_module_1.fromString("\n"));
|
46
|
+
const output = (0, _pattern.matchTag_)(result.resultType, {
|
47
|
+
Suite: () => renderSuite(result.status, result.offset, message),
|
48
|
+
Test: () => renderTest(result.status, result.offset, message),
|
49
|
+
Other: () => new _Message2.Message(tsplus_module_2.from(result.lines))
|
50
|
+
});
|
51
|
+
const renderedAnnotations = renderAnnotations(result.annotations, testAnnotationRenderer);
|
52
|
+
return tsplus_module_2.join_(renderToStringLines(tsplus_module_3.concat_(output, renderedAnnotations)), "");
|
53
|
+
});
|
54
|
+
}
|
55
|
+
|
56
|
+
function renderSuite(status, offset, message) {
|
57
|
+
return (0, _pattern.matchTag_)(status, {
|
58
|
+
Passed: () => tsplus_module_3.concat_(tsplus_module_1.toMessage(tsplus_module_1.withOffset(tsplus_module_4.append((0, _LogLine.info)("+"), _LogLine.sp), offset)), message),
|
59
|
+
Failed: () => tsplus_module_3.concat_(tsplus_module_1.toMessage(tsplus_module_1.withOffset(tsplus_module_1.empty, offset)), message),
|
60
|
+
Ignored: () => tsplus_module_1.appendTo(tsplus_module_3.concat_(tsplus_module_1.toMessage(tsplus_module_1.withOffset(tsplus_module_1.empty, offset)), message), tsplus_module_4.toLine((0, _LogLine.fr)(" - " + tsplus_module_5.Ignored.identifier + " suite")))
|
61
|
+
});
|
62
|
+
}
|
63
|
+
|
64
|
+
function renderTest(status, offset, message) {
|
65
|
+
return (0, _pattern.matchTag_)(status, {
|
66
|
+
Passed: () => tsplus_module_3.concat_(tsplus_module_1.toMessage(tsplus_module_1.withOffset(tsplus_module_4.append((0, _LogLine.info)("+"), _LogLine.sp), offset)), message),
|
67
|
+
Ignored: () => tsplus_module_3.concat_(tsplus_module_1.toMessage(tsplus_module_1.withOffset(tsplus_module_4.append((0, _LogLine.warn)("-"), _LogLine.sp), offset)), message),
|
68
|
+
Failed: () => message
|
69
|
+
});
|
70
|
+
}
|
71
|
+
|
72
|
+
function renderToStringLines(message) {
|
73
|
+
const renderFragment = f => (0, _pattern.matchTag_)(f.style, {
|
74
|
+
Default: () => f.text,
|
75
|
+
Primary: () => (0, _AnsiFormat.blue)(f.text),
|
76
|
+
Warning: () => (0, _AnsiFormat.yellow)(f.text),
|
77
|
+
Error: () => (0, _AnsiFormat.red)(f.text),
|
78
|
+
Info: () => (0, _AnsiFormat.green)(f.text),
|
79
|
+
Detail: () => (0, _AnsiFormat.cyan)(f.text),
|
80
|
+
Dimmed: () => (0, _AnsiFormat.dim)(f.text),
|
81
|
+
Bold: ({
|
82
|
+
fr
|
83
|
+
}) => (0, _AnsiFormat.bold)(renderFragment(fr)),
|
84
|
+
Underlined: ({
|
85
|
+
fr
|
86
|
+
}) => (0, _AnsiFormat.underline)(renderFragment(fr)),
|
87
|
+
Ansi: ({
|
88
|
+
fr,
|
89
|
+
ansiColor
|
90
|
+
}) => renderFragment(fr)
|
91
|
+
});
|
92
|
+
|
93
|
+
return tsplus_module_2.map_(message.lines, line => renderOffset(line.offset)(tsplus_module_2.foldLeft_(line.fragments, "", (str, f) => str + renderFragment(f))));
|
94
|
+
}
|
95
|
+
|
96
|
+
function renderAnnotations(annotations, annotationRenderer) {
|
97
|
+
if (tsplus_module_6.isEmpty(annotations)) {
|
98
|
+
return tsplus_module_3.empty;
|
99
|
+
}
|
100
|
+
|
101
|
+
const rendered = annotationRenderer.run(annotations.tail, annotations.head);
|
102
|
+
|
103
|
+
if (tsplus_module_6.isEmpty(rendered)) {
|
104
|
+
return tsplus_module_3.empty;
|
105
|
+
}
|
106
|
+
|
107
|
+
return new _Message2.Message(tsplus_module_2.vector(tsplus_module_1.fromString(` - ${tsplus_module_7.join(rendered, ", ")}`)));
|
108
|
+
}
|
109
|
+
|
110
|
+
function renderOffset(n) {
|
111
|
+
return s => " ".repeat(n * tabSize) + s;
|
112
|
+
}
|
113
|
+
//# sourceMappingURL=ConsoleRenderer.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ConsoleRenderer.cjs","mappings":"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","names":["tabSize","ConsoleRenderer","render","results","testAnnotationRenderer","tsplus_module_2","result","message","tsplus_module_3","Message","lines","tsplus_module_1","output","resultType","Suite","renderSuite","status","offset","Test","renderTest","Other","renderedAnnotations","renderAnnotations","annotations","Passed","sp","Failed","Ignored","tsplus_module_4","tsplus_module_5","identifier","renderToStringLines","renderFragment","f","style","Default","text","Primary","Warning","Error","Info","Detail","Dimmed","Bold","fr","Underlined","Ansi","ansiColor","line","renderOffset","fragments","str","annotationRenderer","tsplus_module_6","rendered","run","tail","head","tsplus_module_7","n","s","repeat"],"sourceRoot":"","sources":["../../../_src/control/TestRenderer/ConsoleRenderer.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"definition.cjs","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
|