UNPKG

@uninspired/plunk-client

Version:
5 lines (3 loc) 2.63 kB
var{defineProperty:i,getOwnPropertyNames:d,getOwnPropertyDescriptor:C}=Object,R=Object.prototype.hasOwnProperty;var o=new WeakMap,m=(t)=>{var a=o.get(t),e;if(a)return a;if(a=i({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")d(t).map((s)=>!R.call(a,s)&&i(a,s,{get:()=>t[s],enumerable:!(e=C(t,s))||e.enumerable}));return o.set(t,a),a};var p=(t,a)=>{for(var e in a)i(t,e,{get:a[e],enumerable:!0,configurable:!0,set:(s)=>a[e]=()=>s})};var g={};p(g,{default:()=>u,PlunkApiClient:()=>c});module.exports=m(g);class c{#a;#e;constructor(t,a){this.#a=t,this.#e=a}#t=async(t,a,e)=>{let s=new Headers;if(s.set("Authorization",`Bearer ${this.#e}`),e)s.set("Content-Type","application/json");let n=await fetch(new URL(t,this.#a),{method:a,headers:s,body:e?JSON.stringify(e):void 0});if(!n.ok)throw Error(`${n.status} ${n.statusText}`);let r;if(n.headers.get("Content-Type")?.startsWith("application/json"))r=await n.json();else r=await n.text();return r};#s=async(t)=>{return t.arrayBuffer().then((a)=>Buffer.from(a).toString("base64"))};#n=async(t)=>{let a=[];for(let e of t){let s={filename:e.name,content:await this.#s(e),contentType:e.type};a.push(s)}return a};trackEvent=async(t)=>{return await this.#t("/v1/track","POST",t)};sendEmail=async(t)=>{return await this.#t("/v1/send","POST",{...t,attachments:t.attachments?await this.#n(t.attachments):void 0})};sendCampaign=async(t,a)=>{await this.#t("/v1/campaigns/send","POST",{id:t,live:a?.live??!1,delay:a?.delay??0})};createCampaign=async(t)=>{return await this.#t("/v1/campaigns","POST",t)};updateCampaign=async(t,a)=>{return await this.#t("/v1/campaigns","PUT",{id:t,...a})};deleteCampaign=async(t)=>{return await this.#t(`/v1/campaigns/${t}`,"DELETE",{id:t})};getContactById=async(t)=>{let a=await this.#t(`/v1/contacts/${t}`,"GET");return{...a,data:JSON.parse(a.data)}};getAllContacts=async()=>{return(await this.#t("/v1/contacts","GET")).map((a)=>{return{...a,data:JSON.parse(a.data)}})};getNumberOfContacts=async()=>{return await this.#t("/v1/contacts/count","GET")};createContact=async(t)=>{let a=await this.#t("/v1/contacts","POST",t);return{...a,data:JSON.parse(a.data)}};subscribeContact=async(t)=>{return await this.#t("/v1/contacts/subscribe","POST",t)};unsubscribeContact=async(t)=>{return await this.#t("/v1/contacts/unsubscribe","POST",t)};updateContact=async(t)=>{let a=await this.#t("/v1/contacts","PUT",t);return{...a,data:JSON.parse(a.data)}};deleteContact=async(t)=>{let a=await this.#t("/v1/contacts","DELETE",t);return{...a,data:JSON.parse(a.data)}}}var u=c; //# debugId=F587D3BFC88A075C64756E2164756E21 //# sourceMappingURL=index.js.map