@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 CHANGED
@@ -6,7 +6,7 @@ In this guide, we'll walk you through setting up the necessary dependencies and
6
6
 
7
7
  # Requirements
8
8
 
9
- First, ensure you have [`vitest`](https://vitest.dev/guide/) installed (version `1.6.0` or later).
9
+ First, ensure you have a supported [`vitest`](https://vitest.dev/guide/) version installed (`^3.0.0` or `^4.0.0`).
10
10
 
11
11
  ```sh
12
12
  pnpm add -D vitest
package/dist/index.d.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";
@@ -9,37 +9,37 @@ import type * as Scope from "effect/Scope";
9
9
  import type * as FC from "effect/testing/FastCheck";
10
10
  import * as V from "vitest";
11
11
  /**
12
- * @since 1.0.0
12
+ * @since 4.0.0
13
13
  */
14
14
  export * from "vitest";
15
15
  /**
16
- * @since 1.0.0
16
+ * @since 4.0.0
17
17
  */
18
18
  export type API = V.TestAPI<{}>;
19
19
  /**
20
- * @since 1.0.0
20
+ * @since 4.0.0
21
21
  */
22
22
  export declare namespace Vitest {
23
23
  /**
24
- * @since 1.0.0
24
+ * @since 4.0.0
25
25
  */
26
26
  interface TestFunction<A, E, R, TestArgs extends Array<any>> {
27
27
  (...args: TestArgs): Effect.Effect<A, E, R>;
28
28
  }
29
29
  /**
30
- * @since 1.0.0
30
+ * @since 4.0.0
31
31
  */
32
32
  interface Test<R> {
33
33
  <A, E>(name: string, self: TestFunction<A, E, R, [V.TestContext]>, timeout?: number | V.TestOptions): void;
34
34
  }
35
35
  /**
36
- * @since 1.0.0
36
+ * @since 4.0.0
37
37
  */
38
38
  type Arbitraries = Array<Schema.Schema<any> | FC.Arbitrary<any>> | {
39
39
  [K in string]: Schema.Schema<any> | FC.Arbitrary<any>;
40
40
  };
41
41
  /**
42
- * @since 1.0.0
42
+ * @since 4.0.0
43
43
  */
44
44
  interface Tester<R> extends Vitest.Test<R> {
45
45
  skip: Vitest.Test<R>;
@@ -49,76 +49,84 @@ export declare namespace Vitest {
49
49
  each: <T>(cases: ReadonlyArray<T>) => <A, E>(name: string, self: TestFunction<A, E, R, Array<T>>, timeout?: number | V.TestOptions) => void;
50
50
  fails: Vitest.Test<R>;
51
51
  /**
52
- * @since 1.0.0
52
+ * @since 4.0.0
53
53
  */
54
54
  prop: <const Arbs extends Arbitraries, A, E>(name: string, arbitraries: Arbs, self: TestFunction<A, E, R, [
55
55
  {
56
56
  [K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
57
57
  },
58
58
  V.TestContext
59
- ]>, timeout?: number | V.TestOptions & {
59
+ ]>, timeout?: number | (V.TestOptions & {
60
60
  fastCheck?: FC.Parameters<{
61
61
  [K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
62
62
  }>;
63
- }) => void;
63
+ })) => void;
64
64
  }
65
65
  /**
66
- * @since 1.0.0
66
+ * @since 4.0.0
67
67
  */
68
68
  interface MethodsNonLive<R = never> extends API {
69
69
  readonly effect: Vitest.Tester<R | Scope.Scope>;
70
- readonly flakyTest: <A, E, R2>(self: Effect.Effect<A, E, R2 | Scope.Scope>, timeout?: Duration.DurationInput) => Effect.Effect<A, never, R2>;
70
+ readonly flakyTest: <A, E, R2>(self: Effect.Effect<A, E, R2 | Scope.Scope>, timeout?: Duration.Input) => Effect.Effect<A, never, R2>;
71
71
  readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
72
- readonly timeout?: Duration.DurationInput;
72
+ readonly timeout?: Duration.Input;
73
73
  }) => {
74
74
  (f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
75
75
  (name: string, f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
76
76
  };
77
77
  /**
78
- * @since 1.0.0
78
+ * @since 4.0.0
79
79
  */
80
80
  readonly prop: <const Arbs extends Arbitraries>(name: string, arbitraries: Arbs, self: (properties: {
81
81
  [K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
82
- }, ctx: V.TestContext) => void, timeout?: number | V.TestOptions & {
82
+ }, ctx: V.TestContext) => void, timeout?: number | (V.TestOptions & {
83
83
  fastCheck?: FC.Parameters<{
84
84
  [K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
85
85
  }>;
86
- }) => void;
86
+ })) => void;
87
87
  }
88
88
  /**
89
- * @since 1.0.0
89
+ * @since 4.0.0
90
90
  */
91
91
  interface Methods<R = never> extends MethodsNonLive<R> {
92
92
  readonly live: Vitest.Tester<Scope.Scope | R>;
93
+ readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
94
+ readonly memoMap?: Layer.MemoMap;
95
+ readonly timeout?: Duration.Input;
96
+ readonly excludeTestServices?: boolean;
97
+ }) => {
98
+ (f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
99
+ (name: string, f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
100
+ };
93
101
  }
94
102
  }
95
103
  /**
96
- * @since 1.0.0
104
+ * @since 4.0.0
97
105
  */
98
106
  export declare const addEqualityTesters: () => void;
99
107
  /**
100
- * @since 1.0.0
108
+ * @since 4.0.0
101
109
  */
102
110
  export declare const effect: Vitest.Tester<Scope.Scope>;
103
111
  /**
104
- * @since 1.0.0
112
+ * @since 4.0.0
105
113
  */
106
114
  export declare const live: Vitest.Tester<Scope.Scope>;
107
115
  /**
108
116
  * Share a `Layer` between multiple tests, optionally wrapping
109
117
  * the tests in a `describe` block if a name is provided.
110
118
  *
111
- * @since 1.0.0
119
+ * @since 4.0.0
112
120
  *
113
121
  * ```ts
114
122
  * import { expect, layer } from "@effect/vitest"
115
- * import { Effect, Layer, ServiceMap } from "effect"
123
+ * import { Effect, Layer, Context } from "effect"
116
124
  *
117
- * class Foo extends ServiceMap.Service("Foo")<Foo, "foo">() {
125
+ * class Foo extends Context.Service("Foo")<Foo, "foo">() {
118
126
  * static Live = Layer.succeed(Foo, "foo")
119
127
  * }
120
128
  *
121
- * class Bar extends ServiceMap.Service("Bar")<Bar, "bar">() {
129
+ * class Bar extends Context.Service("Bar")<Bar, "bar">() {
122
130
  * static Live = Layer.effect(
123
131
  * Bar,
124
132
  * Effect.map(Foo, () => "bar" as const)
@@ -146,30 +154,33 @@ export declare const live: Vitest.Tester<Scope.Scope>;
146
154
  */
147
155
  export declare const layer: <R, E>(layer_: Layer.Layer<R, E>, options?: {
148
156
  readonly memoMap?: Layer.MemoMap;
149
- readonly timeout?: Duration.DurationInput;
157
+ readonly timeout?: Duration.Input;
150
158
  readonly excludeTestServices?: boolean;
151
159
  }) => {
152
160
  (f: (it: Vitest.MethodsNonLive<R>) => void): void;
153
161
  (name: string, f: (it: Vitest.MethodsNonLive<R>) => void): void;
154
162
  };
155
163
  /**
156
- * @since 1.0.0
164
+ * @since 4.0.0
157
165
  */
158
- export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R | Scope.Scope>, timeout?: Duration.DurationInput) => Effect.Effect<A, never, R>;
166
+ export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R | Scope.Scope>, timeout?: Duration.Input) => Effect.Effect<A, never, R>;
159
167
  /**
160
- * @since 1.0.0
168
+ * @since 4.0.0
161
169
  */
162
170
  export declare const prop: Vitest.Methods["prop"];
163
171
  /**
164
- * @since 1.0.0
172
+ * @since 4.0.0
173
+ */
174
+ /**
175
+ * @since 4.0.0
165
176
  */
166
177
  export declare const it: Vitest.Methods;
167
178
  /**
168
- * @since 1.0.0
179
+ * @since 4.0.0
169
180
  */
170
181
  export declare const makeMethods: (it: V.TestAPI) => Vitest.Methods;
171
182
  /**
172
- * @since 1.0.0
183
+ * @since 4.0.0
173
184
  */
174
185
  export declare const describeWrapped: (name: string, f: (it: Vitest.Methods) => void) => V.SuiteCollector;
175
186
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,36 +1,36 @@
1
1
  import * as V from "vitest";
2
2
  import * as internal from "./internal/internal.js";
3
3
  /**
4
- * @since 1.0.0
4
+ * @since 4.0.0
5
5
  */
6
6
  export * from "vitest";
7
7
  /**
8
- * @since 1.0.0
8
+ * @since 4.0.0
9
9
  */
10
10
  export const addEqualityTesters = internal.addEqualityTesters;
11
11
  /**
12
- * @since 1.0.0
12
+ * @since 4.0.0
13
13
  */
14
14
  export const effect = internal.effect;
15
15
  /**
16
- * @since 1.0.0
16
+ * @since 4.0.0
17
17
  */
18
18
  export const live = internal.live;
19
19
  /**
20
20
  * Share a `Layer` between multiple tests, optionally wrapping
21
21
  * the tests in a `describe` block if a name is provided.
22
22
  *
23
- * @since 1.0.0
23
+ * @since 4.0.0
24
24
  *
25
25
  * ```ts
26
26
  * import { expect, layer } from "@effect/vitest"
27
- * import { Effect, Layer, ServiceMap } from "effect"
27
+ * import { Effect, Layer, Context } from "effect"
28
28
  *
29
- * class Foo extends ServiceMap.Service("Foo")<Foo, "foo">() {
29
+ * class Foo extends Context.Service("Foo")<Foo, "foo">() {
30
30
  * static Live = Layer.succeed(Foo, "foo")
31
31
  * }
32
32
  *
33
- * class Bar extends ServiceMap.Service("Bar")<Bar, "bar">() {
33
+ * class Bar extends Context.Service("Bar")<Bar, "bar">() {
34
34
  * static Live = Layer.effect(
35
35
  * Bar,
36
36
  * Effect.map(Foo, () => "bar" as const)
@@ -58,34 +58,26 @@ export const live = internal.live;
58
58
  */
59
59
  export const layer = internal.layer;
60
60
  /**
61
- * @since 1.0.0
61
+ * @since 4.0.0
62
62
  */
63
63
  export const flakyTest = internal.flakyTest;
64
64
  /**
65
- * @since 1.0.0
65
+ * @since 4.0.0
66
66
  */
67
67
  export const prop = internal.prop;
68
68
  /**
69
- * @since 1.0.0
69
+ * @since 4.0.0
70
70
  */
71
- /** @ignored */
72
- const methods = {
73
- effect,
74
- live,
75
- flakyTest,
76
- layer,
77
- prop
78
- };
79
71
  /**
80
- * @since 1.0.0
72
+ * @since 4.0.0
81
73
  */
82
- export const it = /*#__PURE__*/Object.assign(V.it, methods);
74
+ export const it = /*#__PURE__*/internal.makeMethods(V.it);
83
75
  /**
84
- * @since 1.0.0
76
+ * @since 4.0.0
85
77
  */
86
78
  export const makeMethods = internal.makeMethods;
87
79
  /**
88
- * @since 1.0.0
80
+ * @since 4.0.0
89
81
  */
90
82
  export const describeWrapped = internal.describeWrapped;
91
83
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["V","internal","addEqualityTesters","effect","live","layer","flakyTest","prop","methods","it","Object","assign","makeMethods","describeWrapped"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,CAAC,MAAM,QAAQ;AAC3B,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD;;;AAGA,cAAc,QAAQ;AAsItB;;;AAGA,OAAO,MAAMC,kBAAkB,GAAeD,QAAQ,CAACC,kBAAkB;AAEzE;;;AAGA,OAAO,MAAMC,MAAM,GAA+BF,QAAQ,CAACE,MAAM;AAEjE;;;AAGA,OAAO,MAAMC,IAAI,GAA+BH,QAAQ,CAACG,IAAI;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,OAAO,MAAMC,KAAK,GAUdJ,QAAQ,CAACI,KAAK;AAElB;;;AAGA,OAAO,MAAMC,SAAS,GAGYL,QAAQ,CAACK,SAAS;AAEpD;;;AAGA,OAAO,MAAMC,IAAI,GAA2BN,QAAQ,CAACM,IAAI;AAEzD;;;AAIA;AACA,MAAMC,OAAO,GAAG;EAAEL,MAAM;EAAEC,IAAI;EAAEE,SAAS;EAAED,KAAK;EAAEE;AAAI,CAAW;AAEjE;;;AAGA,OAAO,MAAME,EAAE,gBAAmBC,MAAM,CAACC,MAAM,CAACX,CAAC,CAACS,EAAE,EAAED,OAAO,CAAC;AAE9D;;;AAGA,OAAO,MAAMI,WAAW,GAAsCX,QAAQ,CAACW,WAAW;AAElF;;;AAGA,OAAO,MAAMC,eAAe,GAC1BZ,QAAQ,CAACY,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["V","internal","addEqualityTesters","effect","live","layer","flakyTest","prop","it","makeMethods","describeWrapped"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,CAAC,MAAM,QAAQ;AAC3B,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD;;;AAGA,cAAc,QAAQ;AAiJtB;;;AAGA,OAAO,MAAMC,kBAAkB,GAAeD,QAAQ,CAACC,kBAAkB;AAEzE;;;AAGA,OAAO,MAAMC,MAAM,GAA+BF,QAAQ,CAACE,MAAM;AAEjE;;;AAGA,OAAO,MAAMC,IAAI,GAA+BH,QAAQ,CAACG,IAAI;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,OAAO,MAAMC,KAAK,GAUdJ,QAAQ,CAACI,KAAK;AAElB;;;AAGA,OAAO,MAAMC,SAAS,GAGYL,QAAQ,CAACK,SAAS;AAEpD;;;AAGA,OAAO,MAAMC,IAAI,GAA2BN,QAAQ,CAACM,IAAI;AAEzD;;;AAIA;;;AAGA,OAAO,MAAMC,EAAE,gBAAmBP,QAAQ,CAACQ,WAAW,CAACT,CAAC,CAACQ,EAAE,CAAC;AAE5D;;;AAGA,OAAO,MAAMC,WAAW,GAAsCR,QAAQ,CAACQ,WAAW;AAElF;;;AAGA,OAAO,MAAMC,eAAe,GAC1BT,QAAQ,CAACS,eAAe","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * @since 4.0.0
3
3
  */
4
4
  export {};
5
5
  //# sourceMappingURL=internal.d.ts.map
@@ -1,6 +1,7 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * @since 4.0.0
3
3
  */
4
+ import { getCurrentSuite } from "@vitest/runner";
4
5
  import * as Cause from "effect/Cause";
5
6
  import * as Duration from "effect/Duration";
6
7
  import * as Effect from "effect/Effect";
@@ -38,6 +39,30 @@ export const addEqualityTesters = () => {
38
39
  const testOptions = timeout => typeof timeout === "number" ? {
39
40
  timeout
40
41
  } : timeout ?? {};
42
+ const hookTimeout = timeout => timeout === undefined ? undefined : Duration.toMillis(Duration.fromInputUnsafe(timeout));
43
+ const makeItProxy = (it, overrides) => new Proxy(it, {
44
+ apply(target, thisArg, argArray) {
45
+ return Reflect.apply(target, thisArg, argArray);
46
+ },
47
+ get(target, property, receiver) {
48
+ if (property in overrides) {
49
+ return Reflect.get(overrides, property);
50
+ }
51
+ // do not bind: binding would strip vitest's static helpers (e.g. `describe.each`)
52
+ return Reflect.get(target, property, receiver);
53
+ }
54
+ });
55
+ const collectTasks = (tasks, acc = []) => {
56
+ for (let i = 0; i < tasks.length; i++) {
57
+ const task = tasks[i];
58
+ if (task.type === "test" && task.mode !== "skip" && task.mode !== "todo") {
59
+ acc.push(task);
60
+ } else if (task.tasks !== undefined) {
61
+ collectTasks(task.tasks, acc);
62
+ }
63
+ }
64
+ return acc;
65
+ };
41
66
  /** @internal */
42
67
  const makeTester = (mapEffect, it = V.it) => {
43
68
  const run = (ctx, args, self) => pipe(Effect.suspend(() => self(...args)), mapEffect, runTest(ctx));
@@ -66,10 +91,7 @@ const makeTester = (mapEffect, it = V.it) => {
66
91
  }
67
92
  const arbs = fc.record(Object.keys(arbitraries).reduce(function (result, key) {
68
93
  const arb = arbitraries[key];
69
- if (Schema.isSchema(arb)) {
70
- result[key] = Schema.toArbitrary(arb);
71
- }
72
- result[key] = arb;
94
+ result[key] = Schema.isSchema(arb) ? Schema.toArbitrary(arb) : arb;
73
95
  return result;
74
96
  }, {}));
75
97
  return it(name, testOptions(timeout), ctx =>
@@ -122,33 +144,62 @@ export const layer = (layer_, options) => (...args) => {
122
144
  const memoMap = options?.memoMap ?? Effect.runSync(Layer.makeMemoMap);
123
145
  const scope = Effect.runSync(Scope.make());
124
146
  const contextEffect = Layer.buildWithMemoMap(withTestEnv, memoMap, scope).pipe(Effect.orDie, Effect.cached, Effect.runSync);
125
- const makeIt = it => Object.assign(it, {
147
+ let closed = false;
148
+ const closeScope = ctx => {
149
+ if (closed) {
150
+ return Promise.resolve();
151
+ }
152
+ closed = true;
153
+ return runPromise(Scope.close(scope, Exit.void), ctx);
154
+ };
155
+ const makeIt = it => makeItProxy(it, {
126
156
  effect: makeTester(effect => Effect.flatMap(contextEffect, context => effect.pipe(Effect.scoped, Effect.provide(context))), it),
127
157
  prop,
128
158
  flakyTest,
129
159
  layer(nestedLayer, options) {
130
160
  return layer(Layer.provideMerge(nestedLayer, withTestEnv), {
131
161
  ...options,
132
- memoMap,
162
+ memoMap: Layer.forkMemoMapUnsafe(memoMap),
133
163
  excludeTestServices
134
164
  });
135
165
  }
136
166
  });
137
167
  if (args.length === 1) {
138
- V.beforeAll(() => runPromise(Effect.asVoid(contextEffect)), options?.timeout ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.timeout)) : undefined);
139
- V.afterAll(() => runPromise(Scope.close(scope, Exit.void)), options?.timeout ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.timeout)) : undefined);
140
- return args[0](makeIt(V.it));
168
+ const currentSuite = getCurrentSuite();
169
+ const previousTasks = new Set(currentSuite.tasks);
170
+ args[0](makeIt(V.it));
171
+ const blockTasks = collectTasks(currentSuite.tasks.filter(task => !previousTasks.has(task)));
172
+ if (blockTasks.length === 0) {
173
+ V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
174
+ return;
175
+ }
176
+ const blockTaskSet = new Set(blockTasks);
177
+ let remaining = blockTasks.length;
178
+ V.beforeEach(ctx => {
179
+ if (!blockTaskSet.has(ctx.task)) {
180
+ return;
181
+ }
182
+ ctx.onTestFinished(() => {
183
+ remaining--;
184
+ if (remaining === 0) {
185
+ return closeScope(ctx);
186
+ }
187
+ });
188
+ return runPromise(Effect.asVoid(contextEffect), ctx);
189
+ }, hookTimeout(options?.timeout));
190
+ V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
191
+ return;
141
192
  }
142
193
  return V.describe(args[0], () => {
143
- V.beforeAll(() => runPromise(Effect.asVoid(contextEffect)), options?.timeout ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.timeout)) : undefined);
144
- V.afterAll(() => runPromise(Scope.close(scope, Exit.void)), options?.timeout ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.timeout)) : undefined);
194
+ V.beforeAll(() => runPromise(Effect.asVoid(contextEffect)), hookTimeout(options?.timeout));
195
+ V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
145
196
  return args[1](makeIt(V.it));
146
197
  });
147
198
  };
148
199
  /** @internal */
149
- export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(self, Effect.scoped, Effect.sandbox, Effect.retry(pipe(Schedule.recurs(10), Schedule.while(_ => Effect.succeed(Duration.isLessThanOrEqualTo(Duration.fromDurationInputUnsafe(_.elapsed), Duration.fromDurationInputUnsafe(timeout)))))), Effect.orDie);
200
+ export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(self, Effect.scoped, Effect.sandbox, Effect.retry(pipe(Schedule.recurs(10), Schedule.while(_ => Effect.succeed(Duration.isLessThanOrEqualTo(Duration.fromInputUnsafe(_.elapsed), Duration.fromInputUnsafe(timeout)))))), Effect.orDie);
150
201
  /** @internal */
151
- export const makeMethods = it => Object.assign(it, {
202
+ export const makeMethods = it => makeItProxy(it, {
152
203
  effect: makeTester(flow(Effect.scoped, Effect.provide(TestEnv)), it),
153
204
  live: makeTester(Effect.scoped, it),
154
205
  flakyTest,
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","names":["Cause","Duration","Effect","Exit","flow","pipe","Layer","isObject","Schedule","Schema","Scope","fc","TestClock","TestConsole","V","runPromise","fnUntraced","effect","_ctx","exit","isFailure","errors","prettyErrors","cause","i","length","logError","_","ctx","signal","runTest","TestEnv","mergeAll","layer","addEqualityTesters","expect","testOptions","timeout","makeTester","mapEffect","it","run","args","self","suspend","f","name","skip","skipIf","condition","runIf","only","each","cases","for","fails","prop","arbitraries","Array","isArray","arbs","map","arbitrary","isSchema","toArbitrary","assert","asyncProperty","as","fastCheck","record","Object","keys","reduce","result","key","arb","assign","Error","property","layer_","options","excludeTestServices","withTestEnv","provideMerge","memoMap","runSync","makeMemoMap","scope","make","contextEffect","buildWithMemoMap","orDie","cached","makeIt","flatMap","context","scoped","provide","flakyTest","nestedLayer","beforeAll","asVoid","toMillis","fromDurationInputUnsafe","undefined","afterAll","close","void","describe","seconds","sandbox","retry","recurs","while","succeed","isLessThanOrEqualTo","elapsed","makeMethods","live","describeWrapped"],"sources":["../../src/internal/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"internal.js","names":["getCurrentSuite","Cause","Duration","Effect","Exit","flow","pipe","Layer","isObject","Schedule","Schema","Scope","fc","TestClock","TestConsole","V","runPromise","fnUntraced","effect","_ctx","exit","isFailure","errors","prettyErrors","cause","i","length","logError","_","ctx","signal","runTest","TestEnv","mergeAll","layer","addEqualityTesters","expect","testOptions","timeout","hookTimeout","undefined","toMillis","fromInputUnsafe","makeItProxy","it","overrides","Proxy","apply","target","thisArg","argArray","Reflect","get","property","receiver","collectTasks","tasks","acc","task","type","mode","push","makeTester","mapEffect","run","args","self","suspend","f","name","skip","skipIf","condition","runIf","only","each","cases","for","fails","prop","arbitraries","Array","isArray","arbs","map","arbitrary","isSchema","toArbitrary","assert","asyncProperty","as","fastCheck","record","Object","keys","reduce","result","key","arb","assign","Error","layer_","options","excludeTestServices","withTestEnv","provideMerge","memoMap","runSync","makeMemoMap","scope","make","contextEffect","buildWithMemoMap","orDie","cached","closed","closeScope","Promise","resolve","close","void","makeIt","flatMap","context","scoped","provide","flakyTest","nestedLayer","forkMemoMapUnsafe","currentSuite","previousTasks","Set","blockTasks","filter","has","afterAll","blockTaskSet","remaining","beforeEach","onTestFinished","asVoid","describe","beforeAll","seconds","sandbox","retry","recurs","while","succeed","isLessThanOrEqualTo","elapsed","makeMethods","live","describeWrapped"],"sources":["../../src/internal/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}