Angular Signal Generators Logo

Angular Signal Generators

Streamline your Angular development with Angular Signal Generators, a library of signals and utilities designed to replace common patterns for faster, cleaner code.

Function Demos

  • asyncSignal
    G
    W

    "Flattens" a source of promises or observables to a signal of result values, switching to the new source as soon as it changes.
    Example
  • debounceSignal
    G
    W

    Creates a signal whose value isn't changed until it a certain has passed since the last update.
    Example
    Debounced
  • eventSignal
    G

    Listens to DOM Events
    Example
    Monitor clicks from:
    No clicks yet
  • filterSignal
    W

    Filters values set directly on the signal.
    Example
    $filteredno upper case letters please
  • inspect
    U

    Outputs any changes to deeply nested signals.
    Example
  • intersectionSignal
    G
    W

    Wraps IntersectionObserver so that changes in the intersection of an element with its ancestor can be observed.
    Example
    Scroll Me Horizontally
    Is Not Intersecting
  • liftSignal
    G
    W

    "Lifts" methods from a signal's value to the signal itself just by passing a tuple of method names.
    Example
  • mapSignal
    G
    W

    Creates a signal whose input value is immediately mapped to a different value based on a selector. Either a value or multiple signals can be passed and used in the selector function.
    Example
    Doubled2
  • mediaQuerySignal
    G
    W

    Takes a media query, and updates its value whenever the state of that query being matched changes.
    Example
    Query
    Orientation: Landscape
  • mutationSignal
    G
    W

    Wraps MutationObserver so changes made to the properties of an element can be observed.
    Example
    Change Me
    Last Change: No Changes
  • nestSignal
    G
    W

    Takes a value that contains one or more nested signals and emits their resolved values.
    Example
  • reduceSignal
    W

    Creates a signal similar to Array.reduce or Rxjs's scan operator, using a reducer function to create a new value from the current and prior values.
    Example
    Summed: 0
  • resizeSignal
    G
    W

    Wraps ResizeObserver so changes made to the dimensions of an element can be observed.
    Example
    No Changes
  • sequenceSignal
    G
    W

    The Sequence Signal is useful for situations where you want to easily cycle between options.
    Example
    Choice A
    Choice B
    Choice C
  • signalToIterator
    U

    This converts a signal into an AsyncIterator where is can be used in a for async loop.
    Example
  • storageSignal
    W

    A signal that uses a secondary store to persist values beyond an application's lifetime. with built-in localStorageSignal and sessionStorageSignal implementations.
    Example
    Refresh page to see value persist
  • timerSignal
    G
    W

    Creates a signal that emits based on a timer or interval.
    Example
    Time since start
    0
  • tweenSignal
    G
    W

    Tween animations that allow a signal to transform between values over a set duration.
    Example