Socket
Socket
Sign inDemoInstall

vue-request

Package Overview
Dependencies
Maintainers
2
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-request - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

83

dist/index.cjs.js

@@ -27,8 +27,9 @@ 'use strict';

const isDocumentVisibility = () => {
if (isServer || isNil(window.document?.visibilityState)) return true;
var _window$document;
if (isServer || isNil((_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.visibilityState)) return true;
return window.document.visibilityState === 'visible';
};
const isOnline = () => {
var _ref;
return (_ref = !isServer && window.navigator?.onLine) !== null && _ref !== void 0 ? _ref : true;
var _ref, _window$navigator;
return (_ref = !isServer && ((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.onLine)) !== null && _ref !== void 0 ? _ref : true;
};

@@ -84,3 +85,3 @@ const resolvedPromise = () => new Promise(() => {});

const oldCache = CACHE_MAP.get(cacheKey);
if (oldCache?.timer) {
if (oldCache !== null && oldCache !== void 0 && oldCache.timer) {
clearTimeout(oldCache.timer);

@@ -96,3 +97,4 @@ }

if (cacheKey) {
const timer = CACHE_MAP.get(cacheKey)?.timer;
var _CACHE_MAP$get;
const timer = (_CACHE_MAP$get = CACHE_MAP.get(cacheKey)) === null || _CACHE_MAP$get === void 0 ? void 0 : _CACHE_MAP$get.timer;
timer && clearTimeout(timer);

@@ -322,3 +324,4 @@ CACHE_MAP.delete(cacheKey);

onInvalidate(() => {
debouncedRun.value?.cancel();
var _debouncedRun$value;
(_debouncedRun$value = debouncedRun.value) === null || _debouncedRun$value === void 0 ? void 0 : _debouncedRun$value.cancel();
queryInstance.context.runAsync = originRunRef.value;

@@ -329,3 +332,4 @@ });

onCancel() {
debouncedRun.value?.cancel();
var _debouncedRun$value2;
(_debouncedRun$value2 = debouncedRun.value) === null || _debouncedRun$value2 === void 0 ? void 0 : _debouncedRun$value2.cancel();
}

@@ -470,3 +474,4 @@ };

onInvalidate(() => {
throttledRun.value?.cancel();
var _throttledRun$value;
(_throttledRun$value = throttledRun.value) === null || _throttledRun$value === void 0 ? void 0 : _throttledRun$value.cancel();
queryInstance.context.runAsync = originRunRef.value;

@@ -477,3 +482,4 @@ });

onCancel() {
throttledRun.value?.cancel();
var _throttledRun$value2;
(_throttledRun$value2 = throttledRun.value) === null || _throttledRun$value2 === void 0 ? void 0 : _throttledRun$value2.cancel();
}

@@ -509,6 +515,6 @@ };

} = config;
const loading = vueDemi.ref((_initialState$loading = initialState?.loading) !== null && _initialState$loading !== void 0 ? _initialState$loading : false);
const data = vueDemi.shallowRef((_initialState$data = initialState?.data) !== null && _initialState$data !== void 0 ? _initialState$data : initialData);
const error = vueDemi.shallowRef(initialState?.error);
const params = vueDemi.ref(initialState?.params);
const loading = vueDemi.ref((_initialState$loading = initialState === null || initialState === void 0 ? void 0 : initialState.loading) !== null && _initialState$loading !== void 0 ? _initialState$loading : false);
const data = vueDemi.shallowRef((_initialState$data = initialState === null || initialState === void 0 ? void 0 : initialState.data) !== null && _initialState$data !== void 0 ? _initialState$data : initialData);
const error = vueDemi.shallowRef(initialState === null || initialState === void 0 ? void 0 : initialState.error);
const params = vueDemi.ref(initialState === null || initialState === void 0 ? void 0 : initialState.params);
const plugins = vueDemi.ref([]);

@@ -535,3 +541,6 @@ const status = vueDemi.shallowRef('pending');

// @ts-ignore
const res = plugins.value.map(i => i[event]?.(...args));
const res = plugins.value.map(i => {
var _i$event;
return (_i$event = i[event]) === null || _i$event === void 0 ? void 0 : _i$event.call(i, ...args);
});
return Object.assign({}, ...res);

@@ -562,3 +571,3 @@ }

}
onBefore?.(args);
onBefore === null || onBefore === void 0 ? void 0 : onBefore(args);
try {

@@ -582,7 +591,7 @@ const serviceWrapper = () => new Promise(resolve => resolve(service(...params.value)));

emit('onSuccess', res, args);
onSuccess?.(res, args);
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(res, args);
if (currentCount === count.value) {
emit('onAfter', args, res, undefined);
}
onAfter?.(args);
onAfter === null || onAfter === void 0 ? void 0 : onAfter(args);
return res;

@@ -597,7 +606,7 @@ } catch (error) {

emit('onError', error, args);
onError?.(error, args);
onError === null || onError === void 0 ? void 0 : onError(error, args);
if (currentCount === count.value) {
emit('onAfter', args, undefined, error);
}
onAfter?.(args);
onAfter === null || onAfter === void 0 ? void 0 : onAfter(args);
throw error;

@@ -688,3 +697,6 @@ }

const data = vueDemi.shallowRef();
const dataList = vueDemi.computed(() => data.value?.list || []);
const dataList = vueDemi.computed(() => {
var _data$value;
return ((_data$value = data.value) === null || _data$value === void 0 ? void 0 : _data$value.list) || [];
});
const loadingMore = vueDemi.ref(false);

@@ -716,3 +728,3 @@ const isTriggerByLoadMore = vueDemi.ref(false);

refreshDepsAction: () => {
if (restOptions?.refreshDepsAction) {
if (restOptions !== null && restOptions !== void 0 && restOptions.refreshDepsAction) {
restOptions.refreshDepsAction();

@@ -724,8 +736,11 @@ } else {

onError: error => {
restOptions?.onError?.(error);
var _restOptions$onError;
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onError = restOptions.onError) === null || _restOptions$onError === void 0 ? void 0 : _restOptions$onError.call(restOptions, error);
},
onSuccess: data => {
restOptions?.onSuccess?.(data);
var _restOptions$onSucces;
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onSucces = restOptions.onSuccess) === null || _restOptions$onSucces === void 0 ? void 0 : _restOptions$onSucces.call(restOptions, data);
},
onBefore: () => {
var _restOptions$onBefore;
count.value += 1;

@@ -736,8 +751,9 @@ if (isTriggerByLoadMore.value) {

}
restOptions?.onBefore?.();
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onBefore = restOptions.onBefore) === null || _restOptions$onBefore === void 0 ? void 0 : _restOptions$onBefore.call(restOptions);
},
onAfter: () => {
var _restOptions$onAfter;
loadingMore.value = false;
isTriggerByLoadMore.value = false;
restOptions?.onAfter?.();
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onAfter = restOptions.onAfter) === null || _restOptions$onAfter === void 0 ? void 0 : _restOptions$onAfter.call(restOptions);
}

