@nteract/myths
Version:
A redux-observable framework for better locality of dependencies
19 lines (18 loc) • 1.02 kB
TypeScript
import { RecordOf } from "immutable";
import { Middleware, ReducersMapObject, Store } from "redux";
import { Epic } from "redux-observable";
import { MythicAction, MythicPackage } from "./types";
declare type UnionOfProperty<U, P extends string> = (U extends {
[key in P]: any;
} ? U[P] : never);
export declare const makeConfigureStore: <STATE = {}>() => <DEPS, PKGS extends MythicPackage<string, any>>(definition: {
packages: PKGS[];
reducers?: ReducersMapObject<Pick<STATE, Exclude<keyof STATE, "__private__">>, any> | undefined;
epics?: Epic<any, any, any, any>[] | undefined;
epicMiddleware?: Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>[] | undefined;
epicDependencies?: DEPS | undefined;
enhancer?: ((enhancer: any) => any) | undefined;
}) => (initialState?: STATE | undefined) => Store<RecordOf<STATE & {
__private__: { [key in UnionOfProperty<PKGS, "name">]: UnionOfProperty<PKGS, "initialState">; };
}>, MythicAction<string, string, any>>;
export {};