@tonightpass/react
Version:
@tonightpass react sdk.
2 lines • 1.57 kB
JavaScript
;var d=require('swr'),tonightpass=require('tonightpass'),l=require('swr/infinite'),R=require('swr/subscription');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var d__default=/*#__PURE__*/_interopDefault(d);var l__default=/*#__PURE__*/_interopDefault(l);var R__default=/*#__PURE__*/_interopDefault(R);var u=new tonightpass.Client({baseURL:tonightpass.DEFAULT_API_URL});function w(t,a,s){let{requestOptions:e,...i}=s||{};return d__default.default(t?[t,a]:null,async([p,n])=>await u.get(p,n,e),i)}function D(t,a){let{requestOptions:s,...e}=a||{};return l__default.default(t,async([P,p])=>await u.get(P,p,s),e)}function J(t,a,s){let{data:e,error:i}=R__default.default(t?[t,a]:null,([P,p],{next:n})=>{let c=new tonightpass.WebSocketClient({baseURL:tonightpass.DEFAULT_API_URL.replace(/^http/,"ws"),maxReconnectAttempts:s?.maxReconnectAttempts??3,reconnectInterval:s?.reconnectInterval??1e3}),r=false,h=async()=>{try{await c.connect(P,p??{}),r=!0;}catch(o){n(o instanceof Error?o:new Error("Connection failed"));}};c.on("*",o=>{n(null,{type:"message",data:o});});let f=setInterval(()=>{let o=c.connected;o&&!r?(r=true,n(null,{type:"connected"})):!o&&r&&(r=false,n(null,{type:"disconnected"}));},100);return h(),()=>{clearInterval(f),r&&c.disconnect();}});return {data:e,error:i,isConnected:e?.type==="connected",isDisconnected:e?.type==="disconnected",message:e?.type==="message"?e.data:null}}exports.client=u;exports.useAPI=w;exports.useAPIInfinite=D;exports.useWebSocket=J;//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map