@fncts/test 0.0.12 → 0.0.13

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.
Files changed (127) hide show
  1. package/TestSpec.d.ts +1 -1
  2. package/_cjs/control/Annotations/api.cjs +1 -1
  3. package/_cjs/control/Annotations/api.cjs.map +1 -1
  4. package/_cjs/control/Gen/api/char.cjs.map +1 -1
  5. package/_cjs/control/Gen/api.cjs +3 -3
  6. package/_cjs/control/Gen/api.cjs.map +1 -1
  7. package/_cjs/control/Gen/definition.cjs.map +1 -1
  8. package/_cjs/control/Live/definition.cjs +1 -1
  9. package/_cjs/control/Live/definition.cjs.map +1 -1
  10. package/_cjs/control/RunnableSpec.cjs +9 -11
  11. package/_cjs/control/RunnableSpec.cjs.map +1 -1
  12. package/_cjs/control/Sized/api.cjs +1 -1
  13. package/_cjs/control/Sized/api.cjs.map +1 -1
  14. package/_cjs/control/Spec/api.cjs +1 -1
  15. package/_cjs/control/Spec/api.cjs.map +1 -1
  16. package/_cjs/control/Spec/definition.cjs.map +1 -1
  17. package/_cjs/control/TestAspect/api.cjs +3 -3
  18. package/_cjs/control/TestAspect/api.cjs.map +1 -1
  19. package/_cjs/control/TestClock/api.cjs +14 -22
  20. package/_cjs/control/TestClock/api.cjs.map +1 -1
  21. package/_cjs/control/TestConsole/api.cjs +12 -15
  22. package/_cjs/control/TestConsole/api.cjs.map +1 -1
  23. package/_cjs/control/TestEnvironment.cjs.map +1 -1
  24. package/_cjs/control/TestExecutor.cjs +6 -6
  25. package/_cjs/control/TestExecutor.cjs.map +1 -1
  26. package/_cjs/control/TestLogger.cjs.map +1 -1
  27. package/_cjs/control/TestRandom/api.cjs +10 -18
  28. package/_cjs/control/TestRandom/api.cjs.map +1 -1
  29. package/_cjs/control/TestRunner.cjs.map +1 -1
  30. package/_mjs/control/Annotations/api.mjs +1 -1
  31. package/_mjs/control/Annotations/api.mjs.map +1 -1
  32. package/_mjs/control/Gen/api/char.mjs.map +1 -1
  33. package/_mjs/control/Gen/api.mjs +3 -3
  34. package/_mjs/control/Gen/api.mjs.map +1 -1
  35. package/_mjs/control/Gen/definition.mjs.map +1 -1
  36. package/_mjs/control/Live/definition.mjs +1 -1
  37. package/_mjs/control/Live/definition.mjs.map +1 -1
  38. package/_mjs/control/RunnableSpec.mjs +9 -11
  39. package/_mjs/control/RunnableSpec.mjs.map +1 -1
  40. package/_mjs/control/Sized/api.mjs +1 -1
  41. package/_mjs/control/Sized/api.mjs.map +1 -1
  42. package/_mjs/control/Spec/api.mjs +1 -1
  43. package/_mjs/control/Spec/api.mjs.map +1 -1
  44. package/_mjs/control/Spec/definition.mjs.map +1 -1
  45. package/_mjs/control/TestAspect/api.mjs +3 -3
  46. package/_mjs/control/TestAspect/api.mjs.map +1 -1
  47. package/_mjs/control/TestClock/api.mjs +13 -21
  48. package/_mjs/control/TestClock/api.mjs.map +1 -1
  49. package/_mjs/control/TestConsole/api.mjs +10 -13
  50. package/_mjs/control/TestConsole/api.mjs.map +1 -1
  51. package/_mjs/control/TestEnvironment.mjs.map +1 -1
  52. package/_mjs/control/TestExecutor.mjs +6 -6
  53. package/_mjs/control/TestExecutor.mjs.map +1 -1
  54. package/_mjs/control/TestLogger.mjs.map +1 -1
  55. package/_mjs/control/TestRandom/api.mjs +10 -18
  56. package/_mjs/control/TestRandom/api.mjs.map +1 -1
  57. package/_mjs/control/TestRunner.mjs.map +1 -1
  58. package/_src/api.ts +8 -8
  59. package/_src/control/AbstractRunnableSpec.ts +2 -2
  60. package/_src/control/Annotations/api.ts +4 -4
  61. package/_src/control/AssertionIO/definition.ts +1 -1
  62. package/_src/control/DefaultTestReporter/render.ts +1 -1
  63. package/_src/control/FreeBooleanAlgebraIO/api.ts +4 -4
  64. package/_src/control/Gen/api/array.ts +2 -2
  65. package/_src/control/Gen/api/char.ts +10 -10
  66. package/_src/control/Gen/api/conc.ts +2 -2
  67. package/_src/control/Gen/api/double.ts +2 -2
  68. package/_src/control/Gen/api/float.ts +1 -1
  69. package/_src/control/Gen/api/string.ts +8 -8
  70. package/_src/control/Gen/api.ts +20 -20
  71. package/_src/control/Gen/definition.ts +2 -0
  72. package/_src/control/Live/definition.ts +7 -7
  73. package/_src/control/RunnableSpec.ts +4 -4
  74. package/_src/control/Sample/api.ts +12 -12
  75. package/_src/control/Sized/api.ts +2 -2
  76. package/_src/control/Sized/live.ts +1 -1
  77. package/_src/control/Spec/api.ts +18 -21
  78. package/_src/control/Spec/definition.ts +3 -3
  79. package/_src/control/TestAspect/api.ts +12 -14
  80. package/_src/control/TestAspect/definition.ts +1 -1
  81. package/_src/control/TestClock/api.ts +10 -10
  82. package/_src/control/TestClock/definition.ts +3 -3
  83. package/_src/control/TestConsole/api.ts +5 -5
  84. package/_src/control/TestEnvironment.ts +11 -10
  85. package/_src/control/TestExecutor.ts +4 -6
  86. package/_src/control/TestLogger.ts +2 -2
  87. package/_src/control/TestRandom/api.ts +10 -10
  88. package/_src/control/TestRunner.ts +3 -3
  89. package/_src/data/TestConfig.ts +1 -1
  90. package/_src/util/math.ts +3 -3
  91. package/api.d.ts +5 -6
  92. package/control/AbstractRunnableSpec.d.ts +2 -3
  93. package/control/Annotations/api.d.ts +4 -5
  94. package/control/Annotations/live.d.ts +3 -3
  95. package/control/AssertionIO/definition.d.ts +1 -1
  96. package/control/DefaultRunnableSpec.d.ts +2 -2
  97. package/control/DefaultTestReporter/render.d.ts +1 -2
  98. package/control/FreeBooleanAlgebraIO/api.d.ts +4 -4
  99. package/control/Gen/api/array.d.ts +2 -3
  100. package/control/Gen/api/char.d.ts +9 -9
  101. package/control/Gen/api/conc.d.ts +2 -3
  102. package/control/Gen/api/double.d.ts +2 -2
  103. package/control/Gen/api/float.d.ts +1 -1
  104. package/control/Gen/api/string.d.ts +8 -9
  105. package/control/Gen/api.d.ts +19 -20
  106. package/control/Gen/definition.d.ts +2 -0
  107. package/control/Live/definition.d.ts +4 -6
  108. package/control/RunnableSpec.d.ts +2 -3
  109. package/control/Sample/api.d.ts +10 -10
  110. package/control/Sized/api.d.ts +2 -3
  111. package/control/Sized/live.d.ts +1 -2
  112. package/control/Spec/api.d.ts +12 -14
  113. package/control/Spec/definition.d.ts +4 -5
  114. package/control/TestAspect/api.d.ts +6 -7
  115. package/control/TestAspect/definition.d.ts +1 -1
  116. package/control/TestClock/api.d.ts +3 -4
  117. package/control/TestClock/definition.d.ts +3 -3
  118. package/control/TestConsole/api.d.ts +2 -3
  119. package/control/TestConsole/definition.d.ts +5 -5
  120. package/control/TestEnvironment.d.ts +2 -3
  121. package/control/TestExecutor.d.ts +2 -3
  122. package/control/TestLogger.d.ts +2 -3
  123. package/control/TestRandom/api.d.ts +10 -10
  124. package/control/TestRunner.d.ts +3 -4
  125. package/data/TestConfig.d.ts +5 -6
  126. package/package.json +4 -4
  127. package/util/math.d.ts +4 -4
