Skip to main content

Class: ObjectSubject<T>

A object-valued subscribable subject which supports setting individual properties on the object and notifying subscribers of any changes to those properties.

Type parameters

NameType
Textends Record<string, any>

Implements

Properties

isMutableSubscribable

Readonly isMutableSubscribable: true

Flags this object as a MutableSubscribable.

Implementation of

MutableSubscribable.isMutableSubscribable

Defined in

src/sdk/sub/ObjectSubject.ts:19


isSubscribable

Readonly isSubscribable: true

Flags this object as a Subscribable.

Implementation of

MutableSubscribable.isSubscribable

Defined in

src/sdk/sub/ObjectSubject.ts:18

Methods

get

get(): Readonly<T>

Gets this subject's object.

Returns

Readonly<T>

This subject's object.

Implementation of

MutableSubscribable.get

Defined in

src/sdk/sub/ObjectSubject.ts:50


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/ObjectSubject.ts:240

map<M>(fn, equalityFunc, mutateFunc, initialVal): MappedSubject<[Readonly<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: Readonly<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<[Readonly<T>], M>

The mapped subscribable.

Implementation of

MutableSubscribable.map

Defined in

src/sdk/sub/ObjectSubject.ts:249


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/ObjectSubject.ts:277

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/ObjectSubject.ts:287


set

set(value): void

Sets the values of a subset of the properties of this subject's object and notifies subscribers if any of the values changed.

Parameters

NameTypeDescription
valuePartial<Readonly<T>>An object defining the values of the properties to set.

Returns

void

Implementation of

MutableSubscribable.set

Defined in

src/sdk/sub/ObjectSubject.ts:102

set<K>(key, value): void

Sets the value of one of the properties of this subject's object and notifies subscribers if the value changed.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
keyKThe property to set.
valueT[K]The new value.

Returns

void

Implementation of

MutableSubscribable.set

Defined in

src/sdk/sub/ObjectSubject.ts:108


sub

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

Subscribes to changes in this subscribable's state.

Parameters

NameTypeDefault valueDescription
handlerObjectSubjectHandler<T>undefinedA 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/ObjectSubject.ts:55


unsub

unsub(handler): void

Unsubscribes a callback function from this subscribable.

Parameters

NameTypeDescription
handlerObjectSubjectHandler<T>The 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/ObjectSubject.ts:85


create

create<T>(v): ObjectSubject<T>

Creates and returns a new ObjectSubject.

Type parameters

NameType
Textends Record<string, any>

Parameters

NameTypeDescription
vTThe initial value of the subject.

Returns

ObjectSubject<T>

An ObjectSubject instance.

Defined in

src/sdk/sub/ObjectSubject.ts:42