Class: Subject<T>
Defined in: src/sdk/sub/Subject.ts:15
A subscribable subject whose value can be freely manipulated.
Extends
Type Parameters
| Type Parameter |
|---|
T |
Implements
Constructors
Constructor
protectednew Subject<T>(value,equalityFunc,mutateFunc?):Subject<T>
Defined in: src/sdk/sub/Subject.ts:24
Constructs an observable Subject.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | T | The initial value. |
equalityFunc | (a, b) => boolean | The function to use to check for equality. |
mutateFunc? | (oldVal, newVal) => void | The function to use to mutate the subject's value. |
Returns
Subject<T>
Overrides
AbstractSubscribable.constructor
Properties
equalityFunc()
protectedreadonlyequalityFunc: (a,b) =>boolean
Defined in: src/sdk/sub/Subject.ts:26
The function to use to check for equality.
Parameters
| Parameter | Type |
|---|---|
a | T |
b | T |
Returns
boolean
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/sub/Subject.ts:16
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
mutateFunc()?
protectedreadonlyoptionalmutateFunc: (oldVal,newVal) =>void
Defined in: src/sdk/sub/Subject.ts:27
The function to use to mutate the subject's value.
Parameters
| Parameter | Type |
|---|---|
oldVal | T |
newVal | T |
Returns
void
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
value
protectedvalue:T
Defined in: src/sdk/sub/Subject.ts:25
The initial value.
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
apply()
apply(
value):void
Defined in: src/sdk/sub/Subject.ts:75
Applies a partial set of properties to this subject's value and notifies subscribers if the value changed as a result.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | Partial<T> | The properties to apply. |
Returns
void
get()
get():
T
Defined in: src/sdk/sub/Subject.ts:100
Gets the value of this subject.
Returns
T
The value of this subject.
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()
notify():
void
Defined in: src/sdk/sub/Subject.ts:92
Notifies subscriptions that this subscribable's value has changed.
Returns
void
Overrides
notifySub()
protectednotifySub(sub):void
Defined in: src/sdk/sub/Subject.ts:50
Parameters
| Parameter | Type |
|---|---|
sub | (v) => void |
Returns
void
Inherit Doc
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, 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()
set(
value):void
Defined in: src/sdk/sub/Subject.ts:58
Sets the value of this subject and notifies subscribers if the value changed.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | T | The new value. |
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<IT>(v,equalityFunc?,mutateFunc?):Subject<IT>
Defined in: src/sdk/sub/Subject.ts:41
Creates and returns a new Subject.
Type Parameters
| Type Parameter |
|---|
IT |
Parameters
| Parameter | Type | Description |
|---|---|---|
v | IT | The initial value of the subject. |
equalityFunc? | (a, b) => boolean | The function to use to check for equality between subject values. Defaults to the strict equality comparison (===). |
mutateFunc? | (oldVal, newVal) => void | The function to use to change the subject's value. If not defined, new values will replace old values by variable assignment. |
Returns
Subject<IT>
A Subject instance.
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.