UNPKG

909 BJavaScriptView Raw
1import "./install-dialog.js";
2export const connect = async (button) => {
3 let port;
4 try {
5 port = await navigator.serial.requestPort();
6 }
7 catch (err) {
8 if (err.name === "NotFoundError") {
9 import("./no-port-picked/index").then((mod) => mod.openNoPortPickedDialog(() => connect(button)));
10 return;
11 }
12 alert(`Error: ${err.message}`);
13 return;
14 }
15 if (!port) {
16 return;
17 }
18 try {
19 await port.open({ baudRate: 115200 });
20 }
21 catch (err) {
22 alert(err.message);
23 return;
24 }
25 const el = document.createElement("ewt-install-dialog");
26 el.port = port;
27 el.manifestPath = button.manifest || button.getAttribute("manifest");
28 el.overrides = button.overrides;
29 el.addEventListener("closed", () => {
30 port.close();
31 }, { once: true });
32 document.body.appendChild(el);
33};