Class: ComputedSubject<I, T>
A class for subjects that return a computed value. ComputedSubject
Type parameters
Name | Description |
---|---|
I | The type of the input value. |
T | The type of the computed output value. |
Implements
MutableSubscribable
<T
,I
>
Properties
isMutableSubscribable
• Readonly
isMutableSubscribable: true
Flags this object as a MutableSubscribable.
Implementation of
MutableSubscribable.isMutableSubscribable
Defined in
src/sdk/sub/ComputedSubject.ts:16
isSubscribable
• Readonly
isSubscribable: true
Flags this object as a Subscribable.
Implementation of
MutableSubscribable.isSubscribable
Defined in
src/sdk/sub/ComputedSubject.ts:15
Methods
get
▸ get(): T
Gets the computed value of the Subject.
Returns
T
The computed value.
Implementation of
Defined in
src/sdk/sub/ComputedSubject.ts:64
getRaw
▸ getRaw(): I
Gets the raw value of the Subject.
Returns
I
The raw value.
Defined in
src/sdk/sub/ComputedSubject.ts:72
map
▸ map<M
>(fn
, equalityFunc?
): MappedSubject
<[T
], M
>
Maps this subject to a new subscribable.
Type parameters
Name |
---|
M |
Parameters
Name | Type | Description |
---|---|---|
fn | (input : T , previousVal? : M ) => M | The function to use to map to the new subscribable. |
equalityFunc? | (a : M , b : M ) => boolean | The function to use to check for equality between mapped values. Defaults to the strict equality comparison (=== ). |
Returns
MappedSubject
<[T
], M
>
The mapped subscribable.
Implementation of
Defined in
src/sdk/sub/ComputedSubject.ts:155
▸ map<M
>(fn
, equalityFunc
, mutateFunc
, initialVal
): MappedSubject
<[T
], M
>
Maps this subject to a new subscribable with a persistent, cached value which is mutated when it changes.
Type parameters
Name |
---|
M |
Parameters
Name | Type | Description |
---|---|---|
fn | (input : T , previousVal? : M ) => M | The function to use to map to the new subscribable. |
equalityFunc | (a : M , b : M ) => boolean | The function to use to check for equality between mapped values. |
mutateFunc | (oldVal : M , newVal : M ) => void | The function to use to change the value of the mapped subscribable. |
initialVal | M | The initial value of the mapped subscribable. |
Returns
MappedSubject
<[T
], M
>
The mapped subscribable.
Implementation of
Defined in
src/sdk/sub/ComputedSubject.ts:164
pipe
▸ pipe(to
, paused?
): Subscription
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
Name | 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
Defined in
src/sdk/sub/ComputedSubject.ts:192
▸ pipe<M
>(to
, map
, paused?
): Subscription
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
Name |
---|
M |
Parameters
Name | Type | Description |
---|---|---|
to | MutableSubscribable <any , M > | The mutable subscribable to which to pipe this subscribable's mapped state. |
map | (fromVal : T , toVal : M ) => 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
Defined in
src/sdk/sub/ComputedSubject.ts:202
set
▸ set(value
): void
Sets the new value and notifies the subscribers when value changed.
Parameters
Name | Type | Description |
---|---|---|
value | I | The new value. |
Returns
void
Implementation of
Defined in
src/sdk/sub/ComputedSubject.ts:51
sub
▸ sub(handler
, initialNotify?
, paused?
): Subscription
Subscribes to changes in this subscribable's state.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
handler | (v : T , rv : I ) => 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
Defined in
src/sdk/sub/ComputedSubject.ts:77
unsub
▸ unsub(handler
): void
Unsubscribes a callback function from this subscribable.
Parameters
Name | Type | Description |
---|---|---|
handler | (v : T , rv : I ) => 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
Defined in
src/sdk/sub/ComputedSubject.ts:92
create
▸ create<IT
, CT
>(v
, fn
): ComputedSubject
<IT
, CT
>
Creates and returns a new ComputedSubject.
Type parameters
Name |
---|
IT |
CT |
Parameters
Name | Type | Description |
---|---|---|
v | IT | The initial value of the Subject. |
fn | (v : IT ) => CT | A function which transforms raw values to computed values. |
Returns
ComputedSubject
<IT
, CT
>
A ComputedSubject instance.
Defined in
src/sdk/sub/ComputedSubject.ts:43