The Source class provides utility functions for creating and manipulating Observers.

Constructors

Properties

create: (<Data>(emitter: ((next: ((data: Data) => void)) => void | (() => void))) => Observer<Data>) = ...

Creates a new instance of the Cold object.

Type declaration

    • <Data>(emitter): Observer<Data>
    • Creates a cold observable.

      Type Parameters

      • Data = any

      Parameters

      • emitter: ((next: ((data: Data) => void)) => void | (() => void))

        The emitter function which is called when a subscriber is added. It should return a function that is called when the subscription is unsubscribed, or return undefined if no cleanup is needed.

          • (next): void | (() => void)
          • Parameters

            • next: ((data: Data) => void)
                • (data): void
                • Parameters

                  Returns void

            Returns void | (() => void)

      Returns Observer<Data>

      • The created observer.
fromArray: (<Data>(data: Data) => TObserver<readonly (Data extends readonly InnerArr[]
    ? InnerArr extends readonly InnerArr[]
        ? InnerArr extends readonly InnerArr[]
            ? InnerArr extends readonly InnerArr[]
                ? InnerArr extends readonly InnerArr[]
                    ? InnerArr extends readonly InnerArr[]
                        ? InnerArr extends readonly (...)[]
                            ? (...) extends (...)
                                ? (...)
                                : (...)
                            : InnerArr
                        : InnerArr
                    : InnerArr
                : InnerArr
            : InnerArr
        : InnerArr
    : Data)[]>) = fromArray

Type declaration

    • <Data>(data): TObserver<readonly (Data extends readonly InnerArr[]
          ? InnerArr extends readonly InnerArr[]
              ? InnerArr extends readonly InnerArr[]
                  ? InnerArr extends readonly InnerArr[]
                      ? InnerArr extends readonly InnerArr[]
                          ? InnerArr extends readonly InnerArr[]
                              ? InnerArr extends readonly (...)[]
                                  ? (...) extends (...)
                                      ? (...)
                                      : (...)
                                  : InnerArr
                              : InnerArr
                          : InnerArr
                      : InnerArr
                  : InnerArr
              : InnerArr
          : Data)[]>
    • Creates an observer that emits a flattened and filtered array of data.

      Type Parameters

      • Data = any

        The type of data being observed.

      Parameters

      • data: Data

        The data to observe.

      Returns TObserver<readonly (Data extends readonly InnerArr[]
          ? InnerArr extends readonly InnerArr[]
              ? InnerArr extends readonly InnerArr[]
                  ? InnerArr extends readonly InnerArr[]
                      ? InnerArr extends readonly InnerArr[]
                          ? InnerArr extends readonly InnerArr[]
                              ? InnerArr extends readonly (...)[]
                                  ? (...) extends (...)
                                      ? (...)
                                      : (...)
                                  : InnerArr
                              : InnerArr
                          : InnerArr
                      : InnerArr
                  : InnerArr
              : InnerArr
          : Data)[]>

      • The observer that emits the flattened and filtered array of data.
fromDelay: ((delay: number) => TObserver<void>) = fromDelay

Type declaration

    • (delay): TObserver<void>
    • Creates a delayed observer that emits a void value after a specified delay.

      Parameters

      • delay: number

        The delay in milliseconds before emitting the value.

      Returns TObserver<void>

      • The delayed observer instance.
fromEvent: ((event: keyof DocumentEventMap) => TObserver<
    | Event
    | TouchEvent
    | UIEvent
    | FocusEvent
    | MouseEvent
    | ProgressEvent<EventTarget>
    | SubmitEvent
    | ErrorEvent
    | ClipboardEvent
    | AnimationEvent
    | InputEvent
    | CompositionEvent
    | DragEvent
    | FormDataEvent
    | PointerEvent
    | KeyboardEvent
    | SecurityPolicyViolationEvent
    | TransitionEvent
    | WheelEvent>) = fromEvent

