Class Cell<T>Abstract

An immutable cell. Has a value and can be observed for changes.

Type Parameters

  • T

Hierarchy (view full)

Implements

Constructors

Accessors

  • get defined(): Cell<boolean>
  • Create a cell the value of which is true if this cell's value is not null or undefined, false otherwise.

    Returns Cell<boolean>

    A cell.

  • get not(): Cell<boolean>
  • Create a cell that negates the value of this cell using the ! operator.

    Returns Cell<boolean>

    A negating cell.

  • get undefined(): Cell<boolean>
  • Create a cell the value of which is true if this cell's value is null or undefined, false otherwise.

    Returns Cell<boolean>

    A cell.

  • get value(): T
  • Get the current value of the cell.

    Returns T

    The value of the cell.

Methods

  • Parameters

    • Optional onrejected: ((reason) => void)
        • (reason): void
        • Parameters

          • reason: unknown

          Returns void

    Returns Cell<undefined | Awaited<T>>

  • Create a cell tthe value of which is true if this cell's value is equal to the given value or the value of the given cell, false otherwise.

    Type Parameters

    • T2

    Parameters

    • other: T2 | Cell<T2>

      A value or cell to compare the value of this cell to.

    Returns Cell<boolean>

    A cell.

  • Create a cell that applies a function to the value of this cell. The function must return a cell.

    Type Parameters

    • T2

    Parameters

    • f: ((value) => Cell<T2>)

      The function apply to the cell value.

    Returns Cell<T2>

    A flat mapping cell.

  • Get the cells current value and attach an observer. The observer function is called once with the current value immediately upon calling this method.

    Parameters

    Returns (() => void)

    A function that can be called to detach the observer. Alternatively unobserve can be called.

      • (): void
      • Returns void

  • Create a cell that applies a function to the value of this cell.

    The function will be called whenever the value property of the resulting cell is accessed. If the resulting cell is being observed, the function will also be called once each time the value of this cell changes.

    Type Parameters

    • T2

    Parameters

    • f: ((value) => T2)

      The function to apply to the cell value.

        • (value): T2
        • Parameters

          • value: T

          Returns T2

    Returns Cell<T2>

    A cell.

  • Create a cell that applies a function to the value of this cell, but only when the value is not null or undefined.

    The function will be called whenever the value property of the resulting cell is accessed. If the resulting cell is being observed, the function will also be called once each time the value of this cell changes.

    Type Parameters

    • T2

    Parameters

    • f: ((value) => T2)

      The function apply to the cell value.

        • (value): T2
        • Parameters

          • value: NonNullable<T>

          Returns T2

    Returns Cell<undefined | T2>

    A mapping cell.

  • Attach an observer.

    Parameters

    Returns (() => void)

    A function that can be called to detach the observer. Alternatively unobserve can be called.

      • (): void
      • Returns void

  • Create a promise that resolves with the first non-null, non-undefined value of this cell. If the value of this cell is not null or undefined the method returns a resolved Promise with the value.

    Returns Promise<NonNullable<T>>

    A promise that resolves when the value of this cell is not null or undefined.

  • Create a cell from an existing observable (e.g. an Emitter) and an initial value.

    N.B. Unless observed, the value of the resulting cell will not update when the observable emits events.

    Type Parameters

    • T

    Parameters

    • observable: Observable<T>

      An observable.

    • initialValue: T

      The initial value of the cell.

    Returns Cell<T>

    A cell.