UNPKG

@nteract/epics

Version:
66 lines (65 loc) 2.37 kB
import { StateObservable } from "redux-observable"; import { Observable } from "rxjs"; import * as actions from "@nteract/actions"; import { AppState } from "@nteract/types"; /** * Maps ExecuteAllCells, ExecuteAllCellsAbove, and ExecuteAllCellsBelow actions to * ExecuteCell actions. These ExecuteCell actions are mapped * to SendExecuteRequest actions by another epic. * * @param action$ The stream of actions dispatched to Redux * @param state$ The stream of state changes */ export declare function executeAllCellsEpic(action$: Observable<actions.ExecuteAllCells | actions.ExecuteAllCellsAbove | actions.ExecuteAllCellsBelow>, state$: StateObservable<AppState>): Observable<{ type: "EXECUTE_FAILED"; payload: import("@nteract/actions/lib/utils").MaybeHasContent & { id?: string | undefined; } & { error: Error; code?: string | undefined; }; error: true; } | { type: "EXECUTE_CELL"; payload: import("@nteract/actions/lib/utils").HasCell; }>; /** * Maps an ExecuteFocusedCell action to an ExecuteCell action * by extracting the currently focused cell from the state. * * @param action$ * @param state$ */ export declare function executeFocusedCellEpic(action$: Observable<actions.ExecuteFocusedCell>, state$: StateObservable<AppState>): Observable<{ type: "EXECUTE_FAILED"; payload: import("@nteract/actions/lib/utils").MaybeHasContent & { id?: string | undefined; } & { error: Error; code?: string | undefined; }; error: true; } | { type: "EXECUTE_CELL"; payload: import("@nteract/actions/lib/utils").HasCell; }>; /** * Maps an ExecuteCell action to a SendExecuteRequest or EnqueueAction action. * * If the kernel is ready to execute, emit the SendExecuteRequest action. * * F f the kernel is not ready, push the execute request to the message queue * by emitting the EnqueueAction action. */ export declare function executeCellEpic(action$: Observable<actions.ExecuteCell>, state$: StateObservable<AppState>): Observable<{ type: "UPDATE_CELL_STATUS"; payload: import("@nteract/actions/lib/utils").HasCell & { status: string; }; } | { type: "SEND_EXECUTE_REQUEST"; payload: import("@nteract/actions/lib/utils").HasCell; } | { type: "ENQUEUE_ACTION"; payload: import("@nteract/actions/lib/utils").HasCell; }>;