Uneventful
    Preparing search index...

    Module uneventful/signals

    The Signals API for uneventful.

    cached

    Create a cached version of a function. The returned callable is also a Signal.

    rule

    Subscribe a function to run every time certain values change.

    value

    Create a Configurable signal with the given inital value

    Dependency Tracking

    action

    Wrap a function (or decorate a method) so that signals it reads are not added as dependencies to the current rule (if any). (Basically, it's shorthand for wrapping the function or method body in a giant call to peek().)

    peek

    Call a function without creating a dependency on any signals it reads. (Like Signal.peek, but for any function with any arguments.)

    stabilizer

    Create a shorthand version of stable(), pre-bound to a specific comparison function.

    stable

    Keep an expression's old value unless there's a semantic change

    stableArray

    Keep an expression's old value if the new value is an array with the same contents.

    stableJSON

    Keep an expression's old value if its JSON string is the same as the new one.

    Scheduling

    runRules

    Synchronously run any pending rules tied to a specific schedule.

    until

    Wait for and return the next truthy value (or error) from a data source (when processed with yield * within a Job).

    Types and Interfaces

    Configurable

    A writable signal that can be set to either a value or an expression.

    GenericMethodDecorator

    A decorator function that supports both TC39 and "legacy" decorator protocols

    RuleFactory

    The interface provided by rule, and other rule.factory() functions.

    SchedulerFn

    A single-argument scheduling function (such as requestAnimationFrame, setImmediate, or queueMicrotask). The rule scheduler will call it from time to time with a single callback. The scheduling function should then arrange for that callback to be invoked once at some future point, when it is the desired time for all pending rules on that scheduler to run.

    Signal

    An observable value, as a zero-argument callable with extra methods.

    Writable

    A Signal with a .set() method and writable .value property.

    Errors

    CircularDependency

    Error indicating a rule has attempted to write a value it directly depends on, or a cached function has called itself, directly or indirectly.

    WriteConflict

    Error indicating a rule has attempted to write a value it indirectly depends on, or which has already been read by another rule in the current batch. (Also thrown when a cached function attempts to write a value at all, directly or indirectly.)