Enable @typescript-eslint/explicit-function-return-type in /src (#9788)

* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
This commit is contained in:
Michael Telatynski 2023-01-12 13:25:14 +00:00 committed by GitHub
parent 7a36ba0fde
commit 030b7e90bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
683 changed files with 3459 additions and 3013 deletions

View file

@ -48,6 +48,7 @@ import AccessibleButton from "../elements/AccessibleButton";
import { options as linkifyOpts } from "../../../linkify-matrix";
import { getParentEventId } from "../../../utils/Reply";
import { EditWysiwygComposer } from "../rooms/wysiwyg_composer";
import { IEventTileOps } from "../rooms/EventTile";
const MAX_HIGHLIGHT_LENGTH = 4096;
@ -78,7 +79,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
};
}
public componentDidMount() {
public componentDidMount(): void {
if (!this.props.editState) {
this.applyFormatting();
}
@ -161,7 +162,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
button.className += "mx_EventTile_collapseButton";
}
button.onclick = async () => {
button.onclick = async (): Promise<void> => {
button.className = "mx_EventTile_button ";
if (pre.className == "mx_EventTile_collapsedCodeBlock") {
pre.className = "";
@ -187,7 +188,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
const expansionButtonExists = div.getElementsByClassName("mx_EventTile_button");
if (expansionButtonExists.length > 0) button.className += "mx_EventTile_buttonBottom";
button.onclick = async () => {
button.onclick = async (): Promise<void> => {
const copyCode = button.parentElement.getElementsByTagName("code")[0];
const successful = await copyPlaintext(copyCode.textContent);
@ -280,7 +281,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
}
}
public componentDidUpdate(prevProps) {
public componentDidUpdate(prevProps: Readonly<IBodyProps>): void {
if (!this.props.editState) {
const stoppedEditing = prevProps.editState && !this.props.editState;
const messageWasEdited = prevProps.replacingEventId !== this.props.replacingEventId;
@ -290,13 +291,13 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
}
}
public componentWillUnmount() {
public componentWillUnmount(): void {
this.unmounted = true;
unmountPills(this.pills);
unmountTooltips(this.tooltips);
}
public shouldComponentUpdate(nextProps, nextState) {
public shouldComponentUpdate(nextProps: Readonly<IBodyProps>, nextState: Readonly<IState>): boolean {
//console.info("shouldComponentUpdate: ShowUrlPreview for %s is %s", this.props.mxEvent.getId(), this.props.showUrlPreview);
// exploit that events are immutable :)
@ -450,7 +451,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
}
};
public getEventTileOps = () => ({
public getEventTileOps = (): IEventTileOps => ({
isWidgetHidden: () => {
return this.state.widgetHidden;
},
@ -517,7 +518,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
Modal.createDialog(MessageEditHistoryDialog, { mxEvent: this.props.mxEvent });
};
private renderEditedMarker() {
private renderEditedMarker(): JSX.Element {
const date = this.props.mxEvent.replacingEventDate();
const dateString = date && formatDate(date);
@ -544,7 +545,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
* Render a marker informing the user that, while they can see the message,
* it is hidden for other users.
*/
private renderPendingModerationMarker() {
private renderPendingModerationMarker(): JSX.Element {
let text;
const visibility = this.props.mxEvent.messageVisibility();
switch (visibility.visible) {
@ -561,7 +562,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
return <span className="mx_EventTile_pendingModeration">{`(${text})`}</span>;
}
public render() {
public render(): JSX.Element {
if (this.props.editState) {
const isWysiwygComposerEnabled = SettingsStore.getValue("feature_wysiwyg_composer");
return isWysiwygComposerEnabled ? (