@@ -1009,2 +1025,3 @@ }, [useErrorRetryPlugin, useDebouncePlugin, useThrottlePlugin, useRefreshDepsPlugin, useReadyPlugin]);

var _window;
const FOCUS_LISTENER = new Set();

@@ -1038,3 +1055,3 @@ const VISIBLE_LISTENER = new Set();

/* istanbul ignore else */
if (!isServer && window?.addEventListener) {
if (!isServer && (_window = window) !== null && _window !== void 0 && _window.addEventListener) {
window.addEventListener('visibilitychange', () => {

@@ -1113,6 +1130,8 @@ /* istanbul ignore else */

onBefore() {
pollingTimer.value?.();
var _pollingTimer$value;
(_pollingTimer$value = pollingTimer.value) === null || _pollingTimer$value === void 0 ? void 0 : _pollingTimer$value.call(pollingTimer);
},
onCancel() {
pollingTimer.value?.();
var _pollingTimer$value2;
(_pollingTimer$value2 = pollingTimer.value) === null || _pollingTimer$value2 === void 0 ? void 0 : _pollingTimer$value2.call(pollingTimer);
},

@@ -1231,5 +1250,5 @@ onAfter() {

get: () => {
var _params$value$0$curre;
var _params$value$0$curre, _params$value, _params$value$;
return (// @ts-ignore
(_params$value$0$curre = params.value?.[0]?.[currentKey]) !== null && _params$value$0$curre !== void 0 ? _params$value$0$curre : finallyOptions.defaultParams[0][currentKey]
(_params$value$0$curre = (_params$value = params.value) === null || _params$value === void 0 ? void 0 : (_params$value$ = _params$value[0]) === null || _params$value$ === void 0 ? void 0 : _params$value$[currentKey]) !== null && _params$value$0$curre !== void 0 ? _params$value$0$curre : finallyOptions.defaultParams[0][currentKey]
);

@@ -1243,5 +1262,5 @@ },

get: () => {
var _params$value$0$pageS;
var _params$value$0$pageS, _params$value2, _params$value2$;
return (// @ts-ignore
(_params$value$0$pageS = params.value?.[0]?.[pageSizeKey]) !== null && _params$value$0$pageS !== void 0 ? _params$value$0$pageS : finallyOptions.defaultParams[0][pageSizeKey]
(_params$value$0$pageS = (_params$value2 = params.value) === null || _params$value2 === void 0 ? void 0 : (_params$value2$ = _params$value2[0]) === null || _params$value2$ === void 0 ? void 0 : _params$value2$[pageSizeKey]) !== null && _params$value$0$pageS !== void 0 ? _params$value$0$pageS : finallyOptions.defaultParams[0][pageSizeKey]
);

@@ -1248,0 +1267,0 @@ },

@@ -23,8 +23,9 @@ import { isRef, ref, computed, watchEffect, watch, shallowRef, inject, onUnmounted, provide } from 'vue-demi';

const isDocumentVisibility = () => {
if (isServer || isNil(window.document?.visibilityState)) return true;
var _window$document;
if (isServer || isNil((_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.visibilityState)) return true;
return window.document.visibilityState === 'visible';
};
const isOnline = () => {
var _ref;
return (_ref = !isServer && window.navigator?.onLine) !== null && _ref !== void 0 ? _ref : true;
var _ref, _window$navigator;
return (_ref = !isServer && ((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.onLine)) !== null && _ref !== void 0 ? _ref : true;
};

@@ -80,3 +81,3 @@ const resolvedPromise = () => new Promise(() => {});

const oldCache = CACHE_MAP.get(cacheKey);
if (oldCache?.timer) {
if (oldCache !== null && oldCache !== void 0 && oldCache.timer) {
clearTimeout(oldCache.timer);

@@ -92,3 +93,4 @@ }

if (cacheKey) {
const timer = CACHE_MAP.get(cacheKey)?.timer;
var _CACHE_MAP$get;
const timer = (_CACHE_MAP$get = CACHE_MAP.get(cacheKey)) === null || _CACHE_MAP$get === void 0 ? void 0 : _CACHE_MAP$get.timer;
timer && clearTimeout(timer);

@@ -318,3 +320,4 @@ CACHE_MAP.delete(cacheKey);

onInvalidate(() => {
debouncedRun.value?.cancel();
var _debouncedRun$value;
(_debouncedRun$value = debouncedRun.value) === null || _debouncedRun$value === void 0 ? void 0 : _debouncedRun$value.cancel();
queryInstance.context.runAsync = originRunRef.value;

@@ -325,3 +328,4 @@ });

onCancel() {
debouncedRun.value?.cancel();
var _debouncedRun$value2;
(_debouncedRun$value2 = debouncedRun.value) === null || _debouncedRun$value2 === void 0 ? void 0 : _debouncedRun$value2.cancel();
}

@@ -466,3 +470,4 @@ };

onInvalidate(() => {
throttledRun.value?.cancel();
var _throttledRun$value;
(_throttledRun$value = throttledRun.value) === null || _throttledRun$value === void 0 ? void 0 : _throttledRun$value.cancel();
queryInstance.context.runAsync = originRunRef.value;

@@ -473,3 +478,4 @@ });

onCancel() {
throttledRun.value?.cancel();
var _throttledRun$value2;
(_throttledRun$value2 = throttledRun.value) === null || _throttledRun$value2 === void 0 ? void 0 : _throttledRun$value2.cancel();
}

@@ -505,6 +511,6 @@ };

} = config;
const loading = ref((_initialState$loading = initialState?.loading) !== null && _initialState$loading !== void 0 ? _initialState$loading : false);
const data = shallowRef((_initialState$data = initialState?.data) !== null && _initialState$data !== void 0 ? _initialState$data : initialData);
const error = shallowRef(initialState?.error);
const params = ref(initialState?.params);
const loading = ref((_initialState$loading = initialState === null || initialState === void 0 ? void 0 : initialState.loading) !== null && _initialState$loading !== void 0 ? _initialState$loading : false);
const data = shallowRef((_initialState$data = initialState === null || initialState === void 0 ? void 0 : initialState.data) !== null && _initialState$data !== void 0 ? _initialState$data : initialData);
const error = shallowRef(initialState === null || initialState === void 0 ? void 0 : initialState.error);
const params = ref(initialState === null || initialState === void 0 ? void 0 : initialState.params);
const plugins = ref([]);

@@ -531,3 +537,6 @@ const status = shallowRef('pending');

// @ts-ignore
const res = plugins.value.map(i => i[event]?.(...args));
const res = plugins.value.map(i => {
var _i$event;
return (_i$event = i[event]) === null || _i$event === void 0 ? void 0 : _i$event.call(i, ...args);
});
return Object.assign({}, ...res);

@@ -558,3 +567,3 @@ }

}
onBefore?.(args);
onBefore === null || onBefore === void 0 ? void 0 : onBefore(args);
try {

@@ -578,7 +587,7 @@ const serviceWrapper = () => new Promise(resolve => resolve(service(...params.value)));

emit('onSuccess', res, args);
onSuccess?.(res, args);
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(res, args);
if (currentCount === count.value) {
emit('onAfter', args, res, undefined);
}
onAfter?.(args);
onAfter === null || onAfter === void 0 ? void 0 : onAfter(args);
return res;

@@ -593,7 +602,7 @@ } catch (error) {

emit('onError', error, args);
onError?.(error, args);
onError === null || onError === void 0 ? void 0 : onError(error, args);
if (currentCount === count.value) {
emit('onAfter', args, undefined, error);
}
onAfter?.(args);
onAfter === null || onAfter === void 0 ? void 0 : onAfter(args);
throw error;

@@ -684,3 +693,6 @@ }

const data = shallowRef();
const dataList = computed(() => data.value?.list || []);
const dataList = computed(() => {
var _data$value;
return ((_data$value = data.value) === null || _data$value === void 0 ? void 0 : _data$value.list) || [];
});
const loadingMore = ref(false);

@@ -712,3 +724,3 @@ const isTriggerByLoadMore = ref(false);

refreshDepsAction: () => {
if (restOptions?.refreshDepsAction) {
if (restOptions !== null && restOptions !== void 0 && restOptions.refreshDepsAction) {
restOptions.refreshDepsAction();

@@ -720,8 +732,11 @@ } else {

onError: error => {
restOptions?.onError?.(error);
var _restOptions$onError;
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onError = restOptions.onError) === null || _restOptions$onError === void 0 ? void 0 : _restOptions$onError.call(restOptions, error);
},
onSuccess: data => {
restOptions?.onSuccess?.(data);
var _restOptions$onSucces;
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onSucces = restOptions.onSuccess) === null || _restOptions$onSucces === void 0 ? void 0 : _restOptions$onSucces.call(restOptions, data);
},
onBefore: () => {
var _restOptions$onBefore;
count.value += 1;

@@ -732,8 +747,9 @@ if (isTriggerByLoadMore.value) {

}
restOptions?.onBefore?.();
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onBefore = restOptions.onBefore) === null || _restOptions$onBefore === void 0 ? void 0 : _restOptions$onBefore.call(restOptions);
},
onAfter: () => {
var _restOptions$onAfter;
loadingMore.value = false;
isTriggerByLoadMore.value = false;
restOptions?.onAfter?.();
restOptions === null || restOptions === void 0 ? void 0 : (_restOptions$onAfter = restOptions.onAfter) === null || _restOptions$onAfter === void 0 ? void 0 : _restOptions$onAfter.call(restOptions);
}

@@ -1005,2 +1021,3 @@ }, [useErrorRetryPlugin, useDebouncePlugin, useThrottlePlugin, useRefreshDepsPlugin, useReadyPlugin]);

var _window;
const FOCUS_LISTENER = new Set();

@@ -1034,3 +1051,3 @@ const VISIBLE_LISTENER = new Set();

/* istanbul ignore else */
if (!isServer && window?.addEventListener) {
if (!isServer && (_window = window) !== null && _window !== void 0 && _window.addEventListener) {
window.addEventListener('visibilitychange', () => {

@@ -1109,6 +1126,8 @@ /* istanbul ignore else */

onBefore() {
pollingTimer.value?.();
var _pollingTimer$value;
(_pollingTimer$value = pollingTimer.value) === null || _pollingTimer$value === void 0 ? void 0 : _pollingTimer$value.call(pollingTimer);
},
onCancel() {
pollingTimer.value?.();
var _pollingTimer$value2;
(_pollingTimer$value2 = pollingTimer.value) === null || _pollingTimer$value2 === void 0 ? void 0 : _pollingTimer$value2.call(pollingTimer);
},

@@ -1227,5 +1246,5 @@ onAfter() {

get: () => {
var _params$value$0$curre;
var _params$value$0$curre, _params$value, _params$value$;
return (// @ts-ignore
(_params$value$0$curre = params.value?.[0]?.[currentKey]) !== null && _params$value$0$curre !== void 0 ? _params$value$0$curre : finallyOptions.defaultParams[0][currentKey]
(_params$value$0$curre = (_params$value = params.value) === null || _params$value === void 0 ? void 0 : (_params$value$ = _params$value[0]) === null || _params$value$ === void 0 ? void 0 : _params$value$[currentKey]) !== null && _params$value$0$curre !== void 0 ? _params$value$0$curre : finallyOptions.defaultParams[0][currentKey]
);

@@ -1239,5 +1258,5 @@ },

get: () => {
var _params$value$0$pageS;
var _params$value$0$pageS, _params$value2, _params$value2$;
return (// @ts-ignore
(_params$value$0$pageS = params.value?.[0]?.[pageSizeKey]) !== null && _params$value$0$pageS !== void 0 ? _params$value$0$pageS : finallyOptions.defaultParams[0][pageSizeKey]
(_params$value$0$pageS = (_params$value2 = params.value) === null || _params$value2 === void 0 ? void 0 : (_params$value2$ = _params$value2[0]) === null || _params$value2$ === void 0 ? void 0 : _params$value2$[pageSizeKey]) !== null && _params$value$0$pageS !== void 0 ? _params$value$0$pageS : finallyOptions.defaultParams[0][pageSizeKey]
);

@@ -1244,0 +1263,0 @@ },

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue-demi")):"function"==typeof define&&define.amd?define(["exports","vue-demi"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VueRequest=e.VueRequest||{},e.vueDemi)}(this,(function(e,t){"use strict";const n={},r=Symbol("GLOBAL_OPTIONS_PROVIDE_KEY"),a=()=>n,o=Object.prototype.toString,u=e=>"[object Object]"===(e=>o.call(e))(e),l=e=>Array.isArray(e),c=e=>null!==e&&"object"==typeof e,i=e=>e instanceof Function,s=e=>null==e,v="undefined"==typeof window,f=()=>!(!v&&!s(window.document?.visibilityState))||"visible"===window.document.visibilityState,d=()=>new Promise((()=>{})),m=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const r=t.replace(/\[(\d+)\]/g,".$1").split(".");let a=e;for(const e of r)if(a=Object(a)[e],void 0===a)return n;return a};function h(e,t){const n=Object.assign({},e);for(const e of t)delete n[e];return n}const p=e=>t.isRef(e)?e.value:e,g=e=>c(e)?Object.assign(l(e)?[]:{},e):e,y=new Map;function w(e,t,n){let r,a,o,u,l,i,s=0,v=!1,f=!1,d=!0;const m=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){const n=r,o=a;return r=a=void 0,s=t,u=e.apply(o,n),u}function p(e,t){return m?(window.cancelAnimationFrame(l),window.requestAnimationFrame(e)):setTimeout(e,t)}function g(e){const n=e-i;return void 0===i||n>=t||n<0||f&&e-s>=o}function y(){const e=Date.now();if(g(e))return w(e);l=p(y,function(e){const n=e-s,r=t-(e-i);return f?Math.min(r,o-n):r}(e))}function w(e){return l=void 0,d&&r?h(e):(r=a=void 0,u)}function E(){const e=Date.now(),n=g(e);for(var o=arguments.length,c=new Array(o),d=0;d<o;d++)c[d]=arguments[d];if(r=c,a=this,i=e,n){if(void 0===l)return function(e){return s=e,l=p(y,t),v?h(e):u}(i);if(f)return l=p(y,t),h(i)}return void 0===l&&(l=p(y,t)),u}return t=+t||0,c(n)&&(v=!!n.leading,f="maxWait"in n,o=f?Math.max(+n.maxWait||0,t):o,d="trailing"in n?!!n.trailing:d),E.cancel=function(){void 0!==l&&function(e){if(m)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),s=0,r=i=a=l=void 0},E.flush=function(){return void 0===l?u:w(Date.now())},E.pending=function(){return void 0!==l},E}function E(e,t){for(const n in t)void 0!==t[n]&&(c(t[n])&&c(e[n])&&n in e?(u(t[n])||l(t[n]))&&E(e[n],t[n]):e[n]=t[n])}function A(e){const t=Object.assign({},e);for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];if(!r.length)return t;for(const e of r)E(t,e);return t}var T=(e,n)=>{let{debounceInterval:r,debounceOptions:a,manual:o}=n;const u=t.ref(!1),l=t.ref(),c=t.computed((()=>a)),i=t.computed((()=>p(r))),v=t.ref(e.context.runAsync);return o||(u.value=!0),t.watchEffect((t=>{s(i.value)||(l.value=w((e=>e()),i.value,c.value),e.context.runAsync=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise(((e,n)=>{u.value?(u.value=!1,v.value(...t).then(e).catch(n)):l.value((()=>{v.value(...t).then(e).catch(n)}))}))},t((()=>{l.value?.cancel(),e.context.runAsync=v.value})))})),{onCancel(){l.value?.cancel()}}},x=(e,n)=>{let{errorRetryCount:r=0,errorRetryInterval:a=0}=n;const o=t.ref(),u=t.ref(0),l=t.computed((()=>p(r))),c=t.computed((()=>p(a)));let i=!1;const s=()=>{u.value=0},v=t.computed((()=>{if(c.value)return c.value;return 1e3*Math.floor(Math.random()*2**Math.min(u.value,9)+1)})),f=()=>{o.value&&o.value()};return{onBefore(){i||s(),i=!1,f()},onSuccess(){s()},onError(){o.value=(()=>{let t;const n=-1===l.value,r=u.value<l.value;return(n||r)&&(n||(u.value+=1),t=setTimeout((()=>{i=!0,e.context.refresh()}),v.value)),()=>t&&clearTimeout(t)})()},onCancel(){s(),f()}}},S=(e,n)=>{let{ready:r=t.ref(!0),manual:a,defaultParams:o=[]}=n;return t.watch(r,(t=>{!a&&t&&e.context.run(...o)}),{flush:"sync"}),{onBefore(){if(!(i(r)?r():r.value))return e.loading.value=!1,{isBreak:!0}}}},b=(e,n)=>{let{refreshDeps:r,refreshDepsAction:a,manual:o}=n;if(void 0===r||l(r)&&0===r.length)return{};const u=l(r)?r:[r];return t.watch(u,(()=>{a?a():!o&&e.context.refresh()})),{}},P=(e,n)=>{let{throttleInterval:r,throttleOptions:a}=n;const o=t.ref(),u=t.computed((()=>p(r))),l=t.computed((()=>a)),i=t.ref(e.context.runAsync);return t.watchEffect((t=>{if(s(r))return{};o.value=function(e,t,n){let r=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return c(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),w(e,t,{leading:r,trailing:a,maxWait:t})}((e=>e()),u.value,l.value),e.context.runAsync=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise(((e,n)=>{o.value((()=>{i.value(...t).then(e).catch(n)}))}))},t((()=>{o.value?.cancel(),e.context.runAsync=i.value}))})),{onCancel(){o.value?.cancel()}}};const O=(e,n,r)=>{var a,o;const{initialData:u,onSuccess:l,onError:c,onBefore:s,onAfter:v}=n,f=t.ref(null!==(a=r?.loading)&&void 0!==a&&a),m=t.shallowRef(null!==(o=r?.data)&&void 0!==o?o:u),h=t.shallowRef(r?.error),p=t.ref(r?.params),y=t.ref([]),w=t.shallowRef("pending"),E={},A=(T={status:w,loading:f,data:m,error:h,params:p},x=[],e=>{Object.keys(e).forEach((t=>{T[t].value=e[t]})),x.forEach((e=>e(T)))});var T,x;const S=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if("onQuery"===e){const e=y.value.map((e=>e.onQuery)).filter(Boolean);return{servicePromise:(a=e,o=n[0],()=>{let e=o;for(let t=a.length;t-- >0;)e=a[t](e);return e()})()}}{const t=y.value.map((t=>t[e]?.(...n)));return Object.assign({},...t)}var a,o},b=t.ref(0);return E.runAsync=async function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];A({loading:!0,params:n,status:"pending"}),b.value+=1;const a=b.value,{isBreak:o,breakResult:u=d()}=S("onBefore",n);if(o)return A({status:"settled"}),u;s?.(n);try{const t=()=>new Promise((t=>t(e(...p.value))));let{servicePromise:r}=S("onQuery",t);r||(r=t());const o=await r;return a!==b.value?d():(A({data:o,loading:!1,error:void 0,status:"settled"}),S("onSuccess",o,n),l?.(o,n),a===b.value&&S("onAfter",n,o,void 0),v?.(n),o)}catch(e){if(a!==b.value)return d();throw A({loading:!1,error:e,status:"settled"}),S("onError",e,n),c?.(e,n),a===b.value&&S("onAfter",n,void 0,e),v?.(n),e}},E.run=function(){E.runAsync(...arguments).catch((e=>{c||console.error(e)}))},E.cancel=()=>{b.value+=1,A({loading:!1}),S("onCancel")},E.refresh=()=>{E.run(...p.value||[])},E.refreshAsync=()=>E.runAsync(...p.value||[]),E.mutate=e=>{const t=i(e)?e(m.value):e,n=g(t);A({data:n}),S("onMutate",n)},{status:w,loading:f,data:m,error:h,params:p,plugins:y,context:E}};function R(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;const u=t.inject(r,{}),l={...a(),...u,...n},{manual:c=!1,defaultParams:i=[]}=l,s=O(e,l);if(s.plugins.value=o.map((e=>e(s,l))),!c){const e=s.params.value||i;s.context.run(...e)}return t.onUnmounted((()=>{s.context.cancel()})),{loading:s.loading,data:s.data,error:s.error,params:s.params,cancel:s.context.cancel,refresh:s.context.refresh,refreshAsync:s.context.refreshAsync,mutate:s.context.mutate,run:s.context.run,runAsync:s.context.runAsync}}const M=new Map,j=new Map;var I=(e,n)=>{let{cacheKey:r,cacheTime:a=6e5,staleTime:o=0,getCache:u,setCache:l}=n;if(!r)return{};const c=i(r)?r:()=>r,v=t.ref((()=>{}));let f;const d=e=>u?u(e):(e=>{if(s(e))return;return y.get(e)})(e),m=(e,t,n)=>{l?l(e,n):((e,t,n)=>{const r=y.get(e);r?.timer&&clearTimeout(r.timer);const a=setTimeout((()=>y.delete(e)),t);y.set(e,{...n,timer:a})})(e,t,n),((e,t)=>{j.has(e)&&j.get(e).forEach((e=>e(t)))})(e,n.data)},h=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p=t=>{const n=c(t);return r=n,a=t=>{e.data.value=t},j.has(r)?j.get(r).push(a):j.set(r,[a]),()=>{const e=j.get(r).indexOf(a);j.get(r).splice(e,1)};var r,a},g=c(),w=d(g);return w&&h(w,"data")&&(e.data.value=w.data,e.params.value=w.params),g&&(v.value=p()),t.onUnmounted((()=>{v.value()})),{onBefore(t){const n=c(t),r=d(n);return r&&h(r,"data")?(a=r.time,-1===o||a+o>(new Date).getTime()?(e.data.value=r.data,e.loading.value=!1,{isBreak:!0,breakResult:r.data}):void(e.data.value=r.data)):{};var a},onQuery(t){const n=e.params.value,r=c(n);let a=(e=>M.get(e))(r);return a&&a!==f||(a=t(),f=a,((e,t)=>{M.set(e,t),t.then((t=>(M.delete(e),t))).catch((()=>{M.delete(e)}))})(r,a)),()=>a},onSuccess(e,t){const n=c(t);n&&(v.value(),m(n,a,{data:e,params:t,time:(new Date).getTime()}),v.value=p(t))},onMutate(t){const n=c(e.params.value);n&&(v.value(),m(n,a,{data:t,params:e.params.value,time:(new Date).getTime()}),v.value=p(e.params.value))}}};function L(){return(new Date).getTime()}var C=(e,n)=>{let{loadingDelay:r=0,loadingKeep:a=0}=n;const o=t.ref((()=>{})),u=t.computed((()=>p(r))),l=t.computed((()=>p(a)));let c=0,i={};return{onBefore(){e.loading.value=!u.value,o.value(),o.value=(()=>{let t;return u.value&&(t=setTimeout((()=>{"pending"===e.status.value&&(e.loading.value=!0)}),u.value)),()=>t&&clearTimeout(t)})(),c=L()},onQuery(e){if(!l.value)return()=>e();i=function(e){let t,n;return new class extends Promise{constructor(e){super(e),this.cancel=()=>{n(),clearTimeout(t)}}}((r=>{n=r,t=setTimeout(n,e)}))}(l.value+u.value);const t=Promise.allSettled([(async()=>{try{const t=await e();return L()-c<=u.value&&i.cancel(),Promise.resolve(t)}catch(e){return L()-c<=u.value&&i.cancel(),Promise.reject(e)}})(),i]).then((e=>{const t=e[0];return"fulfilled"===t.status?t.value:Promise.reject(t.reason)}));return()=>t},onCancel(){o.value()},onAfter(){o.value()}}};const B=new Set,D=new Set,N=new Set,_=(e,t)=>{let n;switch(e){case"FOCUS_LISTENER":n=B;break;case"RECONNECT_LISTENER":n=N;break;case"VISIBLE_LISTENER":n=D}if(!n.has(t))return n.add(t),()=>{n.delete(t)}},K=e=>{e.forEach((e=>{e()}))};!v&&window?.addEventListener&&(window.addEventListener("visibilitychange",(()=>{f()&&K(D)}),!1),window.addEventListener("focus",(()=>K(B)),!1),window.addEventListener("online",(()=>K(N)),!1));var k=(e,n)=>{let{pollingInterval:r,pollingWhenHidden:a=!1,pollingWhenOffline:o=!1,errorRetryCount:u=0}=n;const l=t.ref(),c=t.ref(!1),i=t.computed((()=>p(r))),d=t.computed((()=>p(u))),m=[],h=e=>{e&&m.push(e)},g=()=>(a||f())&&(o||(()=>{var e;return null===(e=!v&&window.navigator?.onLine)||void 0===e||e})()),y=t=>{if(e.error.value&&0!==d.value)return;let n;if(!s(i.value)&&i.value>=0){if(!g())return void(c.value=!0);n=setTimeout(t,i.value)}return()=>n&&clearTimeout(n)},w=()=>{c.value&&g()&&(e.context.refresh(),c.value=!1)};return t.watch(i,(()=>{l.value&&(l.value(),l.value=y((()=>e.context.refresh())))})),a||h(_("VISIBLE_LISTENER",w)),o||h(_("RECONNECT_LISTENER",w)),t.onUnmounted((()=>{m.forEach((e=>e()))})),{onBefore(){l.value?.()},onCancel(){l.value?.()},onAfter(){l.value=y((()=>e.context.refresh()))}}};var q=(e,n)=>{let{refreshOnWindowFocus:r=!1,refocusTimespan:a=5e3}=n;const o=t.computed((()=>p(r))),u=t.computed((()=>p(a))),l=[],c=e=>{e&&l.push(e)},i=()=>{l.forEach((e=>e()))};return t.watchEffect((()=>{if(i(),o.value){const t=((e,t)=>{let n=!1;return function(){n||(n=!0,e(...arguments),setTimeout((()=>{n=!1}),t))}})(e.context.refresh,u.value);c(_("VISIBLE_LISTENER",t)),c(_("FOCUS_LISTENER",t))}})),t.onUnmounted((()=>{i()})),{}};function F(e,t){return R(e,t,[C,x,T,k,P,q,b,S,I])}e.clearCache=e=>{if(e){const t=y.get(e)?.timer;t&&clearTimeout(t),y.delete(e)}else y.forEach((e=>e.timer&&clearTimeout(e.timer))),y.clear()},e.setGlobalOptions=e=>{Object.keys(e).forEach((t=>{n[t]=e[t]}))},e.useLoadMore=function(e,n){const{isNoMore:r,...a}=null!=n?n:{},o=t.shallowRef(),u=t.computed((()=>o.value?.list||[])),l=t.ref(!1),c=t.ref(!1),s=t.ref(0),{runAsync:v,run:f,cancel:d,...m}=R((async t=>{const n=s.value,r=await e(t);return n===s.value&&(o.value=t?{...r,list:[...t.list,...r.list]}:r),r}),{...a,defaultParams:[],refreshDepsAction:()=>{a?.refreshDepsAction?a.refreshDepsAction():w()},onError:e=>{a?.onError?.(e)},onSuccess:e=>{a?.onSuccess?.(e)},onBefore:()=>{s.value+=1,c.value&&(c.value=!1,l.value=!0),a?.onBefore?.()},onAfter:()=>{l.value=!1,c.value=!1,a?.onAfter?.()}},[x,T,P,b,S]),p=t.computed((()=>!(!r||!i(r))&&r(o.value))),y=()=>p.value?Promise.reject(function(e){const t=`Warning: [vue-request] ${e}`;if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])return new Error(t);console.error(t)}("No more data. You need to ignore this error by checking if `noMore` is false before calling `loadMoreAsync`",!0)):(c.value=!0,v(o.value)),w=()=>f();return{data:o,dataList:u,loadingMore:l,noMore:p,cancel:()=>{s.value+=1,d(),l.value=!1},mutate:e=>{const t=i(e)?e(o.value):e,n=g(t);o.value=n},refresh:w,refreshAsync:()=>v(),loadMore:()=>{y().catch((()=>{}))},loadMoreAsync:y,...h(m,["refresh","refreshAsync","mutate","params","data"])}},e.usePagination=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=t.inject(r,{}),{pagination:u,...l}=n,{currentKey:c,pageSizeKey:i,totalKey:s,totalPageKey:v}=A({currentKey:"current",pageSizeKey:"pageSize",totalKey:"total",totalPageKey:"totalPage"},a().pagination||{},o.pagination||{},u||{}),f=A({defaultParams:[{[c]:1,[i]:10}]},l),{data:d,params:h,run:p,...g}=F(e,f),y=e=>{const[t,...n]=h.value||[],r=[{...t,...e},...n];p(...r)},w=e=>{y({[c]:e})},E=e=>{y({[i]:e})},T=t.computed((()=>m(d.value,s,0))),x=t.computed({get:()=>{var e;return null!==(e=h.value?.[0]?.[c])&&void 0!==e?e:f.defaultParams[0][c]},set:e=>{w(e)}}),S=t.computed({get:()=>{var e;return null!==(e=h.value?.[0]?.[i])&&void 0!==e?e:f.defaultParams[0][i]},set:e=>{E(e)}}),b=t.computed((()=>m(d.value,v,Math.ceil(T.value/S.value))));return{data:d,params:h,current:x,pageSize:S,total:T,totalPage:b,run:p,changeCurrent:w,changePageSize:E,changePagination:(e,t)=>{y({[c]:e,[i]:t})},...g}},e.useRequest=F,e.useRequestProvider=e=>{t.provide(r,e)},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue-demi")):"function"==typeof define&&define.amd?define(["exports","vue-demi"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VueRequest=e.VueRequest||{},e.vueDemi)}(this,(function(e,t){"use strict";const n={},r=Symbol("GLOBAL_OPTIONS_PROVIDE_KEY"),a=()=>n,o=Object.prototype.toString,l=e=>"[object Object]"===(e=>o.call(e))(e),u=e=>Array.isArray(e),i=e=>null!==e&&"object"==typeof e,c=e=>e instanceof Function,s=e=>null==e,v="undefined"==typeof window,d=()=>{var e;return!(!v&&!s(null===(e=window.document)||void 0===e?void 0:e.visibilityState))||"visible"===window.document.visibilityState},f=()=>new Promise((()=>{})),m=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const r=t.replace(/\[(\d+)\]/g,".$1").split(".");let a=e;for(const e of r)if(a=Object(a)[e],void 0===a)return n;return a};function h(e,t){const n=Object.assign({},e);for(const e of t)delete n[e];return n}const p=e=>t.isRef(e)?e.value:e,g=e=>i(e)?Object.assign(u(e)?[]:{},e):e,y=new Map;function w(e,t,n){let r,a,o,l,u,c,s=0,v=!1,d=!1,f=!0;const m=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){const n=r,o=a;return r=a=void 0,s=t,l=e.apply(o,n),l}function p(e,t){return m?(window.cancelAnimationFrame(u),window.requestAnimationFrame(e)):setTimeout(e,t)}function g(e){const n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=o}function y(){const e=Date.now();if(g(e))return w(e);u=p(y,function(e){const n=e-s,r=t-(e-c);return d?Math.min(r,o-n):r}(e))}function w(e){return u=void 0,f&&r?h(e):(r=a=void 0,l)}function E(){const e=Date.now(),n=g(e);for(var o=arguments.length,i=new Array(o),f=0;f<o;f++)i[f]=arguments[f];if(r=i,a=this,c=e,n){if(void 0===u)return function(e){return s=e,u=p(y,t),v?h(e):l}(c);if(d)return u=p(y,t),h(c)}return void 0===u&&(u=p(y,t)),l}return t=+t||0,i(n)&&(v=!!n.leading,d="maxWait"in n,o=d?Math.max(+n.maxWait||0,t):o,f="trailing"in n?!!n.trailing:f),E.cancel=function(){void 0!==u&&function(e){if(m)return window.cancelAnimationFrame(e);clearTimeout(e)}(u),s=0,r=c=a=u=void 0},E.flush=function(){return void 0===u?l:w(Date.now())},E.pending=function(){return void 0!==u},E}function E(e,t){for(const n in t)void 0!==t[n]&&(i(t[n])&&i(e[n])&&n in e?(l(t[n])||u(t[n]))&&E(e[n],t[n]):e[n]=t[n])}function A(e){const t=Object.assign({},e);for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];if(!r.length)return t;for(const e of r)E(t,e);return t}var T=(e,n)=>{let{debounceInterval:r,debounceOptions:a,manual:o}=n;const l=t.ref(!1),u=t.ref(),i=t.computed((()=>a)),c=t.computed((()=>p(r))),v=t.ref(e.context.runAsync);return o||(l.value=!0),t.watchEffect((t=>{s(c.value)||(u.value=w((e=>e()),c.value,i.value),e.context.runAsync=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise(((e,n)=>{l.value?(l.value=!1,v.value(...t).then(e).catch(n)):u.value((()=>{v.value(...t).then(e).catch(n)}))}))},t((()=>{var t;null===(t=u.value)||void 0===t||t.cancel(),e.context.runAsync=v.value})))})),{onCancel(){var e;null===(e=u.value)||void 0===e||e.cancel()}}},x=(e,n)=>{let{errorRetryCount:r=0,errorRetryInterval:a=0}=n;const o=t.ref(),l=t.ref(0),u=t.computed((()=>p(r))),i=t.computed((()=>p(a)));let c=!1;const s=()=>{l.value=0},v=t.computed((()=>{if(i.value)return i.value;return 1e3*Math.floor(Math.random()*2**Math.min(l.value,9)+1)})),d=()=>{o.value&&o.value()};return{onBefore(){c||s(),c=!1,d()},onSuccess(){s()},onError(){o.value=(()=>{let t;const n=-1===u.value,r=l.value<u.value;return(n||r)&&(n||(l.value+=1),t=setTimeout((()=>{c=!0,e.context.refresh()}),v.value)),()=>t&&clearTimeout(t)})()},onCancel(){s(),d()}}},S=(e,n)=>{let{ready:r=t.ref(!0),manual:a,defaultParams:o=[]}=n;return t.watch(r,(t=>{!a&&t&&e.context.run(...o)}),{flush:"sync"}),{onBefore(){if(!(c(r)?r():r.value))return e.loading.value=!1,{isBreak:!0}}}},b=(e,n)=>{let{refreshDeps:r,refreshDepsAction:a,manual:o}=n;if(void 0===r||u(r)&&0===r.length)return{};const l=u(r)?r:[r];return t.watch(l,(()=>{a?a():!o&&e.context.refresh()})),{}},P=(e,n)=>{let{throttleInterval:r,throttleOptions:a}=n;const o=t.ref(),l=t.computed((()=>p(r))),u=t.computed((()=>a)),c=t.ref(e.context.runAsync);return t.watchEffect((t=>{if(s(r))return{};o.value=function(e,t,n){let r=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),w(e,t,{leading:r,trailing:a,maxWait:t})}((e=>e()),l.value,u.value),e.context.runAsync=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise(((e,n)=>{o.value((()=>{c.value(...t).then(e).catch(n)}))}))},t((()=>{var t;null===(t=o.value)||void 0===t||t.cancel(),e.context.runAsync=c.value}))})),{onCancel(){var e;null===(e=o.value)||void 0===e||e.cancel()}}};const O=(e,n,r)=>{var a,o;const{initialData:l,onSuccess:u,onError:i,onBefore:s,onAfter:v}=n,d=t.ref(null!==(a=null==r?void 0:r.loading)&&void 0!==a&&a),m=t.shallowRef(null!==(o=null==r?void 0:r.data)&&void 0!==o?o:l),h=t.shallowRef(null==r?void 0:r.error),p=t.ref(null==r?void 0:r.params),y=t.ref([]),w=t.shallowRef("pending"),E={},A=(T={status:w,loading:d,data:m,error:h,params:p},x=[],e=>{Object.keys(e).forEach((t=>{T[t].value=e[t]})),x.forEach((e=>e(T)))});var T,x;const S=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if("onQuery"===e){const e=y.value.map((e=>e.onQuery)).filter(Boolean);return{servicePromise:(a=e,o=n[0],()=>{let e=o;for(let t=a.length;t-- >0;)e=a[t](e);return e()})()}}{const t=y.value.map((t=>{var r;return null===(r=t[e])||void 0===r?void 0:r.call(t,...n)}));return Object.assign({},...t)}var a,o},b=t.ref(0);return E.runAsync=async function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];A({loading:!0,params:n,status:"pending"}),b.value+=1;const a=b.value,{isBreak:o,breakResult:l=f()}=S("onBefore",n);if(o)return A({status:"settled"}),l;null==s||s(n);try{const t=()=>new Promise((t=>t(e(...p.value))));let{servicePromise:r}=S("onQuery",t);r||(r=t());const o=await r;return a!==b.value?f():(A({data:o,loading:!1,error:void 0,status:"settled"}),S("onSuccess",o,n),null==u||u(o,n),a===b.value&&S("onAfter",n,o,void 0),null==v||v(n),o)}catch(e){if(a!==b.value)return f();throw A({loading:!1,error:e,status:"settled"}),S("onError",e,n),null==i||i(e,n),a===b.value&&S("onAfter",n,void 0,e),null==v||v(n),e}},E.run=function(){E.runAsync(...arguments).catch((e=>{i||console.error(e)}))},E.cancel=()=>{b.value+=1,A({loading:!1}),S("onCancel")},E.refresh=()=>{E.run(...p.value||[])},E.refreshAsync=()=>E.runAsync(...p.value||[]),E.mutate=e=>{const t=c(e)?e(m.value):e,n=g(t);A({data:n}),S("onMutate",n)},{status:w,loading:d,data:m,error:h,params:p,plugins:y,context:E}};function R(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;const l=t.inject(r,{}),u={...a(),...l,...n},{manual:i=!1,defaultParams:c=[]}=u,s=O(e,u);if(s.plugins.value=o.map((e=>e(s,u))),!i){const e=s.params.value||c;s.context.run(...e)}return t.onUnmounted((()=>{s.context.cancel()})),{loading:s.loading,data:s.data,error:s.error,params:s.params,cancel:s.context.cancel,refresh:s.context.refresh,refreshAsync:s.context.refreshAsync,mutate:s.context.mutate,run:s.context.run,runAsync:s.context.runAsync}}const M=new Map,j=new Map;var I=(e,n)=>{let{cacheKey:r,cacheTime:a=6e5,staleTime:o=0,getCache:l,setCache:u}=n;if(!r)return{};const i=c(r)?r:()=>r,v=t.ref((()=>{}));let d;const f=e=>l?l(e):(e=>{if(s(e))return;return y.get(e)})(e),m=(e,t,n)=>{u?u(e,n):((e,t,n)=>{const r=y.get(e);null!=r&&r.timer&&clearTimeout(r.timer);const a=setTimeout((()=>y.delete(e)),t);y.set(e,{...n,timer:a})})(e,t,n),((e,t)=>{j.has(e)&&j.get(e).forEach((e=>e(t)))})(e,n.data)},h=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p=t=>{const n=i(t);return r=n,a=t=>{e.data.value=t},j.has(r)?j.get(r).push(a):j.set(r,[a]),()=>{const e=j.get(r).indexOf(a);j.get(r).splice(e,1)};var r,a},g=i(),w=f(g);return w&&h(w,"data")&&(e.data.value=w.data,e.params.value=w.params),g&&(v.value=p()),t.onUnmounted((()=>{v.value()})),{onBefore(t){const n=i(t),r=f(n);return r&&h(r,"data")?(a=r.time,-1===o||a+o>(new Date).getTime()?(e.data.value=r.data,e.loading.value=!1,{isBreak:!0,breakResult:r.data}):void(e.data.value=r.data)):{};var a},onQuery(t){const n=e.params.value,r=i(n);let a=(e=>M.get(e))(r);return a&&a!==d||(a=t(),d=a,((e,t)=>{M.set(e,t),t.then((t=>(M.delete(e),t))).catch((()=>{M.delete(e)}))})(r,a)),()=>a},onSuccess(e,t){const n=i(t);n&&(v.value(),m(n,a,{data:e,params:t,time:(new Date).getTime()}),v.value=p(t))},onMutate(t){const n=i(e.params.value);n&&(v.value(),m(n,a,{data:t,params:e.params.value,time:(new Date).getTime()}),v.value=p(e.params.value))}}};function L(){return(new Date).getTime()}var C,B=(e,n)=>{let{loadingDelay:r=0,loadingKeep:a=0}=n;const o=t.ref((()=>{})),l=t.computed((()=>p(r))),u=t.computed((()=>p(a)));let i=0,c={};return{onBefore(){e.loading.value=!l.value,o.value(),o.value=(()=>{let t;return l.value&&(t=setTimeout((()=>{"pending"===e.status.value&&(e.loading.value=!0)}),l.value)),()=>t&&clearTimeout(t)})(),i=L()},onQuery(e){if(!u.value)return()=>e();c=function(e){let t,n;return new class extends Promise{constructor(e){super(e),this.cancel=()=>{n(),clearTimeout(t)}}}((r=>{n=r,t=setTimeout(n,e)}))}(u.value+l.value);const t=Promise.allSettled([(async()=>{try{const t=await e();return L()-i<=l.value&&c.cancel(),Promise.resolve(t)}catch(e){return L()-i<=l.value&&c.cancel(),Promise.reject(e)}})(),c]).then((e=>{const t=e[0];return"fulfilled"===t.status?t.value:Promise.reject(t.reason)}));return()=>t},onCancel(){o.value()},onAfter(){o.value()}}};const D=new Set,N=new Set,_=new Set,K=(e,t)=>{let n;switch(e){case"FOCUS_LISTENER":n=D;break;case"RECONNECT_LISTENER":n=_;break;case"VISIBLE_LISTENER":n=N}if(!n.has(t))return n.add(t),()=>{n.delete(t)}},k=e=>{e.forEach((e=>{e()}))};!v&&null!==(C=window)&&void 0!==C&&C.addEventListener&&(window.addEventListener("visibilitychange",(()=>{d()&&k(N)}),!1),window.addEventListener("focus",(()=>k(D)),!1),window.addEventListener("online",(()=>k(_)),!1));var q=(e,n)=>{let{pollingInterval:r,pollingWhenHidden:a=!1,pollingWhenOffline:o=!1,errorRetryCount:l=0}=n;const u=t.ref(),i=t.ref(!1),c=t.computed((()=>p(r))),f=t.computed((()=>p(l))),m=[],h=e=>{e&&m.push(e)},g=()=>(a||d())&&(o||(()=>{var e,t;return null===(e=!v&&(null===(t=window.navigator)||void 0===t?void 0:t.onLine))||void 0===e||e})()),y=t=>{if(e.error.value&&0!==f.value)return;let n;if(!s(c.value)&&c.value>=0){if(!g())return void(i.value=!0);n=setTimeout(t,c.value)}return()=>n&&clearTimeout(n)},w=()=>{i.value&&g()&&(e.context.refresh(),i.value=!1)};return t.watch(c,(()=>{u.value&&(u.value(),u.value=y((()=>e.context.refresh())))})),a||h(K("VISIBLE_LISTENER",w)),o||h(K("RECONNECT_LISTENER",w)),t.onUnmounted((()=>{m.forEach((e=>e()))})),{onBefore(){var e;null===(e=u.value)||void 0===e||e.call(u)},onCancel(){var e;null===(e=u.value)||void 0===e||e.call(u)},onAfter(){u.value=y((()=>e.context.refresh()))}}};var F=(e,n)=>{let{refreshOnWindowFocus:r=!1,refocusTimespan:a=5e3}=n;const o=t.computed((()=>p(r))),l=t.computed((()=>p(a))),u=[],i=e=>{e&&u.push(e)},c=()=>{u.forEach((e=>e()))};return t.watchEffect((()=>{if(c(),o.value){const t=((e,t)=>{let n=!1;return function(){n||(n=!0,e(...arguments),setTimeout((()=>{n=!1}),t))}})(e.context.refresh,l.value);i(K("VISIBLE_LISTENER",t)),i(K("FOCUS_LISTENER",t))}})),t.onUnmounted((()=>{c()})),{}};function W(e,t){return R(e,t,[B,x,T,q,P,F,b,S,I])}e.clearCache=e=>{if(e){var t;const n=null===(t=y.get(e))||void 0===t?void 0:t.timer;n&&clearTimeout(n),y.delete(e)}else y.forEach((e=>e.timer&&clearTimeout(e.timer))),y.clear()},e.setGlobalOptions=e=>{Object.keys(e).forEach((t=>{n[t]=e[t]}))},e.useLoadMore=function(e,n){const{isNoMore:r,...a}=null!=n?n:{},o=t.shallowRef(),l=t.computed((()=>{var e;return(null===(e=o.value)||void 0===e?void 0:e.list)||[]})),u=t.ref(!1),i=t.ref(!1),s=t.ref(0),{runAsync:v,run:d,cancel:f,...m}=R((async t=>{const n=s.value,r=await e(t);return n===s.value&&(o.value=t?{...r,list:[...t.list,...r.list]}:r),r}),{...a,defaultParams:[],refreshDepsAction:()=>{null!=a&&a.refreshDepsAction?a.refreshDepsAction():w()},onError:e=>{var t;null==a||null===(t=a.onError)||void 0===t||t.call(a,e)},onSuccess:e=>{var t;null==a||null===(t=a.onSuccess)||void 0===t||t.call(a,e)},onBefore:()=>{var e;s.value+=1,i.value&&(i.value=!1,u.value=!0),null==a||null===(e=a.onBefore)||void 0===e||e.call(a)},onAfter:()=>{var e;u.value=!1,i.value=!1,null==a||null===(e=a.onAfter)||void 0===e||e.call(a)}},[x,T,P,b,S]),p=t.computed((()=>!(!r||!c(r))&&r(o.value))),y=()=>p.value?Promise.reject(function(e){const t=`Warning: [vue-request] ${e}`;if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])return new Error(t);console.error(t)}("No more data. You need to ignore this error by checking if `noMore` is false before calling `loadMoreAsync`",!0)):(i.value=!0,v(o.value)),w=()=>d();return{data:o,dataList:l,loadingMore:u,noMore:p,cancel:()=>{s.value+=1,f(),u.value=!1},mutate:e=>{const t=c(e)?e(o.value):e,n=g(t);o.value=n},refresh:w,refreshAsync:()=>v(),loadMore:()=>{y().catch((()=>{}))},loadMoreAsync:y,...h(m,["refresh","refreshAsync","mutate","params","data"])}},e.usePagination=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=t.inject(r,{}),{pagination:l,...u}=n,{currentKey:i,pageSizeKey:c,totalKey:s,totalPageKey:v}=A({currentKey:"current",pageSizeKey:"pageSize",totalKey:"total",totalPageKey:"totalPage"},a().pagination||{},o.pagination||{},l||{}),d=A({defaultParams:[{[i]:1,[c]:10}]},u),{data:f,params:h,run:p,...g}=W(e,d),y=e=>{const[t,...n]=h.value||[],r=[{...t,...e},...n];p(...r)},w=e=>{y({[i]:e})},E=e=>{y({[c]:e})},T=t.computed((()=>m(f.value,s,0))),x=t.computed({get:()=>{var e,t,n;return null!==(e=null===(t=h.value)||void 0===t||null===(n=t[0])||void 0===n?void 0:n[i])&&void 0!==e?e:d.defaultParams[0][i]},set:e=>{w(e)}}),S=t.computed({get:()=>{var e,t,n;return null!==(e=null===(t=h.value)||void 0===t||null===(n=t[0])||void 0===n?void 0:n[c])&&void 0!==e?e:d.defaultParams[0][c]},set:e=>{E(e)}}),b=t.computed((()=>m(f.value,v,Math.ceil(T.value/S.value))));return{data:f,params:h,current:x,pageSize:S,total:T,totalPage:b,run:p,changeCurrent:w,changePageSize:E,changePagination:(e,t)=>{y({[i]:e,[c]:t})},...g}},e.useRequest=W,e.useRequestProvider=e=>{t.provide(r,e)},Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "vue-request",
"version": "2.0.1",
"version": "2.0.2",
"description": "Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.",

@@ -64,2 +64,3 @@ "keywords": [

"@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/plugin-syntax-class-properties": "^7.12.13",

@@ -66,0 +67,0 @@ "@babel/plugin-transform-runtime": "^7.12.1",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc