"use strict";const e={"Content-Type":"application/json"},t=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`);return e},n=({serverURL:e,lang:t,paths:n,type:o,signal:r})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(o.join(","))}&lang=${t}`,{signal:r}).then((e=>e.json())),o=({serverURL:t,lang:n,path:o,type:r,action:a})=>fetch(`${t}/article?lang=${n}`,{method:"POST",headers:e,body:JSON.stringify({path:o,type:r,action:a})}).then((e=>e.json()));exports.addComment=({serverURL:e,lang:t,token:n,comment:o})=>{const r={"Content-Type":"application/json"};return n&&(r.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:r,body:JSON.stringify(o)}).then((e=>e.json()))},exports.deleteComment=({serverURL:e,lang:n,token:o,objectId:r})=>fetch(`${e}/comment/${r}?lang=${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${o}`}}).then((e=>e.json())).then((e=>t(e,"Delete comment"))),exports.fetchCommentCount=({serverURL:e,lang:t,paths:n,signal:o})=>fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:o}).then((e=>e.json())).then((e=>Array.isArray(e)?e:[e])),exports.getArticleCounter=n,exports.getComment=({serverURL:e,lang:n,path:o,page:r,pageSize:a,sortBy:s,signal:i,token:g})=>{const p={};return g&&(p.Authorization=`Bearer ${g}`),fetch(`${e}/comment?path=${encodeURIComponent(o)}&pageSize=${a}&page=${r}&lang=${n}&sortBy=${s}`,{signal:i,headers:p}).then((e=>e.json())).then((e=>t(e,"Get comment data")))},exports.getPageview=({serverURL:e,lang:t,paths:o,signal:r})=>n({serverURL:e,lang:t,paths:o,type:["time"],signal:r}).then((e=>Array.isArray(e)?e:[e])),exports.getRecentComment=({serverURL:e,lang:t,count:n,signal:o,token:r})=>{const a={};return r&&(a.Authorization=`Bearer ${r}`),fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`,{signal:o,headers:a}).then((e=>e.json()))},exports.getUserList=({serverURL:e,signal:n,pageSize:o,lang:r})=>fetch(`${e}/user?pageSize=${o}&lang=${r}`,{signal:n}).then((e=>e.json())).then((e=>t(e,"user list"))).then((e=>e.data)),exports.login=({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,o=(window.innerHeight-450)/2,r=window.open(`${t}/ui/login?lng=${encodeURIComponent(e)}`,"_blank",`width=450,height=450,left=${n},top=${o},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return r?.postMessage({type:"TOKEN",data:null},"*"),new Promise((e=>{const t=({data:n})=>{n&&"object"==typeof n&&"userInfo"===n.type&&n.data.token&&(r?.close(),window.removeEventListener("message",t),e(n.data))};window.addEventListener("message",t)}))},exports.updateArticleCounter=o,exports.updateComment=({serverURL:n,lang:o,token:r,objectId:a,comment:s})=>fetch(`${n}/comment/${a}?lang=${o}`,{method:"PUT",headers:{...e,Authorization:`Bearer ${r}`},body:JSON.stringify(s)}).then((e=>e.json())).then((e=>t(e,"Update comment"))),exports.updatePageview=e=>o({...e,type:"time",action:"inc"}); //# sourceMappingURL=api.cjs.map