Skip to main content Link Search Menu Expand Document (external link)

FiberRef.ts overview

Since v2.0.0


Exports Grouped by Category


constructors

make

Signature

declare const make: <A>(
  initial: A,
  options?: { readonly fork?: ((a: A) => A) | undefined; readonly join?: ((left: A, right: A) => A) | undefined }
) => Effect.Effect<FiberRef<A>, never, Scope.Scope>

Source

Since v2.0.0

makeContext

Signature

declare const makeContext: <A>(
  initial: Context.Context<A>
) => Effect.Effect<FiberRef<Context.Context<A>>, never, Scope.Scope>

Source

Since v2.0.0

makeRuntimeFlags

Signature

declare const makeRuntimeFlags: (
  initial: RuntimeFlags.RuntimeFlags
) => Effect.Effect<FiberRef<RuntimeFlags.RuntimeFlags>, never, Scope.Scope>

Source

Since v2.0.0

makeWith

Signature

declare const makeWith: <Value>(ref: LazyArg<FiberRef<Value>>) => Effect.Effect<FiberRef<Value>, never, Scope.Scope>

Source

Since v2.0.0

unsafeMake

Signature

declare const unsafeMake: <Value>(
  initial: Value,
  options?: {
    readonly fork?: ((a: Value) => Value) | undefined
    readonly join?: ((left: Value, right: Value) => Value) | undefined
  }
) => FiberRef<Value>

Source

Since v2.0.0

unsafeMakeContext

Signature

declare const unsafeMakeContext: <A>(initial: Context.Context<A>) => FiberRef<Context.Context<A>>

Source

Since v2.0.0

unsafeMakeHashSet

Signature

declare const unsafeMakeHashSet: <A>(initial: HashSet.HashSet<A>) => FiberRef<HashSet.HashSet<A>>

Source

Since v2.0.0

unsafeMakePatch

Signature

declare const unsafeMakePatch: <Value, Patch>(
  initial: Value,
  options: {
    readonly differ: Differ.Differ<Value, Patch>
    readonly fork: Patch
    readonly join?: ((oldV: Value, newV: Value) => Value) | undefined
  }
) => FiberRef<Value>

Source

Since v2.0.0

unsafeMakeSupervisor

Signature

declare const unsafeMakeSupervisor: (initial: Supervisor.Supervisor<any>) => FiberRef<Supervisor.Supervisor<any>>

Source

Since v2.0.0

fiberRefs

currentConcurrency

Signature

declare const currentConcurrency: FiberRef<number | "unbounded">

Source

Since v2.0.0

currentContext

Signature

declare const currentContext: FiberRef<Context.Context<never>>

Source

Since v2.0.0

currentLogAnnotations

Signature

declare const currentLogAnnotations: FiberRef<HashMap.HashMap<string, unknown>>

Source

Since v2.0.0

currentLogLevel

Signature

declare const currentLogLevel: FiberRef<LogLevel.LogLevel>

Source

Since v2.0.0

currentLogSpan

Signature

declare const currentLogSpan: FiberRef<List.List<LogSpan.LogSpan>>

Source

Since v2.0.0

currentLoggers

Signature

declare const currentLoggers: FiberRef<HashSet.HashSet<Logger.Logger<unknown, any>>>

Source

Since v2.0.0

currentMaxOpsBeforeYield

Signature

declare const currentMaxOpsBeforeYield: FiberRef<number>

Source

Since v2.0.0

currentMetricLabels

Signature

declare const currentMetricLabels: FiberRef<ReadonlyArray<MetricLabel.MetricLabel>>

Source

Since v2.0.0

currentMinimumLogLevel

Signature

declare const currentMinimumLogLevel: FiberRef<LogLevel.LogLevel>

Source

Since v2.0.0

currentRequestBatchingEnabled

Signature

declare const currentRequestBatchingEnabled: FiberRef<boolean>

Source

Since v2.0.0

currentRequestCache

Signature

declare const currentRequestCache: FiberRef<Request.Cache>

Source

Since v2.0.0

currentRequestCacheEnabled

Signature

declare const currentRequestCacheEnabled: FiberRef<boolean>

Source

Since v2.0.0

currentRuntimeFlags

Signature

declare const currentRuntimeFlags: FiberRef<RuntimeFlags.RuntimeFlags>

Source

Since v2.0.0

currentScheduler

Signature

declare const currentScheduler: FiberRef<Scheduler.Scheduler>

Source

Since v2.0.0

currentSchedulingPriority

Signature

declare const currentSchedulingPriority: FiberRef<number>

Source

Since v2.0.0

currentSupervisor

Signature

declare const currentSupervisor: FiberRef<Supervisor.Supervisor<any>>

Source

Since v2.0.0

currentTracerEnabled

Signature

declare const currentTracerEnabled: FiberRef<boolean>

Source

Since v2.0.0

