Hyperlinkv0.8.0-beta.28

Resource

Resource.autoconsteffect/Resource.ts:128
<A, E, R, Out, E2, R2>(
  acquire: Effect.Effect<A, E, R>,
  policy: Schedule.Schedule<Out, unknown, E2, R2>
): Effect.Effect<Resource<A, E>, never, R | R2 | Scope.Scope>

Creates a Resource that refreshes automatically according to the supplied schedule.

When to use

Use when a resource should refresh in the background according to a schedule for the lifetime of its scope.

constructorsmanualrefresh
export const auto = <A, E, R, Out, E2, R2>(
  acquire: Effect.Effect<A, E, R>,
  policy: Schedule.Schedule<Out, unknown, E2, R2>
): Effect.Effect<Resource<A, E>, never, R | R2 | Scope.Scope> =>
  Effect.tap(
    manual(acquire),
    (self) => Effect.forkScoped(Effect.repeat(refresh(self), policy))
  )