@effect/vitest 4.0.0-beta.10 → 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/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
- * Throws an `AssertionError` with the provided error message.
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 the `Equal.equals` trait.
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 the `Equal.equals` trait.
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 the `Equal.equals` trait.
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 error.
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 error.
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
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
- * Throws an `AssertionError` with the provided error message.
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 the `Equal.equals` trait.
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 the `Equal.equals` trait.
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 the `Equal.equals` trait.
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 error.
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, ..._) {
@@ -130,8 +142,9 @@ export function throws(thunk, error, ..._) {
130
142
  }
131
143
  }
132
144
  /**
133
- * Asserts that `thunk` throws an error.
145
+ * Asserts that `thunk` throws or returns a rejected promise, optionally checking the failure value against an expected `Error` or validation function.
134
146
  *
147
+ * @category testing
135
148
  * @since 4.0.0
136
149
  */
137
150
  export async function throwsAsync(thunk, error, ..._) {
@@ -154,6 +167,7 @@ export async function throwsAsync(thunk, error, ..._) {
154
167
  /**
155
168
  * Asserts that `option` is `None`.
156
169
  *
170
+ * @category testing
157
171
  * @since 4.0.0
158
172
  */
159
173
  export function assertNone(option, ..._) {
@@ -162,6 +176,7 @@ export function assertNone(option, ..._) {
162
176
  /**
163
177
  * Asserts that `a` is not `undefined`.
164
178
  *
179
+ * @category testing
165
180
  * @since 4.0.0
166
181
  */
167
182
  export function assertDefined(a, ..._) {
@@ -172,6 +187,7 @@ export function assertDefined(a, ..._) {
172
187
  /**
173
188
  * Asserts that `a` is `undefined`.
174
189
  *
190
+ * @category testing
175
191
  * @since 4.0.0
176
192
  */
177
193
  export function assertUndefined(a, ..._) {
@@ -180,8 +196,9 @@ export function assertUndefined(a, ..._) {
180
196
  }
181
197
  }
182
198
  /**
183
- * Asserts that `option` is `Some`.
199
+ * Asserts that `option` is `Some` and contains a value equal to `expected`.
184
200
  *
201
+ * @category testing
185
202
  * @since 4.0.0
186
203
  */
187
204
  export function assertSome(option, expected, ..._) {
@@ -191,16 +208,18 @@ export function assertSome(option, expected, ..._) {
191
208
  // Result
192
209
  // ----------------------------
193
210
  /**
194
- * Asserts that `result` is `Success`.
211
+ * Asserts that `result` is `Success` and contains a value equal to `expected`.
195
212
  *
213
+ * @category testing
196
214
  * @since 4.0.0
197
215
  */
198
216
  export function assertSuccess(result, expected, ..._) {
199
217
  deepStrictEqual(result, Result.succeed(expected));
200
218
  }
201
219
  /**
202
- * Asserts that `result` is `Failure`.
220
+ * Asserts that `result` is `Failure` and contains an error equal to `expected`.
203
221
  *
222
+ * @category testing
204
223
  * @since 4.0.0
205
224
  */
206
225
  export function assertFailure(result, expected, ..._) {
@@ -210,16 +229,18 @@ export function assertFailure(result, expected, ..._) {
210
229
  // Exit
211
230
  // ----------------------------
212
231
  /**
213
- * Asserts that `exit` is a failure.
232
+ * Asserts that `exit` is a failure with a cause equal to `expected`.
214
233
  *
234
+ * @category testing
215
235
  * @since 4.0.0
216
236
  */
217
237
  export function assertExitFailure(exit, expected, ..._) {
218
238
  deepStrictEqual(exit, Exit.failCause(expected));
219
239
  }
220
240
  /**
221
- * Asserts that `exit` is a success.
241
+ * Asserts that `exit` is a success with a value equal to `expected`.
222
242
  *
243
+ * @category testing
223
244
  * @since 4.0.0
224
245
  */
225
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":"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","ignoreList":[]}
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":"AAYA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,SAASA,MAAM,IAAIC,OAAO,QAAQ,QAAQ;AAE1C;AACA;AACA;AAEA;;;;;;AAMA,OAAM,SAAUC,IAAIA,CAACC,OAAe;EAClCH,MAAM,CAACE,IAAI,CAACC,OAAO,CAAC;AACtB;AAEA;;;;;;AAMA,OAAM,SAAUC,eAAeA,CAAIC,MAAS,EAAEC,QAAW,EAAEH,OAAgB,EAAE,GAAGI,CAAe;EAC7FP,MAAM,CAACI,eAAe,CAACC,MAAM,EAAEC,QAAQ,EAAEH,OAAiB,CAAC;AAC7D;AAEA;;;;;;AAMA,OAAM,SAAUK,kBAAkBA,CAAIH,MAAS,EAAEC,QAAW,EAAEH,OAAgB,EAAE,GAAGI,CAAe;EAChGP,MAAM,CAACQ,kBAAkB,CAACH,MAAM,EAAEC,QAAQ,EAAEH,OAAiB,CAAC;AAChE;AAEA;;;;;;AAMA,OAAM,SAAUM,WAAWA,CAAIJ,MAAS,EAAEC,QAAW,EAAEH,OAAgB,EAAE,GAAGI,CAAe;EACzFP,MAAM,CAACS,WAAW,CAACJ,MAAM,EAAEC,QAAQ,EAAEH,OAAiB,CAAC;AACzD;AAEA;;;;;;AAMA,OAAM,SAAUO,YAAYA,CAAIL,MAAS,EAAEC,QAAW,EAAEH,OAAgB,EAAE,GAAGI,CAAe;EAC1F,IAAI,CAACZ,KAAK,CAACgB,MAAM,CAACN,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACnCF,eAAe,CAACC,MAAM,EAAEC,QAAQ,EAAEH,OAAO,CAAC,EAAC;IAC3CD,IAAI,CAACC,OAAO,IAAI,oCAAoC,CAAC;EACvD;AACF;AAEA;;;;;;AAMA,OAAM,SAAUS,YAAYA,CAACC,KAAiB,EAAEV,OAAgB,EAAE,GAAGI,CAAe;EAClFP,MAAM,CAACY,YAAY,CAACC,KAAK,EAAEV,OAAO,CAAC;AACrC;AAEA;AACA;AACA;AAEA;;;;;;AAMA,OAAM,SAAUW,gBAAgBA,CAC9BC,KAAc,EACdC,WAAc,EACdb,OAAgB,EAChB,GAAGI,CAAe;EAElBN,OAAO,CAACgB,UAAU,CAACF,KAAK,EAAEC,WAAkB,EAAEb,OAAO,CAAC;AACxD;AAEA;;;;;;AAMA,OAAM,SAAUe,UAAUA,CAACC,IAAa,EAAEhB,OAAgB,EAAE,GAAGI,CAAe;EAC5EE,WAAW,CAACU,IAAI,EAAE,IAAI,EAAEhB,OAAO,CAAC;AAClC;AAEA;;;;;;AAMA,OAAM,SAAUiB,WAAWA,CAACD,IAAa,EAAEhB,OAAgB,EAAE,GAAGI,CAAe;EAC7EE,WAAW,CAACU,IAAI,EAAE,KAAK,EAAEhB,OAAO,CAAC;AACnC;AAEA;;;;;;AAMA,OAAM,SAAUkB,aAAaA,CAAChB,MAA0B,EAAEC,QAAgB,EAAE,GAAGC,CAAe;EAC5F,IAAI,OAAOD,QAAQ,KAAK,QAAQ,EAAE;IAChC,IAAI,CAACD,MAAM,EAAEiB,QAAQ,CAAChB,QAAQ,CAAC,EAAE;MAC/BJ,IAAI,CAAC,eAAeG,MAAM,qBAAqBC,QAAQ,EAAE,CAAC;IAC5D;EACF;AACF;AAEA;;;;;;AAMA,OAAM,SAAUiB,WAAWA,CAAClB,MAAc,EAAEmB,MAAc,EAAE,GAAGjB,CAAe;EAC5E,IAAI,CAACiB,MAAM,CAACC,IAAI,CAACpB,MAAM,CAAC,EAAE;IACxBH,IAAI,CAAC,eAAeG,MAAM,mBAAmBmB,MAAM,EAAE,CAAC;EACxD;AACF;AAEA;;;;;;AAMA,OAAM,SAAUE,MAAMA,CAACb,KAAiB,EAAEc,KAA2C,EAAE,GAAGpB,CAAe;EACvG,IAAI;IACFM,KAAK,EAAE;IACPX,IAAI,CAAC,4BAA4B,CAAC;EACpC,CAAC,CAAC,OAAO0B,CAAC,EAAE;IACV,IAAID,KAAK,KAAKE,SAAS,EAAE;MACvB,IAAI/B,SAAS,CAACgC,UAAU,CAACH,KAAK,CAAC,EAAE;QAC/BA,KAAK,CAACC,CAAC,CAAC;MACV,CAAC,MAAM,IAAID,KAAK,EAAE;QAChBvB,eAAe,CAACwB,CAAC,EAAED,KAAK,CAAC;MAC3B,CAAC,MAAM;QACL,MAAMC,CAAC;MACT;IACF;EACF;AACF;AAEA;;;;;;AAMA,OAAO,eAAeG,WAAWA,CAC/BlB,KAA0B,EAC1Bc,KAA2C,EAC3C,GAAGpB,CAAe;EAElB,IAAI;IACF,MAAMM,KAAK,EAAE;IACbX,IAAI,CAAC,4BAA4B,CAAC;EACpC,CAAC,CAAC,OAAO0B,CAAC,EAAE;IACV,IAAID,KAAK,KAAKE,SAAS,EAAE;MACvB,IAAI/B,SAAS,CAACgC,UAAU,CAACH,KAAK,CAAC,EAAE;QAC/BA,KAAK,CAACC,CAAC,CAAC;MACV,CAAC,MAAM;QACLxB,eAAe,CAACwB,CAAC,EAAED,KAAK,CAAC;MAC3B;IACF;EACF;AACF;AAEA;AACA;AACA;AAEA;;;;;;AAMA,OAAM,SAAUK,UAAUA,CAAIC,MAAwB,EAAE,GAAG1B,CAAe;EACxEH,eAAe,CAAC6B,MAAM,EAAEpC,MAAM,CAACqC,IAAI,EAAE,CAAC;AACxC;AAEA;;;;;;AAMA,OAAM,SAAUC,aAAaA,CAC3BC,CAAgB,EAChB,GAAG7B,CAAe;EAElB,IAAI6B,CAAC,KAAKP,SAAS,EAAE;IACnB3B,IAAI,CAAC,8BAA8B,CAAC;EACtC;AACF;AAEA;;;;;;AAMA,OAAM,SAAUmC,eAAeA,CAC7BD,CAAgB,EAChB,GAAG7B,CAAe;EAElB,IAAI6B,CAAC,KAAKP,SAAS,EAAE;IACnB3B,IAAI,CAAC,gCAAgC,CAAC;EACxC;AACF;AAEA;;;;;;AAMA,OAAM,SAAUoC,UAAUA,CACxBL,MAAwB,EACxB3B,QAAW,EACX,GAAGC,CAAe;EAElBH,eAAe,CAAC6B,MAAM,EAAEpC,MAAM,CAAC0C,IAAI,CAACjC,QAAQ,CAAC,CAAC;AAChD;AAEA;AACA;AACA;AAEA;;;;;;AAMA,OAAM,SAAUkC,aAAaA,CAC3BC,MAA2B,EAC3BnC,QAAW,EACX,GAAGC,CAAe;EAElBH,eAAe,CAACqC,MAAM,EAAE1C,MAAM,CAAC2C,OAAO,CAACpC,QAAQ,CAAC,CAAC;AACnD;AAEA;;;;;;AAMA,OAAM,SAAUqC,aAAaA,CAC3BF,MAA2B,EAC3BnC,QAAW,EACX,GAAGC,CAAe;EAElBH,eAAe,CAACqC,MAAM,EAAE1C,MAAM,CAACG,IAAI,CAACI,QAAQ,CAAC,CAAC;AAChD;AAEA;AACA;AACA;AAEA;;;;;;AAMA,OAAM,SAAUsC,iBAAiBA,CAC/BC,IAAqB,EACrBvC,QAAwB,EACxB,GAAGC,CAAe;EAElBH,eAAe,CAACyC,IAAI,EAAEjD,IAAI,CAACkD,SAAS,CAACxC,QAAQ,CAAC,CAAC;AACjD;AAEA;;;;;;AAMA,OAAM,SAAUyC,iBAAiBA,CAC/BF,IAAqB,EACrBvC,QAAW,EACX,GAAGC,CAAe;EAElBH,eAAe,CAACyC,IAAI,EAAEjD,IAAI,CAAC8C,OAAO,CAACpC,QAAQ,CAAC,CAAC;AAC/C","ignoreList":[]}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@effect/vitest",
3
- "version": "4.0.0-beta.10",
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-smol.git",
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-smol/issues"
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.10"
36
+ "vitest": "^3.0.0 || ^4.0.0",
37
+ "effect": "^4.0.0-beta.100"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/node": "^25.2.0",
41
- "vitest": "4.0.18",
42
- "effect": "^4.0.0-beta.10"
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 1.0.0
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 1.0.0
14
+ * @since 4.0.0
15
15
  */
16
16
  export * from "vitest"
17
17
 
18
18
  /**
19
- * @since 1.0.0
19
+ * @since 4.0.0
20
20
  */
21
21
  export type API = V.TestAPI<{}>
22
22
 
23
23
  /**
24
- * @since 1.0.0
24
+ * @since 4.0.0
25
25
  */
26
26
  export namespace Vitest {
27
27
  /**
28
- * @since 1.0.0
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 1.0.0
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 1.0.0
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 1.0.0
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 1.0.0
66
+ * @since 4.0.0
67
67
  */
68
68
  prop: <const Arbs extends Arbitraries, A, E>(
69
69
  name: string,
@@ -95,7 +95,7 @@ export namespace Vitest {
95
95
  }
96
96
 
97
97
  /**
98
- * @since 1.0.0
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>
@@ -114,7 +114,7 @@ export namespace Vitest {
114
114
  }
115
115
 
116
116
  /**
117
- * @since 1.0.0
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 1.0.0
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 1.0.0
162
+ * @since 4.0.0
152
163
  */
153
164
  export const addEqualityTesters: () => void = internal.addEqualityTesters
154
165
 
155
166
  /**
156
- * @since 1.0.0
167
+ * @since 4.0.0
157
168
  */
158
169
  export const effect: Vitest.Tester<Scope.Scope> = internal.effect
159
170
 
160
171
  /**
161
- * @since 1.0.0
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 1.0.0
180
+ * @since 4.0.0
170
181
  *
171
182
  * ```ts
172
183
  * import { expect, layer } from "@effect/vitest"
173
- * import { Effect, Layer, ServiceMap } from "effect"
184
+ * import { Effect, Layer, Context } from "effect"
174
185
  *
175
- * class Foo extends ServiceMap.Service("Foo")<Foo, "foo">() {
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 ServiceMap.Service("Bar")<Bar, "bar">() {
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)
@@ -215,7 +226,7 @@ export const layer: <R, E>(
215
226
  } = internal.layer
216
227
 
217
228
  /**
218
- * @since 1.0.0
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>,
@@ -223,29 +234,26 @@ export const flakyTest: <A, E, R>(
223
234
  ) => Effect.Effect<A, never, R> = internal.flakyTest
224
235
 
225
236
  /**
226
- * @since 1.0.0
237
+ * @since 4.0.0
227
238
  */
228
239
  export const prop: Vitest.Methods["prop"] = internal.prop
229
240
 
230
241
  /**
231
- * @since 1.0.0
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 1.0.0
246
+ * @since 4.0.0
239
247
  */
240
- export const it: Vitest.Methods = Object.assign(V.it, methods)
248
+ export const it: Vitest.Methods = internal.makeMethods(V.it)
241
249
 
242
250
  /**
243
- * @since 1.0.0
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 1.0.0
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