import { CachedURI } from "@effect/core/io/Cached/definition" export class CachedInternal implements Cached { readonly [CachedURI] = { _Error: (_: never) => _, _Resource: (_: never) => _ } constructor( readonly ref: ScopedRef>, readonly acquire: Effect ) {} get get(): Effect { return this.ref.get.flatMap(Effect.done) } get refresh(): Effect { return this.ref.set(this.acquire.map(Exit.succeed)) } }