Type declaration

    • (event): TObserver<
          | Event
          | TouchEvent
          | UIEvent
          | FocusEvent
          | MouseEvent
          | ProgressEvent<EventTarget>
          | SubmitEvent
          | ErrorEvent
          | ClipboardEvent
          | AnimationEvent
          | InputEvent
          | CompositionEvent
          | DragEvent
          | FormDataEvent
          | PointerEvent
          | KeyboardEvent
          | SecurityPolicyViolationEvent
          | TransitionEvent
          | WheelEvent>
    • Creates an observer that emits events from a specified event on the document.

      Parameters

      • event: keyof DocumentEventMap

        The event to listen for.

      Returns TObserver<
          | Event
          | TouchEvent
          | UIEvent
          | FocusEvent
          | MouseEvent
          | ProgressEvent<EventTarget>
          | SubmitEvent
          | ErrorEvent
          | ClipboardEvent
          | AnimationEvent
          | InputEvent
          | CompositionEvent
          | DragEvent
          | FormDataEvent
          | PointerEvent
          | KeyboardEvent
          | SecurityPolicyViolationEvent
          | TransitionEvent
          | WheelEvent>

      • The observer instance.
fromInterval: ((delay: number) => TObserver<number>) = fromInterval

Type declaration

    • (delay): TObserver<number>
    • Creates an observer that emits a value after a specified delay.

      Parameters

      • delay: number

        The delay in milliseconds.

      Returns TObserver<number>

      • The observer that emits values after the specified delay.
fromPromise: (<Data>(callbackfn: (() => Promise<Data>), fallbackfn?: ((e: Error) => void)) => TObserver<Data>) = fromPromise

Type declaration

    • <Data>(callbackfn, fallbackfn?): TObserver<Data>
    • Creates an observable that emits the result of a given promise callback function.

      Type Parameters

      • Data = any

        The type of data emitted by the observer.

      Parameters

      • callbackfn: (() => Promise<Data>)

        The callback function that returns a promise.

      • Optionalfallbackfn: ((e: Error) => void)

        The fallback function to handle errors if the promise rejects.

          • (e): void
          • Parameters

            • e: Error

            Returns void

      Returns TObserver<Data>

      • The observable observer.

