Class: DataItemSubject<T>
Defined in: src/sdk/data/DataItemSubject.ts:10
Experimental
A subscribable subject that provides a DataItem value.
Extends
AbstractSubscribable<Readonly<DataItem<T>>>
Type Parameters
| Type Parameter |
|---|
T |
Implements
MutableSubscribable<Readonly<DataItem<T>>>
Properties
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
isMutableSubscribable
readonlyisMutableSubscribable:true=true
Defined in: src/sdk/data/DataItemSubject.ts:12
Flags this object as a MutableSubscribable.
Implementation of
MutableSubscribable.isMutableSubscribable
isSubscribable
readonlyisSubscribable:true=true
Defined in: src/sdk/sub/AbstractSubscribable.ts:11
Flags this object as a Subscribable.
Implementation of
MutableSubscribable.isSubscribable
Inherited from
AbstractSubscribable.isSubscribable
notifyDepth
protectednotifyDepth:number=0
Defined in: src/sdk/sub/AbstractSubscribable.ts:24
Experimental
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
Experimental
Inherited from
AbstractSubscribable.singletonSub
subs?
protectedoptionalsubs:HandlerSubscription<(v) =>void>[]
Defined in: src/sdk/sub/AbstractSubscribable.ts:23
Experimental
Inherited from
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
get()
get():
Readonly<DataItem<T>>
Defined in: src/sdk/data/DataItemSubject.ts:44
Gets this item's state.
Returns
Readonly<DataItem<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
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, Readonly<DataItem<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
set()
Call Signature
set(
value):void
Defined in: src/sdk/data/DataItemSubject.ts:52
Experimental
Sets the value of this subject.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | Readonly<DataItem<T>> | The value to set. |
Returns
void
Implementation of
Call Signature
set(
status):void
Defined in: src/sdk/data/DataItemSubject.ts:57
Experimental
Sets the value of this subject to an empty data item.
Parameters
| Parameter | Type | Description |
|---|---|---|
status | EmptyValue | The data item status to set, which must be EmptyValue. |
Returns
void
Implementation of
Call Signature
set(
status,value):void
Defined in: src/sdk/data/DataItemSubject.ts:63
Experimental
Sets the value of this subject to a filled data item with a given status and value.
Parameters
| Parameter | Type | Description |
|---|---|---|
status | Normal | Failed | NoComputedValue | Testing | The data item status to set. |
value | T | The data item value to set. |
Returns
void
Implementation of
Call Signature
set<
S>(status,value):void
Defined in: src/sdk/data/DataItemSubject.ts:69
Experimental
Sets the value of this subject to a data item with a given status and value.
Type Parameters
| Type Parameter |
|---|
S extends DataItemStatus |
Parameters
| Parameter | Type | Description |
|---|---|---|
status | S | The data item status to set. |
value | S extends EmptyValue ? undefined : T | The data item value to set. |
Returns
void
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
create()
staticcreate<T>(initialValue,valueEqualityFunc?):DataItemSubject<T>
Defined in: src/sdk/data/DataItemSubject.ts:39
Experimental
Creates a new instance of DataItemSubject.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
initialValue | Readonly<DataItem<T>> | The new subject's initial value. |
valueEqualityFunc? | (a, b) => boolean | The function to use to check for equality between data item values. Defaults to a function that implements default data item value equality semantics: two values a and b are equal if and only if the strict equality operator (===) evaluates to true for a and b, or both a and b are the numeric value NaN. |
Returns
DataItemSubject<T>
A new instance of DataItemSubject.
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.