Remove as any workaround from smart components

This commit is contained in:
Evan Hahn 2022-02-25 17:59:43 -06:00 committed by GitHub
parent 74ce24db68
commit e4be12bced
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 16 additions and 38 deletions

View file

@ -1,4 +1,4 @@
// Copyright 2021 Signal Messenger, LLC // Copyright 2021-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import React from 'react'; import React from 'react';
@ -9,17 +9,11 @@ import type { Store } from 'redux';
import type { PropsType } from '../smart/ConversationView'; import type { PropsType } from '../smart/ConversationView';
import { SmartConversationView } from '../smart/ConversationView'; import { SmartConversationView } from '../smart/ConversationView';
// Workaround: A react component's required properties are filtering up through connect()
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31363
/* eslint-disable @typescript-eslint/no-explicit-any */
const FilteredConversationView = SmartConversationView as any;
/* eslint-disable @typescript-eslint/no-explicit-any */
export const createConversationView = ( export const createConversationView = (
store: Store, store: Store,
props: PropsType props: PropsType
): React.ReactElement => ( ): React.ReactElement => (
<Provider store={store}> <Provider store={store}>
<FilteredConversationView {...props} /> <SmartConversationView {...props} />
</Provider> </Provider>
); );

View file

@ -1,4 +1,4 @@
// Copyright 2020 Signal Messenger, LLC // Copyright 2020-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import React from 'react'; import React from 'react';
@ -8,12 +8,6 @@ import type { Store } from 'redux';
import { SmartSafetyNumberViewer } from '../smart/SafetyNumberViewer'; import { SmartSafetyNumberViewer } from '../smart/SafetyNumberViewer';
// Workaround: A react component's required properties are filtering up through connect()
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31363
/* eslint-disable @typescript-eslint/no-explicit-any */
const FilteredSafetyNumberViewer = SmartSafetyNumberViewer as any;
/* eslint-enable @typescript-eslint/no-explicit-any */
type Props = { type Props = {
contactID: string; contactID: string;
onClose?: () => void; onClose?: () => void;
@ -24,6 +18,6 @@ export const createSafetyNumberViewer = (
props: Props props: Props
): React.ReactElement => ( ): React.ReactElement => (
<Provider store={store}> <Provider store={store}>
<FilteredSafetyNumberViewer {...props} /> <SmartSafetyNumberViewer {...props} />
</Provider> </Provider>
); );

View file

@ -1,4 +1,4 @@
// Copyright 2019-2020 Signal Messenger, LLC // Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import React from 'react'; import React from 'react';
@ -6,19 +6,14 @@ import { Provider } from 'react-redux';
import type { Store } from 'redux'; import type { Store } from 'redux';
import type { ExternalProps } from '../smart/ShortcutGuideModal';
import { SmartShortcutGuideModal } from '../smart/ShortcutGuideModal'; import { SmartShortcutGuideModal } from '../smart/ShortcutGuideModal';
// Workaround: A react component's required properties are filtering up through connect()
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31363
/* eslint-disable @typescript-eslint/no-explicit-any */
const FilteredShortcutGuideModal = SmartShortcutGuideModal as any;
/* eslint-enable @typescript-eslint/no-explicit-any */
export const createShortcutGuideModal = ( export const createShortcutGuideModal = (
store: Store, store: Store,
props: Record<string, unknown> props: ExternalProps
): React.ReactElement => ( ): React.ReactElement => (
<Provider store={store}> <Provider store={store}>
<FilteredShortcutGuideModal {...props} /> <SmartShortcutGuideModal {...props} />
</Provider> </Provider>
); );

View file

@ -1,4 +1,4 @@
// Copyright 2019-2020 Signal Messenger, LLC // Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import React from 'react'; import React from 'react';
@ -6,19 +6,14 @@ import { Provider } from 'react-redux';
import type { Store } from 'redux'; import type { Store } from 'redux';
import type { ExternalProps } from '../smart/StickerPreviewModal';
import { SmartStickerPreviewModal } from '../smart/StickerPreviewModal'; import { SmartStickerPreviewModal } from '../smart/StickerPreviewModal';
// Workaround: A react component's required properties are filtering up through connect()
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31363
/* eslint-disable @typescript-eslint/no-explicit-any */
const FilteredStickerPreviewModal = SmartStickerPreviewModal as any;
/* eslint-enable @typescript-eslint/no-explicit-any */
export const createStickerPreviewModal = ( export const createStickerPreviewModal = (
store: Store, store: Store,
props: Record<string, unknown> props: ExternalProps
): React.ReactElement => ( ): React.ReactElement => (
<Provider store={store}> <Provider store={store}>
<FilteredStickerPreviewModal {...props} /> <SmartStickerPreviewModal {...props} />
</Provider> </Provider>
); );

View file

@ -1,4 +1,4 @@
// Copyright 2019-2020 Signal Messenger, LLC // Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux'; import { connect } from 'react-redux';
@ -15,7 +15,7 @@ import {
getReceivedStickerPacks, getReceivedStickerPacks,
} from '../selectors/stickers'; } from '../selectors/stickers';
type ExternalProps = { export type ExternalProps = {
close: () => unknown; close: () => unknown;
}; };

View file

@ -1,4 +1,4 @@
// Copyright 2019-2020 Signal Messenger, LLC // Copyright 2019-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux'; import { connect } from 'react-redux';
@ -13,7 +13,7 @@ import {
translatePackFromDB, translatePackFromDB,
} from '../selectors/stickers'; } from '../selectors/stickers';
type ExternalProps = { export type ExternalProps = {
packId: string; packId: string;
readonly onClose: () => unknown; readonly onClose: () => unknown;
}; };