From 2edfce5e7a00f2286700a7fb79db9a63176f7e88 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 29 Jan 2025 10:50:56 +0000 Subject: [PATCH] Iterate --- packages/element-web-module-api/src/loader.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/element-web-module-api/src/loader.ts b/packages/element-web-module-api/src/loader.ts index 0b303a19df..0cc2141ca2 100644 --- a/packages/element-web-module-api/src/loader.ts +++ b/packages/element-web-module-api/src/loader.ts @@ -24,11 +24,13 @@ export class ModuleIncompatibleError extends Error { * @public */ export class ModuleLoader { + private modules: Module[] = []; + private started = false; + public constructor(private api: Api) {} - #modules: Module[] = []; public async load(moduleExport: ModuleExport): Promise { - if (this.#started) { + if (this.started) { throw new Error("PluginEngine.start() has already been called"); } @@ -39,16 +41,15 @@ export class ModuleLoader { throw new ModuleIncompatibleError(moduleExport.default.moduleApiVersion); } const { default: Module } = moduleExport; - this.#modules.push(new Module(this.api)); + this.modules.push(new Module(this.api)); } - #started = false; public async start(): Promise { - if (this.#started) { + if (this.started) { throw new Error("PluginEngine.start() has already been called"); } - this.#started = true; + this.started = true; - await Promise.all(this.#modules.map((plugin) => plugin.load())); + await Promise.all(this.modules.map((plugin) => plugin.load())); } }