Files
flipper/desktop/flipper-ui-core/src/store.tsx
Andres Suarez 79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00

49 lines
1.1 KiB
TypeScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import './global';
import {createStore} from 'redux';
import {
createRootReducer,
Actions,
State as StoreState,
Store,
} from './reducers/index';
import {stateSanitizer} from './utils/reduxDevToolsConfig';
let store: Store;
function initStore() {
const rootReducer = createRootReducer();
store = createStore<StoreState, Actions, any, any>(
rootReducer,
// @ts-ignore Type definition mismatch
window.__REDUX_DEVTOOLS_EXTENSION__
? window.__REDUX_DEVTOOLS_EXTENSION__({
// @ts-ignore: stateSanitizer is not part of type definition.
stateSanitizer,
})
: undefined,
);
// For debugging purposes only
// @ts-ignore
window.flipperStore = store;
return store;
}
// grab store lazily, to not break module loading order...
export function getStore() {
if (!store) {
return initStore();
}
return store;
}