Methods

  • Creates a cold observable.

    Type Parameters

    • Data = any

    Parameters

    • emitter: ((next: ((data: Data) => void)) => void | (() => void))

      The emitter function which is called when a subscriber is added. It should return a function that is called when the subscription is unsubscribed, or return undefined if no cleanup is needed.

        • (next): void | (() => void)
        • Parameters

          • next: ((data: Data) => void)
              • (data): void
              • Parameters

                Returns void

          Returns void | (() => void)

    Returns Observer<Data>

    • The created observer.
  • Creates a hot observable that emits data as it is received from the given emitter.

    Type Parameters

    • Data = any

      The type of data emitted by the observable.

    Parameters

    • emitter: ((next: ((data: Data) => void)) => void | (() => void))

      The function that receives a callback to emit data. It should return a cleanup function or undefined.

        • (next): void | (() => void)
        • Parameters

          • next: ((data: Data) => void)
              • (data): void
              • Parameters

                Returns void

          Returns void | (() => void)

    Returns Observer<Data>

    The observer that allows subscribing to and unsubscribing from the emitted data.

  • Creates an observer from a BehaviorSubject.

    Type Parameters

    • Data = any

      The type of data emitted by the BehaviorSubject.

    Parameters

    • subject: TBehaviorSubject<Data>

      The BehaviorSubject to create the observer from.

    Returns Observer<Data>

    The observer created from the BehaviorSubject.

  • Creates an observer from the given subject and returns it.

    Type Parameters

    • Data = any

      The type of data emitted by the observer.

    Parameters

    • subject: TSubject<Data>

      The subject to create the observer from.

    Returns Observer<Data>

    • The observer created from the subject.
  • Creates a new observer that emits a value from the given data or function.

    Type Parameters

    • Data = any

    Parameters

    • data: Data | (() => Data)

      The data or function to emit from the observer.

    Returns TObserver<Data>

    • The created observer.
  • Creates a join observer that combines the values emitted by multiple Observers into a single Observable.

    Type Parameters

    • A = never

      The type of the value emitted by the first Observer.

    • B = never

      The type of the value emitted by the second Observer.

    • C = never

      The type of the value emitted by the third Observer.

    • D = never

      The type of the value emitted by the fourth Observer.

    • E = never

      The type of the value emitted by the fifth Observer.

    • F = never

      The type of the value emitted by the sixth Observer.

    • G = never

      The type of the value emitted by the seventh Observer.

    • H = never

      The type of the value emitted by the eighth Observer.

    • I = never

      The type of the value emitted by the ninth Observer.

    • J = never

      The type of the value emitted by the tenth Observer.

    Parameters

    • observers: [TObserver<A>, TObserver<B>?, TObserver<C>?, TObserver<D>?, TObserver<E>?, TObserver<F>?, TObserver<G>?]

      An array of Observers to join.

    • options: {
          buffer?: [A, B?, C?, D?, E?, F?, G?, H?, I?, J?];
          race?: boolean;
      } = {}

      Optional parameters for the join operation, including a buffer and a race flag.

      • Optionalbuffer?: [A, B?, C?, D?, E?, F?, G?, H?, I?, J?]

        An array to store the latest emitted values from each Observer. Defaults to an empty array.

      • Optionalrace?: boolean

        A boolean flag indicating whether to emit the combined values immediately or wait for all Observers to emit a value. Defaults to false.

    Returns TObserver<[A, B, C, D, E, F, G, H, I, J]>

    An Observer that emits an array of values, each value being the latest emitted value from the corresponding Observer.

  • Merges multiple observers into a single observer.

    Type Parameters

    • A = never

      The type of observer A.

    • B = never

      The type of observer B.

    • C = never

      The type of observer C.

    • D = never

      The type of observer D.

    • E = never

      The type of observer E.

    • F = never

      The type of observer F.

    • G = never

      The type of observer G.

    • H = never

      The type of observer H.

    • I = never

      The type of observer I.

    • J = never

      The type of observer J.

    Parameters

    • observers: [TObserver<A>, TObserver<B>?, TObserver<C>?, TObserver<D>?, TObserver<E>?, TObserver<F>?, TObserver<G>?]

      An array of observers to merge.

    Returns TObserver<
        | A
        | B
        | C
        | D
        | E
        | F
        | G
        | H
        | I
        | J>

    • The merged observer.
  • Creates a multicast observer.

    Type Parameters

    • Data = any

      The type of data being observed.

    Parameters

    • factory: (() => TObserver<Data>)

      A factory function that creates the observer.

        • (): TObserver<Data>
        • Returns TObserver<Data>

    Returns TObserver<Data> & {
        getRef: any;
        isMulticasted: true;
    }

    • The multicast observer.
  • Creates a pipe that connects an observer to a subject and emits output values based on a given emitter function.

    Type Parameters

    • Data = any

      The type of data that will be observed.

    • Output = any

      The type of output that will be emitted.

    Parameters

    • target: TObserver<Data>

      The observer that will receive output values.

    • emitter: ((subject: TSubject<Data>, next: ((output: Output) => void)) => void | (() => void))

      A function that takes a subject and a next function and returns an unsubscribe function.

        • (subject, next): void | (() => void)
        • Parameters

          • subject: TSubject<Data>
          • next: ((output: Output) => void)
              • (output): void
              • Parameters

                Returns void

          Returns void | (() => void)

    Returns Observer<Output>

    The observer that is connected to the subject and emits output values.

  • Type Parameters

    • Data = any

      The type of data the observer handles.

    Parameters

    • factory: (() => TObserver<Data>)

      A factory function to create the observer.

        • (): TObserver<Data>
        • Returns TObserver<Data>

    Returns TObserver<Data> & {
        isUnicasted: true;
    }

    • A unicast observer instance.