Skip to main content

Class: ComputedSubject<I, T>

A class for subjects that return a computed value. ComputedSubject

Type parameters

NameDescription
IThe type of the input value.
TThe type of the computed output value.

Implements

Properties

isMutableSubscribable

Readonly isMutableSubscribable: true

Flags this object as a MutableSubscribable.

Implementation of

MutableSubscribable.isMutableSubscribable

Defined in

src/sdk/sub/ComputedSubject.ts:16


isSubscribable

Readonly isSubscribable: true

Flags this object as a Subscribable.

Implementation of

MutableSubscribable.isSubscribable

Defined in

src/sdk/sub/ComputedSubject.ts:15

Methods

get

get(): T

Gets the computed value of the Subject.

Returns

T

The computed value.

Implementation of

MutableSubscribable.get

Defined in

src/sdk/sub/ComputedSubject.ts:64


getRaw

getRaw(): I

Gets the raw value of the Subject.

Returns

I

The raw value.

Defined in

src/sdk/sub/ComputedSubject.ts:72


map

map<M>(fn, equalityFunc?): MappedSubject<[T], M>

Maps this subject 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

MappedSubject<[T], M>

The mapped subscribable.

Implementation of

MutableSubscribable.map

Defined in

src/sdk/sub/ComputedSubject.ts:155

map<M>(fn, equalityFunc, mutateFunc, initialVal): MappedSubject<[T], M>

Maps this subject 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

MappedSubject<[T], M>

The mapped subscribable.

Implementation of

MutableSubscribable.map

Defined in

src/sdk/sub/ComputedSubject.ts:164


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.

Implementation of

MutableSubscribable.pipe

Defined in

src/sdk/sub/ComputedSubject.ts:192

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.

Implementation of

MutableSubscribable.pipe

Defined in

src/sdk/sub/ComputedSubject.ts:202


set

set(value): void

Sets the new value and notifies the subscribers when value changed.

Parameters

NameTypeDescription
valueIThe new value.

Returns

void

Implementation of

MutableSubscribable.set

Defined in

src/sdk/sub/ComputedSubject.ts:51


sub

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

Subscribes to changes in this subscribable's state.

Parameters

NameTypeDefault valueDescription
handler(v: T, rv: I) => 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

Defined in

src/sdk/sub/ComputedSubject.ts:77


unsub

unsub(handler): void

Unsubscribes a callback function from this subscribable.

Parameters

NameTypeDescription
handler(v: T, rv: I) => 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

Defined in

src/sdk/sub/ComputedSubject.ts:92


create

create<IT, CT>(v, fn): ComputedSubject<IT, CT>

Creates and returns a new ComputedSubject.

Type parameters

Name
IT
CT

Parameters

NameTypeDescription
vITThe initial value of the Subject.
fn(v: IT) => CTA function which transforms raw values to computed values.

Returns

ComputedSubject<IT, CT>

A ComputedSubject instance.

Defined in

src/sdk/sub/ComputedSubject.ts:43