@fncts/test 0.0.20 → 0.0.21
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/_cjs/api.cjs +39 -31
- package/_cjs/api.cjs.map +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +10 -12
- package/_cjs/control/Annotations/live.cjs.map +1 -1
- package/_cjs/control/Assertion/api.cjs +45 -33
- package/_cjs/control/Assertion/api.cjs.map +1 -1
- package/_cjs/control/AssertionIO/api.cjs +20 -14
- package/_cjs/control/AssertionIO/api.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/render.cjs +50 -50
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +20 -16
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
- package/_cjs/control/Gen/api/array.cjs +23 -17
- package/_cjs/control/Gen/api/array.cjs.map +1 -1
- package/_cjs/control/Gen/api/char.cjs +2 -2
- package/_cjs/control/Gen/api/char.cjs.map +1 -1
- package/_cjs/control/Gen/api/conc.cjs +35 -26
- package/_cjs/control/Gen/api/conc.cjs.map +1 -1
- package/_cjs/control/Gen/api/double.cjs +8 -8
- package/_cjs/control/Gen/api/double.cjs.map +1 -1
- package/_cjs/control/Gen/api/float.cjs +6 -6
- package/_cjs/control/Gen/api/float.cjs.map +1 -1
- package/_cjs/control/Gen/api/string.cjs +18 -14
- package/_cjs/control/Gen/api/string.cjs.map +1 -1
- package/_cjs/control/Gen/api/struct.cjs +4 -4
- package/_cjs/control/Gen/api/struct.cjs.map +1 -1
- package/_cjs/control/Gen/api.cjs +78 -65
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen.cjs.map +1 -1
- package/_cjs/control/Live/definition.cjs +5 -5
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/RunnableSpec.cjs +8 -8
- package/_cjs/control/RunnableSpec.cjs.map +1 -1
- package/_cjs/control/Sample/api.cjs +66 -52
- package/_cjs/control/Sample/api.cjs.map +1 -1
- package/_cjs/control/Sized/live.cjs +3 -3
- package/_cjs/control/Sized/live.cjs.map +1 -1
- package/_cjs/control/Spec/api.cjs +322 -286
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/SummaryBuilder.cjs +10 -10
- package/_cjs/control/SummaryBuilder.cjs.map +1 -1
- package/_cjs/control/Test.cjs +1 -1
- package/_cjs/control/Test.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/api.cjs +28 -26
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +2 -2
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
- package/_cjs/control/TestAspect/api.cjs +14 -14
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestClock/api.cjs +9 -11
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestClock/definition.cjs +65 -75
- package/_cjs/control/TestClock/definition.cjs.map +1 -1
- package/_cjs/control/TestConsole/api.cjs +3 -3
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/definition.cjs +20 -24
- package/_cjs/control/TestConsole/definition.cjs.map +1 -1
- package/_cjs/control/TestEnvironment.cjs +3 -3
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestExecutor.cjs +3 -3
- package/_cjs/control/TestExecutor.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs +2 -2
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +9 -9
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRandom/definition.cjs +65 -71
- package/_cjs/control/TestRandom/definition.cjs.map +1 -1
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +11 -11
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
- package/_cjs/control/TestRunner.cjs +1 -1
- package/_cjs/control/TestRunner.cjs.map +1 -1
- package/_cjs/data/AssertionValue/api.cjs +22 -14
- package/_cjs/data/AssertionValue/api.cjs.map +1 -1
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/api.cjs +61 -53
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
- package/_cjs/data/ExecutionResult.cjs +42 -38
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +93 -77
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +2 -2
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
- package/_cjs/data/LogLine/Line.cjs +11 -9
- package/_cjs/data/LogLine/Line.cjs.map +1 -1
- package/_cjs/data/LogLine/Message.cjs +32 -24
- package/_cjs/data/LogLine/Message.cjs.map +1 -1
- package/_cjs/data/LogLine/Style.cjs.map +1 -1
- package/_cjs/data/Render/definition.cjs +1 -1
- package/_cjs/data/Render/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/api.cjs +2 -2
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotationMap.cjs +3 -3
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/demo.cjs +5 -5
- package/_cjs/demo.cjs.map +1 -1
- package/_cjs/util/math.cjs +6 -6
- package/_cjs/util/math.cjs.map +1 -1
- package/_mjs/api.mjs +37 -29
- package/_mjs/api.mjs.map +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
- package/_mjs/control/Annotations/live.mjs +10 -11
- package/_mjs/control/Annotations/live.mjs.map +1 -1
- package/_mjs/control/Assertion/api.mjs +40 -28
- package/_mjs/control/Assertion/api.mjs.map +1 -1
- package/_mjs/control/AssertionIO/api.mjs +17 -11
- package/_mjs/control/AssertionIO/api.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/render.mjs +50 -50
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +18 -14
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
- package/_mjs/control/Gen/api/array.mjs +20 -14
- package/_mjs/control/Gen/api/array.mjs.map +1 -1
- package/_mjs/control/Gen/api/char.mjs +2 -2
- package/_mjs/control/Gen/api/char.mjs.map +1 -1
- package/_mjs/control/Gen/api/conc.mjs +30 -22
- package/_mjs/control/Gen/api/conc.mjs.map +1 -1
- package/_mjs/control/Gen/api/double.mjs +8 -8
- package/_mjs/control/Gen/api/double.mjs.map +1 -1
- package/_mjs/control/Gen/api/float.mjs +6 -6
- package/_mjs/control/Gen/api/float.mjs.map +1 -1
- package/_mjs/control/Gen/api/string.mjs +18 -14
- package/_mjs/control/Gen/api/string.mjs.map +1 -1
- package/_mjs/control/Gen/api/struct.mjs +4 -4
- package/_mjs/control/Gen/api/struct.mjs.map +1 -1
- package/_mjs/control/Gen/api.mjs +68 -54
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen.mjs.map +1 -1
- package/_mjs/control/Live/definition.mjs +5 -5
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/RunnableSpec.mjs +8 -8
- package/_mjs/control/RunnableSpec.mjs.map +1 -1
- package/_mjs/control/Sample/api.mjs +57 -43
- package/_mjs/control/Sample/api.mjs.map +1 -1
- package/_mjs/control/Sized/live.mjs +3 -3
- package/_mjs/control/Sized/live.mjs.map +1 -1
- package/_mjs/control/Spec/api.mjs +300 -265
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/SummaryBuilder.mjs +10 -10
- package/_mjs/control/SummaryBuilder.mjs.map +1 -1
- package/_mjs/control/Test.mjs +1 -1
- package/_mjs/control/Test.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/api.mjs +27 -25
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +2 -2
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
- package/_mjs/control/TestAspect/api.mjs +14 -14
- package/_mjs/control/TestAspect/api.mjs.map +1 -1
- package/_mjs/control/TestClock/api.mjs +9 -10
- package/_mjs/control/TestClock/api.mjs.map +1 -1
- package/_mjs/control/TestClock/definition.mjs +65 -72
- package/_mjs/control/TestClock/definition.mjs.map +1 -1
- package/_mjs/control/TestConsole/api.mjs +3 -3
- package/_mjs/control/TestConsole/api.mjs.map +1 -1
- package/_mjs/control/TestConsole/definition.mjs +20 -22
- package/_mjs/control/TestConsole/definition.mjs.map +1 -1
- package/_mjs/control/TestEnvironment.mjs +3 -3
- package/_mjs/control/TestEnvironment.mjs.map +1 -1
- package/_mjs/control/TestExecutor.mjs +3 -3
- package/_mjs/control/TestExecutor.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs +2 -2
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/api.mjs +9 -9
- package/_mjs/control/TestRandom/api.mjs.map +1 -1
- package/_mjs/control/TestRandom/definition.mjs +65 -68
- package/_mjs/control/TestRandom/definition.mjs.map +1 -1
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +11 -11
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
- package/_mjs/control/TestRunner.mjs +1 -1
- package/_mjs/control/TestRunner.mjs.map +1 -1
- package/_mjs/data/AssertionValue/api.mjs +22 -14
- package/_mjs/data/AssertionValue/api.mjs.map +1 -1
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/api.mjs +55 -47
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
- package/_mjs/data/ExecutionResult.mjs +40 -36
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +81 -65
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs +2 -2
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
- package/_mjs/data/LogLine/Line.mjs +11 -9
- package/_mjs/data/LogLine/Line.mjs.map +1 -1
- package/_mjs/data/LogLine/Message.mjs +26 -18
- package/_mjs/data/LogLine/Message.mjs.map +1 -1
- package/_mjs/data/LogLine/Style.mjs.map +1 -1
- package/_mjs/data/Render/definition.mjs +1 -1
- package/_mjs/data/Render/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/api.mjs +2 -2
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotationMap.mjs +3 -3
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/demo.mjs +5 -5
- package/_mjs/demo.mjs.map +1 -1
- package/_mjs/util/math.mjs +6 -6
- package/_mjs/util/math.mjs.map +1 -1
- package/_src/api.ts +36 -35
- package/_src/control/AbstractRunnableSpec.ts +0 -3
- package/_src/control/Annotations/live.ts +0 -4
- package/_src/control/Assertion/api.ts +31 -20
- package/_src/control/AssertionIO/api.ts +23 -17
- package/_src/control/DefaultTestReporter/render.ts +1 -11
- package/_src/control/FreeBooleanAlgebraIO/api.ts +12 -14
- package/_src/control/Gen/api/array.ts +18 -15
- package/_src/control/Gen/api/conc.ts +31 -26
- package/_src/control/Gen/api/string.ts +13 -9
- package/_src/control/Gen/api/struct.ts +12 -2
- package/_src/control/Gen/api.ts +56 -40
- package/_src/control/Gen.ts +0 -1
- package/_src/control/Live/definition.ts +0 -4
- package/_src/control/Sample/api.ts +77 -66
- package/_src/control/Spec/api.ts +235 -222
- package/_src/control/Spec/definition.ts +0 -2
- package/_src/control/SummaryBuilder.ts +0 -1
- package/_src/control/TestAnnotationRenderer/api.ts +17 -15
- package/_src/control/TestAnnotationRenderer/definition.ts +0 -2
- package/_src/control/TestAspect/api.ts +0 -1
- package/_src/control/TestClock/definition.ts +4 -17
- package/_src/control/TestConsole/definition.ts +0 -1
- package/_src/control/TestLogger.ts +0 -2
- package/_src/control/TestRandom/api.ts +5 -0
- package/_src/control/TestRandom/definition.ts +3 -37
- package/_src/control/TestRenderer/ConsoleRenderer.ts +0 -1
- package/_src/data/AssertionValue/api.ts +26 -22
- package/_src/data/AssertionValue/definition.ts +0 -1
- package/_src/data/ExecutedSpec/api.ts +41 -36
- package/_src/data/ExecutionResult.ts +54 -51
- package/_src/data/FreeBooleanAlgebra/api.ts +68 -58
- package/_src/data/LogLine/Line.ts +5 -3
- package/_src/data/LogLine/Message.ts +26 -18
- package/_src/data/LogLine/Style.ts +0 -1
- package/_src/data/Render/definition.ts +0 -2
- package/_src/data/TestAnnotation/api.ts +3 -1
- package/_src/data/TestAnnotation/definition.ts +0 -3
- package/_src/data/TestAnnotationMap.ts +0 -6
- package/_src/demo.ts +3 -4
- package/_src/util/math.ts +31 -17
- package/api.d.ts +12 -12
- package/control/Assertion/api.d.ts +14 -10
- package/control/AssertionIO/api.d.ts +8 -8
- package/control/FreeBooleanAlgebraIO/api.d.ts +6 -6
- package/control/Gen/api/array.d.ts +6 -6
- package/control/Gen/api/conc.d.ts +8 -8
- package/control/Gen/api/string.d.ts +4 -4
- package/control/Gen/api.d.ts +15 -15
- package/control/Sample/api.d.ts +14 -14
- package/control/Spec/api.d.ts +38 -41
- package/control/TestAnnotationRenderer/api.d.ts +3 -3
- package/control/TestConsole/definition.d.ts +2 -2
- package/data/AssertionValue/api.d.ts +8 -8
- package/data/ExecutedSpec/api.d.ts +8 -8
- package/data/ExecutionResult.d.ts +4 -4
- package/data/FreeBooleanAlgebra/api.d.ts +20 -20
- package/data/LogLine/Line.d.ts +2 -2
- package/data/LogLine/Message.d.ts +10 -10
- package/package.json +3 -3
@@ -4,46 +4,54 @@ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/base/collection/immutable/Conc/api/replicate";
|
5
5
|
import * as tsplus_module_5 from "@fncts/base/typeclass/Equatable/api";
|
6
6
|
import * as tsplus_module_6 from "@fncts/base/typeclass/Eq/definition";
|
7
|
-
export const
|
8
|
-
export const
|
7
|
+
export const concN = concN_1;
|
8
|
+
export const uniqueConcN = uniqueConcN_1;
|
9
9
|
import { Eq } from "@fncts/base/typeclass";
|
10
10
|
/**
|
11
|
-
* @tsplus
|
11
|
+
* @tsplus pipeable fncts.test.Gen conc
|
12
12
|
*/
|
13
13
|
|
14
|
-
export function conc(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
export function conc(constraints = {}) {
|
15
|
+
return self => {
|
16
|
+
const minLength = constraints.minLength ?? 0;
|
17
|
+
return constraints.maxLength ? tsplus_module_1.flatMap(n => concN_1(n)(self))(tsplus_module_1.int({
|
18
|
+
min: minLength,
|
19
|
+
max: constraints.maxLength
|
20
|
+
})) : tsplus_module_1.small(n => concN_1(n)(self), minLength);
|
21
|
+
};
|
20
22
|
}
|
21
23
|
/**
|
22
|
-
* @tsplus
|
24
|
+
* @tsplus pipeable fncts.test.Gen concN
|
23
25
|
*/
|
24
26
|
|
25
|
-
function concN_1(
|
26
|
-
return
|
27
|
+
function concN_1(n) {
|
28
|
+
return g => {
|
29
|
+
return tsplus_module_3.foldLeft(tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith(a, (as, a) => tsplus_module_3.append(a)(as))(gen))(tsplus_module_4.replicate(n, g));
|
30
|
+
};
|
27
31
|
}
|
28
32
|
/**
|
29
|
-
* @tsplus
|
33
|
+
* @tsplus pipeable fncts.test.Gen uniqueConc
|
30
34
|
*/
|
31
35
|
|
32
36
|
|
33
|
-
export function
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
export function uniqueConc(constraints = {}) {
|
38
|
+
return self => {
|
39
|
+
const minLength = constraints.minLength ?? 0;
|
40
|
+
const eq = constraints.eq ?? tsplus_module_6.mkEq({
|
41
|
+
equals: tsplus_module_5.strictEquals
|
42
|
+
});
|
43
|
+
return constraints.maxLength ? tsplus_module_1.bounded(minLength, constraints.maxLength, n => uniqueConcN_1(n, eq)(self)) : tsplus_module_1.small(n => uniqueConcN_1(n, eq)(self), minLength);
|
44
|
+
};
|
39
45
|
}
|
40
46
|
/**
|
41
|
-
* @tsplus
|
47
|
+
* @tsplus pipeable fncts.test.Gen uniqueConcN
|
42
48
|
*/
|
43
49
|
|
44
|
-
function uniqueConcN_1(
|
50
|
+
function uniqueConcN_1(n,
|
45
51
|
/** @tsplus auto */
|
46
52
|
E) {
|
47
|
-
return
|
53
|
+
return self => {
|
54
|
+
return tsplus_module_3.foldLeft(tsplus_module_1.constant(tsplus_module_2.empty()), (gen, a) => tsplus_module_1.zipWith(a, (as, a) => tsplus_module_3.elem(a, E)(as) ? as : tsplus_module_3.append(a)(as))(gen))(tsplus_module_4.replicate(n, self));
|
55
|
+
};
|
48
56
|
}
|
49
57
|
//# sourceMappingURL=conc.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"conc.mjs","mappings":";;;;;;
|
1
|
+
{"version":3,"file":"conc.mjs","mappings":";;;;;;aAsBgBA,KAAK;aAwBLC,WAAW;AA3C3B,SAASC,EAAT,QAA8B,uBAA9B;AAIA;;;;AAGA,OAAM,SAAUC,IAAV,CAAeC,cAAiC,EAAhD,EAAkD;EACtD,OAAcC,IAAP,IAAmD;IACxD,MAAMC,SAAS,GAAGF,WAAW,CAACE,SAAZ,IAAyB,CAA3C;IACA,OAAOF,WAAW,CAACG,SAAZ,GACHC,wBAAiEC,CAAD,IAAOC,QAAWD,CAAX,OAAvE,sBAAQ;MAAEE,GAAG,EAAEL,SAAP;MAAkBM,GAAG,EAAER,WAAW,CAACG;IAAnC,CAAR,EADG,GAEHC,sBAAWC,CAAD,IAAOC,QAAWD,CAAX,OAAjB,EAAgCH,SAAhC,CAFJ;EAGD,CALD;AAMD;AAED;;;;AAGA,iBAAsBG,CAAtB,EAA+B;EAC7B,OAAcI,CAAP,IAAwC;IAC7C,OAAOC,yBAA8BN,yBAAaO,uBAAb,CAA9B,EAA6E,CAACC,GAAD,EAAMC,CAAN,KAClFT,wBAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAWH,uBAAUG,CAAV,KAA1B,MADK,4BAAeR,CAAf,EAAkBI,CAAlB,EAAP;EAGD,CAJD;AAKD;AAED;;;;;AAGA,OAAM,SAAUM,UAAV,CAAwBf,cAAmD,EAA3E,EAA6E;EACjF,OAAWC,IAAJ,IAAgD;IACrD,MAAMC,SAAS,GAAGF,WAAW,CAACE,SAAZ,IAAyB,CAA3C;IACA,MAAMc,EAAE,GAAUhB,WAAW,CAACgB,EAAZ,IAAkBC,qBAAG;MAAEC,MAAM;IAAR,CAAH,CAApC;IACA,OAAOlB,WAAW,CAACG,SAAZ,GACHC,wBAAYF,SAAZ,EAAuBF,WAAW,CAACG,SAAnC,EAA+CE,CAAD,IAAOc,cAAiBd,CAAjB,EAAoBW,EAApB,OAArD,CADG,GAEHZ,sBAAWC,CAAD,IAAOc,cAAiBd,CAAjB,EAAoBW,EAApB,OAAjB,EAA0Cd,SAA1C,CAFJ;EAGD,CAND;AAOD;AAED;;;;AAGA,uBAA+BG,CAA/B;AAA0C;AAAoBe,CAA9D,EAAsE;EACpE,OAAWnB,IAAJ,IAAwC;IAC7C,OAAOS,yBAAiCN,yBAAaO,uBAAb,CAAjC,EAAgF,CAACC,GAAD,EAAMC,CAAN,KACrFT,wBAAYS,CAAZ,EAAe,CAACC,EAAD,EAAKD,CAAL,KAAYH,qBAAQG,CAAR,EAAWO,CAAX,QAAgBN,EAAhB,GAAqBJ,uBAAUG,CAAV,KAAhD,MADK,4BAAeR,CAAf,EAAkBJ,IAAlB,EAAP;EAGD,CAJD;AAKD","names":["concN","uniqueConcN","Eq","conc","constraints","self","minLength","maxLength","tsplus_module_1","n","concN_1","min","max","g","tsplus_module_3","tsplus_module_2","gen","a","as","uniqueConc","eq","tsplus_module_6","equals","uniqueConcN_1","E"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/conc.ts"],"sourcesContent":[null]}
|
@@ -14,16 +14,16 @@ import { Gen } from "../definition.mjs";
|
|
14
14
|
*/
|
15
15
|
|
16
16
|
function arrayInt64_1(min, max) {
|
17
|
-
return new Gen(tsplus_module_4.
|
18
|
-
min,
|
19
|
-
max
|
20
|
-
}) => tsplus_module_4.repeatIO(tsplus_module_3.nextArrayIntBetween(min, max, fileName_1 + ":25:76"), fileName_1 + ":25:49"), fileName_1 + ":25:15"), uncheckedValue => {
|
17
|
+
return new Gen(tsplus_module_4.map(uncheckedValue => {
|
21
18
|
if (uncheckedValue.data.length === 1) {
|
22
19
|
uncheckedValue.data.unshift(0);
|
23
20
|
}
|
24
21
|
|
25
22
|
return tsplus_module_2.just(tsplus_module_1.shrinkArrayInt64(min)(uncheckedValue));
|
26
|
-
}, fileName_1 + ":26:11")
|
23
|
+
}, fileName_1 + ":26:11")(tsplus_module_4.flatMap(({
|
24
|
+
min,
|
25
|
+
max
|
26
|
+
}) => tsplus_module_4.repeatIO(tsplus_module_3.nextArrayIntBetween(min, max, fileName_1 + ":25:76"), fileName_1 + ":25:49"), fileName_1 + ":25:15")(tsplus_module_4.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined), fileName_1 + ":24:18"))));
|
27
27
|
}
|
28
28
|
/**
|
29
29
|
* @tsplus static fncts.test.GenOps double
|
@@ -46,15 +46,15 @@ export function double(constraints = {}) {
|
|
46
46
|
}
|
47
47
|
|
48
48
|
if (noNaN) {
|
49
|
-
return tsplus_module_6.
|
49
|
+
return tsplus_module_6.map(indexToDouble)(arrayInt64_1(minIndex, maxIndex));
|
50
50
|
}
|
51
51
|
|
52
52
|
const positiveMaxIdx = isStrictlyPositive64(maxIndex);
|
53
53
|
const minIndexWithNaN = positiveMaxIdx ? minIndex : substract64(minIndex, Unit64);
|
54
54
|
const maxIndexWithNaN = positiveMaxIdx ? add64(maxIndex, Unit64) : maxIndex;
|
55
|
-
return tsplus_module_6.
|
55
|
+
return tsplus_module_6.map(index => {
|
56
56
|
if (isStrictlySmaller64(maxIndex, index) || isStrictlySmaller64(index, minIndex)) return Number.NaN;else return indexToDouble(index);
|
57
|
-
});
|
57
|
+
})(arrayInt64_1(minIndexWithNaN, maxIndexWithNaN));
|
58
58
|
}, fileName_1 + ":46:11"));
|
59
59
|
}
|
60
60
|
//# sourceMappingURL=double.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"double.mjs","mappings":";;;;;;;aAqBgBA,UAAU;AAlB1B,SAASC,oBAAT,QAAqC,6BAArC;AAEA,SACEC,KADF,EAEEC,8BAFF,EAGEC,aAHF,EAIEC,oBAJF,EAKEC,mBALF,EAMEC,iBANF,EAOEC,WAPF,EAQEC,MARF,QASO,wBATP;AAWA,SAASC,GAAT,QAAoB,mBAApB;AAEA;;;;AAGA,sBAA2BC,GAA3B,EAA4CC,GAA5C,EAA2D;EACzD,OAAO,IAAIF,GAAJ,CACLG,
|
1
|
+
{"version":3,"file":"double.mjs","mappings":";;;;;;;aAqBgBA,UAAU;AAlB1B,SAASC,oBAAT,QAAqC,6BAArC;AAEA,SACEC,KADF,EAEEC,8BAFF,EAGEC,aAHF,EAIEC,oBAJF,EAKEC,mBALF,EAMEC,iBANF,EAOEC,WAPF,EAQEC,MARF,QASO,wBATP;AAWA,SAASC,GAAT,QAAoB,mBAApB;AAEA;;;;AAGA,sBAA2BC,GAA3B,EAA4CC,GAA5C,EAA2D;EACzD,OAAO,IAAIF,GAAJ,CACLG,oBAEQC,cAAD,IAAmB;IACtB,IAAIA,cAAc,CAACC,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;MACpCF,cAAc,CAACC,IAAf,CAAoBE,OAApB,CAA4B,CAA5B;IACD;;IACD,OAAOC,qBAAKC,iCAAwBR,GAAxB,EAA6BG,cAA7B,CAAL,CAAP;EACD,CAPH,EAOGM,qBAPH,0BACW,CAAC;IAAET,GAAF;IAAOC;EAAP,CAAD,KAAkBC,yBAAgBQ,oCAA2BV,GAA3B,EAAgCC,GAAhC,EAAmCQ,qBAAnC,CAAhB,EAAoDA,qBAApD,CAD7B,EACkFA,qBADlF,yBAAcjB,8BAA8B,CAACQ,GAAD,EAAMC,GAAN,EAAWU,SAAX,EAAsBA,SAAtB,CAA5C,EAA4EF,qBAA5E,GADK,CAAP;AAUD;AAED;;;;;AAGA,OAAM,SAAUG,MAAV,CAAiBC,cAAoD,EAArE,EAAuE;EAC3E,MAAM;IACJC,iBAAiB,GAAG,KADhB;IAEJC,KAAK,GAAG,KAFJ;IAGJf,GAAG,GAAGc,iBAAiB,GAAG,CAACE,MAAM,CAACC,SAAX,GAAuBD,MAAM,CAACE,iBAHjD;IAIJjB,GAAG,GAAGa,iBAAiB,GAAGE,MAAM,CAACC,SAAV,GAAsBD,MAAM,CAACG;EAJhD,IAKFN,WALJ;EAMA,OAAOO,uBACLC,oBAAO,WAAWC,CAAX,EAAY;IACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAAC1B,iBAAiB,CAACI,GAAD,EAAM,KAAN,CAAlB,EAA8BS,qBAA9B,CAAzB;IACA,MAAMe,QAAQ,GAAG,OAAOF,CAAC,CAAC1B,iBAAiB,CAACK,GAAD,EAAM,KAAN,CAAlB,EAA8BQ,qBAA9B,CAAzB;;IACA,IAAId,mBAAmB,CAAC6B,QAAD,EAAWD,QAAX,CAAvB,EAA6C;MAC3C,OAAO,OAAOD,CAAC,CAACD,wBAAW,IAAI/B,oBAAJ,CAAyB,uCAAzB,EAAkE,YAAlE,CAAX,EAA0FmB,qBAA1F,CAAD,EAA4FA,qBAA5F,CAAf;IACD;;IACD,IAAIM,KAAJ,EAAW;MACT,OAAOK,oBAAmC3B,aAAnC,eAAW8B,QAAX,EAAqBC,QAArB,EAAP;IACD;;IACD,MAAMC,cAAc,GAAI/B,oBAAoB,CAAC8B,QAAD,CAA5C;IACA,MAAME,eAAe,GAAGD,cAAc,GAAGF,QAAH,GAAc1B,WAAW,CAAC0B,QAAD,EAAWzB,MAAX,CAA/D;IACA,MAAM6B,eAAe,GAAGF,cAAc,GAAGlC,KAAK,CAACiC,QAAD,EAAW1B,MAAX,CAAR,GAA6B0B,QAAnE;IACA,OAAOJ,oBAAkDQ,KAAD,IAAU;MAChE,IAAIjC,mBAAmB,CAAC6B,QAAD,EAAWI,KAAX,CAAnB,IAAwCjC,mBAAmB,CAACiC,KAAD,EAAQL,QAAR,CAA/D,EAAkF,OAAOP,MAAM,CAACa,GAAd,CAAlF,KACK,OAAOpC,aAAa,CAACmC,KAAD,CAApB;IACN,CAHM,eAAWF,eAAX,EAA4BC,eAA5B,EAAP;EAID,CAhBD,EAgBClB,qBAhBD,CADK,CAAP;AAmBD","names":["arrayInt64","IllegalArgumentError","add64","computeArrayInt64GenerateRange","indexToDouble","isStrictlyPositive64","isStrictlySmaller64","safeDoubleToIndex","substract64","Unit64","Gen","min","max","tsplus_module_4","uncheckedValue","data","length","unshift","tsplus_module_2","tsplus_module_1","fileName_1","tsplus_module_3","undefined","double","constraints","noDefaultInfinity","noNaN","Number","MAX_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","tsplus_module_6","tsplus_module_5","_","minIndex","maxIndex","positiveMaxIdx","minIndexWithNaN","maxIndexWithNaN","index","NaN"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/double.ts"],"sourcesContent":[null]}
|
@@ -22,20 +22,20 @@ export function float(constraints = {}) {
|
|
22
22
|
}
|
23
23
|
|
24
24
|
if (noNaN) {
|
25
|
-
return tsplus_module_2.
|
25
|
+
return tsplus_module_2.map(indexToFloat)(tsplus_module_2.int({
|
26
26
|
min: minIndex,
|
27
27
|
max: maxIndex
|
28
|
-
})
|
28
|
+
}));
|
29
29
|
}
|
30
30
|
|
31
31
|
const minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;
|
32
32
|
const maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;
|
33
|
-
return tsplus_module_2.
|
33
|
+
return tsplus_module_2.map(index => {
|
34
|
+
if (index > maxIndex || index < minIndex) return Number.NaN;else return indexToFloat(index);
|
35
|
+
})(tsplus_module_2.int({
|
34
36
|
min: minIndexWithNaN,
|
35
37
|
max: maxIndexWithNaN
|
36
|
-
})
|
37
|
-
if (index > maxIndex || index < minIndex) return Number.NaN;else return indexToFloat(index);
|
38
|
-
});
|
38
|
+
}));
|
39
39
|
}, fileName_1 + ":17:11"));
|
40
40
|
}
|
41
41
|
//# sourceMappingURL=float.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"float.mjs","mappings":";;;AAEA,SAASA,YAAT,EAAuBC,YAAvB,EAAqCC,gBAArC,QAA6D,wBAA7D;AAGA;;;;AAGA,OAAM,SAAUC,KAAV,CAAgBC,cAAoD,EAApE,EAAsE;EAC1E,MAAM;IACJC,iBAAiB,GAAG,KADhB;IAEJC,GAAG,GAAGD,iBAAiB,GAAG,CAACJ,YAAJ,GAAmBM,MAAM,CAACC,iBAF7C;IAGJC,GAAG,GAAGJ,iBAAiB,GAAGJ,YAAH,GAAkBM,MAAM,CAACG,iBAH5C;IAIJC,KAAK,GAAG;EAJJ,IAKFP,WALJ;EAMA,OAAOQ,uBACLC,oBAAO,WAAWC,CAAX,EAAY;IACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAACZ,gBAAgB,CAACI,GAAD,EAAM,KAAN,CAAjB,EAA6BU,qBAA7B,CAAzB;IACA,MAAMC,QAAQ,GAAG,OAAOH,CAAC,CAACZ,gBAAgB,CAACO,GAAD,EAAM,KAAN,CAAjB,EAA6BO,qBAA7B,CAAzB;;IACA,IAAID,QAAQ,GAAGE,QAAf,EAAyB;MACvB,OAAO,OAAOH,CAAC,CACbD,wBAAW,IAAIK,KAAJ,CAAU,yEAAV,CAAX,EAA+FF,qBAA/F,CADa,EACmFA,qBADnF,CAAf;IAGD;;IACD,IAAIL,KAAJ,EAAW;MACT,OAAOC,
|
1
|
+
{"version":3,"file":"float.mjs","mappings":";;;AAEA,SAASA,YAAT,EAAuBC,YAAvB,EAAqCC,gBAArC,QAA6D,wBAA7D;AAGA;;;;AAGA,OAAM,SAAUC,KAAV,CAAgBC,cAAoD,EAApE,EAAsE;EAC1E,MAAM;IACJC,iBAAiB,GAAG,KADhB;IAEJC,GAAG,GAAGD,iBAAiB,GAAG,CAACJ,YAAJ,GAAmBM,MAAM,CAACC,iBAF7C;IAGJC,GAAG,GAAGJ,iBAAiB,GAAGJ,YAAH,GAAkBM,MAAM,CAACG,iBAH5C;IAIJC,KAAK,GAAG;EAJJ,IAKFP,WALJ;EAMA,OAAOQ,uBACLC,oBAAO,WAAWC,CAAX,EAAY;IACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAACZ,gBAAgB,CAACI,GAAD,EAAM,KAAN,CAAjB,EAA6BU,qBAA7B,CAAzB;IACA,MAAMC,QAAQ,GAAG,OAAOH,CAAC,CAACZ,gBAAgB,CAACO,GAAD,EAAM,KAAN,CAAjB,EAA6BO,qBAA7B,CAAzB;;IACA,IAAID,QAAQ,GAAGE,QAAf,EAAyB;MACvB,OAAO,OAAOH,CAAC,CACbD,wBAAW,IAAIK,KAAJ,CAAU,yEAAV,CAAX,EAA+FF,qBAA/F,CADa,EACmFA,qBADnF,CAAf;IAGD;;IACD,IAAIL,KAAJ,EAAW;MACT,OAAOC,oBAA8CZ,YAA9C,sBAAQ;QAAEM,GAAG,EAAES,QAAP;QAAiBN,GAAG,EAAEQ;MAAtB,CAAR,EAAP;IACD;;IACD,MAAME,eAAe,GAAGF,QAAQ,GAAG,CAAX,GAAeF,QAAf,GAA0BA,QAAQ,GAAG,CAA7D;IACA,MAAMK,eAAe,GAAGH,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAG,CAA1B,GAA8BA,QAAtD;IACA,OAAOL,oBAA6DS,KAAD,IAAU;MAC3E,IAAIA,KAAK,GAAGJ,QAAR,IAAoBI,KAAK,GAAGN,QAAhC,EAA0C,OAAOR,MAAM,CAACe,GAAd,CAA1C,KACK,OAAOtB,YAAY,CAACqB,KAAD,CAAnB;IACN,CAHM,sBAAQ;MAAEf,GAAG,EAAEa,eAAP;MAAwBV,GAAG,EAAEW;IAA7B,CAAR,EAAP;EAID,CAjBD,EAiBCJ,qBAjBD,CADK,CAAP;AAoBD","names":["indexToFloat","MAX_VALUE_32","safeFloatToIndex","float","constraints","noDefaultInfinity","min","Number","NEGATIVE_INFINITY","max","POSITIVE_INFINITY","noNaN","tsplus_module_2","tsplus_module_1","_","minIndex","fileName_1","maxIndex","Error","minIndexWithNaN","maxIndexWithNaN","index","NaN"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/float.ts"],"sourcesContent":[null]}
|
@@ -8,58 +8,62 @@ import { alphaNumericChar, asciiChar, base64Char, char16, fullUnicodeChar, hexCh
|
|
8
8
|
*/
|
9
9
|
|
10
10
|
export function asciiString(constraints) {
|
11
|
-
return string_1(
|
11
|
+
return string_1(constraints)(asciiChar);
|
12
12
|
}
|
13
13
|
/**
|
14
14
|
* @tsplus static fncts.test.GenOps alphaNumericString
|
15
15
|
*/
|
16
16
|
|
17
17
|
export function alphaNumericString(constraints = {}) {
|
18
|
-
return string_1(
|
18
|
+
return string_1(constraints)(alphaNumericChar);
|
19
19
|
}
|
20
20
|
/**
|
21
21
|
* @tsplus static fncts.test.GenOps base64String
|
22
22
|
*/
|
23
23
|
|
24
24
|
export function base64String(constraints = {}) {
|
25
|
-
return string_1(
|
25
|
+
return string_1(constraints)(base64Char);
|
26
26
|
}
|
27
27
|
/**
|
28
28
|
* @tsplus static fncts.test.GenOps fullUnicodeString
|
29
29
|
*/
|
30
30
|
|
31
31
|
export function fullUnicodeString(constraints = {}) {
|
32
|
-
return string_1(
|
32
|
+
return string_1(constraints)(fullUnicodeChar);
|
33
33
|
}
|
34
34
|
/**
|
35
35
|
* @tsplus static fncts.test.GenOps hexString
|
36
36
|
*/
|
37
37
|
|
38
38
|
export function hexString(constraints = {}) {
|
39
|
-
return string_1(
|
39
|
+
return string_1(constraints)(hexChar);
|
40
40
|
}
|
41
41
|
/**
|
42
42
|
* @tsplus static fncts.test.GenOps string16
|
43
43
|
*/
|
44
44
|
|
45
45
|
export function string16(constraints = {}) {
|
46
|
-
return string_1(
|
46
|
+
return string_1(constraints)(char16);
|
47
47
|
}
|
48
48
|
/**
|
49
|
-
* @tsplus
|
49
|
+
* @tsplus pipeable fncts.test.Gen string
|
50
50
|
*/
|
51
51
|
|
52
|
-
function string_1(
|
53
|
-
|
54
|
-
|
52
|
+
function string_1(constraints = {}) {
|
53
|
+
return char => {
|
54
|
+
const min = constraints.minLength || 0;
|
55
|
+
return constraints.maxLength ? tsplus_module_1.bounded(min, constraints.maxLength, n => stringN_1(n)(char)) : tsplus_module_1.small(n => stringN_1(n)(char), min);
|
56
|
+
};
|
55
57
|
}
|
56
58
|
/**
|
57
|
-
* @tsplus
|
59
|
+
* @tsplus pipeable fncts.test.Gen stringN
|
58
60
|
*/
|
59
61
|
|
60
62
|
|
61
|
-
function stringN_1(
|
62
|
-
return
|
63
|
+
function stringN_1(n) {
|
64
|
+
return char => {
|
65
|
+
return tsplus_module_1.map(arr => arr.join(""))(tsplus_module_2.arrayN(n)(char));
|
66
|
+
};
|
63
67
|
}
|
64
68
|
/**
|
65
69
|
* @tsplus static fncts.test.GenOps unicodeString
|
@@ -67,6 +71,6 @@ function stringN_1(char, n) {
|
|
67
71
|
|
68
72
|
|
69
73
|
export function unicodeString(constraints = {}) {
|
70
|
-
return string_1(
|
74
|
+
return string_1(constraints)(unicodeChar);
|
71
75
|
}
|
72
76
|
//# sourceMappingURL=string.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"string.mjs","mappings":";;aAmDgBA,MAAM;
|
1
|
+
{"version":3,"file":"string.mjs","mappings":";;aAmDgBA,MAAM;aAYNC,OAAO;AA3DvB,SAASC,gBAAT,EAA2BC,SAA3B,EAAsCC,UAAtC,EAAkDC,MAAlD,EAA0DC,eAA1D,EAA2EC,OAA3E,EAAoFC,WAApF,QAAuG,YAAvG;AAEA;;;;AAGA,OAAM,SAAUC,WAAV,CAAyBC,WAAzB,EAAwD;EAC5D,OAAOC,SAAiBD,WAAjB,YAAP;AACD;AAED;;;;AAGA,OAAM,SAAUE,kBAAV,CAA6BF,cAAiC,EAA9D,EAAgE;EACpE,OAAOC,SAAwBD,WAAxB,mBAAP;AACD;AAED;;;;AAGA,OAAM,SAAUG,YAAV,CAAuBH,cAAiC,EAAxD,EAA0D;EAC9D,OAAOC,SAAkBD,WAAlB,aAAP;AACD;AAED;;;;AAGA,OAAM,SAAUI,iBAAV,CAA4BJ,cAAiC,EAA7D,EAA+D;EACnE,OAAOC,SAAuBD,WAAvB,kBAAP;AACD;AAED;;;;AAGA,OAAM,SAAUK,SAAV,CAAoBL,cAAiC,EAArD,EAAuD;EAC3D,OAAOC,SAAeD,WAAf,UAAP;AACD;AAED;;;;AAGA,OAAM,SAAUM,QAAV,CAAmBN,cAAiC,EAApD,EAAsD;EAC1D,OAAOC,SAAcD,WAAd,SAAP;AACD;AAED;;;;AAGA,kBAAuBA,cAAiC,EAAxD,EAA0D;EACxD,OAAWO,IAAJ,IAAoD;IACzD,MAAMC,GAAG,GAAGR,WAAW,CAACS,SAAZ,IAAyB,CAArC;IACA,OAAOT,WAAW,CAACU,SAAZ,GACHC,wBAAYH,GAAZ,EAAiBR,WAAW,CAACU,SAA7B,EAAyCE,CAAD,IAAOC,UAAaD,CAAb,OAA/C,CADG,GAEHD,sBAAWC,CAAD,IAAOC,UAAaD,CAAb,OAAjB,EAAkCJ,GAAlC,CAFJ;EAGD,CALD;AAMD;AAED;;;;;AAGA,mBAAwBI,CAAxB,EAAiC;EAC/B,OAAWL,IAAJ,IAA4C;IACjD,OAAOI,oBAAoBG,GAAD,IAASA,GAAG,CAACC,IAAJ,CAAS,EAAT,CAA5B,yBAAYH,CAAZ,QAAP;EACD,CAFD;AAGD;AAED;;;;;AAGA,OAAM,SAAUI,aAAV,CAAwBhB,cAAiC,EAAzD,EAA2D;EAC/D,OAAOC,SAAmBD,WAAnB,cAAP;AACD","names":["string","stringN","alphaNumericChar","asciiChar","base64Char","char16","fullUnicodeChar","hexChar","unicodeChar","asciiString","constraints","string_1","alphaNumericString","base64String","fullUnicodeString","hexString","string16","char","min","minLength","maxLength","tsplus_module_1","n","stringN_1","arr","join","unicodeString"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/string.ts"],"sourcesContent":[null]}
|
@@ -5,14 +5,14 @@ import * as tsplus_module_3 from "@fncts/io/IO/api";
|
|
5
5
|
import * as tsplus_module_4 from "@fncts/io/Random/api";
|
6
6
|
export function struct(properties) {
|
7
7
|
const entries = Object.entries(properties);
|
8
|
-
return tsplus_module_2.foldLeft(
|
8
|
+
return tsplus_module_2.foldLeft(tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.zipWith(gen, (out, a) => ({ ...out,
|
9
9
|
[k]: a
|
10
|
-
})));
|
10
|
+
}))(b))(entries);
|
11
11
|
}
|
12
12
|
export function partial(properties) {
|
13
13
|
const entries = Object.entries(properties);
|
14
|
-
return tsplus_module_2.foldLeft(
|
14
|
+
return tsplus_module_2.foldLeft(tsplus_module_1.constant({}), (b, [k, gen]) => tsplus_module_1.unwrap(tsplus_module_3.ifIO(() => tsplus_module_3.succeed(() => tsplus_module_1.zipWith(gen, (r, a) => ({ ...r,
|
15
15
|
[k]: a
|
16
|
-
})), fileName_1 + ":
|
16
|
+
}))(b), fileName_1 + ":29:50"), () => tsplus_module_3.succeed(() => b, fileName_1 + ":29:108"), fileName_1 + ":29:39")(tsplus_module_4.nextBoolean)))(entries);
|
17
17
|
}
|
18
18
|
//# sourceMappingURL=struct.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"struct.mjs","mappings":";;;;;AAIA,OAAM,SAAUA,MAAV,CACJC,UADI,EACS;
|
1
|
+
{"version":3,"file":"struct.mjs","mappings":";;;;;AAIA,OAAM,SAAUA,MAAV,CACJC,UADI,EACS;EAOb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,yBAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,wBAAUG,GAAV,EAAe,CAACC,GAAD,EAAMC,CAAN,MAAa,EAAE,GAAGD,GAAL;IAAU,CAACF,CAAD,GAAKG;EAAf,CAAb,CAAf,IADK,UAAP;AAGD;AAED,OAAM,SAAUC,OAAV,CACJV,UADI,EACS;EAOb,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeD,UAAf,CAAhB;EACA,OAAOG,yBAAiBC,yBAAa,EAAb,CAAjB,EAAoD,CAACC,CAAD,EAAI,CAACC,CAAD,EAAIC,GAAJ,CAAJ,KACzDH,uBAAWO,2BAAwBA,8BAAWP,wBAAUG,GAAV,EAAe,CAACK,CAAD,EAAIH,CAAJ,MAAW,EAAE,GAAGG,CAAL;IAAQ,CAACN,CAAD,GAAKG;EAAb,CAAX,CAAf,IAAX,EAAuDI,qBAAvD,CAAxB,EAAgF,MAAEF,8BAAWN,CAAX,EAAYQ,sBAAZ,CAAlF,EAA+FA,qBAA/F,EAA+FC,2BAA/F,CAAX,CADK,UAAP;AAGD","names":["struct","properties","entries","Object","tsplus_module_2","tsplus_module_1","b","k","gen","out","a","partial","tsplus_module_3","r","fileName_1","tsplus_module_4"],"sourceRoot":"","sources":["../../../../_src/control/Gen/api/struct.ts"],"sourcesContent":[null]}
|
package/_mjs/control/Gen/api.mjs
CHANGED
@@ -13,14 +13,14 @@ import * as tsplus_module_11 from "@fncts/base/collection/immutable/Conc/api";
|
|
13
13
|
import * as tsplus_module_12 from "@fncts/base/data/number/instances";
|
14
14
|
import * as tsplus_module_13 from "@fncts/base/collection/immutable/SortedMap/api";
|
15
15
|
export const constant = constant_1;
|
16
|
-
export const
|
17
|
-
export const
|
16
|
+
export const flatMap = flatMap_1;
|
17
|
+
export const filter = filter_1;
|
18
18
|
export const flatten = flatten_1;
|
19
19
|
export const fromIO = fromIO_1;
|
20
20
|
export const fromIOSample = fromIOSample_1;
|
21
21
|
export const int = int_1;
|
22
|
-
export const
|
23
|
-
export const
|
22
|
+
export const map = map_1;
|
23
|
+
export const reshrink = reshrink_1;
|
24
24
|
export const small = small_1;
|
25
25
|
export const unfoldGenN = unfoldGenN_1;
|
26
26
|
import { IllegalArgumentError, NoSuchElementError } from "@fncts/base/data/exceptions";
|
@@ -33,26 +33,26 @@ import { Gen } from "./definition.mjs";
|
|
33
33
|
* @tsplus static fncts.test.GenOps anyBigInt
|
34
34
|
*/
|
35
35
|
|
36
|
-
export const anyBigInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.
|
36
|
+
export const anyBigInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map(tsplus_module_1.shrinkBigInt(BigInt(0)), fileName_1 + ":18:98")( /*#__PURE__*/tsplus_module_2.nextBigIntBetween( /*#__PURE__*/BigInt(-1) << /*#__PURE__*/BigInt(255), ( /*#__PURE__*/BigInt(1) << /*#__PURE__*/BigInt(255)) - /*#__PURE__*/BigInt(1), fileName_1 + ":18:27")));
|
37
37
|
/**
|
38
38
|
* @tsplus static fncts.test.GenOps anyDouble
|
39
39
|
*/
|
40
40
|
|
41
|
-
export const anyDouble = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.
|
41
|
+
export const anyDouble = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map(tsplus_module_1.shrinkFractional(0), fileName_1 + ":26:84")(tsplus_module_2.nextDouble));
|
42
42
|
/**
|
43
43
|
* @tsplus static fncts.test.GenOps anyInt
|
44
44
|
*/
|
45
45
|
|
46
|
-
export const anyInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.
|
46
|
+
export const anyInt = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map(tsplus_module_1.shrinkIntegral(0), fileName_1 + ":31:78")(tsplus_module_2.nextInt));
|
47
47
|
/**
|
48
48
|
* @tsplus static fncts.test.GenOps bounded
|
49
49
|
*/
|
50
50
|
|
51
51
|
export function bounded(min, max, f) {
|
52
|
-
return flatMap_1(int_1({
|
52
|
+
return flatMap_1(f)(int_1({
|
53
53
|
min,
|
54
54
|
max
|
55
|
-
})
|
55
|
+
}));
|
56
56
|
}
|
57
57
|
/**
|
58
58
|
* @tsplus static fncts.test.GenOps constant
|
@@ -62,16 +62,18 @@ function constant_1(a) {
|
|
62
62
|
return new Gen(tsplus_module_5.succeedNow(tsplus_module_4.just(tsplus_module_1.noShrink(a)), fileName_1 + ":44:35"));
|
63
63
|
}
|
64
64
|
/**
|
65
|
-
* @tsplus
|
65
|
+
* @tsplus pipeable fncts.test.Gen flatMap
|
66
66
|
*/
|
67
67
|
|
68
68
|
|
69
|
-
function flatMap_1(
|
70
|
-
return
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
69
|
+
function flatMap_1(f) {
|
70
|
+
return ma => {
|
71
|
+
return new Gen(tsplus_module_1.flatMapStream(ma.sample, sample => {
|
72
|
+
const values = f(sample.value).sample;
|
73
|
+
const shrinks = flatMap_1(a => f(a))(new Gen(sample.shrink)).sample;
|
74
|
+
return tsplus_module_5.map(maybeSample => tsplus_module_6.map(sample => tsplus_module_1.flatMap(b => new Sample(b, shrinks))(sample))(maybeSample), fileName_1 + ":56:26")(values);
|
75
|
+
}));
|
76
|
+
};
|
75
77
|
}
|
76
78
|
/**
|
77
79
|
* @tsplus static fncts.test.GenOps defer
|
@@ -79,7 +81,7 @@ function flatMap_1(ma, f) {
|
|
79
81
|
|
80
82
|
|
81
83
|
export function defer(gen) {
|
82
|
-
return flatten_1(fromIO_1(tsplus_module_3.succeed(gen, fileName_1 + ":
|
84
|
+
return flatten_1(fromIO_1(tsplus_module_3.succeed(gen, fileName_1 + ":66:31")));
|
83
85
|
}
|
84
86
|
/**
|
85
87
|
* @tsplus static fncts.test.GenOps empty
|
@@ -88,23 +90,27 @@ export function defer(gen) {
|
|
88
90
|
const empty_1 = /*#__PURE__*/new Gen(tsplus_module_5.empty);
|
89
91
|
export const empty = empty_1;
|
90
92
|
|
91
|
-
function filter_1(
|
92
|
-
return
|
93
|
+
function filter_1(p) {
|
94
|
+
return fa => {
|
95
|
+
return flatMap_1(a => p(a) ? constant_1(a) : empty_1)(fa);
|
96
|
+
};
|
93
97
|
}
|
94
98
|
/**
|
95
|
-
* @tsplus
|
99
|
+
* @tsplus pipeable fncts.test.Gen filterNot
|
96
100
|
*/
|
97
101
|
|
98
102
|
|
99
|
-
export function
|
100
|
-
return
|
103
|
+
export function filterNot(p) {
|
104
|
+
return fa => {
|
105
|
+
return filter_1(a => !p(a))(fa);
|
106
|
+
};
|
101
107
|
}
|
102
108
|
/**
|
103
109
|
* @tsplus getter fncts.test.Gen flatten
|
104
110
|
*/
|
105
111
|
|
106
112
|
function flatten_1(mma) {
|
107
|
-
return flatMap_1(
|
113
|
+
return flatMap_1(identity)(mma);
|
108
114
|
}
|
109
115
|
/**
|
110
116
|
* @tsplus static fncts.test.GenOps fromIO
|
@@ -112,7 +118,7 @@ function flatten_1(mma) {
|
|
112
118
|
|
113
119
|
|
114
120
|
function fromIO_1(effect) {
|
115
|
-
return fromIOSample_1(tsplus_module_3.
|
121
|
+
return fromIOSample_1(tsplus_module_3.map(tsplus_module_1.noShrink, fileName_1 + ":105:37")(effect));
|
116
122
|
}
|
117
123
|
/**
|
118
124
|
* @tsplus static fncts.test.GenOps fromIOSample
|
@@ -120,7 +126,7 @@ function fromIO_1(effect) {
|
|
120
126
|
|
121
127
|
|
122
128
|
function fromIOSample_1(effect) {
|
123
|
-
return new Gen(tsplus_module_5.fromIO(tsplus_module_3.
|
129
|
+
return new Gen(tsplus_module_5.fromIO(tsplus_module_3.map(tsplus_module_4.just, fileName_1 + ":112:42")(effect), fileName_1 + ":112:31"));
|
124
130
|
}
|
125
131
|
/**
|
126
132
|
* @tsplus static fncts.test.GenOps int
|
@@ -133,33 +139,37 @@ function int_1(constraints = {}) {
|
|
133
139
|
const max = constraints.max ?? 0x7fffffff;
|
134
140
|
|
135
141
|
if (min > max || min < Number.MIN_SAFE_INTEGER || max > Number.MAX_SAFE_INTEGER) {
|
136
|
-
return tsplus_module_3.haltNow(new IllegalArgumentError("invalid bounds", "Gen.int"), fileName_1 + ":
|
142
|
+
return tsplus_module_3.haltNow(new IllegalArgumentError("invalid bounds", "Gen.int"), fileName_1 + ":124:26");
|
137
143
|
} else {
|
138
|
-
return tsplus_module_3.
|
144
|
+
return tsplus_module_3.map(tsplus_module_1.shrinkIntegral(min), fileName_1 + ":126:51")(tsplus_module_2.nextIntBetween(min, max, fileName_1 + ":126:37"));
|
139
145
|
}
|
140
|
-
}, fileName_1 + ":
|
146
|
+
}, fileName_1 + ":120:13"));
|
141
147
|
}
|
142
148
|
/**
|
143
|
-
* @tsplus
|
149
|
+
* @tsplus pipeable fncts.test.Gen map
|
144
150
|
*/
|
145
151
|
|
146
152
|
|
147
|
-
function map_1(
|
148
|
-
return
|
153
|
+
function map_1(f) {
|
154
|
+
return self => {
|
155
|
+
return new Gen(tsplus_module_5.map(maybeSample => tsplus_module_6.map(sample => tsplus_module_1.map(f)(sample))(maybeSample), fileName_1 + ":137:35")(self.sample));
|
156
|
+
};
|
149
157
|
}
|
150
158
|
/**
|
151
|
-
* @tsplus
|
159
|
+
* @tsplus pipeable fncts.test.Gen mapIO
|
152
160
|
*/
|
153
161
|
|
154
162
|
|
155
|
-
export function
|
156
|
-
return
|
163
|
+
export function mapIO(f) {
|
164
|
+
return self => {
|
165
|
+
return new Gen(tsplus_module_5.mapIO(maybeSample => tsplus_module_7.match(() => tsplus_module_3.succeedNow(tsplus_module_4.nothing(), fileName_1 + ":149:30"), sample => tsplus_module_3.map(tsplus_module_4.just, fileName_1 + ":150:44")(tsplus_module_1.foreach(f)(sample)))(maybeSample), fileName_1 + ":147:24")(self.sample));
|
166
|
+
};
|
157
167
|
}
|
158
168
|
/**
|
159
169
|
* @tsplus static fncts.test.GenOps exponential
|
160
170
|
*/
|
161
171
|
|
162
|
-
const exponential_1 = /*#__PURE__*/map_1(
|
172
|
+
const exponential_1 = /*#__PURE__*/map_1(n => -Math.log(1 - n))(uniform_1);
|
163
173
|
export const exponential = exponential_1;
|
164
174
|
/**
|
165
175
|
* @tsplus static fncts.test.GenOps size
|
@@ -172,7 +182,7 @@ export const size = size_1;
|
|
172
182
|
*/
|
173
183
|
|
174
184
|
export function medium(f, min = 0) {
|
175
|
-
return flatMap_1(reshrink_1(flatMap_1(
|
185
|
+
return flatMap_1(f)(reshrink_1(tsplus_module_1.shrinkIntegral(min))(flatMap_1(max => map_1(n => clamp(Math.round(n * max / 10.0), min, max))(exponential_1))(size_1)));
|
176
186
|
}
|
177
187
|
/**
|
178
188
|
* @tsplus static fncts.test.GenOps memo
|
@@ -209,17 +219,19 @@ export function nat(max = 0x7fffffff) {
|
|
209
219
|
*/
|
210
220
|
|
211
221
|
export function oneOf(...gens) {
|
212
|
-
if (tsplus_module_9.isEmpty(gens)) return empty_1;else return flatMap_1(int_1({
|
222
|
+
if (tsplus_module_9.isEmpty(gens)) return empty_1;else return flatMap_1(i => gens[i])(int_1({
|
213
223
|
min: 0,
|
214
224
|
max: gens.length - 1
|
215
|
-
})
|
225
|
+
}));
|
216
226
|
}
|
217
227
|
/**
|
218
|
-
* @tsplus
|
228
|
+
* @tsplus pipeable fncts.test.Gen reshrink
|
219
229
|
*/
|
220
230
|
|
221
|
-
function reshrink_1(
|
222
|
-
return
|
231
|
+
function reshrink_1(f) {
|
232
|
+
return gen => {
|
233
|
+
return new Gen(tsplus_module_5.map(maybeSample => tsplus_module_6.map(sample => f(sample.value))(maybeSample), fileName_1 + ":218:69")(gen.sample));
|
234
|
+
};
|
223
235
|
}
|
224
236
|
/**
|
225
237
|
* @tsplus static fncts.test.GenOps sized
|
@@ -227,14 +239,14 @@ function reshrink_1(gen, f) {
|
|
227
239
|
|
228
240
|
|
229
241
|
export function sized(f) {
|
230
|
-
return flatMap_1(
|
242
|
+
return flatMap_1(f)(size_1);
|
231
243
|
}
|
232
244
|
/**
|
233
245
|
* @tsplus static fncts.test.GenOps small
|
234
246
|
*/
|
235
247
|
|
236
248
|
function small_1(f, min = 0) {
|
237
|
-
return flatMap_1(reshrink_1(flatMap_1(
|
249
|
+
return flatMap_1(f)(reshrink_1(tsplus_module_1.shrinkIntegral(min))(flatMap_1(max => map_1(n => clamp(Math.round(n * max / 25), min, max))(exponential_1))(size_1)));
|
238
250
|
}
|
239
251
|
/**
|
240
252
|
* @tsplus static fncts.test.GenOps unfoldGen
|
@@ -249,14 +261,14 @@ export function unfoldGen(s, f) {
|
|
249
261
|
*/
|
250
262
|
|
251
263
|
function unfoldGenN_1(n, s, f) {
|
252
|
-
if (n <= 0) return constant_1(tsplus_module_10.make());else return flatMap_1(
|
264
|
+
if (n <= 0) return constant_1(tsplus_module_10.make());else return flatMap_1(([s, a]) => map_1(as => tsplus_module_11.append(a)(as))(unfoldGenN_1(n - 1, s, f)))(f(s));
|
253
265
|
}
|
254
266
|
/**
|
255
267
|
* @tsplus static fncts.test.GenOps uniform
|
256
268
|
*/
|
257
269
|
|
258
270
|
|
259
|
-
const uniform_1 = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.
|
271
|
+
const uniform_1 = /*#__PURE__*/fromIOSample_1( /*#__PURE__*/tsplus_module_3.map(tsplus_module_1.shrinkFractional(0.0), fileName_1 + ":260:82")(tsplus_module_2.nextDouble));
|
260
272
|
export const uniform = uniform_1;
|
261
273
|
/**
|
262
274
|
* @tsplus static fncts.test.GenOps unwrap
|
@@ -270,19 +282,21 @@ export function unwrap(effect) {
|
|
270
282
|
*/
|
271
283
|
|
272
284
|
export function weighted(...gens) {
|
273
|
-
const sum = tsplus_module_9.foldLeft(
|
274
|
-
const [map] = tsplus_module_9.foldLeft(
|
275
|
-
if ((acc + d) / sum > acc / sum) return tuple(tsplus_module_13.
|
276
|
-
});
|
277
|
-
return flatMap_1(
|
285
|
+
const sum = tsplus_module_9.foldLeft(0, (b, a) => b + a)(gens.map(([, weight]) => weight));
|
286
|
+
const [map] = tsplus_module_9.foldLeft(tuple(tsplus_module_13.make(tsplus_module_12.Ord), 0), ([map, acc], [gen, d]) => {
|
287
|
+
if ((acc + d) / sum > acc / sum) return tuple(tsplus_module_13.insert((acc + d) / sum, gen)(map), acc + d);else return tuple(map, acc);
|
288
|
+
})(gens);
|
289
|
+
return flatMap_1(n => tsplus_module_6.getOrElse(() => {
|
278
290
|
throw new NoSuchElementError("Gen.weighted");
|
279
|
-
}));
|
291
|
+
})(tsplus_module_13.getGte(n)(map)))(uniform_1);
|
280
292
|
}
|
281
293
|
/**
|
282
|
-
* @tsplus
|
294
|
+
* @tsplus pipeable fncts.test.Gen zipWith
|
283
295
|
*/
|
284
296
|
|
285
|
-
export function
|
286
|
-
return
|
297
|
+
export function zipWith(that, f) {
|
298
|
+
return self => {
|
299
|
+
return flatMap_1(a => map_1(b => f(a, b))(that))(self);
|
300
|
+
};
|
287
301
|
}
|
288
302
|
//# sourceMappingURL=api.mjs.map
|