currentTracerSpanAnnotations

Signature

declare const currentTracerSpanAnnotations: FiberRef<HashMap.HashMap<string, unknown>>

Source

Since v2.0.0

Signature

declare const currentTracerSpanLinks: FiberRef<Chunk.Chunk<Tracer.SpanLink>>

Source

Since v2.0.0

currentTracerTimingEnabled

Signature

declare const currentTracerTimingEnabled: FiberRef<boolean>

Source

Since v2.0.0

interruptedCause

Signature

declare const interruptedCause: FiberRef<Cause.Cause<never>>

Source

Since v2.0.0

unhandledErrorLogLevel

Signature

declare const unhandledErrorLogLevel: FiberRef<Option.Option<LogLevel.LogLevel>>

Source

Since v2.0.0

getters

get

Signature

declare const get: <A>(self: FiberRef<A>) => Effect.Effect<A>

Source

Since v2.0.0

model

FiberRef (interface)

Signature

export interface FiberRef<in out A> extends Effect.Effect<A>, Variance<A> {
  /** @internal */
  readonly initial: A
  /** @internal */
  diff(oldValue: A, newValue: A): unknown
  /** @internal */
  combine(first: unknown, second: unknown): unknown
  /** @internal */
  patch(patch: unknown): (oldValue: A) => A
  /** @internal */
  readonly fork: unknown
  /** @internal */
  join(oldValue: A, newValue: A): A
  readonly [Unify.typeSymbol]?: unknown
  readonly [Unify.unifySymbol]?: FiberRefUnify<this>
  readonly [Unify.ignoreSymbol]?: FiberRefUnifyIgnore
}

Source

Since v2.0.0

models

FiberRefUnify (interface)

Signature

export interface FiberRefUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
  FiberRef?: () => Extract<A[Unify.typeSymbol], FiberRef<any>>
}

Source

Since v3.8.0

FiberRefUnifyIgnore (interface)

Signature

export interface FiberRefUnifyIgnore extends Effect.EffectUnifyIgnore {
  Effect?: true
}

Source

Since v3.8.0

Variance (interface)

Signature

export interface Variance<in out A> {
  readonly [FiberRefTypeId]: {
    readonly _A: Types.Invariant<A>
  }
}

Source

Since v2.0.0

symbols

FiberRefTypeId

Signature

declare const FiberRefTypeId: unique symbol

Source

Since v2.0.0

FiberRefTypeId (type alias)

Signature

type FiberRefTypeId = typeof FiberRefTypeId

Source

Since v2.0.0

utils

delete

Signature

declare const delete: <A>(self: FiberRef<A>) => Effect.Effect<void>

Source

Since v2.0.0

getAndSet

Signature

declare const getAndSet: {
  <A>(value: A): (self: FiberRef<A>) => Effect.Effect<A>
  <A>(self: FiberRef<A>, value: A): Effect.Effect<A>
}

Source

Since v2.0.0

getAndUpdate

Signature

declare const getAndUpdate: {
  <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<A>
  <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<A>
}

Source

Since v2.0.0

getAndUpdateSome

Signature

declare const getAndUpdateSome: {
  <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<A>
  <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
}

Source

Since v2.0.0

getWith

Signature

declare const getWith: {
  <A, B, E, R>(f: (a: A) => Effect.Effect<B, E, R>): (self: FiberRef<A>) => Effect.Effect<B, E, R>
  <A, B, E, R>(self: FiberRef<A>, f: (a: A) => Effect.Effect<B, E, R>): Effect.Effect<B, E, R>
}

Source

Since v2.0.0

modify

Signature

declare const modify: {
  <A, B>(f: (a: A) => readonly [B, A]): (self: FiberRef<A>) => Effect.Effect<B>
  <A, B>(self: FiberRef<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
}

Source

Since v2.0.0

modifySome

Signature

declare const modifySome: <A, B>(
  self: FiberRef<A>,
  def: B,
  f: (a: A) => Option.Option<readonly [B, A]>
) => Effect.Effect<B>

Source

Since v2.0.0

reset

Signature

declare const reset: <A>(self: FiberRef<A>) => Effect.Effect<void>

Source

Since v2.0.0

set

Signature

declare const set: {
  <A>(value: A): (self: FiberRef<A>) => Effect.Effect<void>
  <A>(self: FiberRef<A>, value: A): Effect.Effect<void>
}

Source

Since v2.0.0

update

Signature

declare const update: {
  <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<void>
  <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<void>
}

Source

Since v2.0.0

updateAndGet

Signature

declare const updateAndGet: {
  <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<A>
  <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<A>
}

Source

Since v2.0.0

updateSome

Signature

declare const updateSome: {
  <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<void>
  <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<void>
}

Source

Since v2.0.0

updateSomeAndGet

Signature

declare const updateSomeAndGet: {
  <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<A>
  <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
}

Source

Since v2.0.0