* Fix type imports * Fix jsdoc * Fixup types * Fix stray awaits on non-thenables * Fixup imports * Fix splats * Fix this-context on callbacks * Memoise react contexts * Prefer find/flatMap * Make oxlint happier about our React keys * Avoid unsafe default function params * Fixup jsdoc * Fixup contexts * Switch from eslint to oxlint * Some oxlint-related tweaks * Iterate * Partial revert to defer some changes and shrink diff * Iterate * Add eslint-plugin-element-call and enable the copyright rule * Set strictStorePkgContentCheck * Iterate * Enable forwardRef oxlint rule * Enable no-unused-vars oxlint rule * Enable no-implied-eval oxlint rule * Enable no-duplicate-type-constituents oxlint rule * Enable explicit-length-check oxlint rule * Enable prefer-number-properties oxlint rule * Enable no-callback-in-promise oxlint rule * Enable no-require-imports oxlint rule * Remove disablement of most unicorn oxlint rules * Enable no-conditional-tests oxlint rule * Enable promise-valid-params oxlint rule * Enable require-unicode-regexp oxlint rule * Remove max-len comments as we use oxfmt for formatting * Enable majority of oxlint `suspicious` rules * Iterate * Fix oxlint type-aware lint running without dependencies built
40 lines
2.0 KiB
TypeScript
40 lines
2.0 KiB
TypeScript
/*
|
|
Copyright 2024 New Vector Ltd.
|
|
Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import { type MatrixClient } from "matrix-js-sdk/src/matrix";
|
|
|
|
import { SDKContextClass } from "../../src/contexts/SDKContextClass";
|
|
import { type PosthogAnalytics } from "../../src/PosthogAnalytics";
|
|
import { type SlidingSyncManager } from "../../src/SlidingSyncManager";
|
|
import { type RoomNotificationStateStore } from "../../src/stores/notifications/RoomNotificationStateStore";
|
|
import type RightPanelStore from "../../src/stores/right-panel/RightPanelStore";
|
|
import { type RoomViewStore } from "../../src/stores/RoomViewStore";
|
|
import type SpaceStore from "../../src/stores/spaces/SpaceStore";
|
|
import { type WidgetLayoutStore } from "../../src/stores/widgets/WidgetLayoutStore";
|
|
import { type WidgetPermissionStore } from "../../src/stores/widgets/WidgetPermissionStore";
|
|
import type WidgetStore from "../../src/stores/WidgetStore";
|
|
import type LegacyCallHandler from "../../src/LegacyCallHandler.tsx";
|
|
|
|
/**
|
|
* A class which provides the same API as SDKContextClass but adds additional unsafe setters which can
|
|
* replace individual stores. This is useful for tests which need to mock out stores.
|
|
*/
|
|
export class TestSDKContext extends SDKContextClass {
|
|
declare public _client?: MatrixClient;
|
|
declare public _RightPanelStore?: RightPanelStore;
|
|
declare public _RoomNotificationStateStore?: RoomNotificationStateStore;
|
|
declare public _RoomViewStore?: RoomViewStore;
|
|
declare public _WidgetPermissionStore?: WidgetPermissionStore;
|
|
declare public _WidgetLayoutStore?: WidgetLayoutStore;
|
|
declare public _WidgetStore?: WidgetStore;
|
|
declare public _PosthogAnalytics?: PosthogAnalytics;
|
|
declare public _SlidingSyncManager?: SlidingSyncManager;
|
|
declare public _SpaceStore?: SpaceStore;
|
|
declare public _LegacyCallHandler?: LegacyCallHandler;
|
|
}
|