diff --git a/lib/figma-api.js b/lib/figma-api.js index 8783b85..ed09997 100644 --- a/lib/figma-api.js +++ b/lib/figma-api.js @@ -37,7 +37,7 @@ var Figma = (() => { // src/utils.ts function toQueryParams(x) { if (!x) return ""; - return Object.entries(x).map(([k, v]) => k && v && `${k}=${encodeURIComponent(v)}`).filter(Boolean).join("&"); + return Object.entries(x).map(([k, v]) => k && v != null && `${k}=${encodeURIComponent(v)}`).filter(Boolean).join("&"); } var ApiError = class _ApiError extends Error { constructor(error) { diff --git a/lib/figma-api.min.js b/lib/figma-api.min.js index 4ce779f..81af02a 100644 --- a/lib/figma-api.min.js +++ b/lib/figma-api.min.js @@ -1,4 +1,4 @@ -"use strict";var Figma=(()=>{var ke=Object.defineProperty;var Ns=Object.getOwnPropertyDescriptor;var Us=Object.getOwnPropertyNames;var Bs=Object.prototype.hasOwnProperty;var mt=(e,t)=>{for(var s in t)ke(e,s,{get:t[s],enumerable:!0})},Gs=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Us(t))!Bs.call(e,o)&&o!==s&&ke(e,o,{get:()=>t[o],enumerable:!(r=Ns(t,o))||r.enumerable});return e};var js=e=>Gs(ke({},"__esModule",{value:!0}),e);var io={};mt(io,{API_DOMAIN:()=>g,API_VER:()=>y,API_VER_WEBHOOKS:()=>H,Api:()=>nt,oAuthLink:()=>oo,oAuthToken:()=>no});var g="https://api.figma.com",y="v1",H="v2";function x(e){return e?Object.entries(e).map(([t,s])=>t&&s&&`${t}=${encodeURIComponent(s)}`).filter(Boolean).join("&"):""}var ee=class e extends Error{constructor(s){super(s.message);this.error=s;this.name="ApiError",Error.captureStackTrace&&Error.captureStackTrace(this,e)}};function ft(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}?${s}`)}function dt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/nodes?${s}`)}function ht(e,t){let s=x(t);return this.request(`${g}/${"v1"}/images/${e.file_key}?${s}`)}function At(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/images`)}function gt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments`)}function yt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments`,{method:"POST",data:t})}function Rt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}`,{method:"DELETE",data:""})}function Pt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions?${s}`)}function bt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions`,{method:"POST",data:t})}function Et(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions`,{method:"DELETE",data:""})}function xt(){return this.request(`${g}/${"v1"}/me`)}function Ct(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/versions`)}function wt(e){return this.request(`${g}/${"v1"}/teams/${e.team_id}/projects`)}function Ft(e,t){let s=x(t);return this.request(`${g}/${"v1"}/projects/${e.project_id}/files?${s}`)}function St(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/components?${s}`)}function Tt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/components`)}function Ot(e){return this.request(`${g}/${"v1"}/components/${e.key}`)}function It(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/component_sets?${s}`)}function _t(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/component_sets`)}function $t(e){return this.request(`${g}/${"v1"}/component_sets/${e.key}`)}function kt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/styles?${s}`)}function Lt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/styles`)}function Dt(e){return this.request(`${g}/${"v1"}/styles/${e.key}`)}function qt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}`)}function Nt(e){return this.request(`${g}/${"v2"}/webhooks`,{method:"POST",data:e})}function Ut(e,t){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}`,{method:"PUT",data:t})}function Bt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}/`,{method:"DELETE",data:""})}function Gt(e){return this.request(`${g}/${"v2"}/teams/${e.team_id}/webhooks`)}function jt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}/requests`)}function Vt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables/local`)}function Ht(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables/published`)}function Mt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables`,{method:"POST",data:t})}function Wt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/dev_resources`)}function vt(e){return this.request(`${g}/${"v1"}/dev_resources`,{method:"POST",data:e})}function Qt(e){return this.request(`${g}/${"v1"}/dev_resources`,{method:"PUT",data:e})}function zt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/dev_resources/${e.dev_resource_id}`,{method:"DELETE",data:""})}function Jt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/component/actions?${s}`)}function Kt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/component/usages?${s}`)}function Xt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/style/actions?${s}`)}function Zt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/style/usages?${s}`)}function Yt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/variable/actions?${s}`)}function es(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/variable/usages?${s}`)}function te(e,t){return function(){return e.apply(t,arguments)}}var{toString:Hs}=Object.prototype,{getPrototypeOf:De}=Object,{iterator:ye,toStringTag:ss}=Symbol,Re=(e=>t=>{let s=Hs.call(t);return e[s]||(e[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),D=e=>(e=e.toLowerCase(),t=>Re(t)===e),Pe=e=>t=>typeof t===e,{isArray:Q}=Array,v=Pe("undefined");function se(e){return e!==null&&!v(e)&&e.constructor!==null&&!v(e.constructor)&&I(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var rs=D("ArrayBuffer");function Ms(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&rs(e.buffer),t}var Ws=Pe("string"),I=Pe("function"),os=Pe("number"),re=e=>e!==null&&typeof e=="object",vs=e=>e===!0||e===!1,ge=e=>{if(Re(e)!=="object")return!1;let t=De(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ss in e)&&!(ye in e)},Qs=e=>{if(!re(e)||se(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},zs=D("Date"),Js=D("File"),Ks=D("Blob"),Xs=D("FileList"),Zs=e=>re(e)&&I(e.pipe),Ys=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||I(e.append)&&((t=Re(e))==="formdata"||t==="object"&&I(e.toString)&&e.toString()==="[object FormData]"))},er=D("URLSearchParams"),[tr,sr,rr,or]=["ReadableStream","Request","Response","Headers"].map(D),nr=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function oe(e,t,{allOwnKeys:s=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Q(e))for(r=0,o=e.length;r0;)if(o=s[r],t===o.toLowerCase())return o;return null}var M=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,is=e=>!v(e)&&e!==M;function Le(){let{caseless:e,skipUndefined:t}=is(this)&&this||{},s={},r=(o,n)=>{if(n==="__proto__"||n==="constructor"||n==="prototype")return;let i=e&&ns(s,n)||n;ge(s[i])&&ge(o)?s[i]=Le(s[i],o):ge(o)?s[i]=Le({},o):Q(o)?s[i]=o.slice():(!t||!v(o))&&(s[i]=o)};for(let o=0,n=arguments.length;o(oe(t,(o,n)=>{s&&I(o)?Object.defineProperty(e,n,{value:te(o,s),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),ar=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),lr=(e,t,s,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),s&&Object.assign(e.prototype,s)},ur=(e,t,s,r)=>{let o,n,i,l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),n=o.length;n-- >0;)i=o[n],(!r||r(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=s!==!1&&De(e)}while(e&&(!s||s(e,t))&&e!==Object.prototype);return t},cr=(e,t,s)=>{e=String(e),(s===void 0||s>e.length)&&(s=e.length),s-=t.length;let r=e.indexOf(t,s);return r!==-1&&r===s},pr=e=>{if(!e)return null;if(Q(e))return e;let t=e.length;if(!os(t))return null;let s=new Array(t);for(;t-- >0;)s[t]=e[t];return s},mr=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&De(Uint8Array)),fr=(e,t)=>{let r=(e&&e[ye]).call(e),o;for(;(o=r.next())&&!o.done;){let n=o.value;t.call(e,n[0],n[1])}},dr=(e,t)=>{let s,r=[];for(;(s=e.exec(t))!==null;)r.push(s);return r},hr=D("HTMLFormElement"),Ar=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,r,o){return r.toUpperCase()+o}),ts=(({hasOwnProperty:e})=>(t,s)=>e.call(t,s))(Object.prototype),gr=D("RegExp"),as=(e,t)=>{let s=Object.getOwnPropertyDescriptors(e),r={};oe(s,(o,n)=>{let i;(i=t(o,n,e))!==!1&&(r[n]=i||o)}),Object.defineProperties(e,r)},yr=e=>{as(e,(t,s)=>{if(I(e)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;let r=e[s];if(I(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},Rr=(e,t)=>{let s={},r=o=>{o.forEach(n=>{s[n]=!0})};return Q(e)?r(e):r(String(e).split(t)),s},Pr=()=>{},br=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Er(e){return!!(e&&I(e.append)&&e[ss]==="FormData"&&e[ye])}var xr=e=>{let t=new Array(10),s=(r,o)=>{if(re(r)){if(t.indexOf(r)>=0)return;if(se(r))return r;if(!("toJSON"in r)){t[o]=r;let n=Q(r)?[]:{};return oe(r,(i,l)=>{let m=s(i,o+1);!v(m)&&(n[l]=m)}),t[o]=void 0,n}}return r};return s(e,0)},Cr=D("AsyncFunction"),wr=e=>e&&(re(e)||I(e))&&I(e.then)&&I(e.catch),ls=((e,t)=>e?setImmediate:t?((s,r)=>(M.addEventListener("message",({source:o,data:n})=>{o===M&&n===s&&r.length&&r.shift()()},!1),o=>{r.push(o),M.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",I(M.postMessage)),Fr=typeof queueMicrotask<"u"?queueMicrotask.bind(M):typeof process<"u"&&process.nextTick||ls,Sr=e=>e!=null&&I(e[ye]),a={isArray:Q,isArrayBuffer:rs,isBuffer:se,isFormData:Ys,isArrayBufferView:Ms,isString:Ws,isNumber:os,isBoolean:vs,isObject:re,isPlainObject:ge,isEmptyObject:Qs,isReadableStream:tr,isRequest:sr,isResponse:rr,isHeaders:or,isUndefined:v,isDate:zs,isFile:Js,isBlob:Ks,isRegExp:gr,isFunction:I,isStream:Zs,isURLSearchParams:er,isTypedArray:mr,isFileList:Xs,forEach:oe,merge:Le,extend:ir,trim:nr,stripBOM:ar,inherits:lr,toFlatObject:ur,kindOf:Re,kindOfTest:D,endsWith:cr,toArray:pr,forEachEntry:fr,matchAll:dr,isHTMLForm:hr,hasOwnProperty:ts,hasOwnProp:ts,reduceDescriptors:as,freezeMethods:yr,toObjectSet:Rr,toCamelCase:Ar,noop:Pr,toFiniteNumber:br,findKey:ns,global:M,isContextDefined:is,isSpecCompliantForm:Er,toJSONObject:xr,isAsyncFn:Cr,isThenable:wr,setImmediate:ls,asap:Fr,isIterable:Sr};var S=class e extends Error{static from(t,s,r,o,n,i){let l=new e(t.message,s||t.code,r,o,n);return l.cause=t,l.name=t.name,i&&Object.assign(l,i),l}constructor(t,s,r,o,n){super(t),this.name="AxiosError",this.isAxiosError=!0,s&&(this.code=s),r&&(this.config=r),o&&(this.request=o),n&&(this.response=n,this.status=n.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}};S.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";S.ERR_BAD_OPTION="ERR_BAD_OPTION";S.ECONNABORTED="ECONNABORTED";S.ETIMEDOUT="ETIMEDOUT";S.ERR_NETWORK="ERR_NETWORK";S.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";S.ERR_DEPRECATED="ERR_DEPRECATED";S.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";S.ERR_BAD_REQUEST="ERR_BAD_REQUEST";S.ERR_CANCELED="ERR_CANCELED";S.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";S.ERR_INVALID_URL="ERR_INVALID_URL";var A=S;var be=null;function qe(e){return a.isPlainObject(e)||a.isArray(e)}function cs(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function us(e,t,s){return e?e.concat(t).map(function(o,n){return o=cs(o),!s&&n?"["+o+"]":o}).join(s?".":""):t}function Tr(e){return a.isArray(e)&&!e.some(qe)}var Or=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function Ir(e,t,s){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new(be||FormData),s=a.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,f){return!a.isUndefined(f[h])});let r=s.metaTokens,o=s.visitor||u,n=s.dots,i=s.indexes,m=(s.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(o))throw new TypeError("visitor must be a function");function p(c){if(c===null)return"";if(a.isDate(c))return c.toISOString();if(a.isBoolean(c))return c.toString();if(!m&&a.isBlob(c))throw new A("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(c)||a.isTypedArray(c)?m&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function u(c,h,f){let b=c;if(c&&!f&&typeof c=="object"){if(a.endsWith(h,"{}"))h=r?h:h.slice(0,-2),c=JSON.stringify(c);else if(a.isArray(c)&&Tr(c)||(a.isFileList(c)||a.endsWith(h,"[]"))&&(b=a.toArray(c)))return h=cs(h),b.forEach(function(w,T){!(a.isUndefined(w)||w===null)&&t.append(i===!0?us([h],T,n):i===null?h:h+"[]",p(w))}),!1}return qe(c)?!0:(t.append(us(f,h,n),p(c)),!1)}let d=[],R=Object.assign(Or,{defaultVisitor:u,convertValue:p,isVisitable:qe});function F(c,h){if(!a.isUndefined(c)){if(d.indexOf(c)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(c),a.forEach(c,function(b,_){(!(a.isUndefined(b)||b===null)&&o.call(t,b,a.isString(_)?_.trim():_,h,R))===!0&&F(b,h?h.concat(_):[_])}),d.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return F(e),t}var G=Ir;function ps(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function ms(e,t){this._pairs=[],e&&G(e,this,t)}var fs=ms.prototype;fs.append=function(t,s){this._pairs.push([t,s])};fs.toString=function(t){let s=t?function(r){return t.call(this,r,ps)}:ps;return this._pairs.map(function(o){return s(o[0])+"="+s(o[1])},"").join("&")};var Ee=ms;function _r(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ne(e,t,s){if(!t)return e;let r=s&&s.encode||_r,o=a.isFunction(s)?{serialize:s}:s,n=o&&o.serialize,i;if(n?i=n(t,o):i=a.isURLSearchParams(t)?t.toString():new Ee(t,o).toString(r),i){let l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Ne=class{constructor(){this.handlers=[]}use(t,s,r){return this.handlers.push({fulfilled:t,rejected:s,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}},Ue=Ne;var z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var ds=typeof URLSearchParams<"u"?URLSearchParams:Ee;var hs=typeof FormData<"u"?FormData:null;var As=typeof Blob<"u"?Blob:null;var gs={isBrowser:!0,classes:{URLSearchParams:ds,FormData:hs,Blob:As},protocols:["http","https","file","blob","url","data"]};var je={};mt(je,{hasBrowserEnv:()=>Ge,hasStandardBrowserEnv:()=>$r,hasStandardBrowserWebWorkerEnv:()=>kr,navigator:()=>Be,origin:()=>Lr});var Ge=typeof window<"u"&&typeof document<"u",Be=typeof navigator=="object"&&navigator||void 0,$r=Ge&&(!Be||["ReactNative","NativeScript","NS"].indexOf(Be.product)<0),kr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Lr=Ge&&window.location.href||"http://localhost";var P={...je,...gs};function Ve(e,t){return G(e,new P.classes.URLSearchParams,{visitor:function(s,r,o,n){return P.isNode&&a.isBuffer(s)?(this.append(r,s.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)},...t})}function Dr(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function qr(e){let t={},s=Object.keys(e),r,o=s.length,n;for(r=0;r=s.length;return i=!i&&a.isArray(o)?o.length:i,m?(a.hasOwnProp(o,i)?o[i]=[o[i],r]:o[i]=r,!l):((!o[i]||!a.isObject(o[i]))&&(o[i]=[]),t(s,r,o[i],n)&&a.isArray(o[i])&&(o[i]=qr(o[i])),!l)}if(a.isFormData(e)&&a.isFunction(e.entries)){let s={};return a.forEachEntry(e,(r,o)=>{t(Dr(r),o,s,0)}),s}return null}var xe=Nr;function Ur(e,t,s){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(s||JSON.stringify)(e)}var He={transitional:z,adapter:["xhr","http","fetch"],transformRequest:[function(t,s){let r=s.getContentType()||"",o=r.indexOf("application/json")>-1,n=a.isObject(t);if(n&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return o?JSON.stringify(xe(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Ve(t,this.formSerializer).toString();if((l=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){let m=this.env&&this.env.FormData;return G(l?{"files[]":t}:t,m&&new m,this.formSerializer)}}return n||o?(s.setContentType("application/json",!1),Ur(t)):t}],transformResponse:[function(t){let s=this.transitional||He.transitional,r=s&&s.forcedJSONParsing,o=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||o)){let i=!(s&&s.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(i)throw l.name==="SyntaxError"?A.from(l,A.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:P.classes.FormData,Blob:P.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{He.headers[e]={}});var J=He;var Br=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ys=e=>{let t={},s,r,o;return e&&e.split(` +"use strict";var Figma=(()=>{var ke=Object.defineProperty;var Ns=Object.getOwnPropertyDescriptor;var Us=Object.getOwnPropertyNames;var Bs=Object.prototype.hasOwnProperty;var mt=(e,t)=>{for(var s in t)ke(e,s,{get:t[s],enumerable:!0})},Gs=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Us(t))!Bs.call(e,o)&&o!==s&&ke(e,o,{get:()=>t[o],enumerable:!(r=Ns(t,o))||r.enumerable});return e};var js=e=>Gs(ke({},"__esModule",{value:!0}),e);var io={};mt(io,{API_DOMAIN:()=>g,API_VER:()=>y,API_VER_WEBHOOKS:()=>H,Api:()=>nt,oAuthLink:()=>oo,oAuthToken:()=>no});var g="https://api.figma.com",y="v1",H="v2";function x(e){return e?Object.entries(e).map(([t,s])=>t&&s!=null&&`${t}=${encodeURIComponent(s)}`).filter(Boolean).join("&"):""}var ee=class e extends Error{constructor(s){super(s.message);this.error=s;this.name="ApiError",Error.captureStackTrace&&Error.captureStackTrace(this,e)}};function ft(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}?${s}`)}function dt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/nodes?${s}`)}function ht(e,t){let s=x(t);return this.request(`${g}/${"v1"}/images/${e.file_key}?${s}`)}function At(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/images`)}function gt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments`)}function yt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments`,{method:"POST",data:t})}function Rt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}`,{method:"DELETE",data:""})}function Pt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions?${s}`)}function bt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions`,{method:"POST",data:t})}function Et(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/comments/${e.comment_id}/reactions`,{method:"DELETE",data:""})}function xt(){return this.request(`${g}/${"v1"}/me`)}function Ct(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/versions`)}function wt(e){return this.request(`${g}/${"v1"}/teams/${e.team_id}/projects`)}function Ft(e,t){let s=x(t);return this.request(`${g}/${"v1"}/projects/${e.project_id}/files?${s}`)}function St(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/components?${s}`)}function Tt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/components`)}function Ot(e){return this.request(`${g}/${"v1"}/components/${e.key}`)}function It(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/component_sets?${s}`)}function _t(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/component_sets`)}function $t(e){return this.request(`${g}/${"v1"}/component_sets/${e.key}`)}function kt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/teams/${e.team_id}/styles?${s}`)}function Lt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/styles`)}function Dt(e){return this.request(`${g}/${"v1"}/styles/${e.key}`)}function qt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}`)}function Nt(e){return this.request(`${g}/${"v2"}/webhooks`,{method:"POST",data:e})}function Ut(e,t){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}`,{method:"PUT",data:t})}function Bt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}/`,{method:"DELETE",data:""})}function Gt(e){return this.request(`${g}/${"v2"}/teams/${e.team_id}/webhooks`)}function jt(e){return this.request(`${g}/${"v2"}/webhooks/${e.webhook_id}/requests`)}function Vt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables/local`)}function Ht(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables/published`)}function Mt(e,t){return this.request(`${g}/${"v1"}/files/${e.file_key}/variables`,{method:"POST",data:t})}function Wt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/files/${e.file_key}/dev_resources`)}function vt(e){return this.request(`${g}/${"v1"}/dev_resources`,{method:"POST",data:e})}function Qt(e){return this.request(`${g}/${"v1"}/dev_resources`,{method:"PUT",data:e})}function zt(e){return this.request(`${g}/${"v1"}/files/${e.file_key}/dev_resources/${e.dev_resource_id}`,{method:"DELETE",data:""})}function Jt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/component/actions?${s}`)}function Kt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/component/usages?${s}`)}function Xt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/style/actions?${s}`)}function Zt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/style/usages?${s}`)}function Yt(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/variable/actions?${s}`)}function es(e,t){let s=x(t);return this.request(`${g}/${"v1"}/analytics/libraries/${e.file_key}/variable/usages?${s}`)}function te(e,t){return function(){return e.apply(t,arguments)}}var{toString:Hs}=Object.prototype,{getPrototypeOf:De}=Object,{iterator:ye,toStringTag:ss}=Symbol,Re=(e=>t=>{let s=Hs.call(t);return e[s]||(e[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),D=e=>(e=e.toLowerCase(),t=>Re(t)===e),Pe=e=>t=>typeof t===e,{isArray:Q}=Array,v=Pe("undefined");function se(e){return e!==null&&!v(e)&&e.constructor!==null&&!v(e.constructor)&&I(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var rs=D("ArrayBuffer");function Ms(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&rs(e.buffer),t}var Ws=Pe("string"),I=Pe("function"),os=Pe("number"),re=e=>e!==null&&typeof e=="object",vs=e=>e===!0||e===!1,ge=e=>{if(Re(e)!=="object")return!1;let t=De(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ss in e)&&!(ye in e)},Qs=e=>{if(!re(e)||se(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},zs=D("Date"),Js=D("File"),Ks=D("Blob"),Xs=D("FileList"),Zs=e=>re(e)&&I(e.pipe),Ys=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||I(e.append)&&((t=Re(e))==="formdata"||t==="object"&&I(e.toString)&&e.toString()==="[object FormData]"))},er=D("URLSearchParams"),[tr,sr,rr,or]=["ReadableStream","Request","Response","Headers"].map(D),nr=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function oe(e,t,{allOwnKeys:s=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Q(e))for(r=0,o=e.length;r0;)if(o=s[r],t===o.toLowerCase())return o;return null}var M=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,is=e=>!v(e)&&e!==M;function Le(){let{caseless:e,skipUndefined:t}=is(this)&&this||{},s={},r=(o,n)=>{if(n==="__proto__"||n==="constructor"||n==="prototype")return;let i=e&&ns(s,n)||n;ge(s[i])&&ge(o)?s[i]=Le(s[i],o):ge(o)?s[i]=Le({},o):Q(o)?s[i]=o.slice():(!t||!v(o))&&(s[i]=o)};for(let o=0,n=arguments.length;o(oe(t,(o,n)=>{s&&I(o)?Object.defineProperty(e,n,{value:te(o,s),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),ar=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),lr=(e,t,s,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),s&&Object.assign(e.prototype,s)},ur=(e,t,s,r)=>{let o,n,i,l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),n=o.length;n-- >0;)i=o[n],(!r||r(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=s!==!1&&De(e)}while(e&&(!s||s(e,t))&&e!==Object.prototype);return t},cr=(e,t,s)=>{e=String(e),(s===void 0||s>e.length)&&(s=e.length),s-=t.length;let r=e.indexOf(t,s);return r!==-1&&r===s},pr=e=>{if(!e)return null;if(Q(e))return e;let t=e.length;if(!os(t))return null;let s=new Array(t);for(;t-- >0;)s[t]=e[t];return s},mr=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&De(Uint8Array)),fr=(e,t)=>{let r=(e&&e[ye]).call(e),o;for(;(o=r.next())&&!o.done;){let n=o.value;t.call(e,n[0],n[1])}},dr=(e,t)=>{let s,r=[];for(;(s=e.exec(t))!==null;)r.push(s);return r},hr=D("HTMLFormElement"),Ar=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(s,r,o){return r.toUpperCase()+o}),ts=(({hasOwnProperty:e})=>(t,s)=>e.call(t,s))(Object.prototype),gr=D("RegExp"),as=(e,t)=>{let s=Object.getOwnPropertyDescriptors(e),r={};oe(s,(o,n)=>{let i;(i=t(o,n,e))!==!1&&(r[n]=i||o)}),Object.defineProperties(e,r)},yr=e=>{as(e,(t,s)=>{if(I(e)&&["arguments","caller","callee"].indexOf(s)!==-1)return!1;let r=e[s];if(I(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},Rr=(e,t)=>{let s={},r=o=>{o.forEach(n=>{s[n]=!0})};return Q(e)?r(e):r(String(e).split(t)),s},Pr=()=>{},br=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Er(e){return!!(e&&I(e.append)&&e[ss]==="FormData"&&e[ye])}var xr=e=>{let t=new Array(10),s=(r,o)=>{if(re(r)){if(t.indexOf(r)>=0)return;if(se(r))return r;if(!("toJSON"in r)){t[o]=r;let n=Q(r)?[]:{};return oe(r,(i,l)=>{let m=s(i,o+1);!v(m)&&(n[l]=m)}),t[o]=void 0,n}}return r};return s(e,0)},Cr=D("AsyncFunction"),wr=e=>e&&(re(e)||I(e))&&I(e.then)&&I(e.catch),ls=((e,t)=>e?setImmediate:t?((s,r)=>(M.addEventListener("message",({source:o,data:n})=>{o===M&&n===s&&r.length&&r.shift()()},!1),o=>{r.push(o),M.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",I(M.postMessage)),Fr=typeof queueMicrotask<"u"?queueMicrotask.bind(M):typeof process<"u"&&process.nextTick||ls,Sr=e=>e!=null&&I(e[ye]),a={isArray:Q,isArrayBuffer:rs,isBuffer:se,isFormData:Ys,isArrayBufferView:Ms,isString:Ws,isNumber:os,isBoolean:vs,isObject:re,isPlainObject:ge,isEmptyObject:Qs,isReadableStream:tr,isRequest:sr,isResponse:rr,isHeaders:or,isUndefined:v,isDate:zs,isFile:Js,isBlob:Ks,isRegExp:gr,isFunction:I,isStream:Zs,isURLSearchParams:er,isTypedArray:mr,isFileList:Xs,forEach:oe,merge:Le,extend:ir,trim:nr,stripBOM:ar,inherits:lr,toFlatObject:ur,kindOf:Re,kindOfTest:D,endsWith:cr,toArray:pr,forEachEntry:fr,matchAll:dr,isHTMLForm:hr,hasOwnProperty:ts,hasOwnProp:ts,reduceDescriptors:as,freezeMethods:yr,toObjectSet:Rr,toCamelCase:Ar,noop:Pr,toFiniteNumber:br,findKey:ns,global:M,isContextDefined:is,isSpecCompliantForm:Er,toJSONObject:xr,isAsyncFn:Cr,isThenable:wr,setImmediate:ls,asap:Fr,isIterable:Sr};var S=class e extends Error{static from(t,s,r,o,n,i){let l=new e(t.message,s||t.code,r,o,n);return l.cause=t,l.name=t.name,i&&Object.assign(l,i),l}constructor(t,s,r,o,n){super(t),this.name="AxiosError",this.isAxiosError=!0,s&&(this.code=s),r&&(this.config=r),o&&(this.request=o),n&&(this.response=n,this.status=n.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}};S.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";S.ERR_BAD_OPTION="ERR_BAD_OPTION";S.ECONNABORTED="ECONNABORTED";S.ETIMEDOUT="ETIMEDOUT";S.ERR_NETWORK="ERR_NETWORK";S.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";S.ERR_DEPRECATED="ERR_DEPRECATED";S.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";S.ERR_BAD_REQUEST="ERR_BAD_REQUEST";S.ERR_CANCELED="ERR_CANCELED";S.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";S.ERR_INVALID_URL="ERR_INVALID_URL";var A=S;var be=null;function qe(e){return a.isPlainObject(e)||a.isArray(e)}function cs(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function us(e,t,s){return e?e.concat(t).map(function(o,n){return o=cs(o),!s&&n?"["+o+"]":o}).join(s?".":""):t}function Tr(e){return a.isArray(e)&&!e.some(qe)}var Or=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function Ir(e,t,s){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new(be||FormData),s=a.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,f){return!a.isUndefined(f[h])});let r=s.metaTokens,o=s.visitor||u,n=s.dots,i=s.indexes,m=(s.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(o))throw new TypeError("visitor must be a function");function p(c){if(c===null)return"";if(a.isDate(c))return c.toISOString();if(a.isBoolean(c))return c.toString();if(!m&&a.isBlob(c))throw new A("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(c)||a.isTypedArray(c)?m&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function u(c,h,f){let b=c;if(c&&!f&&typeof c=="object"){if(a.endsWith(h,"{}"))h=r?h:h.slice(0,-2),c=JSON.stringify(c);else if(a.isArray(c)&&Tr(c)||(a.isFileList(c)||a.endsWith(h,"[]"))&&(b=a.toArray(c)))return h=cs(h),b.forEach(function(w,T){!(a.isUndefined(w)||w===null)&&t.append(i===!0?us([h],T,n):i===null?h:h+"[]",p(w))}),!1}return qe(c)?!0:(t.append(us(f,h,n),p(c)),!1)}let d=[],R=Object.assign(Or,{defaultVisitor:u,convertValue:p,isVisitable:qe});function F(c,h){if(!a.isUndefined(c)){if(d.indexOf(c)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(c),a.forEach(c,function(b,_){(!(a.isUndefined(b)||b===null)&&o.call(t,b,a.isString(_)?_.trim():_,h,R))===!0&&F(b,h?h.concat(_):[_])}),d.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return F(e),t}var G=Ir;function ps(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function ms(e,t){this._pairs=[],e&&G(e,this,t)}var fs=ms.prototype;fs.append=function(t,s){this._pairs.push([t,s])};fs.toString=function(t){let s=t?function(r){return t.call(this,r,ps)}:ps;return this._pairs.map(function(o){return s(o[0])+"="+s(o[1])},"").join("&")};var Ee=ms;function _r(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ne(e,t,s){if(!t)return e;let r=s&&s.encode||_r,o=a.isFunction(s)?{serialize:s}:s,n=o&&o.serialize,i;if(n?i=n(t,o):i=a.isURLSearchParams(t)?t.toString():new Ee(t,o).toString(r),i){let l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Ne=class{constructor(){this.handlers=[]}use(t,s,r){return this.handlers.push({fulfilled:t,rejected:s,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}},Ue=Ne;var z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var ds=typeof URLSearchParams<"u"?URLSearchParams:Ee;var hs=typeof FormData<"u"?FormData:null;var As=typeof Blob<"u"?Blob:null;var gs={isBrowser:!0,classes:{URLSearchParams:ds,FormData:hs,Blob:As},protocols:["http","https","file","blob","url","data"]};var je={};mt(je,{hasBrowserEnv:()=>Ge,hasStandardBrowserEnv:()=>$r,hasStandardBrowserWebWorkerEnv:()=>kr,navigator:()=>Be,origin:()=>Lr});var Ge=typeof window<"u"&&typeof document<"u",Be=typeof navigator=="object"&&navigator||void 0,$r=Ge&&(!Be||["ReactNative","NativeScript","NS"].indexOf(Be.product)<0),kr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Lr=Ge&&window.location.href||"http://localhost";var P={...je,...gs};function Ve(e,t){return G(e,new P.classes.URLSearchParams,{visitor:function(s,r,o,n){return P.isNode&&a.isBuffer(s)?(this.append(r,s.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)},...t})}function Dr(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function qr(e){let t={},s=Object.keys(e),r,o=s.length,n;for(r=0;r=s.length;return i=!i&&a.isArray(o)?o.length:i,m?(a.hasOwnProp(o,i)?o[i]=[o[i],r]:o[i]=r,!l):((!o[i]||!a.isObject(o[i]))&&(o[i]=[]),t(s,r,o[i],n)&&a.isArray(o[i])&&(o[i]=qr(o[i])),!l)}if(a.isFormData(e)&&a.isFunction(e.entries)){let s={};return a.forEachEntry(e,(r,o)=>{t(Dr(r),o,s,0)}),s}return null}var xe=Nr;function Ur(e,t,s){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(s||JSON.stringify)(e)}var He={transitional:z,adapter:["xhr","http","fetch"],transformRequest:[function(t,s){let r=s.getContentType()||"",o=r.indexOf("application/json")>-1,n=a.isObject(t);if(n&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return o?JSON.stringify(xe(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return s.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Ve(t,this.formSerializer).toString();if((l=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){let m=this.env&&this.env.FormData;return G(l?{"files[]":t}:t,m&&new m,this.formSerializer)}}return n||o?(s.setContentType("application/json",!1),Ur(t)):t}],transformResponse:[function(t){let s=this.transitional||He.transitional,r=s&&s.forcedJSONParsing,o=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||o)){let i=!(s&&s.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(i)throw l.name==="SyntaxError"?A.from(l,A.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:P.classes.FormData,Blob:P.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{He.headers[e]={}});var J=He;var Br=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ys=e=>{let t={},s,r,o;return e&&e.split(` `).forEach(function(i){o=i.indexOf(":"),s=i.substring(0,o).trim().toLowerCase(),r=i.substring(o+1).trim(),!(!s||t[s]&&Br[s])&&(s==="set-cookie"?t[s]?t[s].push(r):t[s]=[r]:t[s]=t[s]?t[s]+", "+r:r)}),t};var Rs=Symbol("internals");function ie(e){return e&&String(e).trim().toLowerCase()}function Ce(e){return e===!1||e==null?e:a.isArray(e)?e.map(Ce):String(e)}function Gr(e){let t=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=s.exec(e);)t[r[1]]=r[2];return t}var jr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Me(e,t,s,r,o){if(a.isFunction(r))return r.call(this,t,s);if(o&&(t=s),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function Vr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,s,r)=>s.toUpperCase()+r)}function Hr(e,t){let s=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+s,{value:function(o,n,i){return this[r].call(this,t,o,n,i)},configurable:!0})})}var K=class{constructor(t){t&&this.set(t)}set(t,s,r){let o=this;function n(l,m,p){let u=ie(m);if(!u)throw new Error("header name must be a non-empty string");let d=a.findKey(o,u);(!d||o[d]===void 0||p===!0||p===void 0&&o[d]!==!1)&&(o[d||m]=Ce(l))}let i=(l,m)=>a.forEach(l,(p,u)=>n(p,u,m));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,s);else if(a.isString(t)&&(t=t.trim())&&!jr(t))i(ys(t),s);else if(a.isObject(t)&&a.isIterable(t)){let l={},m,p;for(let u of t){if(!a.isArray(u))throw TypeError("Object iterator must return a key-value pair");l[p=u[0]]=(m=l[p])?a.isArray(m)?[...m,u[1]]:[m,u[1]]:u[1]}i(l,s)}else t!=null&&n(s,t,r);return this}get(t,s){if(t=ie(t),t){let r=a.findKey(this,t);if(r){let o=this[r];if(!s)return o;if(s===!0)return Gr(o);if(a.isFunction(s))return s.call(this,o,r);if(a.isRegExp(s))return s.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,s){if(t=ie(t),t){let r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!s||Me(this,this[r],r,s)))}return!1}delete(t,s){let r=this,o=!1;function n(i){if(i=ie(i),i){let l=a.findKey(r,i);l&&(!s||Me(r,r[l],l,s))&&(delete r[l],o=!0)}}return a.isArray(t)?t.forEach(n):n(t),o}clear(t){let s=Object.keys(this),r=s.length,o=!1;for(;r--;){let n=s[r];(!t||Me(this,this[n],n,t,!0))&&(delete this[n],o=!0)}return o}normalize(t){let s=this,r={};return a.forEach(this,(o,n)=>{let i=a.findKey(r,n);if(i){s[i]=Ce(o),delete s[n];return}let l=t?Vr(n):String(n).trim();l!==n&&delete s[n],s[l]=Ce(o),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let s=Object.create(null);return a.forEach(this,(r,o)=>{r!=null&&r!==!1&&(s[o]=t&&a.isArray(r)?r.join(", "):r)}),s}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,s])=>t+": "+s).join(` `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...s){let r=new this(t);return s.forEach(o=>r.set(o)),r}static accessor(t){let r=(this[Rs]=this[Rs]={accessors:{}}).accessors,o=this.prototype;function n(i){let l=ie(i);r[l]||(Hr(o,i),r[l]=!0)}return a.isArray(t)?t.forEach(n):n(t),this}};K.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(K.prototype,({value:e},t)=>{let s=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[s]=r}}});a.freezeMethods(K);var C=K;function ae(e,t){let s=this||J,r=t||s,o=C.from(r.headers),n=r.data;return a.forEach(e,function(l){n=l.call(s,n,o.normalize(),t?t.status:void 0)}),o.normalize(),n}function le(e){return!!(e&&e.__CANCEL__)}var We=class extends A{constructor(t,s,r){super(t??"canceled",A.ERR_CANCELED,s,r),this.name="CanceledError",this.__CANCEL__=!0}},N=We;function ue(e,t,s){let r=s.config.validateStatus;!s.status||!r||r(s.status)?e(s):t(new A("Request failed with status code "+s.status,[A.ERR_BAD_REQUEST,A.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))}function ve(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Mr(e,t){e=e||10;let s=new Array(e),r=new Array(e),o=0,n=0,i;return t=t!==void 0?t:1e3,function(m){let p=Date.now(),u=r[n];i||(i=p),s[o]=m,r[o]=p;let d=n,R=0;for(;d!==o;)R+=s[d++],d=d%e;if(o=(o+1)%e,o===n&&(n=(n+1)%e),p-i{s=u,o=null,n&&(clearTimeout(n),n=null),e(...p)};return[(...p)=>{let u=Date.now(),d=u-s;d>=r?i(p,u):(o=p,n||(n=setTimeout(()=>{n=null,i(o)},r-d)))},()=>o&&i(o)]}var bs=Wr;var X=(e,t,s=3)=>{let r=0,o=Ps(50,250);return bs(n=>{let i=n.loaded,l=n.lengthComputable?n.total:void 0,m=i-r,p=o(m),u=i<=l;r=i;let d={loaded:i,total:l,progress:l?i/l:void 0,bytes:m,rate:p||void 0,estimated:p&&l&&u?(l-i)/p:void 0,event:n,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(d)},s)},Qe=(e,t)=>{let s=e!=null;return[r=>t[0]({lengthComputable:s,total:e,loaded:r}),t[1]]},ze=e=>(...t)=>a.asap(()=>e(...t));var Es=P.hasStandardBrowserEnv?((e,t)=>s=>(s=new URL(s,P.origin),e.protocol===s.protocol&&e.host===s.host&&(t||e.port===s.port)))(new URL(P.origin),P.navigator&&/(msie|trident)/i.test(P.navigator.userAgent)):()=>!0;var xs=P.hasStandardBrowserEnv?{write(e,t,s,r,o,n,i){if(typeof document>"u")return;let l=[`${e}=${encodeURIComponent(t)}`];a.isNumber(s)&&l.push(`expires=${new Date(s).toUTCString()}`),a.isString(r)&&l.push(`path=${r}`),a.isString(o)&&l.push(`domain=${o}`),n===!0&&l.push("secure"),a.isString(i)&&l.push(`SameSite=${i}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Je(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Ke(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ce(e,t,s){let r=!Je(t);return e&&(r||s==!1)?Ke(e,t):t}var Cs=e=>e instanceof C?{...e}:e;function q(e,t){t=t||{};let s={};function r(p,u,d,R){return a.isPlainObject(p)&&a.isPlainObject(u)?a.merge.call({caseless:R},p,u):a.isPlainObject(u)?a.merge({},u):a.isArray(u)?u.slice():u}function o(p,u,d,R){if(a.isUndefined(u)){if(!a.isUndefined(p))return r(void 0,p,d,R)}else return r(p,u,d,R)}function n(p,u){if(!a.isUndefined(u))return r(void 0,u)}function i(p,u){if(a.isUndefined(u)){if(!a.isUndefined(p))return r(void 0,p)}else return r(void 0,u)}function l(p,u,d){if(d in t)return r(p,u);if(d in e)return r(void 0,p)}let m={url:n,method:n,data:n,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(p,u,d)=>o(Cs(p),Cs(u),d,!0)};return a.forEach(Object.keys({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;let d=a.hasOwnProp(m,u)?m[u]:o,R=d(e[u],t[u],u);a.isUndefined(R)&&d!==l||(s[u]=R)}),s}var we=e=>{let t=q({},e),{data:s,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:n,headers:i,auth:l}=t;if(t.headers=i=C.from(i),t.url=ne(ce(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),a.isFormData(s)){if(P.hasStandardBrowserEnv||P.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(a.isFunction(s.getHeaders)){let m=s.getHeaders(),p=["content-type","content-length"];Object.entries(m).forEach(([u,d])=>{p.includes(u.toLowerCase())&&i.set(u,d)})}}if(P.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(t)),r||r!==!1&&Es(t.url))){let m=o&&n&&xs.read(n);m&&i.set(o,m)}return t};var vr=typeof XMLHttpRequest<"u",ws=vr&&function(e){return new Promise(function(s,r){let o=we(e),n=o.data,i=C.from(o.headers).normalize(),{responseType:l,onUploadProgress:m,onDownloadProgress:p}=o,u,d,R,F,c;function h(){F&&F(),c&&c(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let f=new XMLHttpRequest;f.open(o.method.toUpperCase(),o.url,!0),f.timeout=o.timeout;function b(){if(!f)return;let w=C.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),L={data:!l||l==="text"||l==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:w,config:e,request:f};ue(function($){s($),h()},function($){r($),h()},L),f=null}"onloadend"in f?f.onloadend=b:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(b)},f.onabort=function(){f&&(r(new A("Request aborted",A.ECONNABORTED,e,f)),f=null)},f.onerror=function(T){let L=T&&T.message?T.message:"Network Error",j=new A(L,A.ERR_NETWORK,e,f);j.event=T||null,r(j),f=null},f.ontimeout=function(){let T=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",L=o.transitional||z;o.timeoutErrorMessage&&(T=o.timeoutErrorMessage),r(new A(T,L.clarifyTimeoutError?A.ETIMEDOUT:A.ECONNABORTED,e,f)),f=null},n===void 0&&i.setContentType(null),"setRequestHeader"in f&&a.forEach(i.toJSON(),function(T,L){f.setRequestHeader(L,T)}),a.isUndefined(o.withCredentials)||(f.withCredentials=!!o.withCredentials),l&&l!=="json"&&(f.responseType=o.responseType),p&&([R,c]=X(p,!0),f.addEventListener("progress",R)),m&&f.upload&&([d,F]=X(m),f.upload.addEventListener("progress",d),f.upload.addEventListener("loadend",F)),(o.cancelToken||o.signal)&&(u=w=>{f&&(r(!w||w.type?new N(null,e,f):w),f.abort(),f=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));let _=ve(o.url);if(_&&P.protocols.indexOf(_)===-1){r(new A("Unsupported protocol "+_+":",A.ERR_BAD_REQUEST,e));return}f.send(n||null)})};var Qr=(e,t)=>{let{length:s}=e=e?e.filter(Boolean):[];if(t||s){let r=new AbortController,o,n=function(p){if(!o){o=!0,l();let u=p instanceof Error?p:this.reason;r.abort(u instanceof A?u:new N(u instanceof Error?u.message:u))}},i=t&&setTimeout(()=>{i=null,n(new A(`timeout of ${t}ms exceeded`,A.ETIMEDOUT))},t),l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(p=>{p.unsubscribe?p.unsubscribe(n):p.removeEventListener("abort",n)}),e=null)};e.forEach(p=>p.addEventListener("abort",n));let{signal:m}=r;return m.unsubscribe=()=>a.asap(l),m}},Fs=Qr;var zr=function*(e,t){let s=e.byteLength;if(!t||s{let o=Jr(e,t),n=0,i,l=m=>{i||(i=!0,r&&r(m))};return new ReadableStream({async pull(m){try{let{done:p,value:u}=await o.next();if(p){l(),m.close();return}let d=u.byteLength;if(s){let R=n+=d;s(R)}m.enqueue(new Uint8Array(u))}catch(p){throw l(p),p}},cancel(m){return l(m),o.return()}},{highWaterMark:2})};var Ss=64*1024,{isFunction:Fe}=a,Xr=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:Ts,TextEncoder:Os}=a.global,Is=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Zr=e=>{e=a.merge.call({skipUndefined:!0},Xr,e);let{fetch:t,Request:s,Response:r}=e,o=t?Fe(t):typeof fetch=="function",n=Fe(s),i=Fe(r);if(!o)return!1;let l=o&&Fe(Ts),m=o&&(typeof Os=="function"?(c=>h=>c.encode(h))(new Os):async c=>new Uint8Array(await new s(c).arrayBuffer())),p=n&&l&&Is(()=>{let c=!1,h=new s(P.origin,{body:new Ts,method:"POST",get duplex(){return c=!0,"half"}}).headers.has("Content-Type");return c&&!h}),u=i&&l&&Is(()=>a.isReadableStream(new r("").body)),d={stream:u&&(c=>c.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(c=>{!d[c]&&(d[c]=(h,f)=>{let b=h&&h[c];if(b)return b.call(h);throw new A(`Response type '${c}' is not supported`,A.ERR_NOT_SUPPORT,f)})});let R=async c=>{if(c==null)return 0;if(a.isBlob(c))return c.size;if(a.isSpecCompliantForm(c))return(await new s(P.origin,{method:"POST",body:c}).arrayBuffer()).byteLength;if(a.isArrayBufferView(c)||a.isArrayBuffer(c))return c.byteLength;if(a.isURLSearchParams(c)&&(c=c+""),a.isString(c))return(await m(c)).byteLength},F=async(c,h)=>{let f=a.toFiniteNumber(c.getContentLength());return f??R(h)};return async c=>{let{url:h,method:f,data:b,signal:_,cancelToken:w,timeout:T,onDownloadProgress:L,onUploadProgress:j,responseType:$,headers:_e,withCredentials:de="same-origin",fetchOptions:it}=we(c),at=t||fetch;$=$?($+"").toLowerCase():"text";let he=Fs([_,w&&w.toAbortSignal()],T),Y=null,V=he&&he.unsubscribe&&(()=>{he.unsubscribe()}),lt;try{if(j&&p&&f!=="get"&&f!=="head"&&(lt=await F(_e,b))!==0){let B=new s(h,{method:"POST",body:b,duplex:"half"}),W;if(a.isFormData(b)&&(W=B.headers.get("content-type"))&&_e.setContentType(W),B.body){let[$e,Ae]=Qe(lt,X(ze(j)));b=Xe(B.body,Ss,$e,Ae)}}a.isString(de)||(de=de?"include":"omit");let O=n&&"credentials"in s.prototype,ut={...it,signal:he,method:f.toUpperCase(),headers:_e.normalize().toJSON(),body:b,duplex:"half",credentials:O?de:void 0};Y=n&&new s(h,ut);let U=await(n?at(Y,it):at(h,ut)),ct=u&&($==="stream"||$==="response");if(u&&(L||ct&&V)){let B={};["status","statusText","headers"].forEach(pt=>{B[pt]=U[pt]});let W=a.toFiniteNumber(U.headers.get("content-length")),[$e,Ae]=L&&Qe(W,X(ze(L),!0))||[];U=new r(Xe(U.body,Ss,$e,()=>{Ae&&Ae(),V&&V()}),B)}$=$||"text";let qs=await d[a.findKey(d,$)||"text"](U,c);return!ct&&V&&V(),await new Promise((B,W)=>{ue(B,W,{data:qs,headers:C.from(U.headers),status:U.status,statusText:U.statusText,config:c,request:Y})})}catch(O){throw V&&V(),O&&O.name==="TypeError"&&/Load failed|fetch/i.test(O.message)?Object.assign(new A("Network Error",A.ERR_NETWORK,c,Y,O&&O.response),{cause:O.cause||O}):A.from(O,O&&O.code,c,Y,O&&O.response)}}},Yr=new Map,Ze=e=>{let t=e&&e.env||{},{fetch:s,Request:r,Response:o}=t,n=[r,o,s],i=n.length,l=i,m,p,u=Yr;for(;l--;)m=n[l],p=u.get(m),p===void 0&&u.set(m,p=l?new Map:Zr(t)),u=p;return p},gi=Ze();var Ye={http:be,xhr:ws,fetch:{get:Ze}};a.forEach(Ye,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var _s=e=>`- ${e}`,to=e=>a.isFunction(e)||e===null||e===!1;function so(e,t){e=a.isArray(e)?e:[e];let{length:s}=e,r,o,n={};for(let i=0;i`adapter ${m} `+(p===!1?"is not supported by the environment":"is not available in the build")),l=s?i.length>1?`since : `+i.map(_s).join(` diff --git a/lib/index.js b/lib/index.js index 891e2b9..068cfa2 100644 --- a/lib/index.js +++ b/lib/index.js @@ -11668,7 +11668,7 @@ var API_VER_WEBHOOKS = "v2"; // src/utils.ts function toQueryParams(x) { if (!x) return ""; - return Object.entries(x).map(([k, v]) => k && v && `${k}=${encodeURIComponent(v)}`).filter(Boolean).join("&"); + return Object.entries(x).map(([k, v]) => k && v != null && `${k}=${encodeURIComponent(v)}`).filter(Boolean).join("&"); } var ApiError = class _ApiError extends Error { constructor(error) { diff --git a/src/utils.ts b/src/utils.ts index ee20faa..221c5ba 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -3,7 +3,7 @@ import { AxiosError, Method as AxiosMethod, AxiosRequestConfig } from 'axios'; export function toQueryParams(x: any): string { if (!x) return ''; return Object.entries(x).map(([ k, v ]) => ( - k && v && `${k}=${encodeURIComponent(v as any)}` + k && (v != null) && `${k}=${encodeURIComponent(v as any)}` )).filter(Boolean).join('&') }