/** * @since 2.0.0 */ import type * as Cause from "./Cause.js"; import type * as Chunk from "./Chunk.js"; import type * as Context from "./Context.js"; import type * as Differ from "./Differ.js"; import type * as Effect from "./Effect.js"; import type { LazyArg } from "./Function.js"; import type * as HashMap from "./HashMap.js"; import type * as HashSet from "./HashSet.js"; import type * as List from "./List.js"; import type * as Logger from "./Logger.js"; import type * as LogLevel from "./LogLevel.js"; import type * as LogSpan from "./LogSpan.js"; import type * as MetricLabel from "./MetricLabel.js"; import type * as Option from "./Option.js"; import type * as Request from "./Request.js"; import type * as RuntimeFlags from "./RuntimeFlags.js"; import * as Scheduler from "./Scheduler.js"; import type * as Scope from "./Scope.js"; import type * as Supervisor from "./Supervisor.js"; import type * as Tracer from "./Tracer.js"; import type * as Types from "./Types.js"; import type * as Unify from "./Unify.js"; /** * @since 2.0.0 * @category symbols */ export declare const FiberRefTypeId: unique symbol; /** * @since 2.0.0 * @category symbols */ export type FiberRefTypeId = typeof FiberRefTypeId; /** * @since 2.0.0 * @category model */ export interface FiberRef extends Effect.Effect, Variance { readonly [Unify.typeSymbol]?: unknown; readonly [Unify.unifySymbol]?: FiberRefUnify; readonly [Unify.ignoreSymbol]?: FiberRefUnifyIgnore; } /** * @category models * @since 3.8.0 */ export interface FiberRefUnify extends Effect.EffectUnify { FiberRef?: () => Extract>; } /** * @category models * @since 3.8.0 */ export interface FiberRefUnifyIgnore extends Effect.EffectUnifyIgnore { Effect?: true; } /** * @since 2.0.0 * @category models */ export interface Variance { readonly [FiberRefTypeId]: { readonly _A: Types.Invariant; }; } /** * @since 2.0.0 * @category constructors */ export declare const make: (initial: A, options?: { readonly fork?: ((a: A) => A) | undefined; readonly join?: ((left: A, right: A) => A) | undefined; }) => Effect.Effect, never, Scope.Scope>; /** * @since 2.0.0 * @category constructors */ export declare const makeWith: (ref: LazyArg>) => Effect.Effect, never, Scope.Scope>; /** * @since 2.0.0 * @category constructors */ export declare const makeContext: (initial: Context.Context) => Effect.Effect>, never, Scope.Scope>; /** * @since 2.0.0 * @category constructors */ export declare const makeRuntimeFlags: (initial: RuntimeFlags.RuntimeFlags) => Effect.Effect, never, Scope.Scope>; /** * @since 2.0.0 * @category constructors */ export declare const unsafeMake: (initial: Value, options?: { readonly fork?: ((a: Value) => Value) | undefined; readonly join?: ((left: Value, right: Value) => Value) | undefined; }) => FiberRef; /** * @since 2.0.0 * @category constructors */ export declare const unsafeMakeHashSet: (initial: HashSet.HashSet) => FiberRef>; /** * @since 2.0.0 * @category constructors */ export declare const unsafeMakeContext: (initial: Context.Context) => FiberRef>; /** * @since 2.0.0 * @category constructors */ export declare const unsafeMakeSupervisor: (initial: Supervisor.Supervisor) => FiberRef>; /** * @since 2.0.0 * @category constructors */ export declare const unsafeMakePatch: (initial: Value, options: { readonly differ: Differ.Differ; readonly fork: Patch; readonly join?: ((oldV: Value, newV: Value) => Value) | undefined; }) => FiberRef; /** * @since 2.0.0 * @category getters */ export declare const get: (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ export declare const getAndSet: { /** * @since 2.0.0 * @category utils */ (value: A): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, value: A): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const getAndUpdate: { /** * @since 2.0.0 * @category utils */ (f: (a: A) => A): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, f: (a: A) => A): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const getAndUpdateSome: { /** * @since 2.0.0 * @category utils */ (pf: (a: A) => Option.Option): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, pf: (a: A) => Option.Option): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const getWith: { /** * @since 2.0.0 * @category utils */ (f: (a: A) => Effect.Effect): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, f: (a: A) => Effect.Effect): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const set: { /** * @since 2.0.0 * @category utils */ (value: A): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, value: A): Effect.Effect; }; declare const _delete: (self: FiberRef) => Effect.Effect; export { /** * @since 2.0.0 * @category utils */ _delete as delete }; /** * @since 2.0.0 * @category utils */ export declare const reset: (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ export declare const modify: { /** * @since 2.0.0 * @category utils */ (f: (a: A) => readonly [B, A]): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, f: (a: A) => readonly [B, A]): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const modifySome: (self: FiberRef, def: B, f: (a: A) => Option.Option) => Effect.Effect; /** * @since 2.0.0 * @category utils */ export declare const update: { /** * @since 2.0.0 * @category utils */ (f: (a: A) => A): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, f: (a: A) => A): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const updateSome: { /** * @since 2.0.0 * @category utils */ (pf: (a: A) => Option.Option): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, pf: (a: A) => Option.Option): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const updateAndGet: { /** * @since 2.0.0 * @category utils */ (f: (a: A) => A): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, f: (a: A) => A): Effect.Effect; }; /** * @since 2.0.0 * @category utils */ export declare const updateSomeAndGet: { /** * @since 2.0.0 * @category utils */ (pf: (a: A) => Option.Option): (self: FiberRef) => Effect.Effect; /** * @since 2.0.0 * @category utils */ (self: FiberRef, pf: (a: A) => Option.Option): Effect.Effect; }; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentConcurrency: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentRequestBatchingEnabled: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentRequestCache: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentRequestCacheEnabled: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentContext: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentSchedulingPriority: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentMaxOpsBeforeYield: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const unhandledErrorLogLevel: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentLogAnnotations: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentLoggers: FiberRef>>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentLogLevel: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentMinimumLogLevel: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentLogSpan: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentRuntimeFlags: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentScheduler: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentSupervisor: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentMetricLabels: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentTracerEnabled: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentTracerTimingEnabled: FiberRef; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentTracerSpanAnnotations: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const currentTracerSpanLinks: FiberRef>; /** * @since 2.0.0 * @category fiberRefs */ export declare const interruptedCause: FiberRef>; //# sourceMappingURL=FiberRef.d.ts.map