@nteract/epics
Version:
Redux-Observable epics for nteract apps
66 lines (65 loc) • 2.37 kB
TypeScript
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;
}>;