Creates a new computed signal
The compute function called to calculate the actual value.
Optional
options: BaseSignalOptions<T>Optional signal options.
Returns the current signal value version. This version is incremented every time the signal value has really changed. The version starts by 0 and
wraps to Number.MIN_SAFE_INTEGER
when Number.MAX_SAFE_INTEGER
is reached, allowing unique versions for eighteen quadrillion signal updates.
The current signal version.
Checks if signal value is still valid. When signal has no dependencies then this method can always return true. If signal has dependencies then it must check if any dependency has changed or became invalid. If yes, then this method must return false and the signal will be re-validated by calling (). If all dependency are valid/unchanged then this method must return true to indicate that the signal value is still valid.
True if signal value is valid, false if it must be re-validated.
Protected
setProtected
unwatchCalled when () returned false and the current value of this signal is needed. Must compute/fetch and cache the new value so the next call to () returns a valid value. When signal has no dependencies and () is implemented to always return true then this method can stay empty as it has nothing to validate/update.
Protected
watch
A computed signal which calls the given compute function to update its value on demand. The compute function can read other signals. These signals are dynamically recorded as dependencies so the computed signal is automatically updated when dependent signals report new values.