Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

MutableRef

18 exports Since v2.0.0 Source

Boolean

Since v2.0.0

Signature

declare function toggle(self: MutableRef<boolean>): MutableRef<boolean>

Constructors

Since v2.0.0

Signature

declare function make<T>(value: T): MutableRef<T>

General

Signature

declare const compareAndSet: {
<T>(oldValue: T, newValue: T): (self: MutableRef<T>) => boolean;
<T>(self: MutableRef<T>, oldValue: T, newValue: T): boolean;
}
Since v2.0.0

Signature

declare function get<T>(self: MutableRef<T>): T

Signature

declare const getAndSet: {
<T>(value: T): (self: MutableRef<T>) => T;
<T>(self: MutableRef<T>, value: T): T;
}

Signature

declare const getAndUpdate: {
<T>(f: (value: T) => T): (self: MutableRef<T>) => T;
<T>(self: MutableRef<T>, f: (value: T) => T): T;
}
Since v2.0.0

Signature

declare const set: {
<T>(value: T): (self: MutableRef<T>) => MutableRef<T>;
<T>(self: MutableRef<T>, value: T): MutableRef<T>;
}

Signature

declare const setAndGet: {
<T>(value: T): (self: MutableRef<T>) => T;
<T>(self: MutableRef<T>, value: T): T;
}
Since v2.0.0

Signature

declare const update: {
<T>(f: (value: T) => T): (self: MutableRef<T>) => MutableRef<T>;
<T>(self: MutableRef<T>, f: (value: T) => T): MutableRef<T>;
}

Signature

declare const updateAndGet: {
<T>(f: (value: T) => T): (self: MutableRef<T>) => T;
<T>(self: MutableRef<T>, f: (value: T) => T): T;
}

Models

MutableRef

interface
Since v2.0.0

Signature

interface MutableRef<out T> extends Pipeable, Inspectable {
readonly [TypeId]: typeof TypeId;
current: T;
}

Numeric

Signature

declare function decrement(self: MutableRef<number>): MutableRef<number>

Signature

declare function decrementAndGet(self: MutableRef<number>): number

Signature

declare function getAndDecrement(self: MutableRef<number>): number

Signature

declare function getAndIncrement(self: MutableRef<number>): number

Signature

declare function increment(self: MutableRef<number>): MutableRef<number>

Signature

declare function incrementAndGet(self: MutableRef<number>): number

Symbol

Since v2.0.0

Signature

type TypeId = typeof TypeId