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
Added in v3.8.0
Source
Signature
interface RefUnifyIgnore extends EffectUnifyIgnore { Effect?: true;}Symbols
Unsafe
unsafeMake
Added in 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>;};getAndUpdate
Added in 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>;};getAndUpdateSome
Added in 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>;};modifySome
Added in 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>;};updateAndGet
Added in 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>;};updateSome
Added in 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>;};updateSomeAndGet
Added in 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>;};