Class: CombinedSubject<I>
Defined in: src/sdk/sub/CombinedSubject.ts:22
A subscribable subject whose state is a combined tuple of an arbitrary number of values.
Deprecated
This class has been deprecated in favor of using MappedSubject
without an explicit mapping function.
Extends
AbstractSubscribable
<Readonly
<I
>>
Type Parameters
Type Parameter |
---|
I extends any [] |
Implements
MappedSubscribable
<Readonly
<I
>>
Properties
canInitialNotify
readonly
canInitialNotify:true
=true
Defined in: src/sdk/sub/CombinedSubject.ts:24
Whether this subscription supports initial notifications on resume.
Implementation of
MappedSubscribable
.canInitialNotify
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
Parameter | Type | Description |
---|---|---|
sub | HandlerSubscription <(v ) => void > | The subscription to notify. |
Returns
void
Inherited from
AbstractSubscribable
.initialNotifyFunc
isSubscribable
readonly
isSubscribable:true
=true
Defined in: src/sdk/sub/AbstractSubscribable.ts:10
Flags this object as a Subscribable.
Implementation of
MappedSubscribable
.isSubscribable
Inherited from
AbstractSubscribable
.isSubscribable
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
Parameter | Type | Description |
---|---|---|
sub | HandlerSubscription <(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
Accessors
isAlive
Get Signature
get isAlive():
boolean
Defined in: src/sdk/sub/CombinedSubject.ts:32
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.
Returns
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.
Implementation of
isPaused
Get Signature
get isPaused():
boolean
Defined in: src/sdk/sub/CombinedSubject.ts:38
Whether the subscription to the parent subscribable is paused. While paused, this subscribable will not update its state until it is resumed.
Returns
boolean
Whether the subscription to the parent subscribable is paused. While paused, this subscribable will not update its state until it is resumed.
Implementation of
Methods
addSubscription()
protected
addSubscription(sub
):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:35
Adds a subscription to this subscribable.
Parameters
Parameter | Type | Description |
---|---|---|
sub | HandlerSubscription <(v ) => void > | The subscription to add. |
Returns
void
Inherited from
AbstractSubscribable
.addSubscription
destroy()
destroy():
void
Defined in: src/sdk/sub/CombinedSubject.ts:118
Destroys the subscription to the parent subscribable.
Returns
void
Implementation of
get()
get():
Readonly
<I
>
Defined in: src/sdk/sub/CombinedSubject.ts:72
Gets this item's state.
Returns
Readonly
<I
>
This item's state.
Implementation of
Overrides
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
Parameter | Type | Description |
---|---|---|
fn | (input , previousVal? ) => M | The function to use to map to the new subscribable. |
equalityFunc? | (a , b ) => boolean | The function to use to check for equality between mapped values. Defaults to the strict equality comparison (=== ). |
Returns
The mapped subscribable.
Implementation of
Inherited from
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
Parameter | Type | Description |
---|---|---|
fn | (input , previousVal? ) => M | The function to use to map to the new subscribable. |
equalityFunc | (a , b ) => boolean | The function to use to check for equality between mapped values. |
mutateFunc | (oldVal , newVal ) => void | The function to use to change the value of the mapped subscribable. |
initialVal | M | The initial value of the mapped subscribable. |
Returns
The mapped subscribable.
Implementation of
Inherited from
notify()
protected
notify():void
Defined in: src/sdk/sub/AbstractSubscribable.ts:80
Notifies subscriptions that this subscribable's value has changed.
Returns
void
Inherited from
notifySubscription()
protected
notifySubscription(sub
):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:156
Notifies a subscription of this subscribable's current state.
Parameters
Parameter | Type | Description |
---|---|---|
sub | HandlerSubscription <(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
Parameter | Type | Description |
---|---|---|
sub | HandlerSubscription <(v ) => void > | The destroyed subscription. |
Returns
void
Inherited from
AbstractSubscribable
.onSubDestroyed
pause()
pause():
this
Defined in: src/sdk/sub/CombinedSubject.ts:77
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.
Implementation of
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
Parameter | Type | Description |
---|---|---|
to | MutableSubscribable <any , Readonly <I >> | The mutable subscribable to which to pipe this subscribable's state. |
paused? | boolean | Whether the new subscription should be initialized as paused. Defaults to false . |
Returns
The new subscription.
Implementation of
Inherited from
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
Parameter | Type | Description |
---|---|---|
to | MutableSubscribable <any , M > | The mutable subscribable to which to pipe this subscribable's mapped state. |
map | (fromVal , toVal ) => M | The function to use to transform inputs. |
paused? | boolean | Whether the new subscription should be initialized as paused. Defaults to false . |
Returns
The new subscription.
Implementation of
Inherited from
resume()
resume():
this
Defined in: src/sdk/sub/CombinedSubject.ts:96
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.
Implementation of
sub()
sub(
handler
,initialNotify
,paused
):Subscription
Defined in: src/sdk/sub/AbstractSubscribable.ts:50
Subscribes to changes in this subscribable's state.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
handler | (v ) => void | undefined | A function which is called when this subscribable's state changes. |
initialNotify | boolean | false | Whether 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 | boolean | false | Whether the new subscription should be initialized as paused. Defaults to false . |
Returns
The new subscription.
Implementation of
Inherited from
unsub()
unsub(
handler
):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:65
Unsubscribes a callback function from this subscribable.
Parameters
Parameter | Type | Description |
---|---|---|
handler | (v ) => void | 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
Inherited from
create()
static
create<I
>(...inputs
):CombinedSubject
<I
>
Defined in: src/sdk/sub/CombinedSubject.ts:65
Creates a new subject whose state is a combined tuple of an arbitrary number of input values.
Type Parameters
Type Parameter |
---|
I extends any [] |
Parameters
Parameter | Type | Description |
---|---|---|
...inputs | CombinedSubscribableInputs <I > | The subscribables which provide the inputs to the new subject. |
Returns
CombinedSubject
<I
>
A new subject whose state is a combined tuple of the specified input values.
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
Parameter | Type | Description |
---|---|---|
a | any | The first value. |
b | any | The second value. |
Returns
boolean
whether a and b are equal.