aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/redux/store.ts
blob: 54dfe58c4665652cb8458f6ac191adfb9fe7e46e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import * as _ from 'lodash';
import { applyMiddleware, createStore, Store as ReduxStore } from 'redux';
import { composeWithDevTools, devToolsEnhancer } from 'redux-devtools-extension/developmentOnly';

import { analyticsMiddleware } from './analytics_middleware';
import { createReducer, State } from './reducer';

export type Store = ReduxStore<State>;

export const store = {
    create: (initialState: State): Store => {
        const reducer = createReducer(initialState);
        return createStore(reducer, initialState, composeWithDevTools(applyMiddleware(analyticsMiddleware)));
    },
};