azion
Version:
Azion Packages for Edge Computing.
2 lines (1 loc) • 3.62 kB
JavaScript
Object.defineProperty(exports, "__esModule", {value: true}); 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 u=(o,r)=>{let t=o.trim().split(";").reduce((e,n)=>{let[i,m]=n.split("="),a=i;if(a=i.trim(),a){let s=decodeURIComponent(m).trim();s.startsWith('"')&&s.endsWith('"')&&(s=s.slice(1,-1)),e[a]=s}return e},{});return r?t[r.trim()]:t};var f=(o,r,t)=>{if(!(o instanceof Request))return;let e=o.headers.get("Cookie");if(!e)return typeof r=="string"?void 0:{};let n=t?`__${t.charAt(0).toUpperCase()+t.slice(1)}-${r}`:r;return u(e,n)};var c=(o,r,t,e)=>{if(!(o instanceof Response))throw new Error("response is not an instance of Response");let n=g(r,e);(_optionalChain([e, 'optionalAccess', _ => _.prefix])==="host"||_optionalChain([e, 'optionalAccess', _2 => _2.prefix])==="secure")&&(e={...e,secure:!0});let i=`${n}=${t}`;if(_optionalChain([e, 'optionalAccess', _3 => _3.domain])&&(i+=`; Domain=${e.domain}`),_optionalChain([e, 'optionalAccess', _4 => _4.expires])){if(_optionalChain([e, 'optionalAccess', _5 => _5.expires])<new Date)throw new Error("expires option must be a future date");if(e.expires.getTime()-Date.now()>3456e7)throw new Error("expires option must be less than or equal to (400 days) 34560000");i+=`; Expires=${e.expires.toUTCString()}`}if(_optionalChain([e, 'optionalAccess', _6 => _6.httpOnly])&&(i+="; HttpOnly"),_optionalChain([e, 'optionalAccess', _7 => _7.maxAge])){if(_optionalChain([e, 'optionalAccess', _8 => _8.maxAge])<0)throw new Error("maxAge must be a positive number");if(_optionalChain([e, 'optionalAccess', _9 => _9.maxAge])>3456e4)throw new Error("maxAge must be less than or equal to (400 days) 34560000");i+=`; Max-Age=${e.maxAge}`}if(_optionalChain([e, 'optionalAccess', _10 => _10.path])&&(i+=`; Path=${e.path}`),_optionalChain([e, 'optionalAccess', _11 => _11.sameSite])){if(e.sameSite==="None"&&!e.secure)throw new Error("secure option must be true when using SameSite=None");if(e.sameSite==="None"&&e.secure&&e.partitioned)throw new Error("Partitioned cookies cannot be used with SameSite=None and Secure");i+=`; SameSite=${e.sameSite}`}return _optionalChain([e, 'optionalAccess', _12 => _12.secure])&&(i+="; Secure"),_optionalChain([e, 'optionalAccess', _13 => _13.partitioned])&&(i+="; Partitioned"),o.headers.append("Set-Cookie",i),o},g=(o,r)=>{let t=o;if(_optionalChain([r, 'optionalAccess', _14 => _14.prefix])==="secure"){if(_optionalChain([r, 'optionalAccess', _15 => _15.secure])===!1)throw new Error("secure option must be true when using secure prefix");t=`__Secure-${t}`}if(_optionalChain([r, 'optionalAccess', _16 => _16.prefix])==="host"){if(_optionalChain([r, 'optionalAccess', _17 => _17.secure])===!1)throw new Error("secure option must be true when using host prefix");if(_optionalChain([r, 'optionalAccess', _18 => _18.domain]))throw new Error("domain option must not be set when using host prefix");if(_optionalChain([r, 'optionalAccess', _19 => _19.path])!=="/")throw new Error("path option must be set to / when using host prefix");t=`__Host-${t}`}return t};var d={getCookie:f,setCookie:c};var S=d;exports.default = S; exports.getCookie = f; exports.setCookie = c;
;