Hyperlinkv0.8.0-beta.28

Resource

Resource.refreshconsteffect/Resource.ts:183
<A, E>(self: Resource<A, E>): Effect.Effect<void, E>

Re-runs this resource's acquisition effect and updates the current value.

When to use

Use to force an existing Resource to reacquire its value at a caller-controlled point.

Details

When acquisition succeeds, refreshing replaces the value stored in the resource's scoped reference and releases resources associated with the previous value.

Gotchas

If acquisition fails, the returned effect fails and the previously stored result is left as what get reads.

resource managementgetmanualauto
export const refresh = <A, E>(self: Resource<A, E>): Effect.Effect<void, E> =>
  ScopedRef.set(self.scopedRef, Effect.map(self.acquire, Exit.succeed))
Referenced by 1 symbols