- Updated dependencies [
61a99b2
]:- effect@3.9.2
- Updated dependencies [
3b2ad1d
]:- effect@3.9.1
- Updated dependencies [
ff3d1aa
,0ba66f2
,bf77f51
,016f9ad
,0779681
,534129f
,d75140c
,be0451c
,9237ac6
,be0451c
,5b36494
,c716adb
,4986391
,d75140c
,d1387ae
]:- effect@3.9.0
-
#3689
4d91f41
Thanks @tim-smart! - add layer api to@effect/vitest
This allows you to share a
Layer
between multiple tests, optionally wrapping the tests in adescribe
block.import { expect, layer } from "@effect/vitest" import { Context, Effect, Layer } from "effect" class Foo extends Context.Tag("Foo")<Foo, "foo">() { static Live = Layer.succeed(Foo, "foo") } class Bar extends Context.Tag("Bar")<Bar, "bar">() { static Live = Layer.effect( Bar, Effect.map(Foo, () => "bar" as const) ) } layer(Foo.Live)("layer", (it) => { it.effect("adds context", () => Effect.gen(function* () { const foo = yield* Foo expect(foo).toEqual("foo") }) ) it.layer(Bar.Live)("nested", (it) => { it.effect("adds context", () => Effect.gen(function* () { const foo = yield* Foo const bar = yield* Bar expect(foo).toEqual("foo") expect(bar).toEqual("bar") }) ) }) })
- Updated dependencies [
4509656
]:- effect@3.8.4
- Updated dependencies [
bb5ec6b
]:- effect@3.8.3
- Updated dependencies [
f0d8ef1
]:- effect@3.8.2
- Updated dependencies [
fcfa6ee
,bb9931b
,5798f76
,5f0bfa1
,812a4e8
,273565e
,569a801
,aa1fa53
,02f6b06
,12b893e
,bbad27e
,adf7d7a
,007289a
,42a8f99
,eebfd29
,040703d
]:- effect@3.8.0
- Updated dependencies [
35a0f81
]:- effect@3.7.3
- Updated dependencies [
db89601
,2f456cc
,8745e41
,e557838
,d6e7e40
,8356321
,192f2eb
,718cb70
,e9d0310
,6bf28f7
]:- effect@3.7.0
- Updated dependencies [
e809286
]:- effect@3.6.8
- Updated dependencies [
50ec889
]:- effect@3.6.7
- Updated dependencies [
04adcac
]:- effect@3.6.3
- Updated dependencies [
fd4b2f6
]:- effect@3.6.2
-
#3416
8cc1517
Thanks @sukovanej! - Interrupt an effect when a test finishes. This ensures allocated resources will be correctly released even if the test times out.import { it } from "@effect/vitest" import { Console, Effect, Layer } from "effect" class Database extends Effect.Tag("Database")<Database, {}>() { static readonly test = Layer.scoped( Database, Effect.acquireRelease( Effect.as(Console.log("database setup"), Database.of({})), () => Console.log("database teardown") ) ) } it.live( "testing with closable resources", () => Effect.gen(function* () { const database = yield* Database // performing some time consuming operations yield* Effect.sleep("500 millis") }).pipe(Effect.provide(Database.test)), { timeout: 100 } )
- Updated dependencies [
1e0fe80
,8135294
,cd255a4
,3845646
,2d09078
,4bce5a0
,4ddbff0
,e74cc38
,bb069b4
,cd255a4
,7d02174
]:- effect@3.6.0
-
#3310
99bddcf
Thanks @fubhy! - Added additional pure annotations to improve tree-shakeability -
Updated dependencies [
3afcc93
,99bddcf
]:- effect@3.5.7
- Updated dependencies [
a9d7800
]:- effect@3.5.5
- Updated dependencies [
55fdd76
]:- effect@3.5.1
- Updated dependencies [
a1f5b83
,a1f5b83
,a1f5b83
,60bc3d0
,5ab348f
,60bc3d0
,3e04bf8
,e7fc45f
,a1f5b83
,4626de5
,f01e7db
,60bc3d0
,79d2d91
,ac71f37
,8432360
,e4bf1bf
,13cb861
,79d2d91
,e7fc45f
,9f66825
]:- effect@3.5.0
- Updated dependencies [
a5737d6
]:- effect@3.4.7
-
#3122
489d20a
Thanks @sukovanej! - Refactor@effect/vitest
package.- Clear separation of the public API and internals.
- Fix type of
scoped
,live
,scopedLive
andeffect
objects. Make sureskip
andonly
are available. - Add
each
method toscoped
,live
,scopedLive
andeffect
objects.
Example usage
import { expect, it } from "@effect/vitest" import { Effect } from "effect" it.scoped.skip("test skipped", () => Effect.acquireRelease(Effect.die("skipped anyway"), () => Effect.void) ) it.effect.each([1, 2, 3])("effect each %s", (n) => Effect.sync(() => expect(n).toEqual(n)) )
- Updated dependencies [
a047af9
]:- effect@3.4.5
- Updated dependencies [
3da1497
]:- effect@3.4.2
- Updated dependencies [
66a1910
]:- effect@3.4.1
- Updated dependencies [
c0ce180
,61707b6
,9c1b5b3
,a35faf8
,ff73c0c
,984d516
,8c3b8a2
,017e2f9
,91bf8a2
,c6a4a26
]:- effect@3.4.0
- Updated dependencies [
6c89408
]:- effect@3.3.5
- Updated dependencies [
a67b8fe
]:- effect@3.3.4
- Updated dependencies [
1f4ac00
,9305b76
,0f40d98
,b761ef0
,b53f69b
,0f40d98
,5bd549e
,67f160a
]:- effect@3.3.0
- Updated dependencies [
fb91f17
]:- effect@3.2.8
- Updated dependencies [
6801fca
]:- effect@3.2.7
-
#2869
7348505
Thanks @gcanti! - Updatetimeout
parameter type inflakyTest
function to acceptDurationInput
-
Updated dependencies [
cc8ac50
]:- effect@3.2.6
- Updated dependencies [
45578e8
]:- effect@3.2.3
- Updated dependencies [
c1e991d
]:- effect@3.2.1
- #2778
64c9414
Thanks @tim-smart! - Improve causal rendering in vitest by rethrowing pretty errors
-
#2778
64c9414
Thanks @tim-smart! - Throw plain error object derived from fiber failure -
Updated dependencies [
146cadd
,7135748
,7135748
,963b4e7
,64c9414
,7135748
,2cbb76b
,870c5fa
,7135748
,64c9414
]:- effect@3.2.0
- Updated dependencies [
6ac4847
]:- effect@3.1.5
-
#2732
e41e911
Thanks @mikearnaldi! - Fix usage oftoMatchObject
. -
Updated dependencies [
e41e911
]:- effect@3.1.4
- Updated dependencies [
1f6dc96
]:- effect@3.1.3
- Updated dependencies [
2e1cdf6
]:- effect@3.1.2
- #2670
e5e56d1
Thanks @tim-smart! - IntroduceaddEqualityTesters
function which adds a custom vitest tester
- Updated dependencies [
e5e56d1
]:- effect@3.1.1
-
#2656
557707b
Thanks @tim-smart! - update dependencies -
Updated dependencies [
557707b
,f4ed306
,661004f
,e79cb83
]:- effect@3.0.8
- Updated dependencies [
18de56b
]:- effect@3.0.7
- Updated dependencies [
9a24667
]:- effect@3.0.4
- Updated dependencies [
a7b4b84
]:- effect@3.0.3
-
Updated dependencies [
2cecdbd
]:- effect@3.0.2
-
#2207
5a2314b
Thanks @github-actions! - replace use ofunit
terminology withvoid
For all the data types.
Effect.unit // => Effect.void Stream.unit // => Stream.void // etc
-
#2207
2fb7d9c
Thanks @github-actions! - Release Effect 3.0 🎉
- Updated dependencies [
1b5f0c7
,d50a652
,9a3bd47
,be9d025
,78b767c
,1499974
,1b5f0c7
,5c2b561
,a18f594
,1499974
,2f96d93
,5a2314b
,271b79f
,1b5f0c7
,2fb7d9c
,53d1c2a
,e7e1bbe
,10c169e
,6424181
]:- effect@3.0.0
- Updated dependencies [
41c8102
,776ef2b
,217147e
,90776ec
,8709856
,232c353
,0ca835c
,8709856
,e983740
,e3e0924
]:- effect@2.4.19
- Updated dependencies [
dadc690
]:- effect@2.4.18
- Updated dependencies [
8fdfda6
,607b2e7
,8fdfda6
,8206caf
,7ddd654
,7ddd654
,8fdfda6
,f456ba2
]:- effect@2.4.17
- Updated dependencies [
5170ce7
]:- effect@2.4.16
- Updated dependencies [
6180c0c
]:- effect@2.4.14
-
#2394
b6ee13b
Thanks @mikearnaldi! - Fix helper signatures removing support for passing effects as discriminating between effects and functions is not safeRe-export vitest with patched "it"
-
#2385
3307729
Thanks @tim-smart! - update typescript to 5.4 -
Updated dependencies [
3307729
]:- effect@2.4.12
- #2369
64a250d
Thanks @tim-smart! - expose effect vitest helpers