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:
committed by
GitHub
parent
7a36ba0fde
commit
030b7e90bf
@@ -117,7 +117,7 @@ export default abstract class Exporter {
|
||||
this.cancelled = true;
|
||||
}
|
||||
|
||||
protected downloadPlainText(fileName: string, text: string) {
|
||||
protected downloadPlainText(fileName: string, text: string): void {
|
||||
const content = new Blob([text], { type: "text/plain" });
|
||||
saveAs(content, fileName);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
import React, { ReactNode } from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
@@ -65,7 +65,7 @@ export default class HTMLExporter extends Exporter {
|
||||
this.threadsEnabled = SettingsStore.getValue("feature_threadenabled");
|
||||
}
|
||||
|
||||
protected async getRoomAvatar() {
|
||||
protected async getRoomAvatar(): Promise<ReactNode> {
|
||||
let blob: Blob;
|
||||
const avatarUrl = Avatar.avatarUrlForRoom(this.room, 32, 32, "crop");
|
||||
const avatarPath = "room.png";
|
||||
@@ -92,7 +92,7 @@ export default class HTMLExporter extends Exporter {
|
||||
return renderToStaticMarkup(avatar);
|
||||
}
|
||||
|
||||
protected async wrapHTML(content: string) {
|
||||
protected async wrapHTML(content: string): Promise<string> {
|
||||
const roomAvatar = await this.getRoomAvatar();
|
||||
const exportDate = formatFullDateNoDayNoTime(new Date());
|
||||
const creator = this.room.currentState.getStateEvents(EventType.RoomCreate, "")?.getSender();
|
||||
@@ -224,7 +224,7 @@ export default class HTMLExporter extends Exporter {
|
||||
);
|
||||
}
|
||||
|
||||
protected async saveAvatarIfNeeded(event: MatrixEvent) {
|
||||
protected async saveAvatarIfNeeded(event: MatrixEvent): Promise<void> {
|
||||
const member = event.sender;
|
||||
if (!this.avatars.has(member.userId)) {
|
||||
try {
|
||||
@@ -239,7 +239,7 @@ export default class HTMLExporter extends Exporter {
|
||||
}
|
||||
}
|
||||
|
||||
protected getDateSeparator(event: MatrixEvent) {
|
||||
protected async getDateSeparator(event: MatrixEvent): Promise<string> {
|
||||
const ts = event.getTs();
|
||||
const dateSeparator = (
|
||||
<li key={ts}>
|
||||
@@ -249,12 +249,12 @@ export default class HTMLExporter extends Exporter {
|
||||
return renderToStaticMarkup(dateSeparator);
|
||||
}
|
||||
|
||||
protected needsDateSeparator(event: MatrixEvent, prevEvent: MatrixEvent) {
|
||||
protected async needsDateSeparator(event: MatrixEvent, prevEvent: MatrixEvent): Promise<boolean> {
|
||||
if (prevEvent == null) return true;
|
||||
return wantsDateSeparator(prevEvent.getDate(), event.getDate());
|
||||
}
|
||||
|
||||
public getEventTile(mxEv: MatrixEvent, continuation: boolean) {
|
||||
public getEventTile(mxEv: MatrixEvent, continuation: boolean): JSX.Element {
|
||||
return (
|
||||
<div className="mx_Export_EventWrapper" id={mxEv.getId()}>
|
||||
<MatrixClientContext.Provider value={this.client}>
|
||||
@@ -285,7 +285,7 @@ export default class HTMLExporter extends Exporter {
|
||||
);
|
||||
}
|
||||
|
||||
protected async getEventTileMarkup(mxEv: MatrixEvent, continuation: boolean, filePath?: string) {
|
||||
protected async getEventTileMarkup(mxEv: MatrixEvent, continuation: boolean, filePath?: string): Promise<string> {
|
||||
const hasAvatar = !!this.getAvatarURL(mxEv);
|
||||
if (hasAvatar) await this.saveAvatarIfNeeded(mxEv);
|
||||
const EventTile = this.getEventTile(mxEv, continuation);
|
||||
@@ -319,7 +319,7 @@ export default class HTMLExporter extends Exporter {
|
||||
return eventTileMarkup;
|
||||
}
|
||||
|
||||
protected createModifiedEvent(text: string, mxEv: MatrixEvent, italic = true) {
|
||||
protected createModifiedEvent(text: string, mxEv: MatrixEvent, italic = true): MatrixEvent {
|
||||
const modifiedContent = {
|
||||
msgtype: "m.text",
|
||||
body: `${text}`,
|
||||
@@ -338,7 +338,7 @@ export default class HTMLExporter extends Exporter {
|
||||
return modifiedEvent;
|
||||
}
|
||||
|
||||
protected async createMessageBody(mxEv: MatrixEvent, joined = false) {
|
||||
protected async createMessageBody(mxEv: MatrixEvent, joined = false): Promise<string> {
|
||||
let eventTile: string;
|
||||
try {
|
||||
if (this.isAttachment(mxEv)) {
|
||||
@@ -387,7 +387,7 @@ export default class HTMLExporter extends Exporter {
|
||||
return eventTile;
|
||||
}
|
||||
|
||||
protected async createHTML(events: MatrixEvent[], start: number) {
|
||||
protected async createHTML(events: MatrixEvent[], start: number): Promise<string> {
|
||||
let content = "";
|
||||
let prevEvent = null;
|
||||
for (let i = start; i < Math.min(start + 1000, events.length); i++) {
|
||||
@@ -415,7 +415,7 @@ export default class HTMLExporter extends Exporter {
|
||||
return this.wrapHTML(content);
|
||||
}
|
||||
|
||||
public async export() {
|
||||
public async export(): Promise<void> {
|
||||
this.updateProgress(_t("Starting export..."));
|
||||
|
||||
const fetchStart = performance.now();
|
||||
|
||||
@@ -15,7 +15,7 @@ limitations under the License.
|
||||
*/
|
||||
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { IEvent, MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { EventType } from "matrix-js-sdk/src/@types/event";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
|
||||
@@ -60,7 +60,7 @@ export default class JSONExporter extends Exporter {
|
||||
return JSON.stringify(jsonObject, null, 2);
|
||||
}
|
||||
|
||||
protected async getJSONString(mxEv: MatrixEvent) {
|
||||
protected async getJSONString(mxEv: MatrixEvent): Promise<IEvent> {
|
||||
if (this.exportOptions.attachmentsIncluded && this.isAttachment(mxEv)) {
|
||||
try {
|
||||
const blob = await this.getMediaBlob(mxEv);
|
||||
@@ -81,7 +81,7 @@ export default class JSONExporter extends Exporter {
|
||||
return clearEvent;
|
||||
}
|
||||
|
||||
protected async createOutput(events: MatrixEvent[]) {
|
||||
protected async createOutput(events: MatrixEvent[]): Promise<string> {
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
const event = events[i];
|
||||
this.updateProgress(
|
||||
@@ -99,7 +99,7 @@ export default class JSONExporter extends Exporter {
|
||||
return this.createJSONString();
|
||||
}
|
||||
|
||||
public async export() {
|
||||
public async export(): Promise<void> {
|
||||
logger.info("Starting export process...");
|
||||
logger.info("Fetching events...");
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ export default class PlainTextExporter extends Exporter {
|
||||
return this.makeFileNameNoExtension() + ".txt";
|
||||
}
|
||||
|
||||
public textForReplyEvent = (content: IContent) => {
|
||||
public textForReplyEvent = (content: IContent): string => {
|
||||
const REPLY_REGEX = /> <(.*?)>(.*?)\n\n(.*)/s;
|
||||
const REPLY_SOURCE_MAX_LENGTH = 32;
|
||||
|
||||
@@ -79,7 +79,7 @@ export default class PlainTextExporter extends Exporter {
|
||||
return `<${rplName}${rplSource}> ${rplText}`;
|
||||
};
|
||||
|
||||
protected plainTextForEvent = async (mxEv: MatrixEvent) => {
|
||||
protected plainTextForEvent = async (mxEv: MatrixEvent): Promise<string> => {
|
||||
const senderDisplayName = mxEv.sender && mxEv.sender.name ? mxEv.sender.name : mxEv.getSender();
|
||||
let mediaText = "";
|
||||
if (this.isAttachment(mxEv)) {
|
||||
@@ -107,7 +107,7 @@ export default class PlainTextExporter extends Exporter {
|
||||
else return textForEvent(mxEv) + mediaText;
|
||||
};
|
||||
|
||||
protected async createOutput(events: MatrixEvent[]) {
|
||||
protected async createOutput(events: MatrixEvent[]): Promise<string> {
|
||||
let content = "";
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
const event = events[i];
|
||||
@@ -127,7 +127,7 @@ export default class PlainTextExporter extends Exporter {
|
||||
return content;
|
||||
}
|
||||
|
||||
public async export() {
|
||||
public async export(): Promise<void> {
|
||||
this.updateProgress(_t("Starting export process..."));
|
||||
this.updateProgress(_t("Fetching events..."));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user