From 85615350f097345ee36bc5d0bcb482a363e83291 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Mon, 11 Sep 2023 06:39:21 -0400 Subject: [PATCH] feat: add newBootloaderQuery method --- src/kernel/queries.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/kernel/queries.ts b/src/kernel/queries.ts index 93eba98..fc9f06e 100644 --- a/src/kernel/queries.ts +++ b/src/kernel/queries.ts @@ -677,6 +677,29 @@ function newKernelQuery( return [sendUpdate, p]; } +function newBootloaderQuery(method: string, data: any): Promise { + return new Promise((resolve) => { + let receiveResponse = function (data: any) { + resolve(data.data); + }; + + initDefer.promise.then(() => { + if (getKernelIframe().contentWindow === null) { + console.error( + "kernelFrame.contentWindow was null, cannot send message!", + ); + return; + } + let nonce = nextNonce(); + queries[nonce] = { resolve: receiveResponse }; + getKernelIframe().contentWindow?.postMessage( + { method, data }, + kernelOrigin, + ); + }); + }); +} + export { callModule, connectModule, @@ -688,4 +711,5 @@ export { newKernelQuery, serviceWorkerReady, getKernelIframe, + newBootloaderQuery, };