@@ -2,7 +2,6 @@ import { Lazy } from "@fncts/base/data/function/definition";
2
2
  import { Refinement } from "@fncts/base/data/Refinement/definition";
3
3
  import { Predicate } from "@fncts/base/data/Predicate/definition";
4
4
  import { IO, URIO } from "@fncts/io/IO";
5
- import { Has } from "@fncts/base/typeclass";
6
5
  import { Stream } from "@fncts/io/Stream";
7
6
  import { Maybe } from "@fncts/base/data/Maybe";
8
7
  import { Conc } from "@fncts/base/collection/immutable/Conc";
@@ -15,17 +14,17 @@ import { Gen } from "./definition.js";
15
14
  * @tsplus static fncts.test.GenOps anyBigInt
16
15
  * @tsplus location "@fncts/test/control/Gen/api"
17
16
  */
18
- export declare const anyBigInt: Gen<unknown, bigint>;
17
+ export declare const anyBigInt: Gen<never, bigint>;
19
18
  /**
20
19
  * @tsplus static fncts.test.GenOps anyDouble
21
20
  * @tsplus location "@fncts/test/control/Gen/api"
22
21
  */
23
- export declare const anyDouble: Gen<unknown, number>;
22
+ export declare const anyDouble: Gen<never, number>;
24
23
  /**
25
24
  * @tsplus static fncts.test.GenOps anyInt
26
25
  * @tsplus location "@fncts/test/control/Gen/api"
27
26
  */
28
- export declare const anyInt: Gen<unknown, number>;
27
+ export declare const anyInt: Gen<never, number>;
29
28
  /**
30
29
  * @tsplus static fncts.test.GenOps bounded
31
30
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -35,12 +34,12 @@ export declare function bounded<R, A>(min: number, max: number, f: (n: number) =
35
34
  * @tsplus static fncts.test.GenOps constant
36
35
  * @tsplus location "@fncts/test/control/Gen/api"
37
36
  */
38
- export declare function constant<A>(a: A): Gen<unknown, A>;
37
+ export declare function constant<A>(a: A): Gen<never, A>;
39
38
  /**
40
39
  * @tsplus fluent fncts.test.Gen flatMap
41
40
  * @tsplus location "@fncts/test/control/Gen/api"
42
41
  */
43
- export declare function flatMap_<R, A, R1, B>(ma: Gen<R, A>, f: (a: A) => Gen<R1, B>): Gen<R & R1, B>;
42
+ export declare function flatMap_<R, A, R1, B>(ma: Gen<R, A>, f: (a: A) => Gen<R1, B>): Gen<R | R1, B>;
44
43
  /**
45
44
  * @tsplus static fncts.test.GenOps defer
46
45
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -50,7 +49,7 @@ export declare function defer<R, A>(gen: Lazy<Gen<R, A>>): Gen<R, A>;
50
49
  * @tsplus static fncts.test.GenOps empty
51
50
  * @tsplus location "@fncts/test/control/Gen/api"
52
51
  */
53
- export declare const empty: Gen<unknown, never>;
52
+ export declare const empty: Gen<never, never>;
54
53
  /**
55
54
  * @tsplus fluent fncts.test.Gen filter
56
55
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -66,7 +65,7 @@ export declare function filterNot_<R, A>(fa: Gen<R, A>, p: Predicate<A>): Gen<R,
66
65
  * @tsplus getter fncts.test.Gen flatten
67
66
  * @tsplus location "@fncts/test/control/Gen/api"
68
67
  */
69
- export declare function flatten<R, R1, A>(mma: Gen<R, Gen<R1, A>>): Gen<R & R1, A>;
68
+ export declare function flatten<R, R1, A>(mma: Gen<R, Gen<R1, A>>): Gen<R | R1, A>;
70
69
  /**
71
70
  * @tsplus static fncts.test.GenOps fromIO
72
71
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -81,7 +80,7 @@ export declare function fromIOSample<R, A>(effect: IO<R, never, Sample<R, A>>):
81
80
  * @tsplus static fncts.test.GenOps int
82
81
  * @tsplus location "@fncts/test/control/Gen/api"
83
82
  */
84
- export declare function int(constraints?: NumberConstraints): Gen<unknown, number>;
83
+ export declare function int(constraints?: NumberConstraints): Gen<never, number>;
85
84
  /**
86
85
  * @tsplus fluent fncts.test.Gen map
87
86
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -91,22 +90,22 @@ export declare function map_<R, A, B>(self: Gen<R, A>, f: (a: A) => B): Gen<R, B
91
90
  * @tsplus fluent fncts.test.Gen mapIO
92
91
  * @tsplus location "@fncts/test/control/Gen/api"
93
92
  */
