Skip to main content

Interface: MutableSubscribable<T, I>

Defined in: src/sdk/sub/Subscribable.ts:113

A subscribable that can accept inputs to change its state. The state of the subscribable may be derived from the inputs directly or from transformed versions of the inputs.

Extends​

Extended by​

Type Parameters​

Type ParameterDefault type
T-
IT

Properties​

isMutableSubscribable​

readonly isMutableSubscribable: true

Defined in: src/sdk/sub/Subscribable.ts:115

Flags this object as a MutableSubscribable.


isSubscribable​

readonly isSubscribable: true

Defined in: src/sdk/sub/Subscribable.ts:9

Flags this object as a Subscribable.

Inherited from​

Subscribable.isSubscribable

Methods​

get()​

get(): T

Defined in: src/sdk/sub/Accessible.ts:9

Gets this item's state.

Returns​

T

This item's state.

Inherited from​

Subscribable.get


map()​

Call Signature​

map<M>(fn, equalityFunc?): MappedSubscribable<M>

Defined in: src/sdk/sub/Subscribable.ts:28

Maps this subscribable to a new subscribable.

Type Parameters​
Type Parameter
M
Parameters​
ParameterTypeDescription
fn(input, previousVal?) => MThe function to use to map to the new subscribable.
equalityFunc?(a, b) => booleanThe function to use to check for equality between mapped values. Defaults to the strict equality comparison (===).
Returns​

MappedSubscribable<M>

The mapped subscribable.

Inherited from​

Subscribable.map

Call Signature​

map<M>(fn, equalityFunc, mutateFunc, initialVal): MappedSubscribable<M>

Defined in: src/sdk/sub/Subscribable.ts:37

Maps this subscribable to a new subscribable with a persistent, cached value which is mutated when it changes.

Type Parameters​
Type Parameter
M
Parameters​
ParameterTypeDescription
fn(input, previousVal?) => MThe function to use to map to the new subscribable.
equalityFunc(a, b) => booleanThe function to use to check for equality between mapped values.
mutateFunc(oldVal, newVal) => voidThe function to use to change the value of the mapped subscribable.
initialValMThe initial value of the mapped subscribable.
Returns​

MappedSubscribable<M>

The mapped subscribable.

Inherited from​

Subscribable.map


pipe()​

Call Signature​

pipe(to, paused?): Subscription

Defined in: src/sdk/sub/Subscribable.ts:52

Subscribes to and pipes this subscribable's state to a mutable subscribable. Whenever an update of this subscribable's state is received through the subscription, it will be used as an input to change the other subscribable's state.

Parameters​
ParameterTypeDescription
toMutableSubscribable<any, T>The mutable subscribable to which to pipe this subscribable's state.
paused?booleanWhether the new subscription should be initialized as paused. Defaults to false.
Returns​

Subscription

The new subscription.

Inherited from​

Subscribable.pipe

Call Signature​

pipe<OI, OV>(to, map, paused?): Subscription

Defined in: src/sdk/sub/Subscribable.ts:64

Subscribes to this subscribable's state and pipes a mapped version to a mutable subscribable. Whenever an update of this subscribable's state is received through the subscription, it will be transformed by the specified mapping function, and the transformed state will be used as an input to change the other subscribable's state.

Type Parameters​
Type ParameterDefault typeDescription
OI-The input type of the mutable subscribable to which to pipe.
OVunknownThe value type of the mutable subscribable to which to pipe.
Parameters​
ParameterTypeDescription
toMutableSubscribable<OV, OI>The mutable subscribable to which to pipe this subscribable's mapped state.
map(fromVal, toVal) => OIThe function to use to transform inputs.
paused?booleanWhether the new subscription should be initialized as paused. Defaults to false.
Returns​

Subscription

The new subscription.

Inherited from​

Subscribable.pipe


set()​

set(value): void

Defined in: src/sdk/sub/Accessible.ts:21

Sets the state of this item.

Parameters​

ParameterTypeDescription
valueIThe input used to change the state.

Returns​

void

Inherited from​

MutableAccessible.set


sub()​

sub(handler, initialNotify?, paused?): Subscription

Defined in: src/sdk/sub/Subscribable.ts:19

Subscribes to changes in this subscribable's state.

Parameters​

ParameterTypeDescription
handler(value) => voidA function which is called when this subscribable's state changes.
initialNotify?booleanWhether to immediately invoke the callback function with this subscribable's current state. Defaults to false. This argument is ignored if the subscription is initialized as paused.
paused?booleanWhether the new subscription should be initialized as paused. Defaults to false.

Returns​

Subscription

The new subscription.

Inherited from​

Subscribable.sub