Skip to main content

Interface: MappedSubscribable<T>

A subscribable which is mapped from another subscribable.

Type parameters

Name
T

Hierarchy

Implemented by

Properties

canInitialNotify

Readonly canInitialNotify: boolean

Whether this subscription supports initial notifications on resume.

Inherited from

Subscription.canInitialNotify

Defined in

src/sdk/sub/Subscription.ts:25


isAlive

Readonly isAlive: boolean

Whether the subscription to the parent subscribable is alive. While alive, this subscribable will update its state based on its parent's state, unless it is paused. Once dead, this subscribable will no longer update its state, and cannot be resumed again.

Overrides

Subscription.isAlive

Defined in

src/sdk/sub/Subscribable.ts:82


isPaused

Readonly isPaused: boolean

Whether the subscription to the parent subscribable is paused. While paused, this subscribable will not update its state until it is resumed.

Overrides

Subscription.isPaused

Defined in

src/sdk/sub/Subscribable.ts:88


isSubscribable

Readonly isSubscribable: true

Flags this object as a Subscribable.

Inherited from

Subscribable.isSubscribable

Defined in

src/sdk/sub/Subscribable.ts:9

Methods

destroy

destroy(): void

Destroys the subscription to the parent subscribable.

Returns

void

Overrides

Subscription.destroy

Defined in

src/sdk/sub/Subscribable.ts:112


get

get(): T

Gets this item's state.

Returns

T

This item's state.

Inherited from

Subscribable.get

Defined in

src/sdk/sub/Accessible.ts:9


map

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

Maps this subscribable to a new subscribable.

Type parameters

Name
M

Parameters

NameTypeDescription
fn(input: T, previousVal?: M) => MThe function to use to map to the new subscribable.
equalityFunc?(a: M, b: M) => 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

Defined in

src/sdk/sub/Subscribable.ts:36

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

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

Type parameters

Name
M

Parameters

NameTypeDescription
fn(input: T, previousVal?: M) => MThe function to use to map to the new subscribable.
equalityFunc(a: M, b: M) => booleanThe function to use to check for equality between mapped values.
mutateFunc(oldVal: M, newVal: M) => 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

Defined in

src/sdk/sub/Subscribable.ts:45


pause

pause(): this

Pauses the subscription to the parent subscribable. Once paused, this subscribable will not update its state until it is resumed.

Returns

this

This subscribable, after it has been paused.

Throws

Error if the subscription to the parent subscribable is not alive.

Overrides

Subscription.pause

Defined in

src/sdk/sub/Subscribable.ts:96


pipe

pipe(to, paused?): Subscription

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

NameTypeDescription
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

Defined in

src/sdk/sub/Subscribable.ts:60

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

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

Name
M

Parameters

NameTypeDescription
toMutableSubscribable<any, M>The mutable subscribable to which to pipe this subscribable's mapped state.
map(fromVal: T, toVal: M) => 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.

Inherited from

Subscribable.pipe

Defined in

src/sdk/sub/Subscribable.ts:70


resume

resume(): this

Resumes the subscription to the parent subscribable. Once resumed, this subscribable will immediately begin to update its state based its parent's state.

Any initialNotify argument passed to this method is ignored. This subscribable is always immediately notified of its parent's state when resumed.

Returns

this

This subscribable, after it has been resumed.

Throws

Error if the subscription to the parent subscribable is not alive.

Overrides

Subscription.resume

Defined in

src/sdk/sub/Subscribable.ts:107


sub

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

Subscribes to changes in this subscribable's state.

Parameters

NameTypeDescription
handler(value: T) => 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

Defined in

src/sdk/sub/Subscribable.ts:19


unsub

unsub(handler): void

Unsubscribes a callback function from this subscribable.

Parameters

NameTypeDescription
handler(value: T) => 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.

Inherited from

Subscribable.unsub

Defined in

src/sdk/sub/Subscribable.ts:27