From e3364ba7a422d172d8232a353cdcd9c9f36372f4 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 28 Jul 2020 16:20:05 -0600 Subject: [PATCH] Convert MatrixClientBackedSettingsHandler to TS --- ...s => MatrixClientBackedSettingsHandler.ts} | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) rename src/settings/handlers/{MatrixClientBackedSettingsHandler.js => MatrixClientBackedSettingsHandler.ts} (65%) diff --git a/src/settings/handlers/MatrixClientBackedSettingsHandler.js b/src/settings/handlers/MatrixClientBackedSettingsHandler.ts similarity index 65% rename from src/settings/handlers/MatrixClientBackedSettingsHandler.js rename to src/settings/handlers/MatrixClientBackedSettingsHandler.ts index 63725b4dff..c9c670f5d9 100644 --- a/src/settings/handlers/MatrixClientBackedSettingsHandler.js +++ b/src/settings/handlers/MatrixClientBackedSettingsHandler.ts @@ -1,5 +1,5 @@ /* -Copyright 2019 New Vector Ltd. +Copyright 2019, 2020 The Matrix.org Foundation C.I.C. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,6 +15,7 @@ limitations under the License. */ import SettingsHandler from "./SettingsHandler"; +import { MatrixClient } from "matrix-js-sdk/src/client"; // Dev note: This whole class exists in the event someone logs out and back in - we want // to make sure the right MatrixClient is listening for changes. @@ -23,30 +24,30 @@ import SettingsHandler from "./SettingsHandler"; * Represents the base class for settings handlers which need access to a MatrixClient. * This class performs no logic and should be overridden. */ -export default class MatrixClientBackedSettingsHandler extends SettingsHandler { - static _matrixClient; - static _instances = []; +export default abstract class MatrixClientBackedSettingsHandler extends SettingsHandler { + private static _matrixClient: MatrixClient; + private static instances: MatrixClientBackedSettingsHandler[] = []; - static set matrixClient(client) { + public static set matrixClient(client: MatrixClient) { const oldClient = MatrixClientBackedSettingsHandler._matrixClient; MatrixClientBackedSettingsHandler._matrixClient = client; - for (const instance of MatrixClientBackedSettingsHandler._instances) { + for (const instance of MatrixClientBackedSettingsHandler.instances) { instance.initMatrixClient(oldClient, client); } } - constructor() { + protected constructor() { super(); - MatrixClientBackedSettingsHandler._instances.push(this); + MatrixClientBackedSettingsHandler.instances.push(this); } - get client() { - return MatrixClientBackedSettingsHandler._matrixClient; + public get client(): MatrixClient { + return MatrixClientBackedSettingsHandler.matrixClient; } - initMatrixClient() { + protected initMatrixClient(oldClient: MatrixClient, newClient: MatrixClient) { console.warn("initMatrixClient not overridden"); } }