UNPKG

@alova/adapter-axios

Version:

axios adapter for alova.js

8 lines (7 loc) 8.25 kB
/** * @alova/adapter-axios 2.0.20 (https://alova.js.org) * Document https://alova.js.org * Copyright 2026 Scott Hu. All Rights Reserved * Licensed under MIT (git://github.com/alovajs/alova/blob/main/LICENSE) */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("axios")):typeof define==`function`&&define.amd?define([`exports`,`axios`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.AlovaAdapterAxios={},e.axios))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t,1);var u=c(((e,t)=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let n=`undefined`,r=Promise,i=e=>r.resolve(e),a=e=>r.reject(e),o=Object,s=RegExp,c=(e,t,n)=>e.then(t,n),l=(e,t)=>e.catch(t),u=(e,t)=>e.finally(t),d=e=>r.all(e),f=(e,t,n)=>JSON.stringify(e,t,n),ee=e=>JSON.parse(e),p=(e,t=0)=>setTimeout(e,t),te=e=>clearTimeout(e),m=e=>o.keys(e),h=e=>o.values(e),g=(e,t)=>e.forEach(t),_=(e,...t)=>e.push(...t),v=(e,t)=>e.map(t),y=(e,t)=>e.filter(t),b=e=>e.shift(),ne=(e,t,n)=>e.slice(t,n),re=(e,t,n=0,...r)=>e.splice(t,n,...r),x=e=>e.length,S=e=>Array.isArray(e),ie=(e,t)=>delete e[t],C=e=>typeof e,ae=(e,t)=>e.test(`${t}`),w=(e,t)=>e.includes(t),T=(e,t=!1)=>({value:e,writable:t}),oe=(e,t,n,r=!1)=>o.defineProperty(e,t,r?n:T(n,!1)),se=typeof window==n&&(typeof process==n?typeof Deno!=n:!process.browser),E=`memory`,D=`restore`,O=()=>{},ce=e=>e,k=e=>C(e)===`function`,A=e=>C(e)===`number`&&!Number.isNaN(e),j=e=>C(e)===`string`,M=e=>e!==null&&C(e)===`object`,N=e=>o.prototype.toString.call(e),P=e=>N(e)===`[object Object]`,F=(e,t)=>e instanceof t,I=e=>e?e.getTime():Date.now(),L=e=>e.context,R=e=>e.config,z=e=>e.options,B=e=>z(L(e)),V=e=>{let{params:t,headers:n}=R(e);return f([e.type,e.url,t,e.data,n])},H=()=>{let e=new Date().getTime();return Math.floor(Math.random()*e).toString(36)},U=e=>e.key,W=(e,t,n=[])=>{let r=k(e)?e(...n):e;return t(!!r.key,`hook handler must be a method instance or a function that returns method instance`),r},G=e=>{let t=N(e);return/^\[object (Blob|FormData|ReadableStream|URLSearchParams)\]$/i.test(t)||F(e,ArrayBuffer)},K=(e,...t)=>o.assign(e,...t),le=(e,...t)=>{let n={};for(let r in e)t.includes(r)||(n[r]=e[r]);return n};function ue(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}let de=e=>{let{cacheFor:t}=R(e),n=e=>A(e)?I()+e:I(e||void 0),r=E,i=()=>0,a=!1,o,s=k(t);if(!s){let s=t;if(P(t)){let{mode:e=E,expire:n,tag:i}=t||{};r=e,a=e===D,o=i?i.toString():void 0,s=n}i=t=>n(k(s)?s({method:e,mode:t}):s)}return{f:t,c:s,e:i,m:r,s:a,t:o}},q=(e,...t)=>new e(...t),fe=(e,t=[])=>k(e)?e(...t):e,pe=(e,t)=>k(e)?e:[!1,null].includes(e)?O:t,me=(e=0)=>{let t;return n=>{t&&clearTimeout(t),t=p(n,e)}},he=(e=!1)=>{let t=[],n,i=!1,a=async()=>{for(i=!0;x(t)>0;){let e=b(t);e&&await e()}n&&n(),i=!1};return{addQueue:n=>q(r,(r,o)=>{_(t,()=>c(n(),r,t=>{e?r(void 0):o(t)})),i||a()}),onComplete:e=>{n=e}}},J=(e,t,n=!0,r,i)=>{let a=()=>{i&&r&&(e=t(e,r,i),e!==i[r]&&(i[r]=e))};if(n&&a(),M(e))for(let r in e)F(e,String)||J(e[r],t,n,r,e);return!n&&a(),e},ge=(e,t)=>`$a.`+e+t,_e=e=>e.startsWith(`$a.`),ve=(e,t)=>{let{startQuiver:n,endQuiver:r}=e,{delay:i,multiplier:a=1}=e,o=(i||0)*a**(t-1);return(n||r)&&(n||=0,r||=1,o+=o*n+Math.random()*o*(r-n),o=Math.floor(o)),o},ye=(e,t,n)=>{let r=/^https?:\/\//i.test(t);r||(e=e.endsWith(`/`)?e.slice(0,-1):e,t!==``&&(t=t.startsWith(`/`)?t:`/${t}`));let i=r?t:e+t,a=j(n)?n:v(y(m(n),e=>n[e]!==void 0),e=>`${e}=${n[e]}`).join(`&`);return a?+i.includes(`?`)?`${i}&${a}`:`${i}?${a}`:i},Y=e=>{if(S(e))return v(e,Y);if(P(e)&&e.constructor===o){let t={};return g(m(e),n=>{t[n]=Y(e[n])}),t}return e};var X=class extends Error{constructor(e,t,n){super(t+(n?`\n\nFor detailed: https://alova.js.org/error#${n}`:``)),this.name=`[alova${e?`/${e}`:``}]`}};let be=(e=``)=>(t,n,r)=>{if(!t)throw q(X,e,n,r)},Z=JSON.parse,xe=e=>{Z.bridgeData=e},Se=()=>Z.bridgeData||{};var Ce=(e,t)=>{let{data:n,config:r}=e,i={...r},{headers:a={},params:o={}}=i,s=L(e);return i.headers={...a},i.params=j(o)?o:{...o},K(q(t,e.type,s,e.url,i,n),{...e,config:i})};let Q=()=>{let e={};return{eventMap:e,on(t,n){let r=e[t]=e[t]||[];return _(r,n),()=>{let e=r.indexOf(n);e>-1&&r.splice(e,1)}},off(t,n){let r=e[t];if(r)if(n){let e=r.indexOf(n);e>-1&&r.splice(e,1)}else delete e[t]},emit(t,n){return v(e[t]||[],e=>e(n))}}},we=(e,t)=>{let n=Q(),r=H(),i=e(e=>n.emit(r,e));return e=>(n.on(r,n=>{t(e,n)}),i)};var $=class{constructor(e,t,n,r){this.s=e,this.k=t,this.$dhy=n,this.$exp=r}get v(){return this.$dhy(this.s)}get e(){return this.$exp(this.s)}},Te=class extends ${constructor(e,t,n,r,i){super(e,t,n,r),this.$upd=i}set v(e){this.$upd(this.s,e)}get v(){return this.$dhy(this.s)}},Ee=class{constructor(e,t=!1){this.limit=e,this.callbackQueue=[],this.isProcessing=!1,this.interrupt=!1,this.isProcessing=t}queueCallback(e){this.limit&&this.callbackQueue.length>=this.limit||(this.callbackQueue.push(e),this.isProcessing||this.tryRunQueueCallback())}async tryRunQueueCallback(){for(this.isProcessing=!0,this.interrupt=!1;this.callbackQueue.length>0&&!this.interrupt;)await this.callbackQueue.shift()?.();this.isProcessing=!1}setProcessingState(e){this.isProcessing=e,e?this.interrupt=!0:this.tryRunQueueCallback()}};e.$self=ce,e.AlovaError=X,e.FrameworkReadableState=$,e.FrameworkState=Te,e.JSONParse=ee,e.JSONStringify=f,e.MEMORY=E,e.ObjectCls=o,e.PromiseCls=r,e.QueueCallback=Ee,e.RegExpCls=s,e.STORAGE_RESTORE=D,e.buildCompletedURL=ye,e.buildNamespacedCacheKey=ge,e.clearTimeoutTimer=te,e.cloneMethod=Ce,e.createAssert=be,e.createAsyncQueue=he,e.createEventManager=Q,e.createSyncOnceRunner=me,e.decorateEvent=we,e.deepClone=Y,e.defineProperty=oe,e.delayWithBackoff=ve,e.deleteAttr=ie,e.falseValue=!1,e.filterItem=y,e.forEach=g,e.getConfig=R,e.getContext=L,e.getContextOptions=z,e.getHandlerMethod=W,e.getLocalCacheConfigParam=de,e.getMethodInternalKey=U,e.getOptions=B,e.getTime=I,e.globalToString=N,e.includes=w,e.injectReferingObject=Se,e.instanceOf=F,e.isAlovaCacheKey=_e,e.isArray=S,e.isFn=k,e.isNumber=A,e.isObject=M,e.isPlainObject=P,e.isSSR=se,e.isSpecialRequestBody=G,e.isString=j,e.key=V,e.len=x,e.mapItem=v,e.newInstance=q,e.noop=O,e.nullValue=null,e.objAssign=K,e.objectKeys=m,e.objectValues=h,e.omit=le,e.promiseAll=d,e.promiseCatch=l,e.promiseFinally=u,e.promiseReject=a,e.promiseResolve=i,e.promiseThen=c,e.provideReferingObject=xe,e.pushItem=_,e.regexpTest=ae,e.setTimeoutFn=p,e.shift=b,e.slice=ne,e.sloughConfig=fe,e.sloughFunction=pe,e.splice=re,e.trueValue=!0,e.type={},e.typeOf=C,e.undefinedValue=void 0,e.usePromise=ue,e.uuid=H,e.valueObject=T,e.walkObject=J,t.exports.default=t.exports,Object.defineProperty(t.exports,"__esModule",{value:!0})}))(),d={onMockResponse:({status:e,statusText:n,body:r},i,a)=>{let o={},{config:s}=a,c={baseURL:a.baseURL,url:a.url,data:a.data,...s,headers:new t.AxiosHeaders(s.headers)},l={data:r,status:e,statusText:n,headers:o,config:c};if(e>=400)throw new t.AxiosError(n,`ERR_BAD_REQUEST`,c,u.undefinedValue,l);return{response:l,headers:o}},onMockError:(e,n)=>{let{config:r}=n;return new t.AxiosError(e.message,`ERR_NETWORK`,{baseURL:n.baseURL,url:n.url,data:n.data,...r,headers:new t.AxiosHeaders(r.headers)})}};function f(e={}){let n=e.axios||t.default;return(e,r)=>{let i=u.noop,a=u.noop,{config:o}=r,s=new AbortController,{baseURL:c,timeout:l}=n.defaults,d=n({url:r.url,method:r.type,baseURL:c||r.baseURL,timeout:l||r.config.timeout,data:r.data,signal:s.signal,onUploadProgress:e=>{a(e.loaded,e.total||1)},onDownloadProgress:e=>{i(e.loaded,e.total||1)},...o});return{response:()=>d,headers:()=>d.then(e=>e?.headers||(0,u.newInstance)(t.AxiosHeaders)),abort:()=>{s.abort()},onDownload:e=>{i=e},onUpload:e=>{a=e}}}}e.axiosMockResponse=d,e.axiosRequestAdapter=f});