File: /www/server/panel/BTPanel/static/js/use-socket-request.js
import{a0 as S}from"./utils-lib.js?v=1777008528";import{r as _}from"./base-lib.js?v=1777008528";const y=(u,k=!0)=>{const l=_(null);let a={};const i=()=>{l.value=S({route:u,onMessage:b,autoReconnect:k})},b=(e,c)=>{try{const t=JSON.parse(c.data),s=t.callback||t.ws_callback||t.def_name;s&&a[s]&&a[s].callback(e,c)}catch(t){}},f=({params:e,onMessage:c=!1})=>c?r(e,(t,s)=>{const n=JSON.parse(s.data);c(n)}):new Promise(t=>{r(e,(s,n)=>{const o=JSON.parse(n.data),d=o.callback||o.ws_callback||o.def_name;delete a[d],e.ws_callback===d&&t(o)})}),r=(e,c)=>{var t;a[e.ws_callback]&&(a[e.ws_callback]=void 0),a[e.ws_callback]={data:e,callback:c,request:!0},(t=l.value)==null||t.send(e)},w=()=>{l.value&&l.value.close(),a={}};return i(),{socketRequest:f,socketDestroy:w}};export{y as u};