@fncts/test 0.0.19 → 0.0.21
Sign up to get free protection for your applications and to get access to all the features.
- 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
|