From 763b9ff543ae1aeee614bf7b672bb986b2f94fd5 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sat, 4 Nov 2023 15:37:17 -0400 Subject: [PATCH] Replace Action with Action In anticipation of Redux 5 type changes --- .../src/background/store/apiMiddleware.ts | 24 ++++----- extension/src/contentScript/index.ts | 18 +++---- extension/src/devpanel/index.tsx | 2 +- extension/src/pageScript/Monitor.ts | 2 +- extension/src/pageScript/api/filters.ts | 14 ++--- extension/src/pageScript/api/importState.ts | 2 +- extension/src/pageScript/api/index.ts | 54 +++++++++---------- extension/src/pageScript/api/openWindow.ts | 2 +- extension/src/pageScript/enhancerStore.ts | 4 +- extension/src/pageScript/index.ts | 18 +++---- .../redux-devtools-app/src/actions/index.ts | 12 ++--- .../src/components/TopButtons.tsx | 2 +- .../src/containers/DevTools.tsx | 10 ++-- .../monitors/InspectorWrapper/SubTabs.tsx | 2 +- .../monitors/InspectorWrapper/index.tsx | 8 +-- .../src/containers/monitors/Slider.tsx | 2 +- .../src/reducers/instances.ts | 6 +-- .../src/utils/updateState.ts | 10 ++-- .../src/Chart.tsx | 4 +- .../src/ChartMonitor.tsx | 4 +- .../src/reducers.ts | 4 +- .../src/DockMonitor.tsx | 30 +++++------ .../src/reducers.ts | 12 ++--- .../redux-devtools-extension/src/index.ts | 2 +- .../redux-devtools-extension/src/logOnly.ts | 2 +- .../demo/src/DevTools.tsx | 2 +- .../src/TestGenerator.tsx | 4 +- .../src/index.tsx | 2 +- .../test/TestGenerator.spec.tsx | 2 +- .../src/StackTraceTab.tsx | 4 +- .../src/ActionList.tsx | 6 +-- .../src/ActionListRow.tsx | 4 +- .../src/ActionPreview.tsx | 10 ++-- .../src/ActionPreviewHeader.tsx | 4 +- .../src/DevtoolsInspector.tsx | 20 +++---- .../src/redux.ts | 2 +- .../src/tabs/ActionTab.tsx | 2 +- .../src/tabs/DiffTab.tsx | 2 +- .../src/tabs/StateTab.tsx | 2 +- .../src/instrument.ts | 50 ++++++++--------- .../test/instrument.spec.ts | 2 +- .../src/LogMonitor.tsx | 10 ++-- .../src/LogMonitorButtonBar.tsx | 4 +- .../src/LogMonitorEntry.tsx | 4 +- .../src/LogMonitorEntryAction.tsx | 4 +- .../src/LogMonitorEntryList.tsx | 4 +- .../src/reducers.ts | 6 +-- .../src/configureStore.ts | 4 +- .../redux-devtools-remote/src/devTools.ts | 24 ++++----- .../src/containers/RtkQueryInspector.tsx | 10 ++-- .../src/containers/RtkQueryMonitor.tsx | 6 +-- .../src/reducers.ts | 2 +- .../src/selectors.ts | 2 +- .../src/styles/createStylingFromTheme.ts | 2 +- .../src/types.ts | 4 +- .../src/SliderMonitor.tsx | 12 ++--- packages/redux-devtools-utils/src/filters.ts | 20 +++---- .../redux-devtools-utils/src/importState.ts | 2 +- packages/redux-devtools-utils/src/index.ts | 6 +-- .../redux-devtools/src/createDevTools.tsx | 12 ++--- packages/redux-devtools/src/persistState.ts | 8 +-- 61 files changed, 249 insertions(+), 265 deletions(-) diff --git a/extension/src/background/store/apiMiddleware.ts b/extension/src/background/store/apiMiddleware.ts index f533943b..480f6682 100644 --- a/extension/src/background/store/apiMiddleware.ts +++ b/extension/src/background/store/apiMiddleware.ts @@ -84,7 +84,7 @@ export interface NAAction { readonly id: string | number; } -interface InitMessage> { +interface InitMessage> { readonly type: 'INIT'; readonly payload: string; instanceId: string; @@ -137,7 +137,7 @@ interface SerializedActionMessage { readonly nextActionId: number; } -interface SerializedStateMessage> { +interface SerializedStateMessage> { readonly type: 'STATE'; readonly payload: Omit< LiftedState, @@ -151,7 +151,7 @@ interface SerializedStateMessage> { readonly committedState: boolean; } -type UpdateStateRequest> = +type UpdateStateRequest> = | InitMessage | LiftedMessage | SerializedPartialStateMessage @@ -163,7 +163,7 @@ export interface EmptyUpdateStateAction { readonly type: typeof UPDATE_STATE; } -interface UpdateStateAction> { +interface UpdateStateAction> { readonly type: typeof UPDATE_STATE; request: UpdateStateRequest; readonly id: string | number; @@ -177,7 +177,7 @@ export type TabMessage = | ImportAction | ActionAction | ExportAction; -export type PanelMessage> = +export type PanelMessage> = | NAAction | ErrorMessage | UpdateStateAction @@ -192,7 +192,7 @@ type TabPort = Omit & { postMessage: (message: TabMessage) => void; }; type PanelPort = Omit & { - postMessage: >( + postMessage: >( message: PanelMessage, ) => void; }; @@ -214,7 +214,7 @@ const connections: { const chunks: { [instanceId: string]: PageScriptToContentScriptMessageForwardedToMonitors< unknown, - Action + Action >; } = {}; let monitors = 0; @@ -223,13 +223,13 @@ let isMonitored = false; const getId = (sender: chrome.runtime.MessageSender, name?: string) => sender.tab ? sender.tab.id! : name || sender.id!; -type MonitorAction> = +type MonitorAction> = | NAAction | ErrorMessage | UpdateStateAction | SetPersistAction; -function toMonitors>( +function toMonitors>( action: MonitorAction, tabId?: string | number, verbose?: boolean, @@ -387,14 +387,14 @@ export type SingleMessage = | OpenOptionsMessage | GetOptionsMessage; -type BackgroundStoreMessage> = +type BackgroundStoreMessage> = | PageScriptToContentScriptMessageWithoutDisconnectOrInitInstance | SplitMessage | SingleMessage; type BackgroundStoreResponse = { readonly options: Options }; // Receive messages from content scripts -function messaging>( +function messaging>( request: BackgroundStoreMessage, sender: chrome.runtime.MessageSender, sendResponse?: (response?: BackgroundStoreResponse) => void, @@ -508,7 +508,7 @@ function disconnect( }; } -function onConnect>(port: chrome.runtime.Port) { +function onConnect>(port: chrome.runtime.Port) { let id: number | string; let listener; diff --git a/extension/src/contentScript/index.ts b/extension/src/contentScript/index.ts index 8f77d3fe..b9894ab3 100644 --- a/extension/src/contentScript/index.ts +++ b/extension/src/contentScript/index.ts @@ -92,18 +92,18 @@ export type ContentScriptToPageScriptMessage = | ExportAction | UpdateAction; -interface ImportStatePayload> { +interface ImportStatePayload> { readonly type: 'IMPORT_STATE'; readonly nextLiftedState: LiftedState | readonly A[]; readonly preloadedState?: S; } -interface ImportStateDispatchAction> { +interface ImportStateDispatchAction> { readonly type: 'DISPATCH'; readonly payload: ImportStatePayload; } -export type ListenerMessage> = +export type ListenerMessage> = | StartAction | StopAction | DispatchAction @@ -204,7 +204,7 @@ export type SplitMessage = | SplitMessageChunk | SplitMessageEnd; -function tryCatch>( +function tryCatch>( fn: ( args: | PageScriptToContentScriptMessageWithoutDisconnect @@ -264,24 +264,24 @@ interface InitInstanceContentScriptToBackgroundMessage { readonly instanceId: number; } -interface RelayMessage> { +interface RelayMessage> { readonly name: 'RELAY'; readonly message: | PageScriptToContentScriptMessageWithoutDisconnectOrInitInstance | SplitMessage; } -export type ContentScriptToBackgroundMessage> = +export type ContentScriptToBackgroundMessage> = | InitInstanceContentScriptToBackgroundMessage | RelayMessage; -function postToBackground>( +function postToBackground>( message: ContentScriptToBackgroundMessage, ) { bg!.postMessage(message); } -function send>( +function send>( message: | PageScriptToContentScriptMessageWithoutDisconnect | SplitMessage, @@ -296,7 +296,7 @@ function send>( } // Resend messages from the page to the background script -function handleMessages>( +function handleMessages>( event: MessageEvent>, ) { if (!isAllowed()) return; diff --git a/extension/src/devpanel/index.tsx b/extension/src/devpanel/index.tsx index 34a69f9f..546aa3a6 100644 --- a/extension/src/devpanel/index.tsx +++ b/extension/src/devpanel/index.tsx @@ -96,7 +96,7 @@ function init(id: number) { name: id ? id.toString() : undefined, }); bgConnection.onMessage.addListener( - >(message: PanelMessage) => { + >(message: PanelMessage) => { if (message.type === 'NA') { if (message.id === id) renderNA(); else store!.dispatch({ type: REMOVE_INSTANCE, id: message.id }); diff --git a/extension/src/pageScript/Monitor.ts b/extension/src/pageScript/Monitor.ts index a6eac428..f2d9d79c 100644 --- a/extension/src/pageScript/Monitor.ts +++ b/extension/src/pageScript/Monitor.ts @@ -8,7 +8,7 @@ declare global { } } -export default class Monitor> { +export default class Monitor> { update: ( liftedState?: LiftedState | undefined, libConfig?: LibConfig, diff --git a/extension/src/pageScript/api/filters.ts b/extension/src/pageScript/api/filters.ts index 7410ae38..f60ca14d 100644 --- a/extension/src/pageScript/api/filters.ts +++ b/extension/src/pageScript/api/filters.ts @@ -21,7 +21,7 @@ export const noFiltersApplied = (localFilter: LocalFilter | undefined) => !window.devToolsOptions.filter || window.devToolsOptions.filter === FilterState.DO_NOT_FILTER); -export function isFiltered>( +export function isFiltered>( action: A | string, localFilter: LocalFilter | undefined, ) { @@ -41,7 +41,7 @@ export function isFiltered>( ); } -function filterActions>( +function filterActions>( actionsById: { [p: number]: PerformAction }, actionSanitizer: ((action: A, id: number) => A) | undefined, ): { [p: number]: PerformAction } { @@ -63,7 +63,7 @@ function filterStates( })); } -export function filterState>( +export function filterState>( state: LiftedState, localFilter: LocalFilter | undefined, stateSanitizer: ((state: S, index: number) => S) | undefined, @@ -120,7 +120,7 @@ export function filterState>( }; } -export interface PartialLiftedState> { +export interface PartialLiftedState> { readonly actionsById: { [actionId: number]: PerformAction }; readonly computedStates: { state: S; error?: string }[]; readonly stagedActionIds: readonly number[]; @@ -129,16 +129,16 @@ export interface PartialLiftedState> { readonly committedState?: S; } -export function startingFrom>( +export function startingFrom>( sendingActionId: number, state: LiftedState, localFilter: LocalFilter | undefined, stateSanitizer: ((state: S, index: number) => S) | undefined, actionSanitizer: - | (>(action: A, id: number) => A) + | (>(action: A, id: number) => A) | undefined, predicate: - | (>(state: S, action: A) => boolean) + | (>(state: S, action: A) => boolean) | undefined, ): LiftedState | PartialLiftedState | undefined { const stagedActionIds = state.stagedActionIds; diff --git a/extension/src/pageScript/api/importState.ts b/extension/src/pageScript/api/importState.ts index 319a7008..0fe648f0 100644 --- a/extension/src/pageScript/api/importState.ts +++ b/extension/src/pageScript/api/importState.ts @@ -30,7 +30,7 @@ interface ParsedSerializedLiftedState { readonly preloadedState?: string; } -export default function importState>( +export default function importState>( state: string | undefined, { serialize }: Config, ) { diff --git a/extension/src/pageScript/api/index.ts b/extension/src/pageScript/api/index.ts index 7292718b..86eb2756 100644 --- a/extension/src/pageScript/api/index.ts +++ b/extension/src/pageScript/api/index.ts @@ -115,7 +115,7 @@ interface DisconnectMessage { readonly source: typeof source; } -interface InitMessage> { +interface InitMessage> { readonly type: 'INIT'; readonly payload: string; readonly instanceId: number; @@ -161,7 +161,7 @@ interface SerializedActionMessage { readonly nextActionId?: number; } -interface SerializedStateMessage> { +interface SerializedStateMessage> { readonly type: 'STATE'; readonly payload: Omit< LiftedState, @@ -183,7 +183,7 @@ interface OpenMessage { export type PageScriptToContentScriptMessageForwardedToMonitors< S, - A extends Action, + A extends Action, > = | InitMessage | LiftedMessage @@ -194,7 +194,7 @@ export type PageScriptToContentScriptMessageForwardedToMonitors< export type PageScriptToContentScriptMessageWithoutDisconnectOrInitInstance< S, - A extends Action, + A extends Action, > = | PageScriptToContentScriptMessageForwardedToMonitors | ErrorMessage @@ -204,17 +204,17 @@ export type PageScriptToContentScriptMessageWithoutDisconnectOrInitInstance< export type PageScriptToContentScriptMessageWithoutDisconnect< S, - A extends Action, + A extends Action, > = | PageScriptToContentScriptMessageWithoutDisconnectOrInitInstance | InitInstancePageScriptToContentScriptMessage | InitInstanceMessage; -export type PageScriptToContentScriptMessage> = +export type PageScriptToContentScriptMessage> = | PageScriptToContentScriptMessageWithoutDisconnect | DisconnectMessage; -function post>( +function post>( message: PageScriptToContentScriptMessage, ) { window.postMessage(message, '*'); @@ -258,7 +258,7 @@ function getStackTrace( return stack; } -function amendActionType>( +function amendActionType>( action: | A | StructuralPerformAction @@ -288,7 +288,7 @@ interface LiftedMessage { readonly source: typeof source; } -interface PartialStateMessage> { +interface PartialStateMessage> { readonly type: 'PARTIAL_STATE'; readonly payload: PartialLiftedState; readonly source: typeof source; @@ -296,7 +296,7 @@ interface PartialStateMessage> { readonly maxAge: number; } -interface ExportMessage> { +interface ExportMessage> { readonly type: 'EXPORT'; readonly payload: readonly A[]; readonly committedState: S; @@ -304,21 +304,21 @@ interface ExportMessage> { readonly instanceId: number; } -export interface StructuralPerformAction> { +export interface StructuralPerformAction> { readonly action: A; readonly timestamp?: number; readonly stack?: string; } -type SingleUserAction> = +type SingleUserAction> = | PerformAction | StructuralPerformAction | A; -type UserAction> = +type UserAction> = | SingleUserAction | readonly SingleUserAction[]; -interface ActionMessage> { +interface ActionMessage> { readonly type: 'ACTION'; readonly payload: S; readonly source: typeof source; @@ -329,7 +329,7 @@ interface ActionMessage> { readonly name?: string; } -interface StateMessage> { +interface StateMessage> { readonly type: 'STATE'; readonly payload: LiftedState; readonly source: typeof source; @@ -369,7 +369,7 @@ interface StopMessage { readonly instanceId: number; } -type ToContentScriptMessage> = +type ToContentScriptMessage> = | LiftedMessage | PartialStateMessage | ExportMessage @@ -380,7 +380,7 @@ type ToContentScriptMessage> = | GetReportMessage | StopMessage; -export function toContentScript>( +export function toContentScript>( message: ToContentScriptMessage, serializeState?: Serialize | undefined, serializeAction?: Serialize | undefined, @@ -425,7 +425,7 @@ export function toContentScript>( } } -export function sendMessage>( +export function sendMessage>( action: StructuralPerformAction | StructuralPerformAction[], state: LiftedState, config: Config, @@ -496,7 +496,7 @@ export function setListener( } const liftListener = - >( + >( listener: (message: ListenerMessage) => void, config: Config, ) => @@ -520,15 +520,15 @@ export function disconnect() { } export interface ConnectResponse { - init: >( + init: >( state: S, liftedData?: LiftedState, ) => void; - subscribe: >( + subscribe: >( listener: (message: ListenerMessage) => void, ) => (() => void) | undefined; unsubscribe: () => void; - send: >( + send: >( action: A, state: LiftedState, ) => void; @@ -550,8 +550,8 @@ export function connect(preConfig: Config): ConnectResponse { const localFilter = getLocalFilter(config); const autoPause = config.autoPause; let isPaused = autoPause; - let delayedActions: StructuralPerformAction>[] = []; - let delayedStates: LiftedState, unknown>[] = []; + let delayedActions: StructuralPerformAction>[] = []; + let delayedStates: LiftedState, unknown>[] = []; const rootListener = (action: ContentScriptToPageScriptMessage) => { if (autoPause) { @@ -574,7 +574,7 @@ export function connect(preConfig: Config): ConnectResponse { listeners[id] = [rootListener]; - const subscribe = >( + const subscribe = >( listener: (message: ListenerMessage) => void, ) => { if (!listener) return undefined; @@ -600,7 +600,7 @@ export function connect(preConfig: Config): ConnectResponse { delayedStates = []; }, latency); - const send = >( + const send = >( action: A, state: LiftedState, ) => { @@ -643,7 +643,7 @@ export function connect(preConfig: Config): ConnectResponse { ); }; - const init = >( + const init = >( state: S, liftedData?: LiftedState, ) => { diff --git a/extension/src/pageScript/api/openWindow.ts b/extension/src/pageScript/api/openWindow.ts index 02cd850f..f48c3b6b 100644 --- a/extension/src/pageScript/api/openWindow.ts +++ b/extension/src/pageScript/api/openWindow.ts @@ -3,7 +3,7 @@ import type { PageScriptToContentScriptMessage } from './index'; export type Position = 'left' | 'right' | 'bottom' | 'panel' | 'remote'; -function post>( +function post>( message: PageScriptToContentScriptMessage, ) { window.postMessage(message, '*'); diff --git a/extension/src/pageScript/enhancerStore.ts b/extension/src/pageScript/enhancerStore.ts index dfe0e7f8..c48cd0da 100644 --- a/extension/src/pageScript/enhancerStore.ts +++ b/extension/src/pageScript/enhancerStore.ts @@ -18,9 +18,9 @@ declare global { export default function configureStore< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, >( next: StoreEnhancerStoreCreator, monitorReducer: Reducer, diff --git a/extension/src/pageScript/index.ts b/extension/src/pageScript/index.ts index b9b4b029..00a4df49 100644 --- a/extension/src/pageScript/index.ts +++ b/extension/src/pageScript/index.ts @@ -56,7 +56,7 @@ import type { ContentScriptToPageScriptMessage } from '../contentScript'; type EnhancedStoreWithInitialDispatch< S, - A extends Action, + A extends Action, MonitorState, > = EnhancedStore & { initialDispatch: Dispatch }; @@ -64,7 +64,7 @@ const source = '@devtools-page'; let stores: { [K in string | number]: EnhancedStoreWithInitialDispatch< unknown, - Action, + Action, unknown >; } = {}; @@ -97,18 +97,18 @@ export interface ConfigWithExpandedMaxAge { readonly actionsAllowlist?: string | readonly string[]; serialize?: boolean | SerializeWithImmutable; readonly stateSanitizer?: (state: S, index?: number) => S; - readonly actionSanitizer?: >( + readonly actionSanitizer?: >( action: A, id?: number, ) => A; - readonly predicate?: >( + readonly predicate?: >( state: S, action: A, ) => boolean; readonly latency?: number; readonly maxAge?: | number - | (>( + | (>( currentLiftedAction: LiftedAction, previousLiftedState: LiftedState | undefined, ) => number); @@ -123,9 +123,9 @@ export interface ConfigWithExpandedMaxAge { readonly autoPause?: boolean; readonly features?: Features; readonly type?: string; - readonly getActionType?: >(action: A) => A; + readonly getActionType?: >(action: A) => A; readonly actionCreators?: { - readonly [key: string]: ActionCreator>; + readonly [key: string]: ActionCreator>; }; } @@ -137,7 +137,7 @@ interface ReduxDevtoolsExtension { (config?: Config): StoreEnhancer; open: (position?: Position) => void; notifyErrors: (onError?: () => boolean) => void; - send: >( + send: >( action: StructuralPerformAction | StructuralPerformAction[], state: LiftedState, config: Config, @@ -158,7 +158,7 @@ declare global { } } -function __REDUX_DEVTOOLS_EXTENSION__>( +function __REDUX_DEVTOOLS_EXTENSION__>( config?: Config, ): StoreEnhancer { /* eslint-disable no-param-reassign */ diff --git a/packages/redux-devtools-app/src/actions/index.ts b/packages/redux-devtools-app/src/actions/index.ts index f32b3ef5..ae65f1d5 100644 --- a/packages/redux-devtools-app/src/actions/index.ts +++ b/packages/redux-devtools-app/src/actions/index.ts @@ -53,7 +53,7 @@ import { LiftedState } from '@redux-devtools/core'; let monitorReducer: ( monitorProps: unknown, state: unknown | undefined, - action: Action, + action: Action, ) => unknown; let monitorProps: unknown = {}; @@ -110,7 +110,7 @@ export interface InitMonitorAction { update: ( monitorProps: unknown, state: unknown | undefined, - action: Action, + action: Action, ) => unknown; monitorProps: unknown; } @@ -120,7 +120,7 @@ export interface MonitorActionAction { monitorReducer: ( monitorProps: unknown, state: unknown | undefined, - action: Action, + action: Action, ) => unknown; monitorProps: unknown; } @@ -159,8 +159,8 @@ interface ReorderActionAction { interface ImportStateAction { type: 'IMPORT_STATE'; nextLiftedState: - | LiftedState, unknown> - | readonly Action[]; + | LiftedState, unknown> + | readonly Action[]; preloadedState?: unknown; noRecompute?: boolean | undefined; } @@ -211,7 +211,7 @@ export function liftedDispatch( | InitMonitorAction | JumpToStateAction | JumpToActionAction - | LiftedAction, unknown>, + | LiftedAction, unknown>, ): MonitorActionAction | LiftedActionDispatchAction { if (action.type[0] === '@') { if (action.type === '@@INIT_MONITOR') { diff --git a/packages/redux-devtools-app/src/components/TopButtons.tsx b/packages/redux-devtools-app/src/components/TopButtons.tsx index df80847c..c93eef17 100644 --- a/packages/redux-devtools-app/src/components/TopButtons.tsx +++ b/packages/redux-devtools-app/src/components/TopButtons.tsx @@ -14,7 +14,7 @@ import { Options, State } from '../reducers/instances'; const { reset, rollback, commit, sweep } = ActionCreators; interface Props { - dispatch: (action: LiftedAction, unknown>) => void; + dispatch: (action: LiftedAction, unknown>) => void; liftedState: State; options: Options; } diff --git a/packages/redux-devtools-app/src/containers/DevTools.tsx b/packages/redux-devtools-app/src/containers/DevTools.tsx index e3cfb966..db197332 100644 --- a/packages/redux-devtools-app/src/containers/DevTools.tsx +++ b/packages/redux-devtools-app/src/containers/DevTools.tsx @@ -14,7 +14,7 @@ interface Props { liftedState: State; monitorState: MonitorStateMonitorState | undefined; dispatch: ( - action: LiftedAction, unknown> | InitMonitorAction, + action: LiftedAction, unknown> | InitMonitorAction, ) => void; features: Features | undefined; theme: ThemeFromProvider; @@ -24,12 +24,12 @@ interface Props { class DevTools extends Component { monitorProps?: object; Monitor?: React.ComponentType< - LiftedState, unknown> + LiftedState, unknown> > & { update( monitorProps: unknown, state: unknown | undefined, - action: Action, + action: Action, ): unknown; }; preventRender?: boolean; @@ -58,7 +58,7 @@ class DevTools extends Component { newMonitorState = update( this.monitorProps, undefined, - {} as Action, + {} as Action, ); if (newMonitorState !== monitorState) { this.preventRender = true; @@ -88,7 +88,7 @@ class DevTools extends Component { } dispatch = ( - action: LiftedAction, unknown> | InitMonitorAction, + action: LiftedAction, unknown> | InitMonitorAction, ) => { this.props.dispatch(action); }; diff --git a/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/SubTabs.tsx b/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/SubTabs.tsx index f6e9d424..e5ae3c3d 100644 --- a/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/SubTabs.tsx +++ b/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/SubTabs.tsx @@ -19,7 +19,7 @@ type StateProps = ReturnType; type DispatchProps = ResolveThunks; type Props = StateProps & DispatchProps & - TabComponentProps>; + TabComponentProps>; class SubTabs extends Component { tabs?: (Tab | Tab<{ data: unknown }> | Tab<{ data?: Delta }>)[]; diff --git a/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/index.tsx b/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/index.tsx index d44e9caa..3a9acafc 100644 --- a/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/index.tsx +++ b/packages/redux-devtools-app/src/containers/monitors/InspectorWrapper/index.tsx @@ -39,17 +39,17 @@ class InspectorWrapper extends Component { render() { const { features, ...rest } = this.props; - let tabs: () => Tab>[]; + let tabs: () => Tab>[]; if (features && features.test) { tabs = () => [ - ...(DEFAULT_TABS as Tab>[]), + ...(DEFAULT_TABS as Tab>[]), { name: 'Test', component: TestTab } as unknown as Tab< unknown, - Action + Action >, ]; } else { - tabs = () => DEFAULT_TABS as Tab>[]; + tabs = () => DEFAULT_TABS as Tab>[]; } return ( diff --git a/packages/redux-devtools-app/src/containers/monitors/Slider.tsx b/packages/redux-devtools-app/src/containers/monitors/Slider.tsx index a465b0ff..74a5f11d 100644 --- a/packages/redux-devtools-app/src/containers/monitors/Slider.tsx +++ b/packages/redux-devtools-app/src/containers/monitors/Slider.tsx @@ -14,7 +14,7 @@ const SliderWrapper = styled.div` interface Props { liftedState: State; - dispatch: (action: LiftedAction, unknown>) => void; + dispatch: (action: LiftedAction, unknown>) => void; theme: ThemeFromProvider; } diff --git a/packages/redux-devtools-app/src/reducers/instances.ts b/packages/redux-devtools-app/src/reducers/instances.ts index 9623a742..14d721eb 100644 --- a/packages/redux-devtools-app/src/reducers/instances.ts +++ b/packages/redux-devtools-app/src/reducers/instances.ts @@ -45,7 +45,7 @@ export interface Options { } export interface State { - actionsById: { [actionId: number]: PerformAction> }; + actionsById: { [actionId: number]: PerformAction> }; computedStates: { state: unknown; error?: string }[]; currentStateIndex: number; nextActionId: number; @@ -109,7 +109,7 @@ function updateState( let newState; const liftedState = state[id] || state.default; const action = ((request.action && parseJSON(request.action, serialize)) || - {}) as PerformAction>; + {}) as PerformAction>; switch (request.type) { case 'INIT': @@ -129,7 +129,7 @@ function updateState( newState = recompute( newState, request.batched ? payload : (payload as unknown as State[])[i], - action[i] as PerformAction>, + action[i] as PerformAction>, newState.nextActionId + 1, maxAge, isExcess, diff --git a/packages/redux-devtools-app/src/utils/updateState.ts b/packages/redux-devtools-app/src/utils/updateState.ts index d8e5c04b..0d25167c 100644 --- a/packages/redux-devtools-app/src/utils/updateState.ts +++ b/packages/redux-devtools-app/src/utils/updateState.ts @@ -7,8 +7,8 @@ export function recompute( previousLiftedState: State, storeState: State, action: - | PerformAction> - | { action: Action; timestamp?: number; stack?: string }, + | PerformAction> + | { action: Action; timestamp?: number; stack?: string }, nextActionId = 1, maxAge?: number, isExcess?: boolean, @@ -24,10 +24,8 @@ export function recompute( } liftedState.stagedActionIds = [...liftedState.stagedActionIds, actionId]; liftedState.actionsById = { ...liftedState.actionsById }; - if ((action as PerformAction>).type === 'PERFORM_ACTION') { - liftedState.actionsById[actionId] = action as PerformAction< - Action - >; + if ((action as PerformAction>).type === 'PERFORM_ACTION') { + liftedState.actionsById[actionId] = action as PerformAction>; } else { liftedState.actionsById[actionId] = { action: action.action || action, diff --git a/packages/redux-devtools-chart-monitor/src/Chart.tsx b/packages/redux-devtools-chart-monitor/src/Chart.tsx index 3ea4ada8..e9797b00 100644 --- a/packages/redux-devtools-chart-monitor/src/Chart.tsx +++ b/packages/redux-devtools-chart-monitor/src/Chart.tsx @@ -11,7 +11,7 @@ const wrapperStyle = { height: '100%', }; -export interface Props> +export interface Props> extends LiftedState, Options { dispatch: Dispatch>; @@ -24,7 +24,7 @@ export interface Props> defaultIsVisible?: boolean; } -class Chart> extends Component> { +class Chart> extends Component> { divRef = createRef(); // eslint-disable-next-line @typescript-eslint/ban-types renderChart?: (state?: {} | null | undefined) => void; diff --git a/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx b/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx index 405cd8ac..3dfa389c 100644 --- a/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx +++ b/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx @@ -39,7 +39,7 @@ function invertColors(theme: themes.Base16Theme) { }; } -export interface ChartMonitorProps> +export interface ChartMonitorProps> extends LiftedState, Options { dispatch: Dispatch>; @@ -51,7 +51,7 @@ export interface ChartMonitorProps> defaultIsVisible?: boolean; } -class ChartMonitor> extends PureComponent< +class ChartMonitor> extends PureComponent< ChartMonitorProps > { static update = reducer; diff --git a/packages/redux-devtools-chart-monitor/src/reducers.ts b/packages/redux-devtools-chart-monitor/src/reducers.ts index fff11481..86b9ed56 100644 --- a/packages/redux-devtools-chart-monitor/src/reducers.ts +++ b/packages/redux-devtools-chart-monitor/src/reducers.ts @@ -2,7 +2,7 @@ import { Action } from 'redux'; import { ChartMonitorAction, TOGGLE_VISIBILITY } from './actions'; import { ChartMonitorProps } from './ChartMonitor'; -function toggleVisibility>( +function toggleVisibility>( props: ChartMonitorProps, state = props.defaultIsVisible, action: ChartMonitorAction, @@ -22,7 +22,7 @@ export interface ChartMonitorState { isVisible?: boolean; } -export default function reducer>( +export default function reducer>( props: ChartMonitorProps, state: ChartMonitorState | undefined = {}, action: ChartMonitorAction, diff --git a/packages/redux-devtools-dock-monitor/src/DockMonitor.tsx b/packages/redux-devtools-dock-monitor/src/DockMonitor.tsx index 44ee819a..7cde604f 100644 --- a/packages/redux-devtools-dock-monitor/src/DockMonitor.tsx +++ b/packages/redux-devtools-dock-monitor/src/DockMonitor.tsx @@ -23,7 +23,7 @@ interface KeyObject { sequence: string; } -interface ExternalProps> { +interface ExternalProps> { defaultPosition: 'left' | 'top' | 'right' | 'bottom'; defaultIsVisible: boolean; defaultSize: number; @@ -35,8 +35,8 @@ interface ExternalProps> { dispatch: Dispatch; children: - | Monitor, unknown, Action> - | Monitor, unknown, Action>[]; + | Monitor, unknown, Action> + | Monitor, unknown, Action>[]; } interface DefaultProps { @@ -46,7 +46,7 @@ interface DefaultProps { fluid: boolean; } -export interface DockMonitorProps> +export interface DockMonitorProps> extends LiftedState { defaultPosition: 'left' | 'top' | 'right' | 'bottom'; defaultIsVisible: boolean; @@ -59,11 +59,11 @@ export interface DockMonitorProps> dispatch: Dispatch; children: - | Monitor, unknown, Action> - | Monitor, unknown, Action>[]; + | Monitor, unknown, Action> + | Monitor, unknown, Action>[]; } -class DockMonitor> extends Component< +class DockMonitor> extends Component< DockMonitorProps > { static update = reducer; @@ -179,7 +179,7 @@ class DockMonitor> extends Component< }; renderChild( - child: Monitor, unknown, Action>, + child: Monitor, unknown, Action>, index: number, otherProps: Omit< DockMonitorProps, @@ -214,19 +214,13 @@ class DockMonitor> extends Component< > {Children.map( children as + | Monitor, unknown, Action> | Monitor< S, A, LiftedState, unknown, - Action - > - | Monitor< - S, - A, - LiftedState, - unknown, - Action + Action >[], (child, index) => this.renderChild(child, index, rest), )} @@ -236,10 +230,10 @@ class DockMonitor> extends Component< } export default DockMonitor as unknown as React.ComponentType< - ExternalProps> + ExternalProps> > & { update( - monitorProps: ExternalProps>, + monitorProps: ExternalProps>, state: DockMonitorState | undefined, action: DockMonitorAction, ): DockMonitorState; diff --git a/packages/redux-devtools-dock-monitor/src/reducers.ts b/packages/redux-devtools-dock-monitor/src/reducers.ts index 0b298cb2..3f3f8867 100644 --- a/packages/redux-devtools-dock-monitor/src/reducers.ts +++ b/packages/redux-devtools-dock-monitor/src/reducers.ts @@ -18,7 +18,7 @@ export interface DockMonitorState { childMonitorIndex: number; } -function position>( +function position>( props: DockMonitorProps, state = props.defaultPosition, action: DockMonitorAction, @@ -28,7 +28,7 @@ function position>( : state; } -function size>( +function size>( props: DockMonitorProps, state = props.defaultSize, action: DockMonitorAction, @@ -36,7 +36,7 @@ function size>( return action.type === CHANGE_SIZE ? action.size : state; } -function isVisible>( +function isVisible>( props: DockMonitorProps, state = props.defaultIsVisible, action: DockMonitorAction, @@ -44,7 +44,7 @@ function isVisible>( return action.type === TOGGLE_VISIBILITY ? !state : state; } -function childMonitorStates>( +function childMonitorStates>( props: DockMonitorProps, state: unknown[] = [], action: DockMonitorAction, @@ -54,7 +54,7 @@ function childMonitorStates>( ); } -function childMonitorIndex>( +function childMonitorIndex>( props: DockMonitorProps, state = 0, action: DockMonitorAction, @@ -67,7 +67,7 @@ function childMonitorIndex>( } } -export default function reducer>( +export default function reducer>( props: DockMonitorProps, state: Partial = {}, action: DockMonitorAction, diff --git a/packages/redux-devtools-extension/src/index.ts b/packages/redux-devtools-extension/src/index.ts index 5cb98f20..86293b55 100644 --- a/packages/redux-devtools-extension/src/index.ts +++ b/packages/redux-devtools-extension/src/index.ts @@ -220,7 +220,7 @@ export interface Config extends EnhancerOptions { interface ConnectResponse { init: (state: unknown) => void; - send: (action: Action, state: unknown) => void; + send: (action: Action, state: unknown) => void; } interface ReduxDevtoolsExtension { diff --git a/packages/redux-devtools-extension/src/logOnly.ts b/packages/redux-devtools-extension/src/logOnly.ts index aad72696..67b54382 100644 --- a/packages/redux-devtools-extension/src/logOnly.ts +++ b/packages/redux-devtools-extension/src/logOnly.ts @@ -17,7 +17,7 @@ function enhancer(options?: EnhancerOptions): StoreEnhancer { if (config.latency === undefined) config.latency = 500; return function (createStore) { - return function >( + return function >( reducer: Reducer, preloadedState: PreloadedState | undefined, ) { diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx index 24e2f08e..4866708b 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx @@ -30,7 +30,7 @@ export const getDevTools = (location: { search: string }) => component: TestTab, }, ...defaultTabs, - ] as Tab>[] + ] as Tab>[] } /> , diff --git a/packages/redux-devtools-inspector-monitor-test-tab/src/TestGenerator.tsx b/packages/redux-devtools-inspector-monitor-test-tab/src/TestGenerator.tsx index f04f0f4b..5a8f38c8 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/src/TestGenerator.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/src/TestGenerator.tsx @@ -60,7 +60,7 @@ export function compare( ).forEach(generate); } -interface Props> +interface Props> extends Omit, 'monitorState' | 'updateMonitorState'> { name?: string; isVanilla?: boolean; @@ -74,7 +74,7 @@ interface Props> export default class TestGenerator< S, - A extends Action, + A extends Action, > extends (PureComponent || Component)> { getMethod(action: A) { let type: string = action.type as string; diff --git a/packages/redux-devtools-inspector-monitor-test-tab/src/index.tsx b/packages/redux-devtools-inspector-monitor-test-tab/src/index.tsx index 91d23019..47c1dff0 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/src/index.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/src/index.tsx @@ -42,7 +42,7 @@ interface State { dialogStatus: 'Add' | 'Edit' | null; } -export class TestTab> extends Component< +export class TestTab> extends Component< TabComponentProps, State > { diff --git a/packages/redux-devtools-inspector-monitor-test-tab/test/TestGenerator.spec.tsx b/packages/redux-devtools-inspector-monitor-test-tab/test/TestGenerator.spec.tsx index 42477e7a..dccb9e25 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/test/TestGenerator.spec.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/test/TestGenerator.spec.tsx @@ -8,7 +8,7 @@ import strTemplate from '../src/redux/mocha/template'; import fnVanillaTemplate from '../src/vanilla/mocha'; import strVanillaTemplate from '../src/vanilla/mocha/template'; -const actions: { [actionId: number]: PerformAction> } = { +const actions: { [actionId: number]: PerformAction> } = { 0: { type: 'PERFORM_ACTION', action: { type: '@@INIT' }, diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/src/StackTraceTab.tsx b/packages/redux-devtools-inspector-monitor-trace-tab/src/StackTraceTab.tsx index e4313a40..3946168d 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/src/StackTraceTab.tsx +++ b/packages/redux-devtools-inspector-monitor-trace-tab/src/StackTraceTab.tsx @@ -10,7 +10,7 @@ import { ErrorLocation } from './react-error-overlay/utils/parseCompileError'; const rootStyle = { padding: '5px 10px' }; -interface Props> extends TabComponentProps { +interface Props> extends TabComponentProps { openFile: ( fileName: string, lineNumber: number, @@ -24,7 +24,7 @@ interface State { showDocsLink?: boolean; } -export class TraceTab> extends Component< +export class TraceTab> extends Component< Props, State > { diff --git a/packages/redux-devtools-inspector-monitor/src/ActionList.tsx b/packages/redux-devtools-inspector-monitor/src/ActionList.tsx index 7db9533c..7baba2e3 100644 --- a/packages/redux-devtools-inspector-monitor/src/ActionList.tsx +++ b/packages/redux-devtools-inspector-monitor/src/ActionList.tsx @@ -22,7 +22,7 @@ import { CSS } from '@dnd-kit/utilities'; import ActionListRow from './ActionListRow'; import ActionListHeader from './ActionListHeader'; -function getTimestamps>( +function getTimestamps>( actions: { [actionId: number]: PerformAction }, actionIds: number[], actionId: number, @@ -40,7 +40,7 @@ function scrollToBottom(node: HTMLDivElement) { node.scrollTop = node.scrollHeight; } -interface Props> { +interface Props> { actions: { [actionId: number]: PerformAction }; actionIds: number[]; isWideLayout: boolean; @@ -63,7 +63,7 @@ interface Props> { lastActionId: number; } -export default function ActionList>({ +export default function ActionList>({ styling, actions, actionIds, diff --git a/packages/redux-devtools-inspector-monitor/src/ActionListRow.tsx b/packages/redux-devtools-inspector-monitor/src/ActionListRow.tsx index 34b4d50e..50b3e262 100644 --- a/packages/redux-devtools-inspector-monitor/src/ActionListRow.tsx +++ b/packages/redux-devtools-inspector-monitor/src/ActionListRow.tsx @@ -12,7 +12,7 @@ const BUTTON_JUMP = 'Jump'; type Button = typeof BUTTON_SKIP | typeof BUTTON_JUMP; -interface Props> { +interface Props> { styling: StylingFunction; actionId: number; isInitAction: boolean; @@ -33,7 +33,7 @@ interface State { } export default class ActionListRow< - A extends Action, + A extends Action, > extends PureComponent, State> { state: State = { hover: false }; diff --git a/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx b/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx index 77f80c84..533c014d 100644 --- a/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx +++ b/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx @@ -11,7 +11,7 @@ import DiffTab from './tabs/DiffTab'; import StateTab from './tabs/StateTab'; import ActionTab from './tabs/ActionTab'; -export interface TabComponentProps> { +export interface TabComponentProps> { labelRenderer: LabelRenderer; styling: StylingFunction; computedStates: { state: S; error?: string }[]; @@ -31,7 +31,7 @@ export interface TabComponentProps> { updateMonitorState: (monitorState: Partial) => void; } -export interface Tab> { +export interface Tab> { name: string; component: React.ComponentType>; } @@ -51,7 +51,7 @@ const DEFAULT_TABS = [ }, ]; -interface Props> { +interface Props> { base16Theme: Base16Theme; invertTheme: boolean; isWideLayout: boolean; @@ -76,7 +76,7 @@ interface Props> { disableStateTreeCollection: boolean; } -class ActionPreview> extends Component< +class ActionPreview> extends Component< Props > { static defaultProps = { @@ -123,7 +123,7 @@ class ActionPreview> extends Component< return (
>[]} + tabs={renderedTabs as unknown as Tab>[]} {...{ styling, inspectedPath, onInspectPath, tabName, onSelectTab }} /> {!error && ( diff --git a/packages/redux-devtools-inspector-monitor/src/ActionPreviewHeader.tsx b/packages/redux-devtools-inspector-monitor/src/ActionPreviewHeader.tsx index 1b506b6e..91eb7435 100644 --- a/packages/redux-devtools-inspector-monitor/src/ActionPreviewHeader.tsx +++ b/packages/redux-devtools-inspector-monitor/src/ActionPreviewHeader.tsx @@ -4,7 +4,7 @@ import { Action } from 'redux'; import { StylingFunction } from 'react-base16-styling'; import { Tab } from './ActionPreview'; -interface Props> { +interface Props> { tabs: Tab[]; styling: StylingFunction; inspectedPath: (string | number)[]; @@ -14,7 +14,7 @@ interface Props> { } const ActionPreviewHeader: FunctionComponent< - Props> + Props> > = ({ styling, inspectedPath, onInspectPath, tabName, onSelectTab, tabs }) => (
diff --git a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx index ad60fa26..acf17c15 100644 --- a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx +++ b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx @@ -43,13 +43,13 @@ const { reorderAction, } = ActionCreators; -function getLastActionId>( +function getLastActionId>( props: DevtoolsInspectorProps, ) { return props.stagedActionIds[props.stagedActionIds.length - 1]; } -function getCurrentActionId>( +function getCurrentActionId>( props: DevtoolsInspectorProps, monitorState: DevtoolsInspectorState, ) { @@ -73,7 +73,7 @@ function getFromState( return computedStates[fromStateIdx]; } -function createIntermediateState>( +function createIntermediateState>( props: DevtoolsInspectorProps, monitorState: DevtoolsInspectorState, ) { @@ -126,7 +126,7 @@ function createIntermediateState>( }; } -function createThemeState>( +function createThemeState>( props: DevtoolsInspectorProps, ) { const base16Theme = getBase16Theme(props.theme, base16Themes)!; @@ -137,7 +137,7 @@ function createThemeState>( return { base16Theme, styling }; } -export interface ExternalProps> { +export interface ExternalProps> { dispatch: Dispatch< DevtoolsInspectorAction | LiftedAction >; @@ -165,7 +165,7 @@ interface DefaultProps { invertTheme: boolean; } -export interface DevtoolsInspectorProps> +export interface DevtoolsInspectorProps> extends LiftedState { dispatch: Dispatch< DevtoolsInspectorAction | LiftedAction @@ -186,7 +186,7 @@ export interface DevtoolsInspectorProps> tabs: Tab[] | ((tabs: Tab[]) => Tab[]); } -interface State> { +interface State> { delta: Delta | null | undefined | false; nextState: S; action: A; @@ -195,7 +195,7 @@ interface State> { themeState: { base16Theme: Base16Theme; styling: StylingFunction }; } -class DevtoolsInspector> extends PureComponent< +class DevtoolsInspector> extends PureComponent< DevtoolsInspectorProps, State > { @@ -474,10 +474,10 @@ class DevtoolsInspector> extends PureComponent< } export default DevtoolsInspector as unknown as React.ComponentType< - ExternalProps> + ExternalProps> > & { update( - monitorProps: ExternalProps>, + monitorProps: ExternalProps>, state: DevtoolsInspectorState | undefined, action: DevtoolsInspectorAction, ): DevtoolsInspectorState; diff --git a/packages/redux-devtools-inspector-monitor/src/redux.ts b/packages/redux-devtools-inspector-monitor/src/redux.ts index a2134fc1..024e9ea3 100644 --- a/packages/redux-devtools-inspector-monitor/src/redux.ts +++ b/packages/redux-devtools-inspector-monitor/src/redux.ts @@ -45,7 +45,7 @@ function reduceUpdateState( : state; } -export function reducer>( +export function reducer>( props: DevtoolsInspectorProps, state = DEFAULT_STATE, action: DevtoolsInspectorAction, diff --git a/packages/redux-devtools-inspector-monitor/src/tabs/ActionTab.tsx b/packages/redux-devtools-inspector-monitor/src/tabs/ActionTab.tsx index bce58d64..59c62e00 100644 --- a/packages/redux-devtools-inspector-monitor/src/tabs/ActionTab.tsx +++ b/packages/redux-devtools-inspector-monitor/src/tabs/ActionTab.tsx @@ -7,7 +7,7 @@ import getJsonTreeTheme from './getJsonTreeTheme'; import { TabComponentProps } from '../ActionPreview'; const ActionTab: FunctionComponent< - TabComponentProps> + TabComponentProps> > = ({ action, styling, diff --git a/packages/redux-devtools-inspector-monitor/src/tabs/DiffTab.tsx b/packages/redux-devtools-inspector-monitor/src/tabs/DiffTab.tsx index 9667a695..433d284c 100644 --- a/packages/redux-devtools-inspector-monitor/src/tabs/DiffTab.tsx +++ b/packages/redux-devtools-inspector-monitor/src/tabs/DiffTab.tsx @@ -5,7 +5,7 @@ import { TabComponentProps } from '../ActionPreview'; import { Action } from 'redux'; const DiffTab: FunctionComponent< - TabComponentProps> + TabComponentProps> > = ({ delta, styling, diff --git a/packages/redux-devtools-inspector-monitor/src/tabs/StateTab.tsx b/packages/redux-devtools-inspector-monitor/src/tabs/StateTab.tsx index 94c2807b..5dffc3c6 100644 --- a/packages/redux-devtools-inspector-monitor/src/tabs/StateTab.tsx +++ b/packages/redux-devtools-inspector-monitor/src/tabs/StateTab.tsx @@ -7,7 +7,7 @@ import getJsonTreeTheme from './getJsonTreeTheme'; import { TabComponentProps } from '../ActionPreview'; const StateTab: React.FunctionComponent< - TabComponentProps> + TabComponentProps> > = ({ nextState, styling, diff --git a/packages/redux-devtools-instrument/src/instrument.ts b/packages/redux-devtools-instrument/src/instrument.ts index f771c432..f288ed3a 100644 --- a/packages/redux-devtools-instrument/src/instrument.ts +++ b/packages/redux-devtools-instrument/src/instrument.ts @@ -42,7 +42,7 @@ const isChromeOrNode = process.release && process.release.name === 'node'); -export interface PerformAction> { +export interface PerformAction> { type: typeof ActionTypes.PERFORM_ACTION; action: A; timestamp: number; @@ -96,7 +96,7 @@ interface JumpToActionAction { actionId: number; } -interface ImportStateAction, MonitorState> { +interface ImportStateAction, MonitorState> { type: typeof ActionTypes.IMPORT_STATE; nextLiftedState: LiftedState | readonly A[]; preloadedState?: S; @@ -113,7 +113,7 @@ interface PauseRecordingAction { status: boolean; } -export type LiftedAction, MonitorState> = +export type LiftedAction, MonitorState> = | PerformAction | ResetAction | RollbackAction @@ -132,7 +132,7 @@ export type LiftedAction, MonitorState> = * Action creators to change the History state. */ export const ActionCreators = { - performAction>( + performAction>( action: A, trace?: ((action: A) => string | undefined) | boolean, traceLimit?: number, @@ -243,7 +243,7 @@ export const ActionCreators = { return { type: ActionTypes.JUMP_TO_ACTION, actionId }; }, - importState, MonitorState = null>( + importState, MonitorState = null>( nextLiftedState: LiftedState | readonly A[], noRecompute?: boolean, ): ImportStateAction { @@ -264,7 +264,7 @@ export const INIT_ACTION = { type: '@@INIT' }; /** * Computes the next entry with exceptions catching. */ -function computeWithTryCatch>( +function computeWithTryCatch>( reducer: Reducer, action: A, state: S, @@ -295,7 +295,7 @@ function computeWithTryCatch>( /** * Computes the next entry in the log by applying an action. */ -function computeNextEntry>( +function computeNextEntry>( reducer: Reducer, action: A, state: S, @@ -310,7 +310,7 @@ function computeNextEntry>( /** * Runs the reducer on invalidated actions to get a fresh computation log. */ -function recomputeStates>( +function recomputeStates>( computedStates: { state: S; error?: string }[], minInvalidatedStateIndex: number, reducer: Reducer, @@ -367,7 +367,7 @@ function recomputeStates>( /** * Lifts an app's action into an action on the lifted store. */ -export function liftAction>( +export function liftAction>( action: A, trace?: ((action: A) => string | undefined) | boolean, traceLimit?: number, @@ -382,13 +382,13 @@ export function liftAction>( ); } -function isArray, MonitorState>( +function isArray, MonitorState>( nextLiftedState: LiftedState | readonly A[], ): nextLiftedState is readonly A[] { return Array.isArray(nextLiftedState); } -export interface LiftedState, MonitorState> { +export interface LiftedState, MonitorState> { monitorState: MonitorState; nextActionId: number; actionsById: { [actionId: number]: PerformAction }; @@ -406,9 +406,9 @@ export interface LiftedState, MonitorState> { */ export function liftReducerWith< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, >( reducer: Reducer, initialCommittedState: PreloadedState | undefined, @@ -834,7 +834,7 @@ export function liftReducerWith< */ export function unliftState< S, - A extends Action, + A extends Action, MonitorState, NextStateExt, >( @@ -845,21 +845,21 @@ export function unliftState< return state as S & NextStateExt; } -export type LiftedReducer, MonitorState> = Reducer< +export type LiftedReducer, MonitorState> = Reducer< LiftedState, LiftedAction >; -export type LiftedStore, MonitorState> = Store< +export type LiftedStore, MonitorState> = Store< LiftedState, LiftedAction >; -export type InstrumentExt, MonitorState> = { +export type InstrumentExt, MonitorState> = { liftedStore: LiftedStore; }; -export type EnhancedStore, MonitorState> = Store< +export type EnhancedStore, MonitorState> = Store< S, A > & @@ -870,9 +870,9 @@ export type EnhancedStore, MonitorState> = Store< */ export function unliftStore< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, NextExt, NextStateExt, >( @@ -965,9 +965,9 @@ export function unliftStore< export interface Options< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, > { maxAge?: | number @@ -990,9 +990,9 @@ export interface Options< */ export function instrument< OptionsS, - OptionsA extends Action, + OptionsA extends Action, MonitorState = null, - MonitorAction extends Action = never, + MonitorAction extends Action = never, >( monitorReducer: Reducer = (() => null) as unknown as Reducer, @@ -1008,7 +1008,7 @@ export function instrument< return ( createStore: StoreEnhancerStoreCreator, ) => - >( + >( reducer: Reducer, initialState?: PreloadedState, ) => { diff --git a/packages/redux-devtools-instrument/test/instrument.spec.ts b/packages/redux-devtools-instrument/test/instrument.spec.ts index 33ffa88c..117bdce9 100644 --- a/packages/redux-devtools-instrument/test/instrument.spec.ts +++ b/packages/redux-devtools-instrument/test/instrument.spec.ts @@ -1152,7 +1152,7 @@ describe('instrument', () => { }); }); - function filterStackAndTimestamps>( + function filterStackAndTimestamps>( state: LiftedState, ) { state.actionsById = _.mapValues(state.actionsById, (action) => { diff --git a/packages/redux-devtools-log-monitor/src/LogMonitor.tsx b/packages/redux-devtools-log-monitor/src/LogMonitor.tsx index fcfb74a7..13d87cbe 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitor.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitor.tsx @@ -45,7 +45,7 @@ const styles: { }, }; -interface ExternalProps> { +interface ExternalProps> { dispatch: Dispatch>; preserveScrollTop: boolean; @@ -66,7 +66,7 @@ interface DefaultProps { markStateDiff: boolean; } -export interface LogMonitorProps> +export interface LogMonitorProps> extends LiftedState { dispatch: Dispatch>; @@ -79,7 +79,7 @@ export interface LogMonitorProps> hideMainButtons?: boolean; } -class LogMonitor> extends PureComponent< +class LogMonitor> extends PureComponent< LogMonitorProps > { static update = reducer; @@ -274,10 +274,10 @@ class LogMonitor> extends PureComponent< } export default LogMonitor as unknown as React.ComponentType< - ExternalProps> + ExternalProps> > & { update( - monitorProps: ExternalProps>, + monitorProps: ExternalProps>, state: LogMonitorState | undefined, action: LogMonitorAction, ): LogMonitorState; diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx index 27478835..356bfa39 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx @@ -20,7 +20,7 @@ const style: CSSProperties = { flexDirection: 'row', }; -interface Props> { +interface Props> { theme: Base16Theme; dispatch: Dispatch>; hasStates: boolean; @@ -29,7 +29,7 @@ interface Props> { export default class LogMonitorButtonBar< S, - A extends Action, + A extends Action, > extends PureComponent> { static propTypes = { dispatch: PropTypes.func, diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx index 3ed7218f..3d481f43 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx @@ -29,7 +29,7 @@ const dataIsEqual = ( return getDeepItem(data, path) === getDeepItem(previousData, path); }; -interface Props> { +interface Props> { theme: Base16Theme; select: (state: any) => unknown; action: A; @@ -49,7 +49,7 @@ interface Props> { export default class LogMonitorEntry< S, - A extends Action, + A extends Action, > extends PureComponent> { static propTypes = { state: PropTypes.object.isRequired, diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx index 9eef72cc..1e02a633 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx @@ -17,7 +17,7 @@ const styles = { }, }; -interface Props> { +interface Props> { theme: Base16Theme; collapsed: boolean; action: A; @@ -27,7 +27,7 @@ interface Props> { } export default class LogMonitorAction< - A extends Action, + A extends Action, > extends Component> { renderPayload(payload: Record) { return ( diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx index 58999592..99440aaa 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx @@ -5,7 +5,7 @@ import { PerformAction } from '@redux-devtools/core'; import { Base16Theme } from 'redux-devtools-themes'; import LogMonitorEntry from './LogMonitorEntry'; -interface Props> { +interface Props> { actionsById: { [actionId: number]: PerformAction }; computedStates: { state: S; error?: string }[]; stagedActionIds: number[]; @@ -24,7 +24,7 @@ interface Props> { export default class LogMonitorEntryList< S, - A extends Action, + A extends Action, > extends PureComponent> { static propTypes = { actionsById: PropTypes.object, diff --git a/packages/redux-devtools-log-monitor/src/reducers.ts b/packages/redux-devtools-log-monitor/src/reducers.ts index 7e809221..82cb68b9 100644 --- a/packages/redux-devtools-log-monitor/src/reducers.ts +++ b/packages/redux-devtools-log-monitor/src/reducers.ts @@ -6,7 +6,7 @@ import { } from './actions'; import { LogMonitorProps } from './LogMonitor'; -function initialScrollTop>( +function initialScrollTop>( props: LogMonitorProps, state = 0, action: LogMonitorAction, @@ -18,7 +18,7 @@ function initialScrollTop>( return action.type === UPDATE_SCROLL_TOP ? action.scrollTop : state; } -function startConsecutiveToggle>( +function startConsecutiveToggle>( props: LogMonitorProps, state: number | null | undefined, action: LogMonitorAction, @@ -31,7 +31,7 @@ export interface LogMonitorState { consecutiveToggleStartId: number | null | undefined; } -export default function reducer>( +export default function reducer>( props: LogMonitorProps, state: Partial = {}, action: LogMonitorAction, diff --git a/packages/redux-devtools-remote/src/configureStore.ts b/packages/redux-devtools-remote/src/configureStore.ts index 4f780b20..67cc2cc7 100644 --- a/packages/redux-devtools-remote/src/configureStore.ts +++ b/packages/redux-devtools-remote/src/configureStore.ts @@ -3,9 +3,9 @@ import { Action, Reducer, StoreEnhancerStoreCreator } from 'redux'; export default function configureStore< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, >( // eslint-disable-next-line @typescript-eslint/ban-types next: StoreEnhancerStoreCreator<{}, unknown>, diff --git a/packages/redux-devtools-remote/src/devTools.ts b/packages/redux-devtools-remote/src/devTools.ts index 6f517df1..f5942442 100644 --- a/packages/redux-devtools-remote/src/devTools.ts +++ b/packages/redux-devtools-remote/src/devTools.ts @@ -74,7 +74,7 @@ interface Filters { readonly allowlist?: string | readonly string[]; } -interface Options> { +interface Options> { readonly hostname?: string; readonly realtime?: boolean; readonly maxAge?: number; @@ -106,11 +106,11 @@ interface Options> { readonly sendTo?: string; readonly id?: string; readonly actionCreators?: { - [key: string]: ActionCreator>; + [key: string]: ActionCreator>; }; readonly stateSanitizer?: ((state: S, index?: number) => S) | undefined; readonly actionSanitizer?: - | (>(action: A, id?: number) => A) + | (>(action: A, id?: number) => A) | undefined; } @@ -158,13 +158,13 @@ interface ActionMessage { readonly action: string | { args: string[]; rest: string; selected: number }; } -interface DispatchMessage> { +interface DispatchMessage> { readonly type: 'DISPATCH'; // eslint-disable-next-line @typescript-eslint/ban-types readonly action: LiftedAction; } -type Message> = +type Message> = | ImportMessage | SyncMessage | UpdateMessage @@ -174,7 +174,7 @@ type Message> = | ActionMessage | DispatchMessage; -class DevToolsEnhancer> { +class DevToolsEnhancer> { // eslint-disable-next-line @typescript-eslint/ban-types store!: EnhancedStore; filters: LocalFilter | undefined; @@ -260,7 +260,7 @@ class DevToolsEnhancer> { index?: number, ) => unknown, this.actionSanitizer as - | ((action: Action, id: number) => Action) + | ((action: Action, id: number) => Action) | undefined, nextActionId!, ), @@ -584,24 +584,24 @@ class DevToolsEnhancer> { }; } -export default >(options?: Options) => +export default >(options?: Options) => new DevToolsEnhancer().enhance(options); const compose = - (options: Options>) => + (options: Options>) => (...funcs: StoreEnhancer[]) => (...args: unknown[]) => { const devToolsEnhancer = new DevToolsEnhancer(); function preEnhancer(createStore: StoreEnhancerStoreCreator) { - return >( + return >( reducer: Reducer, preloadedState: PreloadedState, ) => { devToolsEnhancer.store = createStore(reducer, preloadedState) as any; return { ...devToolsEnhancer.store, - dispatch: (action: Action) => + dispatch: (action: Action) => devToolsEnhancer.locked ? action : devToolsEnhancer.store.dispatch(action), @@ -618,7 +618,7 @@ const compose = }; export function composeWithDevTools( - ...funcs: [Options>] | StoreEnhancer[] + ...funcs: [Options>] | StoreEnhancer[] ) { if (funcs.length === 0) { return new DevToolsEnhancer().enhance(); diff --git a/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryInspector.tsx b/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryInspector.tsx index 32670d6a..bd29599c 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryInspector.tsx +++ b/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryInspector.tsx @@ -19,12 +19,12 @@ import { QueryList } from '../components/QueryList'; import { QueryForm } from '../components/QueryForm'; import { QueryPreview } from './QueryPreview'; -type ForwardedMonitorProps> = Pick< +type ForwardedMonitorProps> = Pick< LiftedState, 'monitorState' | 'currentStateIndex' | 'computedStates' | 'actionsById' >; -export interface RtkQueryInspectorProps> +export interface RtkQueryInspectorProps> extends ForwardedMonitorProps { dispatch: Dispatch>; styleUtils: StyleUtils; @@ -35,7 +35,7 @@ type RtkQueryInspectorState = { isWideLayout: boolean; }; -class RtkQueryInspector> extends PureComponent< +class RtkQueryInspector> extends PureComponent< RtkQueryInspectorProps, RtkQueryInspectorState > { @@ -55,10 +55,10 @@ class RtkQueryInspector> extends PureComponent< static wideLayout = 600; static getDerivedStateFromProps( - props: RtkQueryInspectorProps>, + props: RtkQueryInspectorProps>, state: RtkQueryInspectorState, ): null | Partial> { - const selectorsSource = computeSelectorSource>( + const selectorsSource = computeSelectorSource>( props, state.selectorsSource, ); diff --git a/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryMonitor.tsx b/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryMonitor.tsx index 16d1a95f..9f5ca446 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryMonitor.tsx +++ b/packages/redux-devtools-rtk-query-monitor/src/containers/RtkQueryMonitor.tsx @@ -23,7 +23,7 @@ export interface RtkQueryComponentState { readonly styleUtils: StyleUtils; } -class RtkQueryMonitor> extends Component< +class RtkQueryMonitor> extends Component< RtkQueryMonitorProps, RtkQueryComponentState > { @@ -79,10 +79,10 @@ class RtkQueryMonitor> extends Component< } export default RtkQueryMonitor as unknown as React.ComponentType< - ExternalProps> + ExternalProps> > & { update( - monitorProps: ExternalProps>, + monitorProps: ExternalProps>, state: RtkQueryMonitorState | undefined, action: Action, ): RtkQueryMonitorState; diff --git a/packages/redux-devtools-rtk-query-monitor/src/reducers.ts b/packages/redux-devtools-rtk-query-monitor/src/reducers.ts index e0d8c1f7..3d777f03 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/reducers.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/reducers.ts @@ -53,7 +53,7 @@ const monitorSlice = createSlice({ }, }); -export function reducer>( +export function reducer>( props: RtkQueryMonitorProps, state: RtkQueryMonitorState | undefined, action: AnyAction, diff --git a/packages/redux-devtools-rtk-query-monitor/src/selectors.ts b/packages/redux-devtools-rtk-query-monitor/src/selectors.ts index a70d79a2..ed2873ce 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/selectors.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/selectors.ts @@ -26,7 +26,7 @@ import { type InspectorSelector = Selector, Output>; -export function computeSelectorSource>( +export function computeSelectorSource>( props: RtkQueryInspectorProps, previous: SelectorsSource | null = null, ): SelectorsSource { diff --git a/packages/redux-devtools-rtk-query-monitor/src/styles/createStylingFromTheme.ts b/packages/redux-devtools-rtk-query-monitor/src/styles/createStylingFromTheme.ts index b719612a..21a7507c 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/styles/createStylingFromTheme.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/styles/createStylingFromTheme.ts @@ -526,7 +526,7 @@ export const createStylingFromTheme: CurriedFunction1< base16Themes: { ...reduxThemes }, }); -export function createThemeState>( +export function createThemeState>( props: RtkQueryMonitorProps, ): StyleUtils { const base16Theme = diff --git a/packages/redux-devtools-rtk-query-monitor/src/types.ts b/packages/redux-devtools-rtk-query-monitor/src/types.ts index f357deb2..f761b07b 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/types.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/types.ts @@ -31,7 +31,7 @@ export interface RtkQueryMonitorState { readonly selectedPreviewTab: QueryPreviewTabs; } -export interface RtkQueryMonitorProps> +export interface RtkQueryMonitorProps> extends LiftedState { dispatch: Dispatch>; theme: keyof typeof themes | Base16Theme; @@ -54,7 +54,7 @@ export type RtkQueryApiConfig = RtkQueryApiState['config']; export type RtkQueryProvided = RtkQueryApiState['provided']; -export interface ExternalProps> { +export interface ExternalProps> { dispatch: Dispatch>; theme: keyof typeof themes | Base16Theme; hideMainButtons?: boolean; diff --git a/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx b/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx index 7e2bb733..5b0aa08d 100644 --- a/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx +++ b/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx @@ -22,7 +22,7 @@ import SliderButton from './SliderButton'; // eslint-disable-next-line @typescript-eslint/unbound-method const { reset, jumpToAction } = ActionCreators; -interface ExternalProps> { +interface ExternalProps> { // eslint-disable-next-line @typescript-eslint/ban-types dispatch: Dispatch>; preserveScrollTop: boolean; @@ -39,7 +39,7 @@ interface DefaultProps { keyboardEnabled: boolean; } -interface SliderMonitorProps> // eslint-disable-next-line @typescript-eslint/ban-types +interface SliderMonitorProps> // eslint-disable-next-line @typescript-eslint/ban-types extends LiftedState { // eslint-disable-next-line @typescript-eslint/ban-types dispatch: Dispatch>; @@ -55,7 +55,7 @@ interface State { replaySpeed: string; } -class SliderMonitor> extends (PureComponent || +class SliderMonitor> extends (PureComponent || Component), State> { static update = reducer; @@ -391,13 +391,13 @@ class SliderMonitor> extends (PureComponent || } export default SliderMonitor as unknown as React.ComponentType< - ExternalProps> + ExternalProps> > & { update( - monitorProps: ExternalProps>, + monitorProps: ExternalProps>, // eslint-disable-next-line @typescript-eslint/ban-types state: {} | undefined, - action: Action, + action: Action, // eslint-disable-next-line @typescript-eslint/ban-types ): {}; defaultProps: DefaultProps; diff --git a/packages/redux-devtools-utils/src/filters.ts b/packages/redux-devtools-utils/src/filters.ts index 514dcdde..df7d9354 100644 --- a/packages/redux-devtools-utils/src/filters.ts +++ b/packages/redux-devtools-utils/src/filters.ts @@ -3,7 +3,7 @@ import { PerformAction } from '@redux-devtools/core'; import { Action } from 'redux'; export interface State { - actionsById: { [actionId: number]: PerformAction> }; + actionsById: { [actionId: number]: PerformAction> }; computedStates: { state: unknown; error?: string }[]; stagedActionIds: number[]; } @@ -19,10 +19,8 @@ export function arrToRegex(v: string | string[]) { } function filterActions( - actionsById: { [actionId: number]: PerformAction> }, - actionSanitizer: - | ((action: Action, id: number) => Action) - | undefined, + actionsById: { [actionId: number]: PerformAction> }, + actionSanitizer: ((action: Action, id: number) => Action) | undefined, ) { if (!actionSanitizer) return actionsById; return mapValues(actionsById, (action, id: number) => ({ @@ -93,10 +91,10 @@ function getDevToolsOptions() { } export function isFiltered( - action: PerformAction> | Action, + action: PerformAction> | Action, localFilter?: LocalFilter, ) { - const { type } = (action as PerformAction>).action || action; + const { type } = (action as PerformAction>).action || action; const opts = getDevToolsOptions(); if ( (!localFilter && @@ -146,11 +144,9 @@ export function filterState( type: string, localFilter: LocalFilter | undefined, stateSanitizer: ((state: unknown, actionId: number) => unknown) | undefined, - actionSanitizer: - | ((action: Action, id: number) => Action) - | undefined, + actionSanitizer: ((action: Action, id: number) => Action) | undefined, nextActionId: number, - predicate?: (currState: unknown, currAction: Action) => boolean, + predicate?: (currState: unknown, currAction: Action) => boolean, ) { if (type === 'ACTION') return !stateSanitizer ? state : stateSanitizer(state, nextActionId - 1); @@ -169,7 +165,7 @@ export function filterState( }[] = []; const sanitizedActionsById: | { - [id: number]: PerformAction>; + [id: number]: PerformAction>; } | undefined = actionSanitizer && {}; const { actionsById } = state; diff --git a/packages/redux-devtools-utils/src/importState.ts b/packages/redux-devtools-utils/src/importState.ts index abd832cc..cb948218 100644 --- a/packages/redux-devtools-utils/src/importState.ts +++ b/packages/redux-devtools-utils/src/importState.ts @@ -5,7 +5,7 @@ import Immutable from 'immutable'; import { PerformAction } from '@redux-devtools/core'; interface State { - actionsById: { [actionId: number]: PerformAction> }; + actionsById: { [actionId: number]: PerformAction> }; computedStates: { state: unknown; error?: string }[]; committedState?: unknown; } diff --git a/packages/redux-devtools-utils/src/index.ts b/packages/redux-devtools-utils/src/index.ts index 95732cf9..29a4f1e4 100644 --- a/packages/redux-devtools-utils/src/index.ts +++ b/packages/redux-devtools-utils/src/index.ts @@ -11,13 +11,13 @@ export function generateId(id: string | undefined) { export interface ActionCreatorObject { readonly name: string; - readonly func: ActionCreator>; + readonly func: ActionCreator>; readonly args: readonly string[]; } // eslint-disable-next-line @typescript-eslint/ban-types function flatTree( - obj: { [key: string]: ActionCreator> }, + obj: { [key: string]: ActionCreator> }, namespace = '', ) { let functions: ActionCreatorObject[] = []; @@ -65,7 +65,7 @@ export function getMethods(obj: unknown) { } export function getActionsArray(actionCreators: { - [key: string]: ActionCreator>; + [key: string]: ActionCreator>; }) { if (Array.isArray(actionCreators)) return actionCreators; return flatTree(actionCreators); diff --git a/packages/redux-devtools/src/createDevTools.tsx b/packages/redux-devtools/src/createDevTools.tsx index 84749f94..ec5d8e97 100644 --- a/packages/redux-devtools/src/createDevTools.tsx +++ b/packages/redux-devtools/src/createDevTools.tsx @@ -28,19 +28,19 @@ function logError(type: string) { export interface Props< S, - A extends Action, + A extends Action, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, > { store?: EnhancedStore; } export type Monitor< S, - A extends Action, + A extends Action, MonitorProps extends LiftedState, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, > = React.ReactElement< MonitorProps, React.ComponentType> & { @@ -54,10 +54,10 @@ export type Monitor< export default function createDevTools< S, - A extends Action, + A extends Action, MonitorProps extends LiftedState, MonitorState, - MonitorAction extends Action, + MonitorAction extends Action, >(children: Monitor) { const monitorElement = Children.only(children); const monitorProps = monitorElement.props; diff --git a/packages/redux-devtools/src/persistState.ts b/packages/redux-devtools/src/persistState.ts index 0a886393..9551cc9e 100644 --- a/packages/redux-devtools/src/persistState.ts +++ b/packages/redux-devtools/src/persistState.ts @@ -3,11 +3,7 @@ import identity from 'lodash/identity'; import { Action, PreloadedState, Reducer, StoreEnhancer } from 'redux'; import { LiftedState } from '@redux-devtools/instrument'; -export default function persistState< - S, - A extends Action, - MonitorState, ->( +export default function persistState, MonitorState>( sessionId?: string | null, deserializeState: (state: S) => S = identity, deserializeAction: (action: A) => A = identity, @@ -36,7 +32,7 @@ export default function persistState< } return (next) => - >( + >( reducer: Reducer, initialState?: PreloadedState, ) => {