94
- export declare function mapIO_<R, A, R1, B>(self: Gen<R, A>, f: (a: A) => IO<R1, never, B>): Gen<R & R1, B>;
93
+ export declare function mapIO_<R, A, R1, B>(self: Gen<R, A>, f: (a: A) => IO<R1, never, B>): Gen<R | R1, B>;
95
94
  /**
96
95
  * @tsplus static fncts.test.GenOps exponential
97
96
  * @tsplus location "@fncts/test/control/Gen/api"
98
97
  */
99
- export declare const exponential: Gen<unknown, number>;
98
+ export declare const exponential: Gen<never, number>;
100
99
  /**
101
100
  * @tsplus static fncts.test.GenOps size
102
101
  * @tsplus location "@fncts/test/control/Gen/api"
103
102
  */
104
- export declare const size: Gen<Has<Sized>, number>;
103
+ export declare const size: Gen<Sized, number>;
105
104
  /**
106
105
  * @tsplus static fncts.test.GenOps medium
107
106
  * @tsplus location "@fncts/test/control/Gen/api"
108
107
  */
109
- export declare function medium<R, A>(f: (n: number) => Gen<R, A>, min?: number): Gen<R & Has<Sized>, A>;
108
+ export declare function medium<R, A>(f: (n: number) => Gen<R, A>, min?: number): Gen<R | Sized, A>;
110
109
  /**
111
110
  * @tsplus static fncts.test.GenOps memo
112
111
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -126,22 +125,22 @@ export declare function oneOf<A extends ReadonlyArray<Gen<any, any>>>(...gens: A
126
125
  * @tsplus fluent fncts.test.Gen reshrink
127
126
  * @tsplus location "@fncts/test/control/Gen/api"
128
127
  */
129
- export declare function reshrink_<R, A, R1, B>(gen: Gen<R, A>, f: (a: A) => Sample<R1, B>): Gen<R & R1, B>;
128
+ export declare function reshrink_<R, A, R1, B>(gen: Gen<R, A>, f: (a: A) => Sample<R1, B>): Gen<R | R1, B>;
130
129
  /**
131
130
  * @tsplus static fncts.test.GenOps sized
132
131
  * @tsplus location "@fncts/test/control/Gen/api"
133
132
  */
134
- export declare function sized<R, A>(f: (size: number) => Gen<R, A>): Gen<R & Has<Sized>, A>;
133
+ export declare function sized<R, A>(f: (size: number) => Gen<R, A>): Gen<R | Sized, A>;
135
134
  /**
136
135
  * @tsplus static fncts.test.GenOps small
137
136
  * @tsplus location "@fncts/test/control/Gen/api"
138
137
  */
139
- export declare function small<R, A>(f: (size: number) => Gen<R, A>, min?: number): Gen<R & Has<Sized>, A>;
138
+ export declare function small<R, A>(f: (size: number) => Gen<R, A>, min?: number): Gen<R | Sized, A>;
140
139
  /**
141
140
  * @tsplus static fncts.test.GenOps unfoldGen
142
141
  * @tsplus location "@fncts/test/control/Gen/api"
143
142
  */
144
- export declare function unfoldGen<S, R, A>(s: S, f: (s: S) => Gen<R, readonly [S, A]>): Gen<R & Has<Sized>, Conc<A>>;
143
+ export declare function unfoldGen<S, R, A>(s: S, f: (s: S) => Gen<R, readonly [S, A]>): Gen<R | Sized, Conc<A>>;
145
144
  /**
146
145
  * @tsplus static fncts.test.GenOps unfoldGenN
147
146
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -151,12 +150,12 @@ export declare function unfoldGenN<S, R, A>(n: number, s: S, f: (s: S) => Gen<R,
151
150
  * @tsplus static fncts.test.GenOps uniform
152
151
  * @tsplus location "@fncts/test/control/Gen/api"
153
152
  */
154
- export declare const uniform: Gen<unknown, number>;
153
+ export declare const uniform: Gen<never, number>;
155
154
  /**
156
155
  * @tsplus static fncts.test.GenOps unwrap
157
156
  * @tsplus location "@fncts/test/control/Gen/api"
158
157
  */
159
- export declare function unwrap<R, R1, A>(effect: URIO<R, Gen<R1, A>>): Gen<R & R1, A>;
158
+ export declare function unwrap<R, R1, A>(effect: URIO<R, Gen<R1, A>>): Gen<R | R1, A>;
160
159
  /**
161
160
  * @tsplus static fncts.test.GenOps weighted
162
161
  * @tsplus location "@fncts/test/control/Gen/api"
@@ -166,4 +165,4 @@ export declare function weighted<R, A>(...gens: ReadonlyArray<readonly [Gen<R, A
166
165
  * @tsplus fluent fncts.test.Gen zipWith
167
166
  * @tsplus location "@fncts/test/control/Gen/api"
168
167
  */
169
- export declare function zipWith_<R, A, R1, B, C>(self: Gen<R, A>, that: Gen<R1, B>, f: (a: A, b: B) => C): Gen<R & R1, C>;
168
+ export declare function zipWith_<R, A, R1, B, C>(self: Gen<R, A>, that: Gen<R1, B>, f: (a: A, b: B) => C): Gen<R | R1, C>;
@@ -7,5 +7,7 @@ import type { Sample } from "../Sample.js";
7
7
  */
8
8
  export declare class Gen<R, A> {
9
9
  readonly sample: Stream<R, never, Maybe<Sample<R, A>>>;
10
+ _R: () => R;
11
+ _A: () => A;
10
12
  constructor(sample: Stream<R, never, Maybe<Sample<R, A>>>);
11
13
  }
@@ -1,7 +1,5 @@
1
1
  import { IO } from "@fncts/io/IO";
2
2
  import { Layer } from "@fncts/io/Layer";
3
- import { Has } from "@fncts/base/typeclass";
4
- import type { Erase } from "@fncts/typelevel/Intersection";
5
3
  import { IOEnv } from "@fncts/io/IOEnv";
6
4
  /**
7
5
  * @tsplus static fncts.test.LiveOps Tag
@@ -13,12 +11,12 @@ export declare const LiveTag: import("@fncts/base/data/Tag").Tag<Live>;
13
11
  */
14
12
  export declare abstract class Live {
15
13
  abstract provide<R, E, A>(io: IO<R, E, A>): IO<R, E, A>;
16
- static Default: Layer<IOEnv, never, Has<Live>>;
17
- static Live<R extends Has<Live>, E, A>(io: IO<R, E, A>): IO<R & Has<Live>, E, A>;
14
+ static Default: Layer<IOEnv, never, Live>;
15
+ static Live<R extends Live, E, A>(io: IO<R, E, A>): IO<R | Live, E, A>;
18
16
  }
19
17
  /**
20
18
  * @tsplus static fncts.test.LiveOps withLive
21
19
  * @tsplus location "@fncts/test/control/Live/definition"
22
20
  */
