Fix redux-devtools-remote build

This commit is contained in:
Nathan Bierema 2024-08-05 21:30:37 -04:00
parent e2c1178667
commit 70d9932942
2 changed files with 13 additions and 11 deletions

View File

@ -7,8 +7,7 @@ export default function configureStore<
MonitorState, MonitorState,
MonitorAction extends Action<string>, MonitorAction extends Action<string>,
>( >(
// eslint-disable-next-line @typescript-eslint/no-empty-object-type next: StoreEnhancerStoreCreator,
next: StoreEnhancerStoreCreator<{}, unknown>,
subscriber: Reducer<MonitorState, MonitorAction>, subscriber: Reducer<MonitorState, MonitorAction>,
options: Options<S, A, MonitorState, MonitorAction>, options: Options<S, A, MonitorState, MonitorAction>,
) { ) {

View File

@ -6,7 +6,6 @@ import getHostForRN from 'rn-host-detect';
import { import {
Action, Action,
ActionCreator, ActionCreator,
PreloadedState,
Reducer, Reducer,
StoreEnhancer, StoreEnhancer,
StoreEnhancerStoreCreator, StoreEnhancerStoreCreator,
@ -174,7 +173,7 @@ type Message<S, A extends Action<string>> =
| ActionMessage | ActionMessage
| DispatchMessage<S, A>; | DispatchMessage<S, A>;
class DevToolsEnhancer<S, A extends Action<string>> { class DevToolsEnhancer<S, A extends Action<string>, PreloadedState> {
// eslint-disable-next-line @typescript-eslint/no-empty-object-type // eslint-disable-next-line @typescript-eslint/no-empty-object-type
store!: EnhancedStore<S, A, {}>; store!: EnhancedStore<S, A, {}>;
filters: LocalFilter | undefined; filters: LocalFilter | undefined;
@ -547,11 +546,14 @@ class DevToolsEnhancer<S, A extends Action<string>> {
? process.env.NODE_ENV === 'development' ? process.env.NODE_ENV === 'development'
: options.realtime; : options.realtime;
if (!realtime && !(this.startOn || this.sendOn || this.sendOnError)) if (!realtime && !(this.startOn || this.sendOn || this.sendOnError))
return (f: StoreEnhancerStoreCreator) => f; return (f) => f;
const maxAge = options.maxAge || 30; const maxAge = options.maxAge || 30;
return ((next: StoreEnhancerStoreCreator) => { return ((next: StoreEnhancerStoreCreator) => {
return (reducer: Reducer<S, A>, initialState: PreloadedState<S>) => { return (
reducer: Reducer<S, A, PreloadedState>,
initialState?: PreloadedState | undefined,
) => {
this.store = configureStore(next, this.monitorReducer, { this.store = configureStore(next, this.monitorReducer, {
maxAge, maxAge,
trace: options.trace, trace: options.trace,
@ -578,8 +580,9 @@ class DevToolsEnhancer<S, A extends Action<string>> {
}; };
} }
export default <S, A extends Action<string>>(options?: Options<S, A>) => export default <S, A extends Action<string>, PreloadedState>(
new DevToolsEnhancer<S, A>().enhance(options); options?: Options<S, A>,
) => new DevToolsEnhancer<S, A, PreloadedState>().enhance(options);
const compose = const compose =
(options: Options<unknown, Action<string>>) => (options: Options<unknown, Action<string>>) =>
@ -588,9 +591,9 @@ const compose =
const devToolsEnhancer = new DevToolsEnhancer(); const devToolsEnhancer = new DevToolsEnhancer();
function preEnhancer(createStore: StoreEnhancerStoreCreator) { function preEnhancer(createStore: StoreEnhancerStoreCreator) {
return <S, A extends Action<string>>( return <S, A extends Action<string>, PreloadedState>(
reducer: Reducer<S, A>, reducer: Reducer<S, A, PreloadedState>,
preloadedState: PreloadedState<S>, preloadedState?: PreloadedState | undefined,
) => { ) => {
devToolsEnhancer.store = createStore(reducer, preloadedState) as any; devToolsEnhancer.store = createStore(reducer, preloadedState) as any;
return { return {