Improve typing around event emitter handlers (#7816)
This commit is contained in:
committed by
GitHub
parent
213b32bf14
commit
7fa01ffb06
@@ -14,9 +14,9 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { MatrixClient } from "matrix-js-sdk/src/client";
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { ClientEvent, MatrixClient } from "matrix-js-sdk/src/client";
|
||||
import { MatrixEvent, MatrixEventEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { Room, RoomEvent } from "matrix-js-sdk/src/models/room";
|
||||
import { IRoomTimelineData } from "matrix-js-sdk/src/models/event-timeline-set";
|
||||
|
||||
import dis from "../dispatcher/dispatcher";
|
||||
@@ -274,7 +274,11 @@ let matrixClientListenersStop: Listener[] = [];
|
||||
* when given the MatrixClient as an argument as well as
|
||||
* arguments emitted in the MatrixClient event.
|
||||
*/
|
||||
function addMatrixClientListener(matrixClient: MatrixClient, eventName: string, actionCreator: ActionCreator): void {
|
||||
function addMatrixClientListener(
|
||||
matrixClient: MatrixClient,
|
||||
eventName: Parameters<MatrixClient["emit"]>[0],
|
||||
actionCreator: ActionCreator,
|
||||
): void {
|
||||
const listener: Listener = (...args) => {
|
||||
const payload = actionCreator(matrixClient, ...args);
|
||||
if (payload) {
|
||||
@@ -298,15 +302,15 @@ export default {
|
||||
* @param {MatrixClient} matrixClient the MatrixClient to listen to events from
|
||||
*/
|
||||
start(matrixClient: MatrixClient) {
|
||||
addMatrixClientListener(matrixClient, 'sync', createSyncAction);
|
||||
addMatrixClientListener(matrixClient, 'accountData', createAccountDataAction);
|
||||
addMatrixClientListener(matrixClient, 'Room.accountData', createRoomAccountDataAction);
|
||||
addMatrixClientListener(matrixClient, 'Room', createRoomAction);
|
||||
addMatrixClientListener(matrixClient, 'Room.tags', createRoomTagsAction);
|
||||
addMatrixClientListener(matrixClient, 'Room.receipt', createRoomReceiptAction);
|
||||
addMatrixClientListener(matrixClient, 'Room.timeline', createRoomTimelineAction);
|
||||
addMatrixClientListener(matrixClient, 'Room.myMembership', createSelfMembershipAction);
|
||||
addMatrixClientListener(matrixClient, 'Event.decrypted', createEventDecryptedAction);
|
||||
addMatrixClientListener(matrixClient, ClientEvent.Sync, createSyncAction);
|
||||
addMatrixClientListener(matrixClient, ClientEvent.AccountData, createAccountDataAction);
|
||||
addMatrixClientListener(matrixClient, RoomEvent.AccountData, createRoomAccountDataAction);
|
||||
addMatrixClientListener(matrixClient, ClientEvent.Room, createRoomAction);
|
||||
addMatrixClientListener(matrixClient, RoomEvent.Tags, createRoomTagsAction);
|
||||
addMatrixClientListener(matrixClient, RoomEvent.Receipt, createRoomReceiptAction);
|
||||
addMatrixClientListener(matrixClient, RoomEvent.Timeline, createRoomTimelineAction);
|
||||
addMatrixClientListener(matrixClient, RoomEvent.MyMembership, createSelfMembershipAction);
|
||||
addMatrixClientListener(matrixClient, MatrixEventEvent.Decrypted, createEventDecryptedAction);
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user