Update dependency vitest to v4 - autoclosed #52

Closed
renovate-bot wants to merge 40 commits from renovate/major-vitest-monorepo into master
Showing only changes of commit ad1ef4a73b - Show all commits
+11 -5
View File
@@ -22,8 +22,10 @@ core data model and transformation APIs belong to `effect-lens`, so check the
## Where To Store State ## Where To Store State
State can live pretty much anywhere: in a service, in a layer, in a component State can live pretty much anywhere as a `Lens` or `Subscribable`: in a
scope, or in plain React state. Pick the owner based on who needs the state. service, in a layer, in a component scope, or alongside plain React state. Pick
the owner based on who needs the state. Once you have a Lens/Subscribable
handle, pass it around however you like, including through React props.
If state is shared by multiple components or belongs to application logic, store If state is shared by multiple components or belongs to application logic, store
it in an Effect service: it in an Effect service:
@@ -56,10 +58,14 @@ import { Effect, SubscriptionRef } from "effect"
import { Component, Lens, Subscribable } from "effect-fc" import { Component, Lens, Subscribable } from "effect-fc"
const LocalCounterView = Component.make("LocalCounter")(function* () { const LocalCounterView = Component.make("LocalCounter")(function* () {
const countLens = yield* Component.useOnMount(() => const state = yield* Component.useOnMount(() =>
Effect.map(SubscriptionRef.make(0), Lens.fromSubscriptionRef), Effect.gen(function* () {
const count = Lens.fromSubscriptionRef(yield* SubscriptionRef.make(0))
return { count } as const
}),
) )
const [count] = yield* Subscribable.useAll([countLens]) const [count] = yield* Subscribable.useAll([state.count])
return <p>Count: {count}</p> return <p>Count: {count}</p>
}) })