From 3c843e1266981a7ff0e21a3adad823f7d578a18c Mon Sep 17 00:00:00 2001 From: Guzel738 <66492070+Guzel738@users.noreply.github.com> Date: Tue, 26 Jan 2021 21:42:16 +0300 Subject: [PATCH] Unexpected any types replaced (#160) * Any types replaced * No console rule disabled --- kafka-ui-react-app/.eslintrc.json | 3 ++- .../Topics/Details/Messages/Messages.tsx | 18 +++++++++++------- .../src/redux/store/configureStore/dev.ts | 8 +++++++- kafka-ui-react-app/src/serviceWorker.ts | 1 + 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/kafka-ui-react-app/.eslintrc.json b/kafka-ui-react-app/.eslintrc.json index 6ffce16d63..b35f0e2732 100644 --- a/kafka-ui-react-app/.eslintrc.json +++ b/kafka-ui-react-app/.eslintrc.json @@ -28,7 +28,8 @@ "prettier/prettier": "error", "@typescript-eslint/explicit-module-boundary-types": "off", "jsx-a11y/label-has-associated-control": "off", - "import/prefer-default-export": "off" + "import/prefer-default-export": "off", + "@typescript-eslint/no-explicit-any": "error" }, "overrides": [ { diff --git a/kafka-ui-react-app/src/components/Topics/Details/Messages/Messages.tsx b/kafka-ui-react-app/src/components/Topics/Details/Messages/Messages.tsx index 9db4d57804..f9ef65f18e 100644 --- a/kafka-ui-react-app/src/components/Topics/Details/Messages/Messages.tsx +++ b/kafka-ui-react-app/src/components/Topics/Details/Messages/Messages.tsx @@ -38,8 +38,8 @@ interface FilterProps { partition: TopicMessage['partition']; } -function usePrevious(value: any) { - const ref = useRef(); +function usePrevious(value: Date | null) { + const ref = useRef(); useEffect(() => { ref.current = value; }); @@ -73,7 +73,8 @@ const Messages: React.FC = ({ Partial >({ limit: 100 }); const [debouncedCallback] = useDebouncedCallback( - (query: any) => setQueryParams({ ...queryParams, ...query }), + (query: Partial) => + setQueryParams({ ...queryParams, ...query }), 1000 ); @@ -98,7 +99,7 @@ const Messages: React.FC = ({ ); }, [messages, partitions]); - const getSeekToValuesForPartitions = (partition: any) => { + const getSeekToValuesForPartitions = (partition: Option) => { const foundedValues = filterProps.find( (prop) => prop.partition === partition.value ); @@ -178,7 +179,7 @@ const Messages: React.FC = ({ return format(date, 'yyyy-MM-dd HH:mm:ss'); }; - const getMessageContentBody = (content: any) => { + const getMessageContentBody = (content: Record) => { try { const contentObj = typeof content !== 'object' ? JSON.parse(content) : content; @@ -226,7 +227,7 @@ const Messages: React.FC = ({ }); }; - const filterOptions = (options: Option[], filter: any) => { + const filterOptions = (options: Option[], filter: string) => { if (!filter) { return options; } @@ -256,7 +257,10 @@ const Messages: React.FC = ({ {message.offset} {message.partition} - {getMessageContentBody(message.content)} + {message.content && + getMessageContentBody( + message.content as Record + )} ))} diff --git a/kafka-ui-react-app/src/redux/store/configureStore/dev.ts b/kafka-ui-react-app/src/redux/store/configureStore/dev.ts index 552ec094c7..e90d7c2af0 100644 --- a/kafka-ui-react-app/src/redux/store/configureStore/dev.ts +++ b/kafka-ui-react-app/src/redux/store/configureStore/dev.ts @@ -2,11 +2,17 @@ import { createStore, applyMiddleware, compose } from 'redux'; import thunk from 'redux-thunk'; import rootReducer from '../../reducers'; +declare global { + interface Window { + __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose; + } +} + export default () => { const middlewares = [thunk]; const composeEnhancers = - (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; + window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const enhancer = composeEnhancers(applyMiddleware(...middlewares)); diff --git a/kafka-ui-react-app/src/serviceWorker.ts b/kafka-ui-react-app/src/serviceWorker.ts index 98a3447f69..f256636533 100644 --- a/kafka-ui-react-app/src/serviceWorker.ts +++ b/kafka-ui-react-app/src/serviceWorker.ts @@ -9,6 +9,7 @@ // To learn more about the benefits of this model and instructions on how to // opt-in, read https://bit.ly/CRA-PWA +/* eslint-disable no-console */ const isLocalhost = Boolean( window.location.hostname === 'localhost' ||