Skip to main content

Interface: Subscribable<T>

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

An item which allows others to subscribe to be notified of changes in its state.

Extends

Extended by

Type Parameters

Type Parameter
T

Properties

isSubscribable

readonly isSubscribable: true

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

Flags this object as a Subscribable.

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

Accessible.get


map()

Call Signature

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

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

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.

Call Signature

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

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

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.


pipe()

Call Signature

pipe(to, paused?): Subscription

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

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.

Call Signature

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

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

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 Parameter
M
Parameters
ParameterTypeDescription
toMutableSubscribable<any, M>The mutable subscribable to which to pipe this subscribable's mapped state.
map(fromVal, toVal) => MThe function to use to transform inputs.
paused?booleanWhether the new subscription should be initialized as paused. Defaults to false.
Returns

Subscription

The new subscription.


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.


unsub()

unsub(handler): void

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

Unsubscribes a callback function from this subscribable.

Parameters

ParameterTypeDescription
handler(value) => voidThe function to unsubscribe.

Returns

void

Deprecated

This method has been deprecated in favor of using the Subscription object returned by .sub() to manage subscriptions.