From 35b33ac893d7cc8ce3e4db30a3f70424d6e6f68c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 28 Jan 2025 11:52:33 +0000 Subject: [PATCH] Iterate --- packages/element-web-module-api/package.json | 8 +++++++- packages/element-web-module-api/src/api.ts | 2 +- packages/element-web-module-api/src/index.ts | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/element-web-module-api/package.json b/packages/element-web-module-api/package.json index d817ca4936..7898159820 100644 --- a/packages/element-web-module-api/package.json +++ b/packages/element-web-module-api/package.json @@ -18,22 +18,28 @@ "lint:ts": "tsc --noEmit" }, "devDependencies": { + "@matrix-org/react-sdk-module-api": "^2.5.0", "@types/node": "^22.10.7", "@types/semver": "^7.5.8", + "matrix-web-i18n": "^3.3.0", "semver": "^7.6.3", "typescript": "^5.7.3", "vite": "^6.0.11", "vite-plugin-dts": "^4.5.0" }, "peerDependencies": { - "@matrix-org/react-sdk-module-api": "^2.5.0", + "@matrix-org/react-sdk-module-api": "*", "@types/react": "*", "@types/react-dom": "*", + "matrix-web-i18n": "*", "react": "^18" }, "peerDependenciesMeta": { "@matrix-org/react-sdk-module-api": { "optional": true + }, + "matrix-web-i18n": { + "optional": true } } } diff --git a/packages/element-web-module-api/src/api.ts b/packages/element-web-module-api/src/api.ts index 73d1e23535..b016b796c9 100644 --- a/packages/element-web-module-api/src/api.ts +++ b/packages/element-web-module-api/src/api.ts @@ -37,7 +37,7 @@ const moduleExportSignature: Record = { type Type = "function" | "string" | "number" | "boolean" | "object"; -export function isInterface(obj: unknown, keys: Record): obj is T { +function isInterface(obj: unknown, keys: Record): obj is T { if (obj === null || typeof obj !== "object") return false; for (const key in keys) { if (typeof (obj as Record)[key] !== keys[key]) return false; diff --git a/packages/element-web-module-api/src/index.ts b/packages/element-web-module-api/src/index.ts index c739e9d24c..d105ffdb8a 100644 --- a/packages/element-web-module-api/src/index.ts +++ b/packages/element-web-module-api/src/index.ts @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE files in the repository root for full details. */ -export { ModuleLoader } from "./loader"; +export { ModuleLoader, ModuleIncompatibleError } from "./loader"; export type { Api, Module, ModuleFactory } from "./api"; export type * from "./legacy-modules"; export type * from "./legacy-customisations";