Class: MappedSubject<I, T>
Defined in: src/sdk/sub/MappedSubject.ts:23
A subscribable subject that is a mapped stream from one or more input subscribables.
Extends
Type Parameters
| Type Parameter |
|---|
I extends any[] |
T |
Implements
Properties
canInitialNotify
readonlycanInitialNotify:true=true
Defined in: src/sdk/sub/MappedSubject.ts:28
Whether this subscription supports initial notifications on resume.
Implementation of
MappedSubscribable.canInitialNotify
initialNotifyFunc()
protectedreadonlyinitialNotifyFunc: (sub) =>void
Defined in: src/sdk/sub/AbstractSubscribable.ts:27
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
readonlyisSubscribable:true=true
Defined in: src/sdk/sub/AbstractSubscribable.ts:11
Flags this object as a Subscribable.
Implementation of
MappedSubscribable.isSubscribable
Inherited from
AbstractSubscribable.isSubscribable
notifyDepth
protectednotifyDepth:number=0
Defined in: src/sdk/sub/AbstractSubscribable.ts:24
Inherited from
AbstractSubscribable.notifyDepth
onSubDestroyedFunc()
protectedreadonlyonSubDestroyedFunc: (sub) =>void
Defined in: src/sdk/sub/AbstractSubscribable.ts:30
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?
protectedoptionalsingletonSub:HandlerSubscription<(v) =>void>
Defined in: src/sdk/sub/AbstractSubscribable.ts:21
Inherited from
AbstractSubscribable.singletonSub
subs?
protectedoptionalsubs:HandlerSubscription<(v) =>void>[]
Defined in: src/sdk/sub/AbstractSubscribable.ts:23
Inherited from
Accessors
isAlive
Get Signature
get isAlive():
boolean
Defined in: src/sdk/sub/MappedSubject.ts:40
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/MappedSubject.ts:46
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()
protectedaddSubscription(sub):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:36
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/MappedSubject.ts:217
Destroys the subscription to the parent subscribable.
Returns
void
Implementation of
get()
get():
T
Defined in: src/sdk/sub/MappedSubject.ts:171
Gets this item's state.
Returns
T
This item's state.
Implementation of
Overrides
map()
Call Signature
map<
M>(fn,equalityFunc?):MappedSubscribable<M>
Defined in: src/sdk/sub/AbstractSubscribable.ts:174
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:183
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()
protectednotify():void
Defined in: src/sdk/sub/AbstractSubscribable.ts:68
Notifies subscriptions that this subscribable's value has changed.
Returns
void
Inherited from
notifySubscription()
protectednotifySubscription(sub):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:144
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()
protectedonSubDestroyed(sub):void
Defined in: src/sdk/sub/AbstractSubscribable.ts:152
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/MappedSubject.ts:176
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:207
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, T> | 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<
OI,OV>(to,map,paused?):Subscription
Defined in: src/sdk/sub/AbstractSubscribable.ts:219
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 | Default type | Description |
|---|---|---|
OI | - | The input type of the mutable subscribable to which to pipe. |
OV | unknown | The value type of the mutable subscribable to which to pipe. |
Parameters
| Parameter | Type | Description |
|---|---|---|
to | MutableSubscribable<OV, OI> | The mutable subscribable to which to pipe this subscribable's mapped state. |
map | (fromVal, toVal) => OI | 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/MappedSubject.ts:195
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:51
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
withLifecycle()
withLifecycle(
lifecycle):this
Defined in: src/sdk/sub/MappedSubject.ts:226
Attaches a lifecycle to the subscription.
Parameters
| Parameter | Type | Description |
|---|---|---|
lifecycle | ReadonlyLifecycle | The lifecycle to attach. |
Returns
this
Implementation of
MappedSubscribable.withLifecycle
create()
Call Signature
staticcreate<I>(...inputs):MappedSubject<I,Readonly<I>>
Defined in: src/sdk/sub/MappedSubject.ts:90
Creates a new mapped 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 | MappedSubscribableInputs<I> | The subscribables which provide the inputs to the new subject. |
Returns
MappedSubject<I, Readonly<I>>
A new subject whose state is a combined tuple of the specified input values.
Call Signature
staticcreate<I,T>(mapFunc, ...inputs):MappedSubject<I,T>
Defined in: src/sdk/sub/MappedSubject.ts:98
Creates a new mapped subject. Values are compared for equality using the strict equality comparison (===).
Type Parameters
| Type Parameter |
|---|
I extends any[] |
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
mapFunc | (inputs, previousVal?) => T | The function to use to map inputs to the new subject value. |
...inputs | MappedSubscribableInputs<I> | The subscribables which provide the inputs to the new subject. |
Returns
MappedSubject<I, T>
Call Signature
staticcreate<I,T>(mapFunc,equalityFunc, ...inputs):MappedSubject<I,T>
Defined in: src/sdk/sub/MappedSubject.ts:108
Creates a new mapped subject. Values are compared for equality using a custom function.
Type Parameters
| Type Parameter |
|---|
I extends any[] |
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
mapFunc | (inputs, previousVal?) => T | The function to use to map inputs to the new subject value. |
equalityFunc | (a, b) => boolean | The function which the new subject uses to check for equality between values. |
...inputs | MappedSubscribableInputs<I> | The subscribables which provide the inputs to the new subject. |
Returns
MappedSubject<I, T>
Call Signature
staticcreate<I,T>(mapFunc,equalityFunc,mutateFunc,initialVal, ...inputs):MappedSubject<I,T>
Defined in: src/sdk/sub/MappedSubject.ts:122
Creates a new mapped subject with a persistent, cached value which is mutated when it changes. Values are compared for equality using a custom function.
Type Parameters
| Type Parameter |
|---|
I extends any[] |
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
mapFunc | (inputs, previousVal?) => T | The function to use to map inputs to the new subject value. |
equalityFunc | (a, b) => boolean | The function which the new subject uses to check for equality between values. |
mutateFunc | (oldVal, newVal) => void | The function to use to change the value of the new subject. |
initialVal | T | The initial value of the new subject. |
...inputs | MappedSubscribableInputs<I> | The subscribables which provide the inputs to the new subject. |
Returns
MappedSubject<I, T>
DEFAULT_EQUALITY_FUNC()
readonlystaticDEFAULT_EQUALITY_FUNC(a,b):boolean
Defined in: src/sdk/sub/AbstractSubscribable.ts:19
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.