Hyperlinkv0.8.0-beta.28

FiberHandle

FiberHandle.getUnsafefunctioneffect/FiberHandle.ts:438
<A, E>(self: FiberHandle<A, E>): Option.Option<Fiber.Fiber<A, E>>

Retrieves the fiber from the FiberHandle synchronously.

When to use

Use when synchronous inspection of the current fiber is needed and an Option result is enough outside the Effect workflow.

Example (Reading the current fiber unsafely)

import { Effect, FiberHandle } from "effect"

Effect.gen(function*() {
  const handle = yield* FiberHandle.make()

  // No fiber initially
  const emptyFiber = FiberHandle.getUnsafe(handle)
  console.log(emptyFiber._tag === "None") // true

  // Add a fiber
  yield* FiberHandle.run(handle, Effect.succeed("hello"))
  const fiber = FiberHandle.getUnsafe(handle)
  console.log(fiber._tag === "Some") // true
})
combinators
export function getUnsafe<A, E>(self: FiberHandle<A, E>): Option.Option<Fiber.Fiber<A, E>> {
  return self.state._tag === "Closed" ? Option.none() : Option.fromUndefinedOr(self.state.fiber)
}
Referenced by 1 symbols