23
- export declare function withLive_<R, E, A, E1, B>(io: IO<R, E, A>, f: (_: IO<unknown, E, A>) => IO<IOEnv, E1, B>): IO<Erase<R, Has<Live>>, E | E1, B>;
24
- export declare function withLive<R extends Has<Live>, E, A>(io: IO<R, E, A>): <E1, B>(f: (_: IO<R, E, A>) => import("@fncts/io/IO").IO<R, E1, B>) => import("@fncts/io/IO").IO<R & import("@fncts/base/typeclass").Has<Live>, E1, B>;
21
+ export declare function withLive_<R, E, A, E1, B>(io: IO<R, E, A>, f: (_: IO<never, E, A>) => IO<IOEnv, E1, B>): IO<Exclude<R, Live>, E | E1, B>;
22
+ export declare function withLive<R extends Live, E, A>(io: IO<R, E, A>): <E1, B>(f: (_: IO<R, E, A>) => import("@fncts/io/IO").IO<R, E1, B>) => import("@fncts/io/IO").IO<Live | R, E1, B>;
@@ -1,12 +1,11 @@
1
- import { URIO, IO } from "@fncts/io/IO";
2
- import { Has } from "@fncts/base/typeclass";
1
+ import { URIO } from "@fncts/io/IO";
3
2
  import type { Spec } from "@fncts/test/control/Spec";
4
3
  import type { TestArgs } from "@fncts/test/data/TestArgs";
5
4
  import { AbstractRunnableSpec } from "@fncts/test/control/AbstractRunnableSpec";
6
5
  import { TestLogger } from "@fncts/test/control/TestLogger";
7
6
  export declare abstract class RunnableSpec<R, E> extends AbstractRunnableSpec<R, E> {
8
7
  readonly _tag = "RunnableSpec";
9
- run(spec: Spec<R, E>): URIO<Has<TestLogger>, number>;
8
+ run(spec: Spec<R, E>): URIO<TestLogger, number>;
10
9
  main(_args?: TestArgs): void;
11
10
  }
12
11
  export declare function isRunnableSpec(u: unknown): u is RunnableSpec<unknown, unknown>;
@@ -11,7 +11,7 @@ import { Sample } from "./definition.js";
11
11
  * @tsplus fluent fncts.test.Sample flatMap
12
12
  * @tsplus location "@fncts/test/control/Sample/api"
13
13
  */
14
- export declare function flatMap_<R, A, R1, B>(ma: Sample<R, A>, f: (a: A) => Sample<R1, B>): Sample<R & R1, B>;
14
+ export declare function flatMap_<R, A, R1, B>(ma: Sample<R, A>, f: (a: A) => Sample<R1, B>): Sample<R | R1, B>;
15
15
  /**
16
16
  * @tsplus fluent fncts.test.Sample filter
17
17
  * @tsplus location "@fncts/test/control/Sample/api"
@@ -21,7 +21,7 @@ export declare function filter_<R, A>(ma: Sample<R, A>, f: Predicate<A>): Stream
21
21
  * @tsplus fluent fncts.test.Sample foreach
22
22
  * @tsplus location "@fncts/test/control/Sample/api"
23
23
  */
24
- export declare function foreach_<R, A, R1, B>(ma: Sample<R, A>, f: (a: A) => IO<R1, never, B>): IO<R & R1, never, Sample<R & R1, B>>;
24
+ export declare function foreach_<R, A, R1, B>(ma: Sample<R, A>, f: (a: A) => IO<R1, never, B>): IO<R | R1, never, Sample<R | R1, B>>;
25
25
  /**
26
26
  * @tsplus fluent fncts.test.Sample map
27
27
  * @tsplus location "@fncts/test/control/Sample/api"
@@ -41,39 +41,39 @@ export declare function unfold<R, A, S>(s: S, f: (s: S) => readonly [A, Stream<R
41
41
  * @tsplus fluent fncts.test.Sample zip
42
42
  * @tsplus location "@fncts/test/control/Sample/api"
43
43
  */
44
- export declare function zip<R, A, R1, B>(ma: Sample<R, A>, mb: Sample<R1, B>): Sample<R & R1, readonly [A, B]>;
44
+ export declare function zip<R, A, R1, B>(ma: Sample<R, A>, mb: Sample<R1, B>): Sample<R | R1, readonly [A, B]>;
45
45
  /**
46
46
  * @tsplus fluent fncts.test.Sample zipWith
47
47
  * @tsplus location "@fncts/test/control/Sample/api"
48
48
  */
49
- export declare function zipWith_<R, A, R1, B, C>(ma: Sample<R, A>, mb: Sample<R1, B>, f: (a: A, b: B) => C): Sample<R & R1, C>;
49
+ export declare function zipWith_<R, A, R1, B, C>(ma: Sample<R, A>, mb: Sample<R1, B>, f: (a: A, b: B) => C): Sample<R | R1, C>;
50
50
  /**
51
51
  * @tsplus static fncts.test.SampleOps noShrink
52
52
  * @tsplus location "@fncts/test/control/Sample/api"
53
53
  */
54
- export declare function noShrink<A>(a: A): Sample<unknown, A>;
54
+ export declare function noShrink<A>(a: A): Sample<never, A>;
55
55
  /**
56
56
  * @tsplus static fncts.test.SampleOps shrinkFractional
57
57
  * @tsplus location "@fncts/test/control/Sample/api"
58
58
  */
59
- export declare function shrinkFractional(smallest: number): (a: number) => Sample<unknown, number>;
59
+ export declare function shrinkFractional(smallest: number): (a: number) => Sample<never, number>;
60
60
  /**
61
61
  * @tsplus static fncts.test.SampleOps shrinkBigInt
62
62
  * @tsplus location "@fncts/test/control/Sample/api"
63
63
  */
64
- export declare function shrinkBigInt(smallest: bigint): (a: bigint) => Sample<unknown, bigint>;
64
+ export declare function shrinkBigInt(smallest: bigint): (a: bigint) => Sample<never, bigint>;
65
65
  /**
66
66
  * @tsplus static fncts.test.SampleOps shrinkIntegral
67
67
  * @tsplus location "@fncts/test/control/Sample/api"
68
68
  */
69
- export declare function shrinkIntegral(smallest: number): (a: number) => Sample<unknown, number>;
69
+ export declare function shrinkIntegral(smallest: number): (a: number) => Sample<never, number>;
70
70
  /**
71
71
  * @tsplus static fncts.test.SampleOps shrinkArrayInt64
72
72
  * @tsplus location "@fncts/test/control/Sample/api"
73
73
  */
