Files
strudel/assets/serial.aad8faad.js
T
Felix Roos 43823d3fc3 Updates
2022-06-16 22:09:22 +02:00

2 lines
1.1 KiB
JavaScript

var p=Object.defineProperty,y=Object.defineProperties;var d=Object.getOwnPropertyDescriptors;var s=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var c=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e)=>{for(var t in e||(e={}))m.call(e,t)&&c(r,t,e[t]);if(s)for(var t of s(e))x.call(e,t)&&c(r,t,e[t]);return r},f=(r,e)=>y(r,d(e));import{P as T}from"./index.d3c8394c.js";var o,u=!1;async function W(r=115200){if(!u){if(u=!0,o)return o;if("serial"in navigator){const e=await navigator.serial.requestPort();await e.open({baudRate:r});const t=new TextEncoderStream;t.readable.pipeTo(e.writable);const a=t.writable.getWriter();o=function(i){a.write(i)}}else throw"Webserial is not available in this browser."}}const P=.1;T.prototype.serial=async function(...r){return this._withHap(e=>{o||W(...r);const t=(a,i,w)=>{var n="";if(typeof i.value=="object")for(const[b,g]of Object.entries(i.value).flat())n+=`${b}:${g};`;else n=i.value;const v=(a-w+P)*1e3;window.setTimeout(o,v,n)};return e.setContext(f(l({},e.context),{onTrigger:t}))})};export{W as getWriter};