UNPKG

pinipig-client

Version:
1 lines 2.44 kB
module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);var o=async(e,t,n,o)=>{const r={method:e,mode:"cors",cache:"no-cache",credentials:"omit",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)};let c=localStorage.getItem("token");c&&(r.headers[o.tokenName||"pinipig-jwt"]=c);const a=await fetch(t,r);return await a.json()};let r="";const c={count:async()=>await o("GET",r+"/count"),create:async e=>{let t=await o("POST",""+r,e[0]);return console.log(t),t},destroy:async e=>await o("DELETE",`${r}/${e[0]}`),get:async e=>await o("GET",`${r}?${e[0]}`),list:async()=>await o("GET",r),pick:async e=>await o("GET",`${r}?limit=${e[0]}&skip=${e[1]}`),update:async e=>await o("PUT",`${r}/${e[0]}`,e[1])};const a=e=>{try{return JSON.parse(e)}catch(t){return e}},i=e=>{let t=new WebSocket(e.endpoint);t.onopen=function(n){t.send(e.handshake||"HELLOPINIPIG");let o=a(n.data);e.onOpen(o)},t.onmessage=function(t){try{let n=a(t.data);e.onMessage(n)}catch(e){console.error(e)}},t.onclose=function(t){t.wasClean?e.onClose(t):(console.log("[close] Connection died reconnecting"),connected=!1,setTimeout(()=>{console.log("refreshing due to closed connection"),i(e)},1e4))},t.onerror=function(t){e.onError(t)};return{send:e=>{let n="string"==typeof e?e:JSON.stringify(e);t.send(n)},socket:t}};const s={service:{rest:e=>(t,...n)=>(r=e,c[t](n)),ws:i},token:{decode:e=>{let t=e.split(".")[1],n=decodeURIComponent(atob(t).split("").map(e=>"%00"+e.charCodeAt(0).toString(16).slice(-2)).join(""));return JSON.parse(n)}}};t.default=s}]);