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
protected
new 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()
protected
readonly
equalityFunc: (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()
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
isMutableSubscribable
readonly
isMutableSubscribable:true
=true
Defined in: src/sdk/sub/Subject.ts:16
Flags this object as a MutableSubscribable.
Implementation of
MutableSubscribable
.isMutableSubscribable
isSubscribable
readonly
isSubscribable:true
=true
Defined in: src/sdk/sub/AbstractSubscribable.ts:10
Flags this object as a Subscribable.
Implementation of
MutableSubscribable
.isSubscribable
Inherited from
AbstractSubscribable
.isSubscribable
mutateFunc()?
protected
readonly
optional
mutateFunc: (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
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
value
protected
value:T
Defined in: src/sdk/sub/Subject.ts:25
The initial value.
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
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: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()
notify():
void
Defined in: src/sdk/sub/Subject.ts:92
Notifies subscriptions that this subscribable's value has changed.
Returns
void
Overrides
notifySub()
protected
notifySub(sub
):void
Defined in: src/sdk/sub/Subject.ts:50
Parameters
Parameter | Type |
---|---|
sub | (v ) => void |
Returns
void
Inherit Doc
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
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 , 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<
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
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: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<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()
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.