74
- export declare function shrinkArrayInt64(target: ArrayInt64): (value: ArrayInt64) => Sample<unknown, ArrayInt64>;
74
+ export declare function shrinkArrayInt64(target: ArrayInt64): (value: ArrayInt64) => Sample<never, ArrayInt64>;
75
75
  /**
76
76
  * @tsplus static fncts.test.SampleOps flatMapStream
77
77
  * @tsplus location "@fncts/test/control/Sample/api"
78
78
  */
79
- export declare function flatMapStream<R, A, R1, B>(stream: Stream<R, never, Maybe<A>>, f: (a: A) => Stream<R1, never, Maybe<B>>): Stream<R & R1, never, Maybe<B>>;
79
+ export declare function flatMapStream<R, A, R1, B>(stream: Stream<R, never, Maybe<A>>, f: (a: A) => Stream<R1, never, Maybe<B>>): Stream<R | R1, never, Maybe<B>>;
@@ -1,13 +1,12 @@
1
1
  import { URIO, IO } from "@fncts/io/IO";
2
- import { Has } from "@fncts/base/typeclass";
3
2
  import { Sized } from "./definition.js";
4
3
  /**
5
4
  * @tsplus static fncts.test.SizedOps size
6
5
  * @tsplus location "@fncts/test/control/Sized/api"
7
6
  */
8
- export declare const size: URIO<Has<Sized>, number>;
7
+ export declare const size: URIO<Sized, number>;
9
8
  /**
10
9
  * @tsplus static fncts.test.SizedOps withSize
11
10
  * @tsplus location "@fncts/test/control/Sized/api"
12
11
  */
13
- export declare function withSize(size: number): <R, E, A>(io: import("@fncts/io/IO.js").IO<R, E, A>) => import("@fncts/io/IO.js").IO<R & import("@fncts/base/typeclass.js").Has<Sized>, E, A>;
12
+ export declare function withSize(size: number): <R, E, A>(io: import("@fncts/io/IO.js").IO<R, E, A>) => import("@fncts/io/IO.js").IO<Sized | R, E, A>;
@@ -1,9 +1,8 @@
1
1
  import { Layer } from "@fncts/io/Layer";
2
- import { Has } from "@fncts/base/typeclass";
3
2
  import { IO } from "@fncts/io/IO";
4
3
  import { Sized } from "./definition.js";
5
4
  /**
6
5
  * @tsplus static fncts.test.SizedOps Live
7
6
  * @tsplus location "@fncts/test/control/Sized/live"
8
7
  */
9
- export declare function Live(size: number): Layer<unknown, never, Has<Sized>>;
8
+ export declare function Live(size: number): Layer<never, never, Sized>;
@@ -1,4 +1,3 @@
1
- import { Has } from "@fncts/base/typeclass";
2
1
  import { Environment } from "@fncts/base/data/Environment";
3
2
  import { Scope } from "@fncts/io/Scope";
4
3
  import { IO } from "@fncts/io/IO";
@@ -10,7 +9,6 @@ import { Lazy } from "@fncts/base/data/function/definition";
10
9
  import type { Annotated } from "../Annotations.js";
11
10
  import type { SpecCase } from "./definition.js";
12
11
  import type { ExecutionStrategy } from "@fncts/base/data/ExecutionStrategy";
13
- import type { Spreadable } from "@fncts/base/types.js";
14
12
  import type { TestArgs } from "@fncts/test/data/TestArgs.js";
15
13
  import { TestSuccess } from "@fncts/test/data/TestSuccess";
16
14
  import { TestAnnotation } from "../../data/TestAnnotation.js";
@@ -22,12 +20,12 @@ import { PSpec } from "./definition.js";
22
20
  * @tsplus getter fncts.test.PSpec annotated
23
21
  * @tsplus location "@fncts/test/control/Spec/api"
24
22
  */
25
- export declare function annotated<R, E, T>(spec: PSpec<R, E, T>): PSpec<R & Has<Annotations>, Annotated<E>, Annotated<T>>;
23
+ export declare function annotated<R, E, T>(spec: PSpec<R, E, T>): PSpec<R | Annotations, Annotated<E>, Annotated<T>>;
26
24
  /**
27
25
  * @tsplus fluent fncts.test.PSpec combine
28
26
  * @tsplus location "@fncts/test/control/Spec/api"
29
27
  */
30
- export declare function combine_<R, E, T, R1, E1, T1>(self: PSpec<R, E, T>, that: PSpec<R1, E1, T1>): PSpec<R & R1, E | E1, T | T1>;
28
+ export declare function combine_<R, E, T, R1, E1, T1>(self: PSpec<R, E, T>, that: PSpec<R1, E1, T1>): PSpec<R | R1, E | E1, T | T1>;
31
29
  /**
32
30
  * @tsplus fluent fncts.test.PSpec contramapEnvironment
33
31
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -37,12 +35,12 @@ export declare function contramapEnvironment_<R, E, T, R0>(self: PSpec<R, E, T>,
37
35
  * @tsplus fluent fncts.test.PSpec countTests
38
36
  * @tsplus location "@fncts/test/control/Spec/api"
39
37
  */
40
- export declare function countTests_<R, E, T>(spec: PSpec<R, E, T>, f: (t: T) => boolean): IO<R & Has<Scope>, E, number>;
38
+ export declare function countTests_<R, E, T>(spec: PSpec<R, E, T>, f: (t: T) => boolean): IO<R | Scope, E, number>;
41
39
  /**
42
40
  * @tsplus static fncts.test.PSpecOps empty
43
41
  * @tsplus location "@fncts/test/control/Spec/api"
44
42
  */
45
- export declare const empty: PSpec<unknown, never, never>;
43
+ export declare const empty: PSpec<never, never, never>;
46
44
  /**
47
45
  * @tsplus static fncts.test.PSpecOps exec
48
46
  * @tsplus static fncts.test.PSpec.ExecCaseOps __call
@@ -53,7 +51,7 @@ export declare function exec<R, E, T>(spec: PSpec<R, E, T>, exec: ExecutionStrat
53
51
  * @tsplus fluent fncts.test.PSpec execute
54
52
  * @tsplus location "@fncts/test/control/Spec/api"
55
53
  */
56
- export declare function execute<R, E, T>(self: PSpec<R, E, T>, defExec: ExecutionStrategy): IO<R & Has<Scope>, never, PSpec<unknown, E, T>>;
54
+ export declare function execute<R, E, T>(self: PSpec<R, E, T>, defExec: ExecutionStrategy): IO<R | Scope, never, PSpec<never, E, T>>;
57
55
  /**
58
56
  * @tsplus fluent fncts.test.PSpec filterAnnotations
59
57
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -83,12 +81,12 @@ export declare function fold_<R, E, T, Z>(spec: PSpec<R, E, T>, f: (_: SpecCase<
83
81
  * @tsplus fluent fncts.test.PSpec foldScoped
84
82
  * @tsplus location "@fncts/test/control/Spec/api"
85
83
  */
