Interface EffectRunner<Request, Response, TError, TState>

An EffectRunner is a function, enhanced with Observable properties

interface EffectRunner<Request, Response, TError, TState> {
    cancelCurrent: (() => void);
    cancelCurrentAndQueued: (() => void);
    cancelations: Observable<Request>;
    completions: Observable<Request>;
    currentError: BehaviorSubject<null | TError>;
    errors: Observable<TError>;
    isActive: BehaviorSubject<boolean>;
    isHandling: BehaviorSubject<boolean>;
    lastResponse: BehaviorSubject<null | Response>;
    reduceWith: ((reducer, initial) => BehaviorSubject<TState>);
    request: ((req) => void);
    responses: Observable<Response>;
    send: ((req, matcher?) => Promise<Response>);
    shutdown: (() => void);
    starts: Observable<Request>;
    state: BehaviorSubject<null | TState>;
    unsubscribe: (() => void);
    observe(callbacks): Subscription;
    (req): void;
}

Type Parameters

  • Request
  • Response
  • TError extends Error = Error
  • TState = Response

Hierarchy

Properties

cancelCurrent: (() => void)

Cancels the current effect.

Type declaration

    • (): void
    • Returns void

cancelCurrentAndQueued: (() => void)

Cancels the current effect, and unqueues any queued effects.

Type declaration

    • (): void
    • Returns void

cancelations: Observable<Request>
completions: Observable<Request>
currentError: BehaviorSubject<null | TError>
isActive: BehaviorSubject<boolean>
isHandling: BehaviorSubject<boolean>
lastResponse: BehaviorSubject<null | Response>
reduceWith: ((reducer, initial) => BehaviorSubject<TState>)

Populates #state via the reducer. Meant to be called only once, before

Type declaration

request: ((req) => void)

Type declaration

    • (req): void
    • Parameters

      Returns void

responses: Observable<Response>
send: ((req, matcher?) => Promise<Response>)

Returns a Promise for the next result. CAUTION: In concurrent situations this is usually not what you want!

Type declaration

    • (req, matcher?): Promise<Response>
    • Parameters

      • req: Request
      • Optional matcher: ((req, res) => boolean)

      Returns Promise<Response>

shutdown: (() => void)

Invokes cancelCurrentAndQueued, and stops listening for new requests.

Type declaration

    • (): void
    • Returns void

state: BehaviorSubject<null | TState>
unsubscribe: (() => void)

Alias for cancelCurrentAndQueued.

Type declaration

    • (): void
    • Returns void

Methods