@effect/vitest 4.0.0-beta.1 → 4.0.0-beta.100
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/README.md +1 -1
- package/dist/index.d.ts +43 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -23
- package/dist/index.js.map +1 -1
- package/dist/internal/internal.d.ts +1 -1
- package/dist/internal/internal.js +65 -14
- package/dist/internal/internal.js.map +1 -1
- package/dist/utils.d.ts +40 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +35 -12
- package/dist/utils.js.map +1 -1
- package/package.json +9 -9
- package/src/index.ts +41 -33
- package/src/internal/internal.ts +95 -23
- package/src/utils.ts +46 -15
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Provides assertion helpers used by `@effect/vitest` tests.
|
|
3
|
+
*
|
|
4
|
+
* This module defines small assertion functions built on Node's `assert`,
|
|
5
|
+
* Vitest's instance checks, and Effect's equality support. The helpers cover
|
|
6
|
+
* basic equality, thrown errors, defined and undefined values, strings, regular
|
|
7
|
+
* expressions, class instances, `Option`, `Result`, and `Exit`. Most helpers are
|
|
8
|
+
* synchronous; `throwsAsync` handles rejected promises.
|
|
9
|
+
*
|
|
2
10
|
* @since 4.0.0
|
|
3
11
|
*/
|
|
4
12
|
import type * as Cause from "effect/Cause";
|
|
@@ -6,128 +14,149 @@ import * as Exit from "effect/Exit";
|
|
|
6
14
|
import * as Option from "effect/Option";
|
|
7
15
|
import * as Result from "effect/Result";
|
|
8
16
|
/**
|
|
9
|
-
*
|
|
17
|
+
* Fails the current test with the provided error message.
|
|
10
18
|
*
|
|
19
|
+
* @category testing
|
|
11
20
|
* @since 4.0.0
|
|
12
21
|
*/
|
|
13
22
|
export declare function fail(message: string): void;
|
|
14
23
|
/**
|
|
15
|
-
* Asserts that `actual` is equal to `expected` using
|
|
24
|
+
* Asserts that `actual` is deeply strictly equal to `expected` using Node's `assert.deepStrictEqual`.
|
|
16
25
|
*
|
|
26
|
+
* @category testing
|
|
17
27
|
* @since 4.0.0
|
|
18
28
|
*/
|
|
19
29
|
export declare function deepStrictEqual<A>(actual: A, expected: A, message?: string, ..._: Array<never>): void;
|
|
20
30
|
/**
|
|
21
|
-
* Asserts that `actual` is not equal to `expected` using
|
|
31
|
+
* Asserts that `actual` is not deeply strictly equal to `expected` using Node's `assert.notDeepStrictEqual`.
|
|
22
32
|
*
|
|
33
|
+
* @category testing
|
|
23
34
|
* @since 4.0.0
|
|
24
35
|
*/
|
|
25
36
|
export declare function notDeepStrictEqual<A>(actual: A, expected: A, message?: string, ..._: Array<never>): void;
|
|
26
37
|
/**
|
|
27
|
-
* Asserts that `actual` is equal to `expected` using
|
|
38
|
+
* Asserts that `actual` is strictly equal to `expected` using Node's `assert.strictEqual`.
|
|
28
39
|
*
|
|
40
|
+
* @category testing
|
|
29
41
|
* @since 4.0.0
|
|
30
42
|
*/
|
|
31
43
|
export declare function strictEqual<A>(actual: A, expected: A, message?: string, ..._: Array<never>): void;
|
|
32
44
|
/**
|
|
33
45
|
* Asserts that `actual` is equal to `expected` using the `Equal.equals` trait.
|
|
34
46
|
*
|
|
47
|
+
* @category testing
|
|
35
48
|
* @since 4.0.0
|
|
36
49
|
*/
|
|
37
50
|
export declare function assertEquals<A>(actual: A, expected: A, message?: string, ..._: Array<never>): void;
|
|
38
51
|
/**
|
|
39
52
|
* Asserts that `thunk` does not throw an error.
|
|
40
53
|
*
|
|
54
|
+
* @category testing
|
|
41
55
|
* @since 4.0.0
|
|
42
56
|
*/
|
|
43
57
|
export declare function doesNotThrow(thunk: () => void, message?: string, ..._: Array<never>): void;
|
|
44
58
|
/**
|
|
45
59
|
* Asserts that `value` is an instance of `constructor`.
|
|
46
60
|
*
|
|
61
|
+
* @category testing
|
|
47
62
|
* @since 4.0.0
|
|
48
63
|
*/
|
|
49
64
|
export declare function assertInstanceOf<C extends abstract new (...args: any) => any>(value: unknown, constructor: C, message?: string, ..._: Array<never>): asserts value is InstanceType<C>;
|
|
50
65
|
/**
|
|
51
66
|
* Asserts that `self` is `true`.
|
|
52
67
|
*
|
|
68
|
+
* @category testing
|
|
53
69
|
* @since 4.0.0
|
|
54
70
|
*/
|
|
55
71
|
export declare function assertTrue(self: unknown, message?: string, ..._: Array<never>): asserts self;
|
|
56
72
|
/**
|
|
57
73
|
* Asserts that `self` is `false`.
|
|
58
74
|
*
|
|
75
|
+
* @category testing
|
|
59
76
|
* @since 4.0.0
|
|
60
77
|
*/
|
|
61
78
|
export declare function assertFalse(self: boolean, message?: string, ..._: Array<never>): void;
|
|
62
79
|
/**
|
|
63
80
|
* Asserts that `actual` includes `expected`.
|
|
64
81
|
*
|
|
82
|
+
* @category testing
|
|
65
83
|
* @since 4.0.0
|
|
66
84
|
*/
|
|
67
85
|
export declare function assertInclude(actual: string | undefined, expected: string, ..._: Array<never>): void;
|
|
68
86
|
/**
|
|
69
87
|
* Asserts that `actual` matches `regExp`.
|
|
70
88
|
*
|
|
89
|
+
* @category testing
|
|
71
90
|
* @since 4.0.0
|
|
72
91
|
*/
|
|
73
92
|
export declare function assertMatch(actual: string, regExp: RegExp, ..._: Array<never>): void;
|
|
74
93
|
/**
|
|
75
|
-
* Asserts that `thunk` throws an
|
|
94
|
+
* Asserts that `thunk` throws, optionally checking the thrown value against an expected `Error` or validation function.
|
|
76
95
|
*
|
|
96
|
+
* @category testing
|
|
77
97
|
* @since 4.0.0
|
|
78
98
|
*/
|
|
79
99
|
export declare function throws(thunk: () => void, error?: Error | ((u: unknown) => undefined), ..._: Array<never>): void;
|
|
80
100
|
/**
|
|
81
|
-
* Asserts that `thunk` throws an
|
|
101
|
+
* Asserts that `thunk` throws or returns a rejected promise, optionally checking the failure value against an expected `Error` or validation function.
|
|
82
102
|
*
|
|
103
|
+
* @category testing
|
|
83
104
|
* @since 4.0.0
|
|
84
105
|
*/
|
|
85
106
|
export declare function throwsAsync(thunk: () => Promise<void>, error?: Error | ((u: unknown) => undefined), ..._: Array<never>): Promise<void>;
|
|
86
107
|
/**
|
|
87
108
|
* Asserts that `option` is `None`.
|
|
88
109
|
*
|
|
110
|
+
* @category testing
|
|
89
111
|
* @since 4.0.0
|
|
90
112
|
*/
|
|
91
113
|
export declare function assertNone<A>(option: Option.Option<A>, ..._: Array<never>): asserts option is Option.None<never>;
|
|
92
114
|
/**
|
|
93
115
|
* Asserts that `a` is not `undefined`.
|
|
94
116
|
*
|
|
117
|
+
* @category testing
|
|
95
118
|
* @since 4.0.0
|
|
96
119
|
*/
|
|
97
120
|
export declare function assertDefined<A>(a: A | undefined, ..._: Array<never>): asserts a is Exclude<A, undefined>;
|
|
98
121
|
/**
|
|
99
122
|
* Asserts that `a` is `undefined`.
|
|
100
123
|
*
|
|
124
|
+
* @category testing
|
|
101
125
|
* @since 4.0.0
|
|
102
126
|
*/
|
|
103
127
|
export declare function assertUndefined<A>(a: A | undefined, ..._: Array<never>): asserts a is undefined;
|
|
104
128
|
/**
|
|
105
|
-
* Asserts that `option` is `Some`.
|
|
129
|
+
* Asserts that `option` is `Some` and contains a value equal to `expected`.
|
|
106
130
|
*
|
|
131
|
+
* @category testing
|
|
107
132
|
* @since 4.0.0
|
|
108
133
|
*/
|
|
109
134
|
export declare function assertSome<A>(option: Option.Option<A>, expected: A, ..._: Array<never>): asserts option is Option.Some<A>;
|
|
110
135
|
/**
|
|
111
|
-
* Asserts that `result` is `Success`.
|
|
136
|
+
* Asserts that `result` is `Success` and contains a value equal to `expected`.
|
|
112
137
|
*
|
|
138
|
+
* @category testing
|
|
113
139
|
* @since 4.0.0
|
|
114
140
|
*/
|
|
115
141
|
export declare function assertSuccess<A, E>(result: Result.Result<A, E>, expected: A, ..._: Array<never>): asserts result is Result.Success<A, never>;
|
|
116
142
|
/**
|
|
117
|
-
* Asserts that `result` is `Failure`.
|
|
143
|
+
* Asserts that `result` is `Failure` and contains an error equal to `expected`.
|
|
118
144
|
*
|
|
145
|
+
* @category testing
|
|
119
146
|
* @since 4.0.0
|
|
120
147
|
*/
|
|
121
148
|
export declare function assertFailure<A, E>(result: Result.Result<A, E>, expected: E, ..._: Array<never>): asserts result is Result.Failure<never, E>;
|
|
122
149
|
/**
|
|
123
|
-
* Asserts that `exit` is a failure
|
|
150
|
+
* Asserts that `exit` is a failure with a cause equal to `expected`.
|
|
124
151
|
*
|
|
152
|
+
* @category testing
|
|
125
153
|
* @since 4.0.0
|
|
126
154
|
*/
|
|
127
155
|
export declare function assertExitFailure<A, E>(exit: Exit.Exit<A, E>, expected: Cause.Cause<E>, ..._: Array<never>): asserts exit is Exit.Failure<never, E>;
|
|
128
156
|
/**
|
|
129
|
-
* Asserts that `exit` is a success
|
|
157
|
+
* Asserts that `exit` is a success with a value equal to `expected`.
|
|
130
158
|
*
|
|
159
|
+
* @category testing
|
|
131
160
|
* @since 4.0.0
|
|
132
161
|
*/
|
|
133
162
|
export declare function assertExitSuccess<A, E>(exit: Exit.Exit<A, E>, expected: A, ..._: Array<never>): asserts exit is Exit.Success<A, never>;
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -9,32 +9,36 @@ import { assert as vassert } from "vitest";
|
|
|
9
9
|
// Primitives
|
|
10
10
|
// ----------------------------
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Fails the current test with the provided error message.
|
|
13
13
|
*
|
|
14
|
+
* @category testing
|
|
14
15
|
* @since 4.0.0
|
|
15
16
|
*/
|
|
16
17
|
export function fail(message) {
|
|
17
18
|
assert.fail(message);
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
|
-
* Asserts that `actual` is equal to `expected` using
|
|
21
|
+
* Asserts that `actual` is deeply strictly equal to `expected` using Node's `assert.deepStrictEqual`.
|
|
21
22
|
*
|
|
23
|
+
* @category testing
|
|
22
24
|
* @since 4.0.0
|
|
23
25
|
*/
|
|
24
26
|
export function deepStrictEqual(actual, expected, message, ..._) {
|
|
25
27
|
assert.deepStrictEqual(actual, expected, message);
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
|
-
* Asserts that `actual` is not equal to `expected` using
|
|
30
|
+
* Asserts that `actual` is not deeply strictly equal to `expected` using Node's `assert.notDeepStrictEqual`.
|
|
29
31
|
*
|
|
32
|
+
* @category testing
|
|
30
33
|
* @since 4.0.0
|
|
31
34
|
*/
|
|
32
35
|
export function notDeepStrictEqual(actual, expected, message, ..._) {
|
|
33
36
|
assert.notDeepStrictEqual(actual, expected, message);
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
|
-
* Asserts that `actual` is equal to `expected` using
|
|
39
|
+
* Asserts that `actual` is strictly equal to `expected` using Node's `assert.strictEqual`.
|
|
37
40
|
*
|
|
41
|
+
* @category testing
|
|
38
42
|
* @since 4.0.0
|
|
39
43
|
*/
|
|
40
44
|
export function strictEqual(actual, expected, message, ..._) {
|
|
@@ -43,6 +47,7 @@ export function strictEqual(actual, expected, message, ..._) {
|
|
|
43
47
|
/**
|
|
44
48
|
* Asserts that `actual` is equal to `expected` using the `Equal.equals` trait.
|
|
45
49
|
*
|
|
50
|
+
* @category testing
|
|
46
51
|
* @since 4.0.0
|
|
47
52
|
*/
|
|
48
53
|
export function assertEquals(actual, expected, message, ..._) {
|
|
@@ -54,6 +59,7 @@ export function assertEquals(actual, expected, message, ..._) {
|
|
|
54
59
|
/**
|
|
55
60
|
* Asserts that `thunk` does not throw an error.
|
|
56
61
|
*
|
|
62
|
+
* @category testing
|
|
57
63
|
* @since 4.0.0
|
|
58
64
|
*/
|
|
59
65
|
export function doesNotThrow(thunk, message, ..._) {
|
|
@@ -65,6 +71,7 @@ export function doesNotThrow(thunk, message, ..._) {
|
|
|
65
71
|
/**
|
|
66
72
|
* Asserts that `value` is an instance of `constructor`.
|
|
67
73
|
*
|
|
74
|
+
* @category testing
|
|
68
75
|
* @since 4.0.0
|
|
69
76
|
*/
|
|
70
77
|
export function assertInstanceOf(value, constructor, message, ..._) {
|
|
@@ -73,6 +80,7 @@ export function assertInstanceOf(value, constructor, message, ..._) {
|
|
|
73
80
|
/**
|
|
74
81
|
* Asserts that `self` is `true`.
|
|
75
82
|
*
|
|
83
|
+
* @category testing
|
|
76
84
|
* @since 4.0.0
|
|
77
85
|
*/
|
|
78
86
|
export function assertTrue(self, message, ..._) {
|
|
@@ -81,6 +89,7 @@ export function assertTrue(self, message, ..._) {
|
|
|
81
89
|
/**
|
|
82
90
|
* Asserts that `self` is `false`.
|
|
83
91
|
*
|
|
92
|
+
* @category testing
|
|
84
93
|
* @since 4.0.0
|
|
85
94
|
*/
|
|
86
95
|
export function assertFalse(self, message, ..._) {
|
|
@@ -89,6 +98,7 @@ export function assertFalse(self, message, ..._) {
|
|
|
89
98
|
/**
|
|
90
99
|
* Asserts that `actual` includes `expected`.
|
|
91
100
|
*
|
|
101
|
+
* @category testing
|
|
92
102
|
* @since 4.0.0
|
|
93
103
|
*/
|
|
94
104
|
export function assertInclude(actual, expected, ..._) {
|
|
@@ -101,6 +111,7 @@ export function assertInclude(actual, expected, ..._) {
|
|
|
101
111
|
/**
|
|
102
112
|
* Asserts that `actual` matches `regExp`.
|
|
103
113
|
*
|
|
114
|
+
* @category testing
|
|
104
115
|
* @since 4.0.0
|
|
105
116
|
*/
|
|
106
117
|
export function assertMatch(actual, regExp, ..._) {
|
|
@@ -109,8 +120,9 @@ export function assertMatch(actual, regExp, ..._) {
|
|
|
109
120
|
}
|
|
110
121
|
}
|
|
111
122
|
/**
|
|
112
|
-
* Asserts that `thunk` throws an
|
|
123
|
+
* Asserts that `thunk` throws, optionally checking the thrown value against an expected `Error` or validation function.
|
|
113
124
|
*
|
|
125
|
+
* @category testing
|
|
114
126
|
* @since 4.0.0
|
|
115
127
|
*/
|
|
116
128
|
export function throws(thunk, error, ..._) {
|
|
@@ -121,15 +133,18 @@ export function throws(thunk, error, ..._) {
|
|
|
121
133
|
if (error !== undefined) {
|
|
122
134
|
if (Predicate.isFunction(error)) {
|
|
123
135
|
error(e);
|
|
124
|
-
} else {
|
|
136
|
+
} else if (error) {
|
|
125
137
|
deepStrictEqual(e, error);
|
|
138
|
+
} else {
|
|
139
|
+
throw e;
|
|
126
140
|
}
|
|
127
141
|
}
|
|
128
142
|
}
|
|
129
143
|
}
|
|
130
144
|
/**
|
|
131
|
-
* Asserts that `thunk` throws an
|
|
145
|
+
* Asserts that `thunk` throws or returns a rejected promise, optionally checking the failure value against an expected `Error` or validation function.
|
|
132
146
|
*
|
|
147
|
+
* @category testing
|
|
133
148
|
* @since 4.0.0
|
|
134
149
|
*/
|
|
135
150
|
export async function throwsAsync(thunk, error, ..._) {
|
|
@@ -152,6 +167,7 @@ export async function throwsAsync(thunk, error, ..._) {
|
|
|
152
167
|
/**
|
|
153
168
|
* Asserts that `option` is `None`.
|
|
154
169
|
*
|
|
170
|
+
* @category testing
|
|
155
171
|
* @since 4.0.0
|
|
156
172
|
*/
|
|
157
173
|
export function assertNone(option, ..._) {
|
|
@@ -160,6 +176,7 @@ export function assertNone(option, ..._) {
|
|
|
160
176
|
/**
|
|
161
177
|
* Asserts that `a` is not `undefined`.
|
|
162
178
|
*
|
|
179
|
+
* @category testing
|
|
163
180
|
* @since 4.0.0
|
|
164
181
|
*/
|
|
165
182
|
export function assertDefined(a, ..._) {
|
|
@@ -170,6 +187,7 @@ export function assertDefined(a, ..._) {
|
|
|
170
187
|
/**
|
|
171
188
|
* Asserts that `a` is `undefined`.
|
|
172
189
|
*
|
|
190
|
+
* @category testing
|
|
173
191
|
* @since 4.0.0
|
|
174
192
|
*/
|
|
175
193
|
export function assertUndefined(a, ..._) {
|
|
@@ -178,8 +196,9 @@ export function assertUndefined(a, ..._) {
|
|
|
178
196
|
}
|
|
179
197
|
}
|
|
180
198
|
/**
|
|
181
|
-
* Asserts that `option` is `Some`.
|
|
199
|
+
* Asserts that `option` is `Some` and contains a value equal to `expected`.
|
|
182
200
|
*
|
|
201
|
+
* @category testing
|
|
183
202
|
* @since 4.0.0
|
|
184
203
|
*/
|
|
185
204
|
export function assertSome(option, expected, ..._) {
|
|
@@ -189,16 +208,18 @@ export function assertSome(option, expected, ..._) {
|
|
|
189
208
|
// Result
|
|
190
209
|
// ----------------------------
|
|
191
210
|
/**
|
|
192
|
-
* Asserts that `result` is `Success`.
|
|
211
|
+
* Asserts that `result` is `Success` and contains a value equal to `expected`.
|
|
193
212
|
*
|
|
213
|
+
* @category testing
|
|
194
214
|
* @since 4.0.0
|
|
195
215
|
*/
|
|
196
216
|
export function assertSuccess(result, expected, ..._) {
|
|
197
217
|
deepStrictEqual(result, Result.succeed(expected));
|
|
198
218
|
}
|
|
199
219
|
/**
|
|
200
|
-
* Asserts that `result` is `Failure`.
|
|
220
|
+
* Asserts that `result` is `Failure` and contains an error equal to `expected`.
|
|
201
221
|
*
|
|
222
|
+
* @category testing
|
|
202
223
|
* @since 4.0.0
|
|
203
224
|
*/
|
|
204
225
|
export function assertFailure(result, expected, ..._) {
|
|
@@ -208,16 +229,18 @@ export function assertFailure(result, expected, ..._) {
|
|
|
208
229
|
// Exit
|
|
209
230
|
// ----------------------------
|
|
210
231
|
/**
|
|
211
|
-
* Asserts that `exit` is a failure
|
|
232
|
+
* Asserts that `exit` is a failure with a cause equal to `expected`.
|
|
212
233
|
*
|
|
234
|
+
* @category testing
|
|
213
235
|
* @since 4.0.0
|
|
214
236
|
*/
|
|
215
237
|
export function assertExitFailure(exit, expected, ..._) {
|
|
216
238
|
deepStrictEqual(exit, Exit.failCause(expected));
|
|
217
239
|
}
|
|
218
240
|
/**
|
|
219
|
-
* Asserts that `exit` is a success
|
|
241
|
+
* Asserts that `exit` is a success with a value equal to `expected`.
|
|
220
242
|
*
|
|
243
|
+
* @category testing
|
|
221
244
|
* @since 4.0.0
|
|
222
245
|
*/
|
|
223
246
|
export function assertExitSuccess(exit, expected, ..._) {
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["Equal","Exit","Option","Predicate","Result","assert","vassert","fail","message","deepStrictEqual","actual","expected","_","notDeepStrictEqual","strictEqual","assertEquals","equals","doesNotThrow","thunk","assertInstanceOf","value","constructor","instanceOf","assertTrue","self","assertFalse","assertInclude","includes","assertMatch","regExp","test","throws","error","e","undefined","isFunction","throwsAsync","assertNone","option","none","assertDefined","a","assertUndefined","assertSome","some","assertSuccess","result","succeed","assertFailure","assertExitFailure","exit","failCause","assertExitSuccess"],"sources":["../src/utils.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["Equal","Exit","Option","Predicate","Result","assert","vassert","fail","message","deepStrictEqual","actual","expected","_","notDeepStrictEqual","strictEqual","assertEquals","equals","doesNotThrow","thunk","assertInstanceOf","value","constructor","instanceOf","assertTrue","self","assertFalse","assertInclude","includes","assertMatch","regExp","test","throws","error","e","undefined","isFunction","throwsAsync","assertNone","option","none","assertDefined","a","assertUndefined","assertSome","some","assertSuccess","result","succeed","assertFailure","assertExitFailure","exit","failCause","assertExitSuccess"],"sources":["../src/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/vitest",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.100",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A set of helpers for testing Effects with vitest",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/Effect-TS/effect
|
|
10
|
+
"url": "https://github.com/Effect-TS/effect.git",
|
|
11
11
|
"directory": "packages/vitest"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/Effect-TS/effect
|
|
14
|
+
"url": "https://github.com/Effect-TS/effect/issues"
|
|
15
15
|
},
|
|
16
16
|
"sideEffects": [],
|
|
17
17
|
"exports": {
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"provenance": true
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"vitest": "^3.0.0",
|
|
37
|
-
"effect": "^4.0.0-beta.
|
|
36
|
+
"vitest": "^3.0.0 || ^4.0.0",
|
|
37
|
+
"effect": "^4.0.0-beta.100"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^
|
|
41
|
-
"vitest": "4.
|
|
42
|
-
"
|
|
40
|
+
"@types/node": "^26.1.1",
|
|
41
|
+
"@vitest/runner": "4.1.10",
|
|
42
|
+
"vitest": "4.1.10",
|
|
43
|
+
"effect": "^4.0.0-beta.100"
|
|
43
44
|
},
|
|
44
45
|
"scripts": {
|
|
45
46
|
"build": "tsc -b tsconfig.json && pnpm babel",
|
|
46
|
-
"build:tsgo": "tsgo -b tsconfig.json && pnpm babel",
|
|
47
47
|
"babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
|
|
48
48
|
"check": "tsc -b tsconfig.json",
|
|
49
49
|
"test": "vitest",
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Duration from "effect/Duration"
|
|
5
5
|
import type * as Effect from "effect/Effect"
|
|
@@ -11,28 +11,28 @@ import * as V from "vitest"
|
|
|
11
11
|
import * as internal from "./internal/internal.ts"
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @since
|
|
14
|
+
* @since 4.0.0
|
|
15
15
|
*/
|
|
16
16
|
export * from "vitest"
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* @since
|
|
19
|
+
* @since 4.0.0
|
|
20
20
|
*/
|
|
21
21
|
export type API = V.TestAPI<{}>
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* @since
|
|
24
|
+
* @since 4.0.0
|
|
25
25
|
*/
|
|
26
26
|
export namespace Vitest {
|
|
27
27
|
/**
|
|
28
|
-
* @since
|
|
28
|
+
* @since 4.0.0
|
|
29
29
|
*/
|
|
30
30
|
export interface TestFunction<A, E, R, TestArgs extends Array<any>> {
|
|
31
31
|
(...args: TestArgs): Effect.Effect<A, E, R>
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* @since
|
|
35
|
+
* @since 4.0.0
|
|
36
36
|
*/
|
|
37
37
|
export interface Test<R> {
|
|
38
38
|
<A, E>(
|
|
@@ -43,14 +43,14 @@ export namespace Vitest {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
* @since
|
|
46
|
+
* @since 4.0.0
|
|
47
47
|
*/
|
|
48
48
|
export type Arbitraries =
|
|
49
49
|
| Array<Schema.Schema<any> | FC.Arbitrary<any>>
|
|
50
50
|
| { [K in string]: Schema.Schema<any> | FC.Arbitrary<any> }
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
* @since
|
|
53
|
+
* @since 4.0.0
|
|
54
54
|
*/
|
|
55
55
|
export interface Tester<R> extends Vitest.Test<R> {
|
|
56
56
|
skip: Vitest.Test<R>
|
|
@@ -63,7 +63,7 @@ export namespace Vitest {
|
|
|
63
63
|
fails: Vitest.Test<R>
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
* @since
|
|
66
|
+
* @since 4.0.0
|
|
67
67
|
*/
|
|
68
68
|
prop: <const Arbs extends Arbitraries, A, E>(
|
|
69
69
|
name: string,
|
|
@@ -95,16 +95,16 @@ export namespace Vitest {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
|
-
* @since
|
|
98
|
+
* @since 4.0.0
|
|
99
99
|
*/
|
|
100
100
|
export interface MethodsNonLive<R = never> extends API {
|
|
101
101
|
readonly effect: Vitest.Tester<R | Scope.Scope>
|
|
102
102
|
readonly flakyTest: <A, E, R2>(
|
|
103
103
|
self: Effect.Effect<A, E, R2 | Scope.Scope>,
|
|
104
|
-
timeout?: Duration.
|
|
104
|
+
timeout?: Duration.Input
|
|
105
105
|
) => Effect.Effect<A, never, R2>
|
|
106
106
|
readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
|
|
107
|
-
readonly timeout?: Duration.
|
|
107
|
+
readonly timeout?: Duration.Input
|
|
108
108
|
}) => {
|
|
109
109
|
(f: (it: Vitest.MethodsNonLive<R | R2>) => void): void
|
|
110
110
|
(
|
|
@@ -114,7 +114,7 @@ export namespace Vitest {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
|
-
* @since
|
|
117
|
+
* @since 4.0.0
|
|
118
118
|
*/
|
|
119
119
|
readonly prop: <const Arbs extends Arbitraries>(
|
|
120
120
|
name: string,
|
|
@@ -140,25 +140,36 @@ export namespace Vitest {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
|
-
* @since
|
|
143
|
+
* @since 4.0.0
|
|
144
144
|
*/
|
|
145
145
|
export interface Methods<R = never> extends MethodsNonLive<R> {
|
|
146
146
|
readonly live: Vitest.Tester<Scope.Scope | R>
|
|
147
|
+
readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
|
|
148
|
+
readonly memoMap?: Layer.MemoMap
|
|
149
|
+
readonly timeout?: Duration.Input
|
|
150
|
+
readonly excludeTestServices?: boolean
|
|
151
|
+
}) => {
|
|
152
|
+
(f: (it: Vitest.MethodsNonLive<R | R2>) => void): void
|
|
153
|
+
(
|
|
154
|
+
name: string,
|
|
155
|
+
f: (it: Vitest.MethodsNonLive<R | R2>) => void
|
|
156
|
+
): void
|
|
157
|
+
}
|
|
147
158
|
}
|
|
148
159
|
}
|
|
149
160
|
|
|
150
161
|
/**
|
|
151
|
-
* @since
|
|
162
|
+
* @since 4.0.0
|
|
152
163
|
*/
|
|
153
164
|
export const addEqualityTesters: () => void = internal.addEqualityTesters
|
|
154
165
|
|
|
155
166
|
/**
|
|
156
|
-
* @since
|
|
167
|
+
* @since 4.0.0
|
|
157
168
|
*/
|
|
158
169
|
export const effect: Vitest.Tester<Scope.Scope> = internal.effect
|
|
159
170
|
|
|
160
171
|
/**
|
|
161
|
-
* @since
|
|
172
|
+
* @since 4.0.0
|
|
162
173
|
*/
|
|
163
174
|
export const live: Vitest.Tester<Scope.Scope> = internal.live
|
|
164
175
|
|
|
@@ -166,17 +177,17 @@ export const live: Vitest.Tester<Scope.Scope> = internal.live
|
|
|
166
177
|
* Share a `Layer` between multiple tests, optionally wrapping
|
|
167
178
|
* the tests in a `describe` block if a name is provided.
|
|
168
179
|
*
|
|
169
|
-
* @since
|
|
180
|
+
* @since 4.0.0
|
|
170
181
|
*
|
|
171
182
|
* ```ts
|
|
172
183
|
* import { expect, layer } from "@effect/vitest"
|
|
173
|
-
* import { Effect, Layer,
|
|
184
|
+
* import { Effect, Layer, Context } from "effect"
|
|
174
185
|
*
|
|
175
|
-
* class Foo extends
|
|
186
|
+
* class Foo extends Context.Service("Foo")<Foo, "foo">() {
|
|
176
187
|
* static Live = Layer.succeed(Foo, "foo")
|
|
177
188
|
* }
|
|
178
189
|
*
|
|
179
|
-
* class Bar extends
|
|
190
|
+
* class Bar extends Context.Service("Bar")<Bar, "bar">() {
|
|
180
191
|
* static Live = Layer.effect(
|
|
181
192
|
* Bar,
|
|
182
193
|
* Effect.map(Foo, () => "bar" as const)
|
|
@@ -206,7 +217,7 @@ export const layer: <R, E>(
|
|
|
206
217
|
layer_: Layer.Layer<R, E>,
|
|
207
218
|
options?: {
|
|
208
219
|
readonly memoMap?: Layer.MemoMap
|
|
209
|
-
readonly timeout?: Duration.
|
|
220
|
+
readonly timeout?: Duration.Input
|
|
210
221
|
readonly excludeTestServices?: boolean
|
|
211
222
|
}
|
|
212
223
|
) => {
|
|
@@ -215,37 +226,34 @@ export const layer: <R, E>(
|
|
|
215
226
|
} = internal.layer
|
|
216
227
|
|
|
217
228
|
/**
|
|
218
|
-
* @since
|
|
229
|
+
* @since 4.0.0
|
|
219
230
|
*/
|
|
220
231
|
export const flakyTest: <A, E, R>(
|
|
221
232
|
self: Effect.Effect<A, E, R | Scope.Scope>,
|
|
222
|
-
timeout?: Duration.
|
|
233
|
+
timeout?: Duration.Input
|
|
223
234
|
) => Effect.Effect<A, never, R> = internal.flakyTest
|
|
224
235
|
|
|
225
236
|
/**
|
|
226
|
-
* @since
|
|
237
|
+
* @since 4.0.0
|
|
227
238
|
*/
|
|
228
239
|
export const prop: Vitest.Methods["prop"] = internal.prop
|
|
229
240
|
|
|
230
241
|
/**
|
|
231
|
-
* @since
|
|
242
|
+
* @since 4.0.0
|
|
232
243
|
*/
|
|
233
244
|
|
|
234
|
-
/** @ignored */
|
|
235
|
-
const methods = { effect, live, flakyTest, layer, prop } as const
|
|
236
|
-
|
|
237
245
|
/**
|
|
238
|
-
* @since
|
|
246
|
+
* @since 4.0.0
|
|
239
247
|
*/
|
|
240
|
-
export const it: Vitest.Methods =
|
|
248
|
+
export const it: Vitest.Methods = internal.makeMethods(V.it)
|
|
241
249
|
|
|
242
250
|
/**
|
|
243
|
-
* @since
|
|
251
|
+
* @since 4.0.0
|
|
244
252
|
*/
|
|
245
253
|
export const makeMethods: (it: V.TestAPI) => Vitest.Methods = internal.makeMethods
|
|
246
254
|
|
|
247
255
|
/**
|
|
248
|
-
* @since
|
|
256
|
+
* @since 4.0.0
|
|
249
257
|
*/
|
|
250
258
|
export const describeWrapped: (name: string, f: (it: Vitest.Methods) => void) => V.SuiteCollector =
|
|
251
259
|
internal.describeWrapped
|