@vueuse/integrations 7.7.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,7 @@ npm i <b>@vueuse/integrations</b>
15
15
  <!--GENERATED LIST, DO NOT MODIFY MANUALLY-->
16
16
  <!--FUNCTIONS_LIST_STARTS-->
17
17
  - [`useAxios`](https://vueuse.org/integrations/useAxios/) — wrapper for [`axios`](https://github.com/axios/axios)
18
+ - [`useChangeCase`](https://vueuse.org/integrations/useChangeCase/) — wrapper for [`change-case`](https://github.com/blakeembrey/change-case)
18
19
  - [`useCookies`](https://vueuse.org/integrations/useCookies/) — wrapper for [`universal-cookie`](https://www.npmjs.com/package/universal-cookie)
19
20
  - [`useDrauu`](https://vueuse.org/integrations/useDrauu/) — reactive instance for [drauu](https://github.com/antfu/drauu)
20
21
  - [`useFocusTrap`](https://vueuse.org/integrations/useFocusTrap/) — reactive wrapper for [`focus-trap`](https://github.com/focus-trap/focus-trap)
package/index.cjs CHANGED
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vueDemi = require('vue-demi');
6
- var axios = require('axios');
7
6
  var shared = require('@vueuse/shared');
7
+ var axios = require('axios');
8
+ var changeCase$1 = require('change-case');
8
9
  var Cookie = require('universal-cookie');
9
10
  var drauu = require('drauu');
10
11
  var core = require('@vueuse/core');
@@ -42,21 +43,23 @@ var __spreadValues$3 = (a, b) => {
42
43
  return a;
43
44
  };
44
45
  var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
45
- function useAxios(url, ...args) {
46
+ function useAxios(...args) {
47
+ const url = typeof args[0] === "string" ? args[0] : void 0;
48
+ const argsPlaceholder = url ? 1 : 0;
46
49
  let defaultConfig = {};
47
50
  let instance = axios__default["default"];
48
- let options = { immediate: true };
49
- if (args.length > 0) {
50
- if ("request" in args[0])
51
- instance = args[0];
51
+ let options = { immediate: !!argsPlaceholder };
52
+ if (args.length > 0 + argsPlaceholder) {
53
+ if ("request" in args[0 + argsPlaceholder])
54
+ instance = args[0 + argsPlaceholder];
52
55
  else
53
- defaultConfig = args[0];
56
+ defaultConfig = args[0 + argsPlaceholder];
54
57
  }
55
- if (args.length > 1) {
56
- if ("request" in args[1])
57
- instance = args[1];
58
+ if (args.length > 1 + argsPlaceholder) {
59
+ if ("request" in args[1 + argsPlaceholder])
60
+ instance = args[1 + argsPlaceholder];
58
61
  }
59
- if (args.length >= 2)
62
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
60
63
  options = args[args.length - 1];
61
64
  const response = vueDemi.shallowRef();
62
65
  const data = vueDemi.shallowRef();
@@ -77,9 +80,17 @@ function useAxios(url, ...args) {
77
80
  isLoading.value = loading2;
78
81
  isFinished.value = !loading2;
79
82
  };
80
- const execute = (config = {}) => {
83
+ const execute = (executeUrl = url, config = {}) => {
84
+ let _url = "";
85
+ let _config;
86
+ if (typeof executeUrl === "string") {
87
+ _url = executeUrl;
88
+ _config = config;
89
+ } else {
90
+ _config = config;
91
+ }
81
92
  loading(true);
82
- instance(url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
93
+ instance(_url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
83
94
  response.value = r;
84
95
  data.value = r.data;
85
96
  }).catch((e) => {
@@ -88,9 +99,9 @@ function useAxios(url, ...args) {
88
99
  loading(false);
89
100
  });
90
101
  };
91
- if (options.immediate)
102
+ if (options.immediate && url)
92
103
  execute();
93
- return {
104
+ const result = {
94
105
  response,
95
106
  data,
96
107
  error,
@@ -104,6 +115,43 @@ function useAxios(url, ...args) {
104
115
  abort,
105
116
  execute
106
117
  };
118
+ function waitUntilFinished() {
119
+ return new Promise((resolve, reject) => {
120
+ shared.until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
121
+ });
122
+ }
123
+ return __spreadProps$1(__spreadValues$3({}, result), {
124
+ then(onFulfilled, onRejected) {
125
+ return waitUntilFinished().then(onFulfilled, onRejected);
126
+ }
127
+ });
128
+ }
129
+
130
+ var changeCase = /*#__PURE__*/Object.freeze({
131
+ __proto__: null,
132
+ camelCase: changeCase$1.camelCase,
133
+ capitalCase: changeCase$1.capitalCase,
134
+ constantCase: changeCase$1.constantCase,
135
+ dotCase: changeCase$1.dotCase,
136
+ headerCase: changeCase$1.headerCase,
137
+ noCase: changeCase$1.noCase,
138
+ paramCase: changeCase$1.paramCase,
139
+ pascalCase: changeCase$1.pascalCase,
140
+ pathCase: changeCase$1.pathCase,
141
+ sentenceCase: changeCase$1.sentenceCase,
142
+ snakeCase: changeCase$1.snakeCase
143
+ });
144
+
145
+ function useChangeCase(input, type, options) {
146
+ const text = vueDemi.ref(input);
147
+ return vueDemi.computed({
148
+ get() {
149
+ return changeCase[type](text.value, options);
150
+ },
151
+ set(value) {
152
+ text.value = value;
153
+ }
154
+ });
107
155
  }
108
156
 
109
157
  var __defProp$2 = Object.defineProperty;
@@ -456,6 +504,7 @@ function useQRCode(text, options) {
456
504
 
457
505
  exports.createCookies = createCookies;
458
506
  exports.useAxios = useAxios;
507
+ exports.useChangeCase = useChangeCase;
459
508
  exports.useCookies = useCookies;
460
509
  exports.useDrauu = useDrauu;
461
510
  exports.useFocusTrap = useFocusTrap;
package/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  import * as vue_demi from 'vue-demi';
2
- import { Ref, ComputedRef } from 'vue-demi';
2
+ import { ShallowRef, Ref, WritableComputedRef, ComputedRef } from 'vue-demi';
3
3
  import { AxiosResponse, AxiosError, AxiosRequestConfig, AxiosInstance } from 'axios';
4
+ import { camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, Options } from 'change-case';
5
+ import { MaybeRef } from '@vueuse/shared';
4
6
  import * as universal_cookie from 'universal-cookie';
5
7
  import universal_cookie__default from 'universal-cookie';
6
8
  import { IncomingMessage } from 'http';
7
- import { Options, Drauu, Brush } from 'drauu';
9
+ import { Options as Options$1, Drauu, Brush } from 'drauu';
8
10
  import { EventHookOn, MaybeElementRef, Fn } from '@vueuse/core';
9
- import { Options as Options$1, ActivateOptions, DeactivateOptions } from 'focus-trap';
11
+ import { Options as Options$2, ActivateOptions, DeactivateOptions } from 'focus-trap';
10
12
  import Fuse from 'fuse.js';
11
- import { MaybeRef } from '@vueuse/shared';
12
13
  import { JwtPayload, JwtHeader } from 'jwt-decode';
13
14
  import nprogress, { NProgressOptions } from 'nprogress';
14
15
  import QRCode from 'qrcode';
@@ -17,7 +18,7 @@ interface UseAxiosReturn<T> {
17
18
  /**
18
19
  * Axios Response
19
20
  */
20
- response: Ref<AxiosResponse<T> | undefined>;
21
+ response: ShallowRef<AxiosResponse<T> | undefined>;
21
22
  /**
22
23
  * Axios response data
23
24
  */
@@ -37,27 +38,83 @@ interface UseAxiosReturn<T> {
37
38
  /**
38
39
  * Any errors that may have occurred
39
40
  */
40
- error: Ref<AxiosError<T> | undefined>;
41
+ error: ShallowRef<AxiosError<T> | undefined>;
41
42
  /**
42
43
  * Aborts the current request
43
44
  */
44
45
  abort: (message?: string | undefined) => void;
46
+ /**
47
+ * isFinished alias
48
+ */
49
+ finished: Ref<boolean>;
50
+ /**
51
+ * loading alias
52
+ */
53
+ loading: Ref<boolean>;
54
+ /**
55
+ * abort alias
56
+ */
57
+ cancel: (message?: string | undefined) => void;
58
+ /**
59
+ * abort aborted
60
+ */
61
+ canceled: Ref<boolean>;
62
+ }
63
+ interface StrictUseAxiosReturn<T> extends UseAxiosReturn<T> {
45
64
  /**
46
65
  * Manually call the axios request
47
66
  */
48
- execute: (config?: AxiosRequestConfig) => void;
67
+ execute: (url?: string, config?: AxiosRequestConfig) => void;
68
+ }
69
+ interface EasyUseAxiosReturn<T> extends UseAxiosReturn<T> {
70
+ /**
71
+ * Manually call the axios request
72
+ */
73
+ execute: (url: string, config?: AxiosRequestConfig) => void;
49
74
  }
50
75
  interface UseAxiosOptions {
51
76
  /**
52
77
  * Will automatically run axios request when `useAxios` is used
53
78
  *
54
- * @default true
55
79
  */
56
80
  immediate?: boolean;
57
81
  }
58
- declare function useAxios<T = any>(url: string, config?: AxiosRequestConfig, options?: UseAxiosOptions): UseAxiosReturn<T>;
59
- declare function useAxios<T = any>(url: string, instance?: AxiosInstance, options?: UseAxiosOptions): UseAxiosReturn<T>;
60
- declare function useAxios<T = any>(url: string, config: AxiosRequestConfig, instance: AxiosInstance, options?: UseAxiosOptions): UseAxiosReturn<T>;
82
+ declare function useAxios<T = any>(url: string, config?: AxiosRequestConfig, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
83
+ declare function useAxios<T = any>(url: string, instance?: AxiosInstance, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
84
+ declare function useAxios<T = any>(url: string, config: AxiosRequestConfig, instance: AxiosInstance, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
85
+ declare function useAxios<T = any>(config?: AxiosRequestConfig): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
86
+ declare function useAxios<T = any>(instance?: AxiosInstance): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
87
+ declare function useAxios<T = any>(config?: AxiosRequestConfig, instance?: AxiosInstance): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
88
+
89
+ declare const changeCase_camelCase: typeof camelCase;
90
+ declare const changeCase_capitalCase: typeof capitalCase;
91
+ declare const changeCase_constantCase: typeof constantCase;
92
+ declare const changeCase_dotCase: typeof dotCase;
93
+ declare const changeCase_headerCase: typeof headerCase;
94
+ declare const changeCase_noCase: typeof noCase;
95
+ declare const changeCase_paramCase: typeof paramCase;
96
+ declare const changeCase_pascalCase: typeof pascalCase;
97
+ declare const changeCase_pathCase: typeof pathCase;
98
+ declare const changeCase_sentenceCase: typeof sentenceCase;
99
+ declare const changeCase_snakeCase: typeof snakeCase;
100
+ declare namespace changeCase {
101
+ export {
102
+ changeCase_camelCase as camelCase,
103
+ changeCase_capitalCase as capitalCase,
104
+ changeCase_constantCase as constantCase,
105
+ changeCase_dotCase as dotCase,
106
+ changeCase_headerCase as headerCase,
107
+ changeCase_noCase as noCase,
108
+ changeCase_paramCase as paramCase,
109
+ changeCase_pascalCase as pascalCase,
110
+ changeCase_pathCase as pathCase,
111
+ changeCase_sentenceCase as sentenceCase,
112
+ changeCase_snakeCase as snakeCase,
113
+ };
114
+ }
115
+
116
+ declare type ChangeCaseType = keyof typeof changeCase;
117
+ declare function useChangeCase(input: MaybeRef<string>, type: ChangeCaseType, options?: Options | undefined): WritableComputedRef<string>;
61
118
 
62
119
  /**
63
120
  * Creates a new {@link useCookies} function
@@ -108,7 +165,7 @@ declare function useCookies(dependencies?: string[] | null, { doNotParse, autoUp
108
165
  removeChangeListener: (callback: universal_cookie.CookieChangeListener) => void;
109
166
  };
110
167
 
111
- declare type UseDrauuOptions = Omit<Options, 'el'>;
168
+ declare type UseDrauuOptions = Omit<Options$1, 'el'>;
112
169
  interface UseDrauuReturn {
113
170
  drauuInstance: Ref<Drauu | undefined>;
114
171
  load: (svg: string) => void;
@@ -135,7 +192,7 @@ interface UseDrauuReturn {
135
192
  */
136
193
  declare function useDrauu(target: MaybeElementRef, options?: UseDrauuOptions): UseDrauuReturn;
137
194
 
138
- interface UseFocusTrapOptions extends Options$1 {
195
+ interface UseFocusTrapOptions extends Options$2 {
139
196
  /**
140
197
  * Immediately activate the trap
141
198
  */
@@ -246,4 +303,4 @@ declare function useNProgress(currentProgress?: MaybeRef<number | null | undefin
246
303
  */
247
304
  declare function useQRCode(text: MaybeRef<string>, options?: QRCode.QRCodeToDataURLOptions): vue_demi.Ref<string>;
248
305
 
249
- export { FuseOptions, JwtOptions, JwtResult, UseAxiosOptions, UseAxiosReturn, UseDrauuOptions, UseDrauuReturn, UseFocusTrapOptions, UseFocusTrapReturn, UseFuseOptions, UseFuseReturn, createCookies, useAxios, useCookies, useDrauu, useFocusTrap, useFuse, useJwt, useNProgress, useQRCode };
306
+ export { ChangeCaseType, EasyUseAxiosReturn, FuseOptions, JwtOptions, JwtResult, StrictUseAxiosReturn, UseAxiosOptions, UseAxiosReturn, UseDrauuOptions, UseDrauuReturn, UseFocusTrapOptions, UseFocusTrapReturn, UseFuseOptions, UseFuseReturn, createCookies, useAxios, useChangeCase, useCookies, useDrauu, useFocusTrap, useFuse, useJwt, useNProgress, useQRCode };
package/index.iife.js CHANGED
@@ -59,7 +59,7 @@
59
59
  window.VueDemi = VueDemi
60
60
  })(window)
61
61
  ;
62
- ;(function (exports, vueDemi, axios, shared, Cookie, drauu, core, focusTrap, Fuse, jwt_decode, nprogress, QRCode) {
62
+ ;(function (exports, vueDemi, shared, axios, changeCase$1, Cookie, drauu, core, focusTrap, Fuse, jwt_decode, nprogress, QRCode) {
63
63
  'use strict';
64
64
 
65
65
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -90,21 +90,23 @@
90
90
  return a;
91
91
  };
92
92
  var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
93
- function useAxios(url, ...args) {
93
+ function useAxios(...args) {
94
+ const url = typeof args[0] === "string" ? args[0] : void 0;
95
+ const argsPlaceholder = url ? 1 : 0;
94
96
  let defaultConfig = {};
95
97
  let instance = axios__default["default"];
96
- let options = { immediate: true };
97
- if (args.length > 0) {
98
- if ("request" in args[0])
99
- instance = args[0];
98
+ let options = { immediate: !!argsPlaceholder };
99
+ if (args.length > 0 + argsPlaceholder) {
100
+ if ("request" in args[0 + argsPlaceholder])
101
+ instance = args[0 + argsPlaceholder];
100
102
  else
101
- defaultConfig = args[0];
103
+ defaultConfig = args[0 + argsPlaceholder];
102
104
  }
103
- if (args.length > 1) {
104
- if ("request" in args[1])
105
- instance = args[1];
105
+ if (args.length > 1 + argsPlaceholder) {
106
+ if ("request" in args[1 + argsPlaceholder])
107
+ instance = args[1 + argsPlaceholder];
106
108
  }
107
- if (args.length >= 2)
109
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
108
110
  options = args[args.length - 1];
109
111
  const response = vueDemi.shallowRef();
110
112
  const data = vueDemi.shallowRef();
@@ -125,9 +127,17 @@
125
127
  isLoading.value = loading2;
126
128
  isFinished.value = !loading2;
127
129
  };
128
- const execute = (config = {}) => {
130
+ const execute = (executeUrl = url, config = {}) => {
131
+ let _url = "";
132
+ let _config;
133
+ if (typeof executeUrl === "string") {
134
+ _url = executeUrl;
135
+ _config = config;
136
+ } else {
137
+ _config = config;
138
+ }
129
139
  loading(true);
130
- instance(url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
140
+ instance(_url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
131
141
  response.value = r;
132
142
  data.value = r.data;
133
143
  }).catch((e) => {
@@ -136,9 +146,9 @@
136
146
  loading(false);
137
147
  });
138
148
  };
139
- if (options.immediate)
149
+ if (options.immediate && url)
140
150
  execute();
141
- return {
151
+ const result = {
142
152
  response,
143
153
  data,
144
154
  error,
@@ -152,6 +162,43 @@
152
162
  abort,
153
163
  execute
154
164
  };
165
+ function waitUntilFinished() {
166
+ return new Promise((resolve, reject) => {
167
+ shared.until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
168
+ });
169
+ }
170
+ return __spreadProps$1(__spreadValues$3({}, result), {
171
+ then(onFulfilled, onRejected) {
172
+ return waitUntilFinished().then(onFulfilled, onRejected);
173
+ }
174
+ });
175
+ }
176
+
177
+ var changeCase = /*#__PURE__*/Object.freeze({
178
+ __proto__: null,
179
+ camelCase: changeCase$1.camelCase,
180
+ capitalCase: changeCase$1.capitalCase,
181
+ constantCase: changeCase$1.constantCase,
182
+ dotCase: changeCase$1.dotCase,
183
+ headerCase: changeCase$1.headerCase,
184
+ noCase: changeCase$1.noCase,
185
+ paramCase: changeCase$1.paramCase,
186
+ pascalCase: changeCase$1.pascalCase,
187
+ pathCase: changeCase$1.pathCase,
188
+ sentenceCase: changeCase$1.sentenceCase,
189
+ snakeCase: changeCase$1.snakeCase
190
+ });
191
+
192
+ function useChangeCase(input, type, options) {
193
+ const text = vueDemi.ref(input);
194
+ return vueDemi.computed({
195
+ get() {
196
+ return changeCase[type](text.value, options);
197
+ },
198
+ set(value) {
199
+ text.value = value;
200
+ }
201
+ });
155
202
  }
156
203
 
157
204
  var __defProp$2 = Object.defineProperty;
@@ -504,6 +551,7 @@
504
551
 
505
552
  exports.createCookies = createCookies;
506
553
  exports.useAxios = useAxios;
554
+ exports.useChangeCase = useChangeCase;
507
555
  exports.useCookies = useCookies;
508
556
  exports.useDrauu = useDrauu;
509
557
  exports.useFocusTrap = useFocusTrap;
@@ -514,4 +562,4 @@
514
562
 
515
563
  Object.defineProperty(exports, '__esModule', { value: true });
516
564
 
517
- })(this.VueUse = this.VueUse || {}, VueDemi, axios, VueUse, UniversalCookie, Drauu, VueUse, focusTrap, Fuse, jwt_decode, nprogress, QRCode);
565
+ })(this.VueUse = this.VueUse || {}, VueDemi, VueUse, axios, changeCase$1, UniversalCookie, Drauu, VueUse, focusTrap, Fuse, jwt_decode, nprogress, QRCode);
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- (function(d){if(!d.VueDemi){var n={},p=d.Vue;if(p)if(p.version.slice(0,2)==="2."){var g=d.VueCompositionAPI;if(g){for(var m in g)n[m]=g[m];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=p,n.Vue2=p,n.version=p.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(p.version.slice(0,2)==="3."){for(var m in p)n[m]=p[m];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=p,n.Vue2=void 0,n.version=p.version,n.set=function(h,v,b){return Array.isArray(h)?(h.length=Math.max(h.length,v),h.splice(v,1,b),b):(h[v]=b,b)},n.del=function(h,v){if(Array.isArray(h)){h.splice(v,1);return}delete h[v]}}else console.error("[vue-demi] Vue version "+p.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");d.VueDemi=n}})(window),function(d,n,p,g,m,h,v,b,z,B,K,X){"use strict";function C(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var A=C(p),R=C(m),Y=C(z),Z=C(B),O=C(K),x=C(X),D=Object.defineProperty,ee=Object.defineProperties,re=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,L=(t,r,e)=>r in t?D(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,H=(t,r)=>{for(var e in r||(r={}))te.call(r,e)&&L(t,e,r[e]);if(F)for(var e of F(r))ne.call(r,e)&&L(t,e,r[e]);return t},ae=(t,r)=>ee(t,re(r));function oe(t,...r){let e={},a=A.default,s={immediate:!0};r.length>0&&("request"in r[0]?a=r[0]:e=r[0]),r.length>1&&"request"in r[1]&&(a=r[1]),r.length>=2&&(s=r[r.length-1]);const f=n.shallowRef(),i=n.shallowRef(),l=n.ref(!1),o=n.ref(!1),c=n.ref(!1),_=n.shallowRef(),w=A.default.CancelToken.source(),P=y=>{l.value||!o.value||(w.cancel(y),c.value=!0,o.value=!1,l.value=!1)},V=y=>{o.value=y,l.value=!y},S=(y={})=>{V(!0),a(t,ae(H(H({},e),y),{cancelToken:w.token})).then(E=>{f.value=E,i.value=E.data}).catch(E=>{_.value=E}).finally(()=>{V(!1)})};return s.immediate&&S(),{response:f,data:i,error:_,finished:l,loading:o,isFinished:l,isLoading:o,cancel:P,canceled:c,aborted:c,abort:P,execute:S}}var le=Object.defineProperty,I=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable,N=(t,r,e)=>r in t?le(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,T=(t,r)=>{for(var e in r||(r={}))ue.call(r,e)&&N(t,e,r[e]);if(I)for(var e of I(r))se.call(r,e)&&N(t,e,r[e]);return t};function fe(t){const r=new R.default(t?t.headers.cookie:null);return(e,{doNotParse:a=!1,autoUpdateDependencies:s=!1}={})=>U(e,{doNotParse:a,autoUpdateDependencies:s},r)}function U(t,{doNotParse:r=!1,autoUpdateDependencies:e=!1}={},a=new R.default){const s=e?[...t||[]]:t;let f=a.getAll({doNotParse:!0});const i=n.ref(0),l=()=>{const o=a.getAll({doNotParse:!0});ce(s||null,o,f)&&i.value++,f=o};return a.addChangeListener(l),g.tryOnScopeDispose(()=>{a.removeChangeListener(l)}),{get:(...o)=>(e&&s&&!s.includes(o[0])&&s.push(o[0]),i.value,a.get(o[0],T({doNotParse:r},o[1]))),getAll:(...o)=>(i.value,a.getAll(T({doNotParse:r},o[0]))),set:(...o)=>a.set(...o),remove:(...o)=>a.remove(...o),addChangeListener:(...o)=>a.addChangeListener(...o),removeChangeListener:(...o)=>a.removeChangeListener(...o)}}function ce(t,r,e){if(!t)return!0;for(const a of t)if(r[a]!==e[a])return!0;return!1}var ie=Object.defineProperty,k=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,G=(t,r,e)=>r in t?ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,pe=(t,r)=>{for(var e in r||(r={}))de.call(r,e)&&G(t,e,r[e]);if(k)for(var e of k(r))ve.call(r,e)&&G(t,e,r[e]);return t};function _e(t,r){const e=n.ref();let a=[];const s=v.createEventHook(),f=v.createEventHook(),i=v.createEventHook(),l=v.createEventHook(),o=v.createEventHook(),c=n.ref(!1),_=n.ref(!1),w=n.ref(!1),P=n.ref(!1),V=n.ref({color:"black",size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:"transparent",mode:"draw"});n.watch(V,()=>{const u=e.value;u&&(u.brush=V.value)},{deep:!0});const S=()=>{var u;return(u=e.value)==null?void 0:u.undo()},y=()=>{var u;return(u=e.value)==null?void 0:u.redo()},E=()=>{var u;return(u=e.value)==null?void 0:u.clear()},$e=()=>{var u;return(u=e.value)==null?void 0:u.cancel()},Se=u=>{var j;return(j=e.value)==null?void 0:j.load(u)},je=()=>{var u;return(u=e.value)==null?void 0:u.dump()},W=()=>{var u;a.forEach(j=>j()),(u=e.value)==null||u.unmount()},q=()=>{e.value&&(c.value=e.value.canUndo(),_.value=e.value.canRedo(),w.value=e.value.altPressed,P.value=e.value.shiftPressed)};return n.watch(()=>v.unrefElement(t),u=>{!u||typeof SVGSVGElement=="undefined"||!(u instanceof SVGSVGElement)||(e.value&&W(),e.value=h.createDrauu(pe({el:u},r)),q(),a=[e.value.on("canceled",()=>f.trigger()),e.value.on("committed",()=>i.trigger()),e.value.on("start",()=>l.trigger()),e.value.on("end",()=>o.trigger()),e.value.on("changed",()=>{q(),s.trigger()})])},{flush:"post"}),g.tryOnScopeDispose(()=>W()),{drauuInstance:e,load:Se,dump:je,clear:E,cancel:$e,undo:S,redo:y,canUndo:c,canRedo:_,brush:V,onChanged:s.on,onCommitted:i.on,onStart:l.on,onEnd:o.on,onCanceled:f.on}}var he=Object.defineProperty,Oe=Object.defineProperties,Pe=Object.getOwnPropertyDescriptors,$=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,M=(t,r,e)=>r in t?he(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,ge=(t,r)=>{for(var e in r||(r={}))Q.call(r,e)&&M(t,e,r[e]);if($)for(var e of $(r))J.call(r,e)&&M(t,e,r[e]);return t},we=(t,r)=>Oe(t,Pe(r)),ye=(t,r)=>{var e={};for(var a in t)Q.call(t,a)&&r.indexOf(a)<0&&(e[a]=t[a]);if(t!=null&&$)for(var a of $(t))r.indexOf(a)<0&&J.call(t,a)&&(e[a]=t[a]);return e};function me(t,r={}){let e;const a=r,{immediate:s}=a,f=ye(a,["immediate"]),i=n.ref(!1),l=n.ref(!1),o=P=>e&&e.activate(P),c=P=>e&&e.deactivate(P),_=()=>{e&&(e.pause(),l.value=!0)},w=()=>{e&&(e.unpause(),l.value=!1)};return n.watch(()=>v.unrefElement(t),P=>{!P||(e=b.createFocusTrap(P,we(ge({},f),{onActivate(){i.value=!0,r.onActivate&&r.onActivate()},onDeactivate(){i.value=!1,r.onDeactivate&&r.onDeactivate()}})),s&&o())},{flush:"post"}),v.tryOnScopeDispose(()=>c()),{hasFocus:i,isPaused:l,activate:o,deactivate:c,pause:_,unpause:w}}function be(t,r,e){var a;const s=(l,o)=>{var c;const _=o;return new Y.default((c=n.unref(l))!=null?c:[],_)},f=n.ref(s(r,(a=n.unref(e))==null?void 0:a.fuseOptions));return n.watch(()=>{var l;return(l=n.unref(e))==null?void 0:l.fuseOptions},l=>{f.value=s(r,l)},{deep:!0}),n.watch(()=>n.unref(r),l=>{f.value.setCollection(l)},{deep:!0}),{results:n.computed(()=>{var l,o;if(((l=n.unref(e))==null?void 0:l.matchAllWhenSearchEmpty)&&!n.unref(t))return n.unref(r).map((_,w)=>({item:_,refIndex:w}));const c=(o=n.unref(e))==null?void 0:o.resultLimit;return f.value.search(n.unref(t),c?{limit:c}:void 0)})}}function Ce(t,r={}){const e=n.ref(t),{onError:a,fallbackValue:s=null}=r,f=(o,c)=>{try{return Z.default(o,c)}catch(_){return a==null||a(_),s}},i=n.computed(()=>f(e.value,{header:!0})),l=n.computed(()=>f(e.value));return{header:i,payload:l}}function Ve(t=null,r){const e=n.isRef(t)?t:n.ref(t),a=n.computed({set:f=>f?O.default.start():O.default.done(),get:()=>g.isNumber(e.value)&&e.value<1});r&&O.default.configure(r);const s=O.default.set;return O.default.set=f=>(e.value=f,s.call(O.default,f)),n.watchEffect(()=>{g.isNumber(e.value)&&s.call(O.default,e.value)}),g.tryOnScopeDispose(O.default.remove),{isLoading:a,progress:e,start:O.default.start,done:O.default.done,remove:()=>{e.value=null,O.default.remove()}}}function Ee(t,r){const e=n.ref(t),a=n.ref("");return n.watch(e,async s=>{e.value&&g.isClient&&(a.value=await x.default.toDataURL(s,r))},{immediate:!0}),a}d.createCookies=fe,d.useAxios=oe,d.useCookies=U,d.useDrauu=_e,d.useFocusTrap=me,d.useFuse=be,d.useJwt=Ce,d.useNProgress=Ve,d.useQRCode=Ee,Object.defineProperty(d,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,axios,VueUse,UniversalCookie,Drauu,VueUse,focusTrap,Fuse,jwt_decode,nprogress,QRCode);
1
+ (function(v){if(!v.VueDemi){var n={},c=v.Vue;if(c)if(c.version.slice(0,2)==="2."){var j=v.VueCompositionAPI;if(j){for(var d in j)n[d]=j[d];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=c,n.Vue2=c,n.version=c.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(c.version.slice(0,2)==="3."){for(var d in c)n[d]=c[d];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=c,n.Vue2=void 0,n.version=c.version,n.set=function(C,y,h){return Array.isArray(C)?(C.length=Math.max(C.length,y),C.splice(y,1,h),h):(C[y]=h,h)},n.del=function(C,y){if(Array.isArray(C)){C.splice(y,1);return}delete C[y]}}else console.error("[vue-demi] Vue version "+c.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");v.VueDemi=n}})(window),function(v,n,c,j,d,C,y,h,Y,Z,x,D,ee){"use strict";function V(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var k=V(j),N=V(C),te=V(Z),re=V(x),P=V(D),ne=V(ee),ae=Object.defineProperty,oe=Object.defineProperties,le=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,U=(t,r,e)=>r in t?ae(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,H=(t,r)=>{for(var e in r||(r={}))se.call(r,e)&&U(t,e,r[e]);if(T)for(var e of T(r))ue.call(r,e)&&U(t,e,r[e]);return t},G=(t,r)=>oe(t,le(r));function fe(...t){const r=typeof t[0]=="string"?t[0]:void 0,e=r?1:0;let a={},s=k.default,f={immediate:!!e};t.length>0+e&&("request"in t[0+e]?s=t[0+e]:a=t[0+e]),t.length>1+e&&"request"in t[1+e]&&(s=t[1+e]),(t.length===2+e&&!("request"in t[1+e])||t.length===3+e)&&(f=t[t.length-1]);const p=n.shallowRef(),u=n.shallowRef(),o=n.ref(!1),i=n.ref(!1),_=n.ref(!1),m=n.shallowRef(),w=k.default.CancelToken.source(),E=O=>{o.value||!i.value||(w.cancel(O),_.value=!0,i.value=!1,o.value=!1)},R=O=>{i.value=O,o.value=!O},F=(O=r,g={})=>{let b="",S;typeof O=="string"&&(b=O),S=g,R(!0),s(b,G(H(H({},a),S),{cancelToken:w.token})).then(l=>{p.value=l,u.value=l.data}).catch(l=>{m.value=l}).finally(()=>{R(!1)})};f.immediate&&r&&F();const $={response:p,data:u,error:m,finished:o,loading:i,isFinished:o,isLoading:i,cancel:E,canceled:_,aborted:_,abort:E,execute:F};function I(){return new Promise((O,g)=>{c.until(o).toBe(!0).then(()=>O($)).catch(b=>g(b))})}return G(H({},$),{then(O,g){return I().then(O,g)}})}var ce=Object.freeze({__proto__:null,camelCase:d.camelCase,capitalCase:d.capitalCase,constantCase:d.constantCase,dotCase:d.dotCase,headerCase:d.headerCase,noCase:d.noCase,paramCase:d.paramCase,pascalCase:d.pascalCase,pathCase:d.pathCase,sentenceCase:d.sentenceCase,snakeCase:d.snakeCase});function ie(t,r,e){const a=n.ref(t);return n.computed({get(){return ce[r](a.value,e)},set(s){a.value=s}})}var de=Object.defineProperty,Q=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,J=(t,r,e)=>r in t?de(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,q=(t,r)=>{for(var e in r||(r={}))ve.call(r,e)&&J(t,e,r[e]);if(Q)for(var e of Q(r))pe.call(r,e)&&J(t,e,r[e]);return t};function _e(t){const r=new N.default(t?t.headers.cookie:null);return(e,{doNotParse:a=!1,autoUpdateDependencies:s=!1}={})=>z(e,{doNotParse:a,autoUpdateDependencies:s},r)}function z(t,{doNotParse:r=!1,autoUpdateDependencies:e=!1}={},a=new N.default){const s=e?[...t||[]]:t;let f=a.getAll({doNotParse:!0});const p=n.ref(0),u=()=>{const o=a.getAll({doNotParse:!0});he(s||null,o,f)&&p.value++,f=o};return a.addChangeListener(u),c.tryOnScopeDispose(()=>{a.removeChangeListener(u)}),{get:(...o)=>(e&&s&&!s.includes(o[0])&&s.push(o[0]),p.value,a.get(o[0],q({doNotParse:r},o[1]))),getAll:(...o)=>(p.value,a.getAll(q({doNotParse:r},o[0]))),set:(...o)=>a.set(...o),remove:(...o)=>a.remove(...o),addChangeListener:(...o)=>a.addChangeListener(...o),removeChangeListener:(...o)=>a.removeChangeListener(...o)}}function he(t,r,e){if(!t)return!0;for(const a of t)if(r[a]!==e[a])return!0;return!1}var Oe=Object.defineProperty,M=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,W=(t,r,e)=>r in t?Oe(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,we=(t,r)=>{for(var e in r||(r={}))Ce.call(r,e)&&W(t,e,r[e]);if(M)for(var e of M(r))Pe.call(r,e)&&W(t,e,r[e]);return t};function ye(t,r){const e=n.ref();let a=[];const s=h.createEventHook(),f=h.createEventHook(),p=h.createEventHook(),u=h.createEventHook(),o=h.createEventHook(),i=n.ref(!1),_=n.ref(!1),m=n.ref(!1),w=n.ref(!1),E=n.ref({color:"black",size:3,arrowEnd:!1,cornerRadius:0,dasharray:void 0,fill:"transparent",mode:"draw"});n.watch(E,()=>{const l=e.value;l&&(l.brush=E.value)},{deep:!0});const R=()=>{var l;return(l=e.value)==null?void 0:l.undo()},F=()=>{var l;return(l=e.value)==null?void 0:l.redo()},$=()=>{var l;return(l=e.value)==null?void 0:l.clear()},I=()=>{var l;return(l=e.value)==null?void 0:l.cancel()},O=l=>{var L;return(L=e.value)==null?void 0:L.load(l)},g=()=>{var l;return(l=e.value)==null?void 0:l.dump()},b=()=>{var l;a.forEach(L=>L()),(l=e.value)==null||l.unmount()},S=()=>{e.value&&(i.value=e.value.canUndo(),_.value=e.value.canRedo(),m.value=e.value.altPressed,w.value=e.value.shiftPressed)};return n.watch(()=>h.unrefElement(t),l=>{!l||typeof SVGSVGElement=="undefined"||!(l instanceof SVGSVGElement)||(e.value&&b(),e.value=y.createDrauu(we({el:l},r)),S(),a=[e.value.on("canceled",()=>f.trigger()),e.value.on("committed",()=>p.trigger()),e.value.on("start",()=>u.trigger()),e.value.on("end",()=>o.trigger()),e.value.on("changed",()=>{S(),s.trigger()})])},{flush:"post"}),c.tryOnScopeDispose(()=>b()),{drauuInstance:e,load:O,dump:g,clear:$,cancel:I,undo:R,redo:F,canUndo:i,canRedo:_,brush:E,onChanged:s.on,onCommitted:p.on,onStart:u.on,onEnd:o.on,onCanceled:f.on}}var me=Object.defineProperty,ge=Object.defineProperties,be=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,X=(t,r,e)=>r in t?me(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,Ve=(t,r)=>{for(var e in r||(r={}))B.call(r,e)&&X(t,e,r[e]);if(A)for(var e of A(r))K.call(r,e)&&X(t,e,r[e]);return t},Ee=(t,r)=>ge(t,be(r)),Se=(t,r)=>{var e={};for(var a in t)B.call(t,a)&&r.indexOf(a)<0&&(e[a]=t[a]);if(t!=null&&A)for(var a of A(t))r.indexOf(a)<0&&K.call(t,a)&&(e[a]=t[a]);return e};function je(t,r={}){let e;const a=r,{immediate:s}=a,f=Se(a,["immediate"]),p=n.ref(!1),u=n.ref(!1),o=w=>e&&e.activate(w),i=w=>e&&e.deactivate(w),_=()=>{e&&(e.pause(),u.value=!0)},m=()=>{e&&(e.unpause(),u.value=!1)};return n.watch(()=>h.unrefElement(t),w=>{!w||(e=Y.createFocusTrap(w,Ee(Ve({},f),{onActivate(){p.value=!0,r.onActivate&&r.onActivate()},onDeactivate(){p.value=!1,r.onDeactivate&&r.onDeactivate()}})),s&&o())},{flush:"post"}),h.tryOnScopeDispose(()=>i()),{hasFocus:p,isPaused:u,activate:o,deactivate:i,pause:_,unpause:m}}function Ae(t,r,e){var a;const s=(u,o)=>{var i;const _=o;return new te.default((i=n.unref(u))!=null?i:[],_)},f=n.ref(s(r,(a=n.unref(e))==null?void 0:a.fuseOptions));return n.watch(()=>{var u;return(u=n.unref(e))==null?void 0:u.fuseOptions},u=>{f.value=s(r,u)},{deep:!0}),n.watch(()=>n.unref(r),u=>{f.value.setCollection(u)},{deep:!0}),{results:n.computed(()=>{var u,o;if(((u=n.unref(e))==null?void 0:u.matchAllWhenSearchEmpty)&&!n.unref(t))return n.unref(r).map((_,m)=>({item:_,refIndex:m}));const i=(o=n.unref(e))==null?void 0:o.resultLimit;return f.value.search(n.unref(t),i?{limit:i}:void 0)})}}function Re(t,r={}){const e=n.ref(t),{onError:a,fallbackValue:s=null}=r,f=(o,i)=>{try{return re.default(o,i)}catch(_){return a==null||a(_),s}},p=n.computed(()=>f(e.value,{header:!0})),u=n.computed(()=>f(e.value));return{header:p,payload:u}}function Fe(t=null,r){const e=n.isRef(t)?t:n.ref(t),a=n.computed({set:f=>f?P.default.start():P.default.done(),get:()=>c.isNumber(e.value)&&e.value<1});r&&P.default.configure(r);const s=P.default.set;return P.default.set=f=>(e.value=f,s.call(P.default,f)),n.watchEffect(()=>{c.isNumber(e.value)&&s.call(P.default,e.value)}),c.tryOnScopeDispose(P.default.remove),{isLoading:a,progress:e,start:P.default.start,done:P.default.done,remove:()=>{e.value=null,P.default.remove()}}}function $e(t,r){const e=n.ref(t),a=n.ref("");return n.watch(e,async s=>{e.value&&c.isClient&&(a.value=await ne.default.toDataURL(s,r))},{immediate:!0}),a}v.createCookies=_e,v.useAxios=fe,v.useChangeCase=ie,v.useCookies=z,v.useDrauu=ye,v.useFocusTrap=je,v.useFuse=Ae,v.useJwt=Re,v.useNProgress=Fe,v.useQRCode=$e,Object.defineProperty(v,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,axios,changeCase$1,UniversalCookie,Drauu,VueUse,focusTrap,Fuse,jwt_decode,nprogress,QRCode);
package/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
- import { shallowRef, ref, watch, unref, computed, isRef, watchEffect } from 'vue-demi';
1
+ import { shallowRef, ref, computed, watch, unref, isRef, watchEffect } from 'vue-demi';
2
+ import { until, tryOnScopeDispose, isNumber, isClient } from '@vueuse/shared';
2
3
  import axios from 'axios';
3
- import { tryOnScopeDispose, isNumber, isClient } from '@vueuse/shared';
4
+ import { camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase } from 'change-case';
4
5
  import Cookie from 'universal-cookie';
5
6
  import { createDrauu } from 'drauu';
6
7
  import { createEventHook, unrefElement, tryOnScopeDispose as tryOnScopeDispose$1 } from '@vueuse/core';
@@ -29,21 +30,23 @@ var __spreadValues$3 = (a, b) => {
29
30
  return a;
30
31
  };
31
32
  var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
32
- function useAxios(url, ...args) {
33
+ function useAxios(...args) {
34
+ const url = typeof args[0] === "string" ? args[0] : void 0;
35
+ const argsPlaceholder = url ? 1 : 0;
33
36
  let defaultConfig = {};
34
37
  let instance = axios;
35
- let options = { immediate: true };
36
- if (args.length > 0) {
37
- if ("request" in args[0])
38
- instance = args[0];
38
+ let options = { immediate: !!argsPlaceholder };
39
+ if (args.length > 0 + argsPlaceholder) {
40
+ if ("request" in args[0 + argsPlaceholder])
41
+ instance = args[0 + argsPlaceholder];
39
42
  else
40
- defaultConfig = args[0];
43
+ defaultConfig = args[0 + argsPlaceholder];
41
44
  }
42
- if (args.length > 1) {
43
- if ("request" in args[1])
44
- instance = args[1];
45
+ if (args.length > 1 + argsPlaceholder) {
46
+ if ("request" in args[1 + argsPlaceholder])
47
+ instance = args[1 + argsPlaceholder];
45
48
  }
46
- if (args.length >= 2)
49
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
47
50
  options = args[args.length - 1];
48
51
  const response = shallowRef();
49
52
  const data = shallowRef();
@@ -64,9 +67,17 @@ function useAxios(url, ...args) {
64
67
  isLoading.value = loading2;
65
68
  isFinished.value = !loading2;
66
69
  };
67
- const execute = (config = {}) => {
70
+ const execute = (executeUrl = url, config = {}) => {
71
+ let _url = "";
72
+ let _config;
73
+ if (typeof executeUrl === "string") {
74
+ _url = executeUrl;
75
+ _config = config;
76
+ } else {
77
+ _config = config;
78
+ }
68
79
  loading(true);
69
- instance(url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
80
+ instance(_url, __spreadProps$1(__spreadValues$3(__spreadValues$3({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
70
81
  response.value = r;
71
82
  data.value = r.data;
72
83
  }).catch((e) => {
@@ -75,9 +86,9 @@ function useAxios(url, ...args) {
75
86
  loading(false);
76
87
  });
77
88
  };
78
- if (options.immediate)
89
+ if (options.immediate && url)
79
90
  execute();
80
- return {
91
+ const result = {
81
92
  response,
82
93
  data,
83
94
  error,
@@ -91,6 +102,43 @@ function useAxios(url, ...args) {
91
102
  abort,
92
103
  execute
93
104
  };
105
+ function waitUntilFinished() {
106
+ return new Promise((resolve, reject) => {
107
+ until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
108
+ });
109
+ }
110
+ return __spreadProps$1(__spreadValues$3({}, result), {
111
+ then(onFulfilled, onRejected) {
112
+ return waitUntilFinished().then(onFulfilled, onRejected);
113
+ }
114
+ });
115
+ }
116
+
117
+ var changeCase = /*#__PURE__*/Object.freeze({
118
+ __proto__: null,
119
+ camelCase: camelCase,
120
+ capitalCase: capitalCase,
121
+ constantCase: constantCase,
122
+ dotCase: dotCase,
123
+ headerCase: headerCase,
124
+ noCase: noCase,
125
+ paramCase: paramCase,
126
+ pascalCase: pascalCase,
127
+ pathCase: pathCase,
128
+ sentenceCase: sentenceCase,
129
+ snakeCase: snakeCase
130
+ });
131
+
132
+ function useChangeCase(input, type, options) {
133
+ const text = ref(input);
134
+ return computed({
135
+ get() {
136
+ return changeCase[type](text.value, options);
137
+ },
138
+ set(value) {
139
+ text.value = value;
140
+ }
141
+ });
94
142
  }
95
143
 
96
144
  var __defProp$2 = Object.defineProperty;
@@ -441,4 +489,4 @@ function useQRCode(text, options) {
441
489
  return result;
442
490
  }
443
491
 
444
- export { createCookies, useAxios, useCookies, useDrauu, useFocusTrap, useFuse, useJwt, useNProgress, useQRCode };
492
+ export { createCookies, useAxios, useChangeCase, useCookies, useDrauu, useFocusTrap, useFuse, useJwt, useNProgress, useQRCode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/integrations",
3
- "version": "7.7.1",
3
+ "version": "8.0.0",
4
4
  "description": "Integration wrappers for utility libraries",
5
5
  "keywords": [
6
6
  "vue",
@@ -12,14 +12,18 @@
12
12
  "url": "https://github.com/vueuse/vueuse/issues"
13
13
  },
14
14
  "license": "MIT",
15
+ "author": "Anthony Fu <https://github.com/antfu>",
15
16
  "repository": {
16
17
  "type": "git",
17
18
  "url": "git+https://github.com/vueuse/vueuse.git",
18
19
  "directory": "packages/integrations"
19
20
  },
20
21
  "funding": "https://github.com/sponsors/antfu",
21
- "author": "Anthony Fu <https://github.com/antfu>",
22
- "sideEffects": false,
22
+ "main": "./index.cjs",
23
+ "module": "./index.mjs",
24
+ "types": "./index.d.ts",
25
+ "unpkg": "./index.iife.min.js",
26
+ "jsdelivr": "./index.iife.min.js",
23
27
  "exports": {
24
28
  ".": {
25
29
  "import": "./index.mjs",
@@ -71,15 +75,17 @@
71
75
  "import": "./useQRCode.mjs",
72
76
  "require": "./useQRCode.cjs",
73
77
  "types": "./useQRCode.d.ts"
78
+ },
79
+ "./useChangeCase": {
80
+ "import": "./useChangeCase.mjs",
81
+ "require": "./useChangeCase.cjs",
82
+ "types": "./useChangeCase.d.ts"
74
83
  }
75
84
  },
76
- "main": "./index.cjs",
77
- "jsdelivr": "./index.iife.min.js",
78
- "module": "./index.mjs",
79
- "unpkg": "./index.iife.min.js",
80
- "types": "./index.d.ts",
85
+ "sideEffects": false,
81
86
  "peerDependencies": {
82
87
  "axios": "*",
88
+ "change-case": "*",
83
89
  "drauu": "*",
84
90
  "focus-trap": "*",
85
91
  "fuse.js": "*",
@@ -115,15 +121,16 @@
115
121
  }
116
122
  },
117
123
  "dependencies": {
118
- "@vueuse/core": "7.7.1",
119
- "@vueuse/shared": "7.7.1",
124
+ "@vueuse/core": "8.0.0",
125
+ "@vueuse/shared": "8.0.0",
120
126
  "vue-demi": "*"
121
127
  },
122
128
  "devDependencies": {
123
129
  "@types/nprogress": "^0.2.0",
124
130
  "@types/qrcode": "^1.4.2",
125
- "axios": "^0.26.0",
126
- "drauu": "^0.2.1",
131
+ "axios": "^0.26.1",
132
+ "change-case": "^4.1.2",
133
+ "drauu": "^0.3.0",
127
134
  "focus-trap": "^6.7.3",
128
135
  "fuse.js": "^6.5.3",
129
136
  "jwt-decode": "^3.1.2",
package/useAxios.cjs CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vueDemi = require('vue-demi');
6
+ var shared = require('@vueuse/shared');
6
7
  var axios = require('axios');
7
8
 
8
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,21 +29,23 @@ var __spreadValues = (a, b) => {
28
29
  return a;
29
30
  };
30
31
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
31
- function useAxios(url, ...args) {
32
+ function useAxios(...args) {
33
+ const url = typeof args[0] === "string" ? args[0] : void 0;
34
+ const argsPlaceholder = url ? 1 : 0;
32
35
  let defaultConfig = {};
33
36
  let instance = axios__default["default"];
34
- let options = { immediate: true };
35
- if (args.length > 0) {
36
- if ("request" in args[0])
37
- instance = args[0];
37
+ let options = { immediate: !!argsPlaceholder };
38
+ if (args.length > 0 + argsPlaceholder) {
39
+ if ("request" in args[0 + argsPlaceholder])
40
+ instance = args[0 + argsPlaceholder];
38
41
  else
39
- defaultConfig = args[0];
42
+ defaultConfig = args[0 + argsPlaceholder];
40
43
  }
41
- if (args.length > 1) {
42
- if ("request" in args[1])
43
- instance = args[1];
44
+ if (args.length > 1 + argsPlaceholder) {
45
+ if ("request" in args[1 + argsPlaceholder])
46
+ instance = args[1 + argsPlaceholder];
44
47
  }
45
- if (args.length >= 2)
48
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
46
49
  options = args[args.length - 1];
47
50
  const response = vueDemi.shallowRef();
48
51
  const data = vueDemi.shallowRef();
@@ -63,9 +66,17 @@ function useAxios(url, ...args) {
63
66
  isLoading.value = loading2;
64
67
  isFinished.value = !loading2;
65
68
  };
66
- const execute = (config = {}) => {
69
+ const execute = (executeUrl = url, config = {}) => {
70
+ let _url = "";
71
+ let _config;
72
+ if (typeof executeUrl === "string") {
73
+ _url = executeUrl;
74
+ _config = config;
75
+ } else {
76
+ _config = config;
77
+ }
67
78
  loading(true);
68
- instance(url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
79
+ instance(_url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
69
80
  response.value = r;
70
81
  data.value = r.data;
71
82
  }).catch((e) => {
@@ -74,9 +85,9 @@ function useAxios(url, ...args) {
74
85
  loading(false);
75
86
  });
76
87
  };
77
- if (options.immediate)
88
+ if (options.immediate && url)
78
89
  execute();
79
- return {
90
+ const result = {
80
91
  response,
81
92
  data,
82
93
  error,
@@ -90,6 +101,16 @@ function useAxios(url, ...args) {
90
101
  abort,
91
102
  execute
92
103
  };
104
+ function waitUntilFinished() {
105
+ return new Promise((resolve, reject) => {
106
+ shared.until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
107
+ });
108
+ }
109
+ return __spreadProps(__spreadValues({}, result), {
110
+ then(onFulfilled, onRejected) {
111
+ return waitUntilFinished().then(onFulfilled, onRejected);
112
+ }
113
+ });
93
114
  }
94
115
 
95
116
  exports.useAxios = useAxios;
package/useAxios.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { Ref } from 'vue-demi';
1
+ import { ShallowRef, Ref } from 'vue-demi';
2
2
  import { AxiosResponse, AxiosError, AxiosRequestConfig, AxiosInstance } from 'axios';
3
3
 
4
4
  interface UseAxiosReturn<T> {
5
5
  /**
6
6
  * Axios Response
7
7
  */
8
- response: Ref<AxiosResponse<T> | undefined>;
8
+ response: ShallowRef<AxiosResponse<T> | undefined>;
9
9
  /**
10
10
  * Axios response data
11
11
  */
@@ -25,26 +25,52 @@ interface UseAxiosReturn<T> {
25
25
  /**
26
26
  * Any errors that may have occurred
27
27
  */
28
- error: Ref<AxiosError<T> | undefined>;
28
+ error: ShallowRef<AxiosError<T> | undefined>;
29
29
  /**
30
30
  * Aborts the current request
31
31
  */
32
32
  abort: (message?: string | undefined) => void;
33
+ /**
34
+ * isFinished alias
35
+ */
36
+ finished: Ref<boolean>;
37
+ /**
38
+ * loading alias
39
+ */
40
+ loading: Ref<boolean>;
41
+ /**
42
+ * abort alias
43
+ */
44
+ cancel: (message?: string | undefined) => void;
45
+ /**
46
+ * abort aborted
47
+ */
48
+ canceled: Ref<boolean>;
49
+ }
50
+ interface StrictUseAxiosReturn<T> extends UseAxiosReturn<T> {
51
+ /**
52
+ * Manually call the axios request
53
+ */
54
+ execute: (url?: string, config?: AxiosRequestConfig) => void;
55
+ }
56
+ interface EasyUseAxiosReturn<T> extends UseAxiosReturn<T> {
33
57
  /**
34
58
  * Manually call the axios request
35
59
  */
36
- execute: (config?: AxiosRequestConfig) => void;
60
+ execute: (url: string, config?: AxiosRequestConfig) => void;
37
61
  }
38
62
  interface UseAxiosOptions {
39
63
  /**
40
64
  * Will automatically run axios request when `useAxios` is used
41
65
  *
42
- * @default true
43
66
  */
44
67
  immediate?: boolean;
45
68
  }
46
- declare function useAxios<T = any>(url: string, config?: AxiosRequestConfig, options?: UseAxiosOptions): UseAxiosReturn<T>;
47
- declare function useAxios<T = any>(url: string, instance?: AxiosInstance, options?: UseAxiosOptions): UseAxiosReturn<T>;
48
- declare function useAxios<T = any>(url: string, config: AxiosRequestConfig, instance: AxiosInstance, options?: UseAxiosOptions): UseAxiosReturn<T>;
69
+ declare function useAxios<T = any>(url: string, config?: AxiosRequestConfig, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
70
+ declare function useAxios<T = any>(url: string, instance?: AxiosInstance, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
71
+ declare function useAxios<T = any>(url: string, config: AxiosRequestConfig, instance: AxiosInstance, options?: UseAxiosOptions): StrictUseAxiosReturn<T> & PromiseLike<StrictUseAxiosReturn<T>>;
72
+ declare function useAxios<T = any>(config?: AxiosRequestConfig): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
73
+ declare function useAxios<T = any>(instance?: AxiosInstance): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
74
+ declare function useAxios<T = any>(config?: AxiosRequestConfig, instance?: AxiosInstance): EasyUseAxiosReturn<T> & PromiseLike<EasyUseAxiosReturn<T>>;
49
75
 
50
- export { UseAxiosOptions, UseAxiosReturn, useAxios };
76
+ export { EasyUseAxiosReturn, StrictUseAxiosReturn, UseAxiosOptions, UseAxiosReturn, useAxios };
package/useAxios.iife.js CHANGED
@@ -59,7 +59,7 @@
59
59
  window.VueDemi = VueDemi
60
60
  })(window)
61
61
  ;
62
- ;(function (exports, vueDemi, axios) {
62
+ ;(function (exports, vueDemi, shared, axios) {
63
63
  'use strict';
64
64
 
65
65
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -85,21 +85,23 @@
85
85
  return a;
86
86
  };
87
87
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
88
- function useAxios(url, ...args) {
88
+ function useAxios(...args) {
89
+ const url = typeof args[0] === "string" ? args[0] : void 0;
90
+ const argsPlaceholder = url ? 1 : 0;
89
91
  let defaultConfig = {};
90
92
  let instance = axios__default["default"];
91
- let options = { immediate: true };
92
- if (args.length > 0) {
93
- if ("request" in args[0])
94
- instance = args[0];
93
+ let options = { immediate: !!argsPlaceholder };
94
+ if (args.length > 0 + argsPlaceholder) {
95
+ if ("request" in args[0 + argsPlaceholder])
96
+ instance = args[0 + argsPlaceholder];
95
97
  else
96
- defaultConfig = args[0];
98
+ defaultConfig = args[0 + argsPlaceholder];
97
99
  }
98
- if (args.length > 1) {
99
- if ("request" in args[1])
100
- instance = args[1];
100
+ if (args.length > 1 + argsPlaceholder) {
101
+ if ("request" in args[1 + argsPlaceholder])
102
+ instance = args[1 + argsPlaceholder];
101
103
  }
102
- if (args.length >= 2)
104
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
103
105
  options = args[args.length - 1];
104
106
  const response = vueDemi.shallowRef();
105
107
  const data = vueDemi.shallowRef();
@@ -120,9 +122,17 @@
120
122
  isLoading.value = loading2;
121
123
  isFinished.value = !loading2;
122
124
  };
123
- const execute = (config = {}) => {
125
+ const execute = (executeUrl = url, config = {}) => {
126
+ let _url = "";
127
+ let _config;
128
+ if (typeof executeUrl === "string") {
129
+ _url = executeUrl;
130
+ _config = config;
131
+ } else {
132
+ _config = config;
133
+ }
124
134
  loading(true);
125
- instance(url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
135
+ instance(_url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
126
136
  response.value = r;
127
137
  data.value = r.data;
128
138
  }).catch((e) => {
@@ -131,9 +141,9 @@
131
141
  loading(false);
132
142
  });
133
143
  };
134
- if (options.immediate)
144
+ if (options.immediate && url)
135
145
  execute();
136
- return {
146
+ const result = {
137
147
  response,
138
148
  data,
139
149
  error,
@@ -147,10 +157,20 @@
147
157
  abort,
148
158
  execute
149
159
  };
160
+ function waitUntilFinished() {
161
+ return new Promise((resolve, reject) => {
162
+ shared.until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
163
+ });
164
+ }
165
+ return __spreadProps(__spreadValues({}, result), {
166
+ then(onFulfilled, onRejected) {
167
+ return waitUntilFinished().then(onFulfilled, onRejected);
168
+ }
169
+ });
150
170
  }
151
171
 
152
172
  exports.useAxios = useAxios;
153
173
 
154
174
  Object.defineProperty(exports, '__esModule', { value: true });
155
175
 
156
- })(this.VueUse = this.VueUse || {}, VueDemi, axios);
176
+ })(this.VueUse = this.VueUse || {}, VueDemi, VueUse, axios);
@@ -1 +1 @@
1
- (function(l){if(!l.VueDemi){var e={},o=l.Vue;if(o)if(o.version.slice(0,2)==="2."){var c=l.VueCompositionAPI;if(c){for(var s in c)e[s]=c[s];e.isVue2=!0,e.isVue3=!1,e.install=function(){},e.Vue=o,e.Vue2=o,e.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(o.version.slice(0,2)==="3."){for(var s in o)e[s]=o[s];e.isVue2=!1,e.isVue3=!0,e.install=function(){},e.Vue=o,e.Vue2=void 0,e.version=o.version,e.set=function(i,u,a){return Array.isArray(i)?(i.length=Math.max(i.length,u),i.splice(u,1,a),a):(i[u]=a,a)},e.del=function(i,u){if(Array.isArray(i)){i.splice(u,1);return}delete i[u]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");l.VueDemi=e}})(window),function(l,e,o){"use strict";function c(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var s=c(o),i=Object.defineProperty,u=Object.defineProperties,a=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,m=(n,r,t)=>r in n?i(n,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[r]=t,O=(n,r)=>{for(var t in r||(r={}))T.call(r,t)&&m(n,t,r[t]);if(h)for(var t of h(r))q.call(r,t)&&m(n,t,r[t]);return n},C=(n,r)=>u(n,a(r));function D(n,...r){let t={},_=s.default,P={immediate:!0};r.length>0&&("request"in r[0]?_=r[0]:t=r[0]),r.length>1&&"request"in r[1]&&(_=r[1]),r.length>=2&&(P=r[r.length-1]);const b=e.shallowRef(),y=e.shallowRef(),d=e.ref(!1),p=e.ref(!1),V=e.ref(!1),j=e.shallowRef(),w=s.default.CancelToken.source(),A=f=>{d.value||!p.value||(w.cancel(f),V.value=!0,p.value=!1,d.value=!1)},x=f=>{p.value=f,d.value=!f},R=(f={})=>{x(!0),_(n,C(O(O({},t),f),{cancelToken:w.token})).then(v=>{b.value=v,y.value=v.data}).catch(v=>{j.value=v}).finally(()=>{x(!1)})};return P.immediate&&R(),{response:b,data:y,error:j,finished:d,loading:p,isFinished:d,isLoading:p,cancel:A,canceled:V,aborted:V,abort:A,execute:R}}l.useAxios=D,Object.defineProperty(l,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,axios);
1
+ (function(l){if(!l.VueDemi){var n={},o=l.Vue;if(o)if(o.version.slice(0,2)==="2."){var p=l.VueCompositionAPI;if(p){for(var a in p)n[a]=p[a];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=o,n.Vue2=o,n.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(o.version.slice(0,2)==="3."){for(var a in o)n[a]=o[a];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=o,n.Vue2=void 0,n.version=o.version,n.set=function(i,u,f){return Array.isArray(i)?(i.length=Math.max(i.length,u),i.splice(u,1,f),f):(i[u]=f,f)},n.del=function(i,u){if(Array.isArray(i)){i.splice(u,1);return}delete i[u]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");l.VueDemi=n}})(window),function(l,n,o,p){"use strict";function a(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var i=a(p),u=Object.defineProperty,f=Object.defineProperties,F=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,b=(e,r,t)=>r in e?u(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,V=(e,r)=>{for(var t in r||(r={}))I.call(r,t)&&b(e,t,r[t]);if(O)for(var t of O(r))L.call(r,t)&&b(e,t,r[t]);return e},w=(e,r)=>f(e,F(r));function M(...e){const r=typeof e[0]=="string"?e[0]:void 0,t=r?1:0;let j={},m=i.default,A={immediate:!!t};e.length>0+t&&("request"in e[0+t]?m=e[0+t]:j=e[0+t]),e.length>1+t&&"request"in e[1+t]&&(m=e[1+t]),(e.length===2+t&&!("request"in e[1+t])||e.length===3+t)&&(A=e[e.length-1]);const x=n.shallowRef(),q=n.shallowRef(),c=n.ref(!1),v=n.ref(!1),P=n.ref(!1),R=n.shallowRef(),T=i.default.CancelToken.source(),U=s=>{c.value||!v.value||(T.cancel(s),P.value=!0,v.value=!1,c.value=!1)},C=s=>{v.value=s,c.value=!s},D=(s=r,d={})=>{let h="",y;typeof s=="string"&&(h=s),y=d,C(!0),m(h,w(V(V({},j),y),{cancelToken:T.token})).then(_=>{x.value=_,q.value=_.data}).catch(_=>{R.value=_}).finally(()=>{C(!1)})};A.immediate&&r&&D();const E={response:x,data:q,error:R,finished:c,loading:v,isFinished:c,isLoading:v,cancel:U,canceled:P,aborted:P,abort:U,execute:D};function S(){return new Promise((s,d)=>{o.until(c).toBe(!0).then(()=>s(E)).catch(h=>d(h))})}return w(V({},E),{then(s,d){return S().then(s,d)}})}l.useAxios=M,Object.defineProperty(l,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,axios);
package/useAxios.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { shallowRef, ref } from 'vue-demi';
2
+ import { until } from '@vueuse/shared';
2
3
  import axios from 'axios';
3
4
 
4
5
  var __defProp = Object.defineProperty;
@@ -20,21 +21,23 @@ var __spreadValues = (a, b) => {
20
21
  return a;
21
22
  };
22
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
- function useAxios(url, ...args) {
24
+ function useAxios(...args) {
25
+ const url = typeof args[0] === "string" ? args[0] : void 0;
26
+ const argsPlaceholder = url ? 1 : 0;
24
27
  let defaultConfig = {};
25
28
  let instance = axios;
26
- let options = { immediate: true };
27
- if (args.length > 0) {
28
- if ("request" in args[0])
29
- instance = args[0];
29
+ let options = { immediate: !!argsPlaceholder };
30
+ if (args.length > 0 + argsPlaceholder) {
31
+ if ("request" in args[0 + argsPlaceholder])
32
+ instance = args[0 + argsPlaceholder];
30
33
  else
31
- defaultConfig = args[0];
34
+ defaultConfig = args[0 + argsPlaceholder];
32
35
  }
33
- if (args.length > 1) {
34
- if ("request" in args[1])
35
- instance = args[1];
36
+ if (args.length > 1 + argsPlaceholder) {
37
+ if ("request" in args[1 + argsPlaceholder])
38
+ instance = args[1 + argsPlaceholder];
36
39
  }
37
- if (args.length >= 2)
40
+ if (args.length === 2 + argsPlaceholder && !("request" in args[1 + argsPlaceholder]) || args.length === 3 + argsPlaceholder)
38
41
  options = args[args.length - 1];
39
42
  const response = shallowRef();
40
43
  const data = shallowRef();
@@ -55,9 +58,17 @@ function useAxios(url, ...args) {
55
58
  isLoading.value = loading2;
56
59
  isFinished.value = !loading2;
57
60
  };
58
- const execute = (config = {}) => {
61
+ const execute = (executeUrl = url, config = {}) => {
62
+ let _url = "";
63
+ let _config;
64
+ if (typeof executeUrl === "string") {
65
+ _url = executeUrl;
66
+ _config = config;
67
+ } else {
68
+ _config = config;
69
+ }
59
70
  loading(true);
60
- instance(url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), config), { cancelToken: cancelToken.token })).then((r) => {
71
+ instance(_url, __spreadProps(__spreadValues(__spreadValues({}, defaultConfig), _config), { cancelToken: cancelToken.token })).then((r) => {
61
72
  response.value = r;
62
73
  data.value = r.data;
63
74
  }).catch((e) => {
@@ -66,9 +77,9 @@ function useAxios(url, ...args) {
66
77
  loading(false);
67
78
  });
68
79
  };
69
- if (options.immediate)
80
+ if (options.immediate && url)
70
81
  execute();
71
- return {
82
+ const result = {
72
83
  response,
73
84
  data,
74
85
  error,
@@ -82,6 +93,16 @@ function useAxios(url, ...args) {
82
93
  abort,
83
94
  execute
84
95
  };
96
+ function waitUntilFinished() {
97
+ return new Promise((resolve, reject) => {
98
+ until(isFinished).toBe(true).then(() => resolve(result)).catch((error2) => reject(error2));
99
+ });
100
+ }
101
+ return __spreadProps(__spreadValues({}, result), {
102
+ then(onFulfilled, onRejected) {
103
+ return waitUntilFinished().then(onFulfilled, onRejected);
104
+ }
105
+ });
85
106
  }
86
107
 
87
108
  export { useAxios };
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vueDemi = require('vue-demi');
6
+ var changeCase$1 = require('change-case');
7
+
8
+ var changeCase = /*#__PURE__*/Object.freeze({
9
+ __proto__: null,
10
+ camelCase: changeCase$1.camelCase,
11
+ capitalCase: changeCase$1.capitalCase,
12
+ constantCase: changeCase$1.constantCase,
13
+ dotCase: changeCase$1.dotCase,
14
+ headerCase: changeCase$1.headerCase,
15
+ noCase: changeCase$1.noCase,
16
+ paramCase: changeCase$1.paramCase,
17
+ pascalCase: changeCase$1.pascalCase,
18
+ pathCase: changeCase$1.pathCase,
19
+ sentenceCase: changeCase$1.sentenceCase,
20
+ snakeCase: changeCase$1.snakeCase
21
+ });
22
+
23
+ function useChangeCase(input, type, options) {
24
+ const text = vueDemi.ref(input);
25
+ return vueDemi.computed({
26
+ get() {
27
+ return changeCase[type](text.value, options);
28
+ },
29
+ set(value) {
30
+ text.value = value;
31
+ }
32
+ });
33
+ }
34
+
35
+ exports.useChangeCase = useChangeCase;
@@ -0,0 +1,35 @@
1
+ import { camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, Options } from 'change-case';
2
+ import { MaybeRef } from '@vueuse/shared';
3
+ import { WritableComputedRef } from 'vue-demi';
4
+
5
+ declare const changeCase_camelCase: typeof camelCase;
6
+ declare const changeCase_capitalCase: typeof capitalCase;
7
+ declare const changeCase_constantCase: typeof constantCase;
8
+ declare const changeCase_dotCase: typeof dotCase;
9
+ declare const changeCase_headerCase: typeof headerCase;
10
+ declare const changeCase_noCase: typeof noCase;
11
+ declare const changeCase_paramCase: typeof paramCase;
12
+ declare const changeCase_pascalCase: typeof pascalCase;
13
+ declare const changeCase_pathCase: typeof pathCase;
14
+ declare const changeCase_sentenceCase: typeof sentenceCase;
15
+ declare const changeCase_snakeCase: typeof snakeCase;
16
+ declare namespace changeCase {
17
+ export {
18
+ changeCase_camelCase as camelCase,
19
+ changeCase_capitalCase as capitalCase,
20
+ changeCase_constantCase as constantCase,
21
+ changeCase_dotCase as dotCase,
22
+ changeCase_headerCase as headerCase,
23
+ changeCase_noCase as noCase,
24
+ changeCase_paramCase as paramCase,
25
+ changeCase_pascalCase as pascalCase,
26
+ changeCase_pathCase as pathCase,
27
+ changeCase_sentenceCase as sentenceCase,
28
+ changeCase_snakeCase as snakeCase,
29
+ };
30
+ }
31
+
32
+ declare type ChangeCaseType = keyof typeof changeCase;
33
+ declare function useChangeCase(input: MaybeRef<string>, type: ChangeCaseType, options?: Options | undefined): WritableComputedRef<string>;
34
+
35
+ export { ChangeCaseType, useChangeCase };
@@ -0,0 +1,96 @@
1
+ ;(function (window) {
2
+ if (window.VueDemi) {
3
+ return
4
+ }
5
+ var VueDemi = {}
6
+ var Vue = window.Vue
7
+ if (Vue) {
8
+ if (Vue.version.slice(0, 2) === '2.') {
9
+ var VueCompositionAPI = window.VueCompositionAPI
10
+ if (VueCompositionAPI) {
11
+ for (var key in VueCompositionAPI) {
12
+ VueDemi[key] = VueCompositionAPI[key]
13
+ }
14
+ VueDemi.isVue2 = true
15
+ VueDemi.isVue3 = false
16
+ VueDemi.install = function (){}
17
+ VueDemi.Vue = Vue
18
+ VueDemi.Vue2 = Vue
19
+ VueDemi.version = Vue.version
20
+ } else {
21
+ console.error(
22
+ '[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.'
23
+ )
24
+ }
25
+ } else if (Vue.version.slice(0, 2) === '3.') {
26
+ for (var key in Vue) {
27
+ VueDemi[key] = Vue[key]
28
+ }
29
+ VueDemi.isVue2 = false
30
+ VueDemi.isVue3 = true
31
+ VueDemi.install = function (){}
32
+ VueDemi.Vue = Vue
33
+ VueDemi.Vue2 = undefined
34
+ VueDemi.version = Vue.version
35
+ VueDemi.set = function(target, key, val) {
36
+ if (Array.isArray(target)) {
37
+ target.length = Math.max(target.length, key)
38
+ target.splice(key, 1, val)
39
+ return val
40
+ }
41
+ target[key] = val
42
+ return val
43
+ }
44
+ VueDemi.del = function(target, key) {
45
+ if (Array.isArray(target)) {
46
+ target.splice(key, 1)
47
+ return
48
+ }
49
+ delete target[key]
50
+ }
51
+ } else {
52
+ console.error('[vue-demi] Vue version ' + Vue.version + ' is unsupported.')
53
+ }
54
+ } else {
55
+ console.error(
56
+ '[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.'
57
+ )
58
+ }
59
+ window.VueDemi = VueDemi
60
+ })(window)
61
+ ;
62
+ ;(function (exports, vueDemi, changeCase$1) {
63
+ 'use strict';
64
+
65
+ var changeCase = /*#__PURE__*/Object.freeze({
66
+ __proto__: null,
67
+ camelCase: changeCase$1.camelCase,
68
+ capitalCase: changeCase$1.capitalCase,
69
+ constantCase: changeCase$1.constantCase,
70
+ dotCase: changeCase$1.dotCase,
71
+ headerCase: changeCase$1.headerCase,
72
+ noCase: changeCase$1.noCase,
73
+ paramCase: changeCase$1.paramCase,
74
+ pascalCase: changeCase$1.pascalCase,
75
+ pathCase: changeCase$1.pathCase,
76
+ sentenceCase: changeCase$1.sentenceCase,
77
+ snakeCase: changeCase$1.snakeCase
78
+ });
79
+
80
+ function useChangeCase(input, type, options) {
81
+ const text = vueDemi.ref(input);
82
+ return vueDemi.computed({
83
+ get() {
84
+ return changeCase[type](text.value, options);
85
+ },
86
+ set(value) {
87
+ text.value = value;
88
+ }
89
+ });
90
+ }
91
+
92
+ exports.useChangeCase = useChangeCase;
93
+
94
+ Object.defineProperty(exports, '__esModule', { value: true });
95
+
96
+ })(this.VueUse = this.VueUse || {}, VueDemi, changeCase$1);
@@ -0,0 +1 @@
1
+ (function(n){if(!n.VueDemi){var s={},e=n.Vue;if(e)if(e.version.slice(0,2)==="2."){var a=n.VueCompositionAPI;if(a){for(var u in a)s[u]=a[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=e,s.Vue2=e,s.version=e.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(e.version.slice(0,2)==="3."){for(var u in e)s[u]=e[u];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=e,s.Vue2=void 0,s.version=e.version,s.set=function(r,i,o){return Array.isArray(r)?(r.length=Math.max(r.length,i),r.splice(i,1,o),o):(r[i]=o,o)},s.del=function(r,i){if(Array.isArray(r)){r.splice(i,1);return}delete r[i]}}else console.error("[vue-demi] Vue version "+e.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");n.VueDemi=s}})(window),function(n,s,e){"use strict";var a=Object.freeze({__proto__:null,camelCase:e.camelCase,capitalCase:e.capitalCase,constantCase:e.constantCase,dotCase:e.dotCase,headerCase:e.headerCase,noCase:e.noCase,paramCase:e.paramCase,pascalCase:e.pascalCase,pathCase:e.pathCase,sentenceCase:e.sentenceCase,snakeCase:e.snakeCase});function u(r,i,o){const t=s.ref(r);return s.computed({get(){return a[i](t.value,o)},set(l){t.value=l}})}n.useChangeCase=u,Object.defineProperty(n,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,changeCase$1);
@@ -0,0 +1,31 @@
1
+ import { ref, computed } from 'vue-demi';
2
+ import { camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase } from 'change-case';
3
+
4
+ var changeCase = /*#__PURE__*/Object.freeze({
5
+ __proto__: null,
6
+ camelCase: camelCase,
7
+ capitalCase: capitalCase,
8
+ constantCase: constantCase,
9
+ dotCase: dotCase,
10
+ headerCase: headerCase,
11
+ noCase: noCase,
12
+ paramCase: paramCase,
13
+ pascalCase: pascalCase,
14
+ pathCase: pathCase,
15
+ sentenceCase: sentenceCase,
16
+ snakeCase: snakeCase
17
+ });
18
+
19
+ function useChangeCase(input, type, options) {
20
+ const text = ref(input);
21
+ return computed({
22
+ get() {
23
+ return changeCase[type](text.value, options);
24
+ },
25
+ set(value) {
26
+ text.value = value;
27
+ }
28
+ });
29
+ }
30
+
31
+ export { useChangeCase };