UNPKG

azion

Version:

Azion Packages for Edge Computing.

2 lines (1 loc) 3.36 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var a=process.env.AZION_ENV==="stage"?"https://stage-api.azion.com/v4/edge/purge":"https://api.azion.com/v4/edge/purge",z=(n,r,o)=>{let e={message:"Error unknown",operation:o};return n.forEach(t=>{r[t]&&(e={message:Array.isArray(r[t])?r[t].join(", "):r[t],operation:o})}),e};async function y(n,r,o,e=!0){let t=await fetch(n,r);if(!t.ok){let s=`HTTP error! Status: ${t.status} - ${t.statusText}`;throw o&&console.log(`Error in fetch: ${s}`),new Error(s)}if(e){let s=t.headers.get("content-type");if(!s||!s.includes("application/json")){let u=`Expected JSON response, but got: ${await t.text()}`;throw o&&console.log(`Error in fetch: ${u}`),new Error(u)}return await t.json()}else return await t.text()}var c=async(n,r,o)=>p(`${a}/url`,n,r,o),l=async(n,r,o)=>p(`${a}/cachekey`,n,r,o),P=async(n,r,o)=>p(`${a}/wildcard`,n,r,o),p=async(n,r,o,e)=>{try{let t=await y(n,{method:"POST",headers:{Authorization:`Token ${r}`,"Content-Type":"application/json",Accept:"application/json; version=3"},credentials:"include",body:JSON.stringify({items:o,layer:"edge_cache"})},e);return t.data?(e&&console.log("Response:",t),t):(e&&console.log("Response Error:",t),t.error=z(["detail","error","items"],t,"post purge"),{error:_nullishCoalesce(t.error, () => (JSON.stringify(t)))})}catch(t){return e&&console.error("Error purging:",t),{error:{message:t.toString(),operation:"post purge"}}}};var C=process.env.AZION_DEBUG&&process.env.AZION_DEBUG==="true",i=n=>_nullishCoalesce(_nullishCoalesce(n, () => (process.env.AZION_TOKEN)), () => ("")),g=n=>_nullishCoalesce(n, () => (!!C)),A=async(n,r,o)=>{let e=await c(i(n),r,g(_optionalChain([o, 'optionalAccess', _ => _.debug])));return _optionalChain([e, 'optionalAccess', _2 => _2.data])&&e.state?{data:{items:e.data.items,state:e.state}}:{error:e.error}},d=async(n,r,o)=>{let e=await l(i(n),r,g(_optionalChain([o, 'optionalAccess', _3 => _3.debug])));return _optionalChain([e, 'optionalAccess', _4 => _4.data])&&e.state?{data:{items:e.data.items,state:e.state}}:{error:e.error}},m=async(n,r,o)=>{let e=await P(i(n),r,g(_optionalChain([o, 'optionalAccess', _5 => _5.debug])));return _optionalChain([e, 'optionalAccess', _6 => _6.data])&&e.state?{data:{items:e.data.items,state:e.state}}:{error:e.error}},w= exports.purgeURL =(n,r)=>A(i(),n,r),b= exports.purgeCacheKey =(n,r)=>d(i(),n,r),v= exports.purgeWildCard =(n,r)=>m(i(),n,r),R= exports.createClient =n=>{let r=i(_optionalChain([n, 'optionalAccess', _7 => _7.token]));return{purgeURL:(e,t)=>A(r,e,t),purgeCacheKey:(e,t)=>d(r,e,t),purgeWildCard:(e,t)=>m(r,e,t)}};var x=R;exports.createClient = R; exports.default = x; exports.purgeCacheKey = b; exports.purgeURL = w; exports.purgeWildCard = v;