86
- export declare function foldScoped_<R, E, T, R1, E1, Z>(spec: PSpec<R, E, T>, f: (_: SpecCase<R, E, T, Z>) => IO<R1 & Has<Scope>, E1, Z>, defExec: ExecutionStrategy): IO<R & R1 & Has<Scope>, E1, Z>;
84
+ export declare function foldScoped_<R, E, T, R1, E1, Z>(spec: PSpec<R, E, T>, f: (_: SpecCase<R, E, T, Z>) => IO<R1 | Scope, E1, Z>, defExec: ExecutionStrategy): IO<R | R1 | Scope, E1, Z>;
87
85
  /**
88
86
  * @tsplus fluent fncts.test.PSpec foreachExec
89
87
  * @tsplus location "@fncts/test/control/Spec/api"
90
88
  */
91
- export declare function foreachExec_<R, E, T, R1, E1, A, R2, E2, B>(spec: PSpec<R, E, T>, failure: (c: Cause<E>) => IO<R1, E1, A>, success: (t: T) => IO<R2, E2, B>, defExec: ExecutionStrategy): IO<R & R1 & R2 & Has<Scope>, never, PSpec<R & R1 & R2, E1 | E2, A | B>>;
89
+ export declare function foreachExec_<R, E, T, R1, E1, A, R2, E2, B>(spec: PSpec<R, E, T>, failure: (c: Cause<E>) => IO<R1, E1, A>, success: (t: T) => IO<R2, E2, B>, defExec: ExecutionStrategy): IO<R | R1 | R2 | Scope, never, PSpec<R | R1 | R2, E1 | E2, A | B>>;
92
90
  /**
93
91
  * @tsplus fluent fncts.test.PSpec labeled
94
92
  * @tsplus static fncts.test.PSpecOps labeled
@@ -102,7 +100,7 @@ export declare function labeledCase<R, E, T>(spec: PSpec<R, E, T>, label: string
102
100
  * @tsplus static fncts.test.PSpec.ScopedCaseOps __call
103
101
  * @tsplus location "@fncts/test/control/Spec/api"
104
102
  */
105
- export declare function scoped<R, E, T>(managed: IO<R & Has<Scope>, E, PSpec<R, E, T>>): PSpec<R, E, T>;
103
+ export declare function scoped<R, E, T>(managed: IO<R | Scope, E, PSpec<R, E, T>>): PSpec<R, E, T>;
106
104
  /**
107
105
  * @tsplus fluent fncts.test.SpecCase mapError
108
106
  * @tsplus location "@fncts/test/control/Spec/api"
@@ -124,12 +122,12 @@ export declare function multipleCase<R, E, T>(specs: Conc<PSpec<R, E, T>>): PSpe
124
122
  * @tsplus fluent fncts.test.PSpec provideEnvironment
125
123
  * @tsplus location "@fncts/test/control/Spec/api"
126
124
  */
127
- export declare function provideEnvironment_<R, E, T>(self: PSpec<R, E, T>, r: Environment<R>): PSpec<unknown, E, T>;
125
+ export declare function provideEnvironment_<R, E, T>(self: PSpec<R, E, T>, r: Environment<R>): PSpec<never, E, T>;
128
126
  /**
129
127
  * @tsplus fluent fncts.test.PSpec provideLayer
130
128
  * @tsplus location "@fncts/test/control/Spec/api"
131
129
  */
132
- export declare function provideLayer_<RIn, E, ROut extends Spreadable, R, E1, T>(self: PSpec<ROut, E1, T>, layer: Layer<RIn, E, ROut>): PSpec<RIn, E | E1, T>;
130
+ export declare function provideLayer_<RIn, E, ROut, E1, T>(self: PSpec<ROut, E1, T>, layer: Layer<RIn, E, ROut>): PSpec<RIn, E | E1, T>;
133
131
  /**
134
132
  * @tsplus fluent fncts.test.PSpec test
135
133
  * @tsplus static fncts.test.PSpecOps test
@@ -151,9 +149,9 @@ export declare function annotate_<R, E, T, V>(self: PSpec<R, E, T>, key: TestAnn
151
149
  * @tsplus fluent fncts.test.PSpec whenIO
152
150
  * @tsplus location "@fncts/test/control/Spec/api"
153
151
  */
154
- export declare function whenIO_<R, E, R1, E1>(self: PSpec<R, E, TestSuccess>, b: IO<R1, E1, boolean>): PSpec<R & R1 & Has<Annotations>, E | E1, TestSuccess>;
152
+ export declare function whenIO_<R, E, R1, E1>(self: PSpec<R, E, TestSuccess>, b: IO<R1, E1, boolean>): PSpec<R | R1 | Annotations, E | E1, TestSuccess>;
155
153
  /**
156
154
  * @tsplus fluent fncts.test.PSpec when
157
155
  * @tsplus location "@fncts/test/control/Spec/api"
158
156
  */
159
- export declare function when_<R, E>(self: PSpec<R, E, TestSuccess>, b: Lazy<boolean>): PSpec<R & Has<Annotations>, E, TestSuccess>;
157
+ export declare function when_<R, E>(self: PSpec<R, E, TestSuccess>, b: Lazy<boolean>): PSpec<R | Annotations, E, TestSuccess>;
@@ -1,6 +1,5 @@
1
1
  import { ExecutionStrategy } from "@fncts/base/data/ExecutionStrategy";
2
2
  import { IO } from "@fncts/io/IO";
3
- import { Has } from "@fncts/base/typeclass";
4
3
  import { Scope } from "@fncts/io/Scope";
5
4
  import { Conc } from "@fncts/base/collection/immutable/Conc";
6
5
  import type { TestAnnotationMap } from "../../data/TestAnnotationMap.js";
@@ -13,7 +12,7 @@ import type { _A, _E, _R } from "@fncts/base/types.js";
13
12
  */
