Ref
Constructors
Getters
Models
Signature
interface Ref<in out A> extends Variance<A>, Effect<A>, Readable<A> { readonly [ignoreSymbol]?: RefUnifyIgnore; readonly [typeSymbol]?: unknown; readonly [unifySymbol]?: RefUnify<Ref<A>>; modify<B>(f: (a: A) => readonly [B, A]): Effect<B>;}Signature
interface RefUnify<A extends { [typeSymbol]?: any;}> extends EffectUnify<A> { Ref?: () => Extract<A[typeof typeSymbol], Ref<any>>;}RefUnifyIgnore
interface Since v3.8.0 Source
Signature
interface RefUnifyIgnore extends EffectUnifyIgnore { Effect?: true;}Symbols
Unsafe
Since v2.0.0 Source
Signature
declare const unsafeMake: <A>(value: A) => Ref<A>Utils
Signature
declare const getAndSet: { <A>(value: A): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, value: A): Effect<A>;} Since v2.0.0 Source
Signature
declare const getAndUpdate: { <A>(f: (a: A) => A): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, f: (a: A) => A): Effect<A>;} Since v2.0.0 Source
Signature
declare const getAndUpdateSome: { <A>(pf: (a: A) => Option<A>): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, pf: (a: A) => Option<A>): Effect<A>;}Signature
declare const modify: { <A, B>(f: (a: A) => readonly [B, A]): (self: Ref<A>) => Effect<B>; <A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]): Effect<B>;} Since v2.0.0 Source
Signature
declare const modifySome: { <B, A>(fallback: B, pf: (a: A) => Option<readonly [B, A]>): (self: Ref<A>) => Effect<B>; <A, B>(self: Ref<A>, fallback: B, pf: (a: A) => Option<readonly [B, A]>): Effect<B>;}Signature
declare const set: { <A>(value: A): (self: Ref<A>) => Effect<void>; <A>(self: Ref<A>, value: A): Effect<void>;}Signature
declare const setAndGet: { <A>(value: A): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, value: A): Effect<A>;}Signature
declare const update: { <A>(f: (a: A) => A): (self: Ref<A>) => Effect<void>; <A>(self: Ref<A>, f: (a: A) => A): Effect<void>;} Since v2.0.0 Source
Signature
declare const updateAndGet: { <A>(f: (a: A) => A): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, f: (a: A) => A): Effect<A>;} Since v2.0.0 Source
Signature
declare const updateSome: { <A>(f: (a: A) => Option<A>): (self: Ref<A>) => Effect<void>; <A>(self: Ref<A>, f: (a: A) => Option<A>): Effect<void>;} Since v2.0.0 Source
Signature
declare const updateSomeAndGet: { <A>(pf: (a: A) => Option<A>): (self: Ref<A>) => Effect<A>; <A>(self: Ref<A>, pf: (a: A) => Option<A>): Effect<A>;}