1"effect/Reloadable#auto":
2 replacement: "LayerRef.Service(..., { layer, invalidationSchedule: schedule, preload: true }).layer"
3 note: "Use LayerRef for scheduled refresh; add idleTimeToLive: Duration.infinity to preserve an always-resident instance."
4"effect/Reloadable#autoFromConfig":
5 replacement: "Layer.unwrap with Effect.contextWith and LayerRef.make"
6 note: "Compute the schedule from the current context, then construct a preloaded LayerRef; no config-specific constructor remains."
7"effect/Reloadable#get":
8 replacement: "ServiceRef.get or Effect.map(ServiceRef.contextEffect, Context.get(Service))"
9 note: "LayerRef.get provides the current context as a layer; contextEffect gives scoped direct access."
10"effect/Reloadable#manual":
11 replacement: "LayerRef.Service(..., { layer, preload: true }).layer"
12 note: "Refresh with the generated service's refresh effect; use infinite idleTimeToLive for v3's resident lifecycle."
13"effect/Reloadable#reload":
14 replacement: "ServiceRef.refresh"
15 note: "Refresh invalidates and immediately reacquires; invalidate alone rebuilds on the next borrow."
16"effect/Reloadable#Reloadable":
17 replacement: "LayerRef.LayerRef<I, E>"
18 note: "LayerRef is the v4 refreshable layer-context abstraction."
19"effect/Reloadable#Reloadable.Variance":
20 replacement: "none"
21 note: "The exported variance artifact was removed and LayerRef has no public counterpart."
22"effect/Reloadable#ReloadableTypeId":
23 replacement: "none"
24 note: "Reloadable was removed and LayerRef's marker is private."
25"effect/Reloadable#reloadFork":
26 replacement: "ServiceRef.refresh.pipe(Effect.ignore({ log: true }), Effect.forkDetach({ startImmediately: true }), Effect.asVoid)"
27 note: "This recreates logged, ignored background refresh; forkDaemon became forkDetach."
28"effect/Reloadable#tag":
29 replacement: "LayerRef.Service<Self>()(id, options)"
30 note: "The generated LayerRef service class is itself the Context.Service key."