Skip to main content

Class: Subject<T>

Defined in: src/sdk/sub/Subject.ts:15

A subscribable subject whose value can be freely manipulated.

Extends

Type Parameters

Type Parameter
T

Implements

Constructors

Constructor

protected new Subject<T>(value, equalityFunc, mutateFunc?): Subject<T>

Defined in: src/sdk/sub/Subject.ts:24

Constructs an observable Subject.

Parameters

ParameterTypeDescription
valueTThe initial value.
equalityFunc(a, b) => booleanThe function to use to check for equality.
mutateFunc?(oldVal, newVal) => voidThe function to use to mutate the subject's value.

Returns

Subject<T>

Overrides

AbstractSubscribable.constructor

Properties

equalityFunc()

protected readonly equalityFunc: (a, b) => boolean

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

The function to use to check for equality.

Parameters

ParameterType
aT
bT

Returns

boolean


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

Inherited from

AbstractSubscribable.initialNotifyFunc


isMutableSubscribable

readonly isMutableSubscribable: true = true

Defined in: src/sdk/sub/Subject.ts:16

Flags this object as a MutableSubscribable.

Implementation of

MutableSubscribable.isMutableSubscribable


isSubscribable

readonly isSubscribable: true = true

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

Flags this object as a Subscribable.

Implementation of

MutableSubscribable.isSubscribable

Inherited from

AbstractSubscribable.isSubscribable


mutateFunc()?

protected readonly optional mutateFunc: (oldVal, newVal) => void

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

The function to use to mutate the subject's value.

Parameters

ParameterType
oldValT
newValT

Returns

void


notifyDepth

protected notifyDepth: number = 0

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

Inherited from

AbstractSubscribable.notifyDepth


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

Inherited from

AbstractSubscribable.onSubDestroyedFunc


singletonSub?

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

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

Inherited from

AbstractSubscribable.singletonSub


subs?

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

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

Inherited from

AbstractSubscribable.subs


value

protected value: T

Defined in: src/sdk/sub/Subject.ts:25

The initial value.

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

Inherited from

AbstractSubscribable.addSubscription


apply()

apply(value): void

Defined in: src/sdk/sub/Subject.ts:75

Applies a partial set of properties to this subject's value and notifies subscribers if the value changed as a result.

Parameters

ParameterTypeDescription
valuePartial<T>The properties to apply.

Returns

void


get()

get(): T

Defined in: src/sdk/sub/Subject.ts:100

Gets the value of this subject.

Returns

T

The value of this subject.

Implementation of

MutableSubscribable.get

Overrides

AbstractSubscribable.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

MutableSubscribable.map

Inherited from

AbstractSubscribable.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

MutableSubscribable.map

Inherited from

AbstractSubscribable.map


notify()

notify(): void

Defined in: src/sdk/sub/Subject.ts:92

Notifies subscriptions that this subscribable's value has changed.

Returns

void

Overrides

AbstractSubscribable.notify


notifySub()

protected notifySub(sub): void

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

Parameters

ParameterType
sub(v) => void

Returns

void

Inherit Doc


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

Inherited from

AbstractSubscribable.notifySubscription


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

Inherited from

AbstractSubscribable.onSubDestroyed


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

MutableSubscribable.pipe

Inherited from

AbstractSubscribable.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

MutableSubscribable.pipe

Inherited from

AbstractSubscribable.pipe


set()

set(value): void

Defined in: src/sdk/sub/Subject.ts:58

Sets the value of this subject and notifies subscribers if the value changed.

Parameters

ParameterTypeDescription
valueTThe new value.

Returns

void

Implementation of

MutableSubscribable.set


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

MutableSubscribable.sub

Inherited from

AbstractSubscribable.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

MutableSubscribable.unsub

Inherited from

AbstractSubscribable.unsub


create()

static create<IT>(v, equalityFunc?, mutateFunc?): Subject<IT>

Defined in: src/sdk/sub/Subject.ts:41

Creates and returns a new Subject.

Type Parameters

Type Parameter
IT

Parameters

ParameterTypeDescription
vITThe initial value of the subject.
equalityFunc?(a, b) => booleanThe function to use to check for equality between subject values. Defaults to the strict equality comparison (===).
mutateFunc?(oldVal, newVal) => voidThe function to use to change the subject's value. If not defined, new values will replace old values by variable assignment.

Returns

Subject<IT>

A Subject instance.


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.

Inherited from

AbstractSubscribable.DEFAULT_EQUALITY_FUNC