Skip to main content

Abstract Class: AbstractSubscribable<T>

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

An abstract implementation of a subscribable which allows adding, removing, and notifying subscribers.

Extended by​

Type Parameters​

Type Parameter
T

Implements​

Constructors​

Constructor​

new AbstractSubscribable<T>(): AbstractSubscribable<T>

Returns​

AbstractSubscribable<T>

Properties​

initialNotifyFunc()​

protected readonly initialNotifyFunc: (sub) => void

Defined in: src/sdk/sub/AbstractSubscribable.ts:26

A function which sends initial notifications to subscriptions.

Notifies a subscription of this subscribable's current state.

Parameters​

ParameterTypeDescription
subHandlerSubscription<(v) => void>The subscription to notify.

Returns​

void


isSubscribable​

readonly isSubscribable: true = true

Defined in: src/sdk/sub/AbstractSubscribable.ts:10

Flags this object as a Subscribable.

Implementation of​

Subscribable.isSubscribable


notifyDepth​

protected notifyDepth: number = 0

Defined in: src/sdk/sub/AbstractSubscribable.ts:23


onSubDestroyedFunc()​

protected readonly onSubDestroyedFunc: (sub) => void

Defined in: src/sdk/sub/AbstractSubscribable.ts:29

A function which responds to when a subscription to this subscribable is destroyed.

Responds to when a subscription to this subscribable is destroyed.

Parameters​

ParameterTypeDescription
subHandlerSubscription<(v) => void>The destroyed subscription.

Returns​

void


singletonSub?​

protected optional singletonSub: HandlerSubscription<(v) => void>

Defined in: src/sdk/sub/AbstractSubscribable.ts:20


subs?​

protected optional subs: HandlerSubscription<(v) => void>[]

Defined in: src/sdk/sub/AbstractSubscribable.ts:22

Methods​

addSubscription()​

protected addSubscription(sub): void

Defined in: src/sdk/sub/AbstractSubscribable.ts:35

Adds a subscription to this subscribable.

Parameters​

ParameterTypeDescription
subHandlerSubscription<(v) => void>The subscription to add.

Returns​

void


get()​

abstract get(): T

Defined in: src/sdk/sub/AbstractSubscribable.ts:47

Gets this item's state.

Returns​

T

This item's state.

Implementation of​

Subscribable.get


map()​

Call Signature​

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

Defined in: src/sdk/sub/AbstractSubscribable.ts:186

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.

Implementation of​

Subscribable.map

Call Signature​

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

Defined in: src/sdk/sub/AbstractSubscribable.ts:195

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.

Implementation of​

Subscribable.map


notify()​

protected notify(): void

Defined in: src/sdk/sub/AbstractSubscribable.ts:80

Notifies subscriptions that this subscribable's value has changed.

Returns​

void


notifySubscription()​

protected notifySubscription(sub): void

Defined in: src/sdk/sub/AbstractSubscribable.ts:156

Notifies a subscription of this subscribable's current state.

Parameters​

ParameterTypeDescription
subHandlerSubscription<(v) => void>The subscription to notify.

Returns​

void


onSubDestroyed()​

protected onSubDestroyed(sub): void

Defined in: src/sdk/sub/AbstractSubscribable.ts:164

Responds to when a subscription to this subscribable is destroyed.

Parameters​

ParameterTypeDescription
subHandlerSubscription<(v) => void>The destroyed subscription.

Returns​

void


pipe()​

Call Signature​

pipe(to, paused?): Subscription

Defined in: src/sdk/sub/AbstractSubscribable.ts:219

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.

Implementation of​

Subscribable.pipe

Call Signature​

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

Defined in: src/sdk/sub/AbstractSubscribable.ts:229

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.

Implementation of​

Subscribable.pipe


sub()​

sub(handler, initialNotify, paused): Subscription

Defined in: src/sdk/sub/AbstractSubscribable.ts:50

Subscribes to changes in this subscribable's state.

Parameters​

ParameterTypeDefault valueDescription
handler(v) => voidundefinedA function which is called when this subscribable's state changes.
initialNotifybooleanfalseWhether 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.
pausedbooleanfalseWhether the new subscription should be initialized as paused. Defaults to false.

Returns​

Subscription

The new subscription.

Implementation of​

Subscribable.sub


unsub()​

unsub(handler): void

Defined in: src/sdk/sub/AbstractSubscribable.ts:65

Unsubscribes a callback function from this subscribable.

Parameters​

ParameterTypeDescription
handler(v) => 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.

Implementation of​

Subscribable.unsub


DEFAULT_EQUALITY_FUNC()​

readonly static DEFAULT_EQUALITY_FUNC(a, b): boolean

Defined in: src/sdk/sub/AbstractSubscribable.ts:18

Checks if two values are equal using the strict equality operator.

Parameters​

ParameterTypeDescription
aanyThe first value.
banyThe second value.

Returns​

boolean

whether a and b are equal.