14
13
  export declare class PSpec<R, E, T> {
15
14
  readonly caseValue: SpecCase<R, E, T, PSpec<R, E, T>>;
16
- readonly _R: (_: R) => void;
15
+ readonly _R: () => R;
17
16
  readonly _E: () => E;
18
17
  readonly _A: () => T;
19
18
  constructor(caseValue: SpecCase<R, E, T, PSpec<R, E, T>>);
@@ -57,9 +56,9 @@ export declare class LabeledCase<Spec> {
57
56
  * @tsplus companion fncts.test.PSpec.ScopedCaseOps
58
57
  */
59
58
  export declare class ScopedCase<R, E, Spec> {
60
- readonly scoped: IO<R & Has<Scope>, E, Spec>;
59
+ readonly scoped: IO<R | Scope, E, Spec>;
61
60
  readonly _tag = SpecCaseTag.Scoped;
62
- constructor(scoped: IO<R & Has<Scope>, E, Spec>);
61
+ constructor(scoped: IO<R | Scope, E, Spec>);
63
62
  }
64
63
  /**
65
64
  * @tsplus companion fncts.test.PSpec.MultipleCaseOps
@@ -75,7 +74,7 @@ export declare class MultipleCase<Spec> {
75
74
  export declare class TestCase<R, E, T> {
76
75
  readonly test: IO<R, E, T>;
77
76
  readonly annotations: TestAnnotationMap;
78
- readonly _R: (_: R) => void;
77
+ readonly _R: () => R;
79
78
  readonly _E: () => E;
80
79
  readonly _A: () => T;
81
80
  readonly _tag = SpecCaseTag.Test;
@@ -1,4 +1,3 @@
1
- import { Has } from "@fncts/base/typeclass";
2
1
  import { IO } from "@fncts/io/IO";
3
2
  import { Schedule } from "@fncts/io/Schedule/definition";
4
3
  import { Environment } from "@fncts/base/data/Environment";
@@ -12,13 +11,13 @@ import { TestFailure } from "@fncts/test/data/TestFailure";
12
11
  export declare type TestAspectAtLeastR<R> = TestAspect<R, never>;
13
12
  export declare type TestAspectPoly = TestAspect<unknown, never>;
14
13
  export declare const id: TestAspectPoly;
15
- export declare const ignore: TestAspectAtLeastR<Has<Annotations>>;
16
- export declare function perTest<R, E>(f: <R1, E1>(test: IO<R1, TestFailure<E1>, TestSuccess>) => IO<R & R1, TestFailure<E | E1>, TestSuccess>): TestAspect<R, E>;
14
+ export declare const ignore: TestAspectAtLeastR<Annotations>;
15
+ export declare function perTest<R, E>(f: <R1, E1>(test: IO<R1, TestFailure<E1>, TestSuccess>) => IO<R | R1, TestFailure<E | E1>, TestSuccess>): TestAspect<R, E>;
17
16
  export declare function after<R, E, A>(effect: IO<R, E, A>): TestAspect<R, E>;
18
- export declare function around<R, E, A, R1>(before: IO<R, E, A>, after: (a: A) => IO<R1, never, any>): TestAspect<R & R1, E>;
19
- export declare function aroundAll<R, E, A, R1>(before: IO<R, E, A>, after: (a: A) => IO<R1, never, any>): TestAspect<R & R1, E>;
17
+ export declare function around<R, E, A, R1>(before: IO<R, E, A>, after: (a: A) => IO<R1, never, any>): TestAspect<R | R1, E>;
18
+ export declare function aroundAll<R, E, A, R1>(before: IO<R, E, A>, after: (a: A) => IO<R1, never, any>): TestAspect<R | R1, E>;
20
19
  export declare function before<R0>(effect: IO<R0, never, any>): TestAspect<R0, never>;
21
20
  export declare function beforeAll<R0, E0>(effect: IO<R0, E0, any>): TestAspect<R0, E0>;
22
21
  export declare const eventually: TestAspect<unknown, unknown>;
23
- export declare function repeat<R0>(schedule: Schedule<R0, TestSuccess, any>): TestAspect<R0 & Has<Annotations>, never>;
24
- export declare function timeoutWarning(duration: Duration): TestAspect<Has<Live>, any>;
22
+ export declare function repeat<R0>(schedule: Schedule<R0, TestSuccess, any>): TestAspect<R0 & Annotations, never>;
23
+ export declare function timeoutWarning(duration: Duration): TestAspect<Live, any>;
@@ -1,2 +1,2 @@
1
1
  import type { Spec } from "@fncts/test/control/Spec";
2
- export declare type TestAspect<R, E> = <R1, E1>(spec: Spec<R1, E1>) => Spec<R & R1, E | E1>;
2
+ export declare type TestAspect<R, E> = <R1, E1>(spec: Spec<R1, E1>) => Spec<R | R1, E | E1>;
@@ -1,5 +1,4 @@
1
1
  import { Layer } from "@fncts/io/Layer";
2
- import { Has } from "@fncts/base/typeclass";
3
2
  import { IO } from "@fncts/io/IO";
4
3
  import { Annotations } from "@fncts/test/control/Annotations";
5
4
  import { Live } from "@fncts/test/control/Live";
@@ -8,14 +7,14 @@ import { Data, TestClock } from "@fncts/test/control/TestClock/definition";
8
7
  * @tsplus static fncts.test.TestClockOps make
9
8
  * @tsplus location "@fncts/test/control/TestClock/api"
10
9
  */
11
- export declare function make(data: Data): Layer<Has<Live> & Has<Annotations>, never, Has<TestClock>>;
10
+ export declare function make(data: Data): Layer<Live | Annotations, never, TestClock>;
12
11
  /**
13
12
  * @tsplus static fncts.test.TestClockOps Live
14
13
  * @tsplus location "@fncts/test/control/TestClock/api"
15
14
  */
16
- export declare const live: Layer<Has<Live> & Has<Annotations>, never, Has<TestClock>>;
15
+ export declare const live: Layer<Live | Annotations, never, TestClock>;
17
16
  /**
18
17
  * @tsplus static fncts.test.TestClockOps adjust
19
18
  * @tsplus location "@fncts/test/control/TestClock/api"
20
19
  */
21
- export declare function adjust(duration: number): IO<Has<TestClock>, never, void>;
20
+ export declare function adjust(duration: number): IO<TestClock, never, void>;
@@ -53,12 +53,12 @@ export declare class TestClock extends Clock {
53
53
  readonly annotations: Annotations;
54
54
  readonly warningState: Ref.Synchronized<WarningData>;
55
55
  constructor(clockState: Ref<Data>, live: Live, annotations: Annotations, warningState: Ref.Synchronized<WarningData>);
56
- sleep: (ms: Lazy<Duration>) => import("@fncts/io/IO").IO<unknown, never, void>;
57
- currentTime: import("@fncts/io/IO").IO<unknown, never, number>;
56
+ sleep: (ms: Lazy<Duration>) => import("@fncts/io/IO").IO<never, never, void>;
57
+ currentTime: import("@fncts/io/IO").IO<never, never, number>;
58
58
  adjust(duration: number): UIO<void>;
59
59
  setDate(date: Date): UIO<void>;
60
60
  setTime(time: number): UIO<void>;
61
- sleeps: import("@fncts/io/IO").IO<unknown, never, import("@fncts/base/collection/immutable/List").List<number>>;
61
+ sleeps: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/List").List<number>>;
62
62
  get supervizedFibers(): UIO<HashSet<Fiber.Runtime<any, any>>>;
63
63
  private get freeze();
64
64
  private get delay();
@@ -1,5 +1,4 @@
1
1
  import { Layer } from "@fncts/io/Layer";
2
- import { Has } from "@fncts/base/typeclass";
3
2
  import { Live } from "@fncts/test/control/Live";
4
3
  import { ConsoleData } from "@fncts/test/control/TestConsole/definition";
5
4
  import { TestConsole } from "@fncts/test/control/TestConsole/definition";
@@ -7,9 +6,9 @@ import { TestConsole } from "@fncts/test/control/TestConsole/definition";
7
6
  * @tsplus static fncts.test.TestConsoleOps make
8
7
  * @tsplus location "@fncts/test/control/TestConsole/api"
9
8
  */
10
- export declare function make(data: ConsoleData, debug?: boolean): Layer<Has<Live>, never, Has<TestConsole>>;
9
+ export declare function make(data: ConsoleData, debug?: boolean): Layer<Live, never, TestConsole>;
11
10
  /**
12
11
  * @tsplus static fncts.test.TestConsoleOps Live
13
12
  * @tsplus location "@fncts/test/control/TestConsole/api"
14
13
  */
15
- export declare const live: import("@fncts/io/Layer").Layer<import("@fncts/base/typeclass").Has<Live>, never, import("@fncts/base/typeclass").Has<TestConsole>>;
14
+ export declare const live: import("@fncts/io/Layer").Layer<Live, never, TestConsole>;
@@ -24,11 +24,11 @@ export declare class TestConsole implements Console {
24
24
  show(...input: ReadonlyArray<unknown>): UIO<void>;
25
25
  print(line: string): UIO<void>;
26
26
  error(line: string): UIO<void>;
27
- clearInput: import("@fncts/io/IO").IO<unknown, never, void>;
28
- clearOutput: import("@fncts/io/IO").IO<unknown, never, void>;
29
- output: import("@fncts/io/IO").IO<unknown, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
30
- errOutput: import("@fncts/io/IO").IO<unknown, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
31
- debugOutput: import("@fncts/io/IO").IO<unknown, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
27
+ clearInput: import("@fncts/io/IO").IO<never, never, void>;
28
+ clearOutput: import("@fncts/io/IO").IO<never, never, void>;
29
+ output: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
30
+ errOutput: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
31
+ debugOutput: import("@fncts/io/IO").IO<never, never, import("@fncts/base/collection/immutable/Vector").Vector<string>>;
32
32
  feedLines(...lines: ReadonlyArray<string>): UIO<void>;
33
33
  silent<R, E, A>(io: IO<R, E, A>): IO<R, E, A>;
34
34
  debug<R, E, A>(io: IO<R, E, A>): IO<R, E, A>;
@@ -1,4 +1,3 @@
1
- import { Has } from "@fncts/base/typeclass";
2
1
  import { Clock } from "@fncts/io/Clock";
3
2
  import { Random } from "@fncts/io/Random";
4
3
  import { Layer } from "@fncts/io/Layer";
@@ -11,6 +10,6 @@ import { TestClock } from "@fncts/test/control/TestClock";
11
10
  import { TestConsole } from "@fncts/test/control/TestConsole";
12
11
  import { TestRandom } from "@fncts/test/control/TestRandom";
13
12
  import { TestConfig } from "@fncts/test/data/TestConfig";
14
- export declare type TestEnvironment = Has<Annotations> & Has<Live> & Has<Sized> & Has<TestClock> & Has<TestConfig> & Has<TestRandom> & Has<Clock> & Has<Random> & Has<Console> & Has<TestConsole>;
13
+ export declare type TestEnvironment = Annotations | Live | Sized | TestClock | TestConfig | TestRandom | Clock | Random | Console | TestConsole;
15
14
  export declare const LiveTestEnvironment: Layer<IOEnv, never, TestEnvironment>;
16
- export declare const TestEnvironment: import("@fncts/io/Layer").Layer<unknown, never, TestEnvironment>;
15
+ export declare const TestEnvironment: import("@fncts/io/Layer").Layer<never, never, TestEnvironment>;
@@ -1,4 +1,3 @@
1
- import { Has } from "@fncts/base/typeclass";
2
1
  import { UIO } from "@fncts/io/IO";
3
2
  import { Layer } from "@fncts/io/Layer";
4
3
  import { Either } from "@fncts/base/data/Either/definition";
@@ -7,7 +6,7 @@ import type { Spec } from "./Spec.js";
7
6
  import type { ExecutionStrategy } from "@fncts/base/data/ExecutionStrategy";
8
7
  import { ExecutedSpec } from "../data/ExecutedSpec.js";
9
8
  export interface TestExecutor<R> {
10
- readonly run: <E>(spec: Spec<R & Has<Annotations>, E>, defExec: ExecutionStrategy) => UIO<ExecutedSpec<E>>;
9
+ readonly run: <E>(spec: Spec<R | Annotations, E>, defExec: ExecutionStrategy) => UIO<ExecutedSpec<E>>;
11
10
  readonly environment: Layer<unknown, never, R>;
12
11
  }
13
- export declare function defaultTestExecutor<R>(env: Layer<unknown, never, R & Has<Annotations>>): TestExecutor<R & Has<Annotations>>;
12
+ export declare function defaultTestExecutor<R>(env: Layer<never, never, R | Annotations>): TestExecutor<R | Annotations>;
@@ -1,6 +1,5 @@
1
1
  import { UIO, URIO } from "@fncts/io/IO";
2
2
  import { Layer } from "@fncts/io/Layer";
3
- import { Has } from "@fncts/base/typeclass";
4
3
  /**
5
4
  * @tsplus type fncts.test.TestLogger
6
5
  * @tsplus companion fncts.test.TestLoggerOps
@@ -17,9 +16,9 @@ export declare const TestLoggerTag: import("@fncts/base/data/Tag").Tag<TestLogge
17
16
  * @tsplus static fncts.test.TestLoggerOps fromConsole
18
17
  * @tsplus location "@fncts/test/control/TestLogger"
19
18
  */
20
- export declare const fromConsole: Layer<unknown, never, Has<TestLogger>>;
19
+ export declare const fromConsole: Layer<never, never, TestLogger>;
21
20
  /**
22
21
  * @tsplus static fncts.test.TestLoggerOps logLine
23
22
  * @tsplus location "@fncts/test/control/TestLogger"
24
23
  */
25
- export declare function logLine(line: string): URIO<Has<TestLogger>, void>;
24
+ export declare function logLine(line: string): URIO<TestLogger, void>;