From 58e95806d006e0c58df1b6a3e0f4162337dc2b42 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Wed, 29 Mar 2023 16:23:56 -0400 Subject: [PATCH] *hook on core.pluginsLoaded to ensure that we don't answer until all plugins are loaded --- src/plugins/core.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/core.ts b/src/plugins/core.ts index e1d9c60..e761c89 100644 --- a/src/plugins/core.ts +++ b/src/plugins/core.ts @@ -1,8 +1,17 @@ import { Plugin, PluginAPI } from "@lumeweb/relay-types"; +let pluginsLoadedResolve: () => void; +let pluginsLoadedPromise = new Promise((resolve) => { + pluginsLoadedResolve = resolve; +}); + const plugin: Plugin = { name: "core", async plugin(api: PluginAPI): Promise { + api.once("core.pluginsLoaded", () => { + pluginsLoadedResolve(); + }); + api.registerMethod("ping", { cacheable: false, async handler(): Promise { @@ -13,6 +22,10 @@ const plugin: Plugin = { api.registerMethod("get_methods", { cacheable: false, async handler(): Promise { + await pluginsLoadedPromise; + + console.log("get_methods", api.rpcServer.getMethods()); + return api.rpcServer.getMethods(); }, });