Hyperlinkv0.8.0-beta.28

SubscriptionRef

SubscriptionRef.setconsteffect/SubscriptionRef.ts:662
<A>(value: A): (self: SubscriptionRef<A>) => Effect.Effect<void>
<A>(self: SubscriptionRef<A>, value: A): Effect.Effect<void>

Sets the value of the SubscriptionRef, notifying all subscribers of the change.

Example (Setting a value)

import { Effect, SubscriptionRef } from "effect"

const program = Effect.gen(function*() {
  const ref = yield* SubscriptionRef.make(0)

  yield* SubscriptionRef.set(ref, 42)

  const value = yield* SubscriptionRef.get(ref)
  console.log(value)
})
setters
export const set: {
  <A>(value: A): (self: SubscriptionRef<A>) => Effect.Effect<void>
  <A>(self: SubscriptionRef<A>, value: A): Effect.Effect<void>
} = dual(
  2,
  <A>(self: SubscriptionRef<A>, value: A) => self.semaphore.withPermit(Effect.sync(() => setUnsafe(self, value)))
)