@vueuse/integrations 10.2.1 → 10.4.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.
Files changed (89) hide show
  1. package/index.cjs +62 -214
  2. package/index.d.cts +427 -0
  3. package/index.d.mts +427 -0
  4. package/index.d.ts +8 -18
  5. package/index.iife.js +62 -214
  6. package/index.iife.min.js +1 -1
  7. package/index.mjs +64 -216
  8. package/package.json +10 -26
  9. package/useAsyncValidator/component.cjs +5 -29
  10. package/useAsyncValidator/component.d.cts +27 -0
  11. package/useAsyncValidator/component.d.mts +27 -0
  12. package/useAsyncValidator/component.mjs +5 -29
  13. package/useAsyncValidator.cjs +5 -29
  14. package/useAsyncValidator.d.cts +48 -0
  15. package/useAsyncValidator.d.mts +48 -0
  16. package/useAsyncValidator.d.ts +1 -1
  17. package/useAsyncValidator.iife.js +5 -29
  18. package/useAsyncValidator.iife.min.js +1 -1
  19. package/useAsyncValidator.mjs +5 -29
  20. package/useAxios.cjs +8 -25
  21. package/useAxios.d.cts +94 -0
  22. package/useAxios.d.mts +94 -0
  23. package/useAxios.d.ts +1 -1
  24. package/useAxios.iife.js +8 -25
  25. package/useAxios.iife.min.js +1 -1
  26. package/useAxios.mjs +8 -25
  27. package/useChangeCase.d.cts +24 -0
  28. package/useChangeCase.d.mts +24 -0
  29. package/useChangeCase.d.ts +2 -14
  30. package/useCookies.cjs +2 -18
  31. package/useCookies.d.cts +54 -0
  32. package/useCookies.d.mts +54 -0
  33. package/useCookies.iife.js +2 -18
  34. package/useCookies.iife.min.js +1 -1
  35. package/useCookies.mjs +2 -18
  36. package/useDrauu.cjs +8 -43
  37. package/useDrauu.d.cts +32 -0
  38. package/useDrauu.d.mts +32 -0
  39. package/useDrauu.d.ts +1 -1
  40. package/useDrauu.iife.js +8 -43
  41. package/useDrauu.iife.min.js +1 -1
  42. package/useDrauu.mjs +8 -43
  43. package/useFocusTrap/component.d.cts +17 -0
  44. package/useFocusTrap/component.d.mts +17 -0
  45. package/useFocusTrap/component.d.ts +1 -1
  46. package/useFocusTrap.cjs +4 -34
  47. package/useFocusTrap.d.cts +57 -0
  48. package/useFocusTrap.d.mts +57 -0
  49. package/useFocusTrap.d.ts +1 -1
  50. package/useFocusTrap.iife.js +4 -34
  51. package/useFocusTrap.iife.min.js +1 -1
  52. package/useFocusTrap.mjs +4 -34
  53. package/useFuse.cjs +5 -9
  54. package/useFuse.d.cts +25 -0
  55. package/useFuse.d.mts +25 -0
  56. package/useFuse.d.ts +1 -1
  57. package/useFuse.iife.js +5 -9
  58. package/useFuse.iife.min.js +1 -1
  59. package/useFuse.mjs +5 -9
  60. package/useIDBKeyval.cjs +17 -19
  61. package/useIDBKeyval.d.cts +43 -0
  62. package/useIDBKeyval.d.mts +43 -0
  63. package/useIDBKeyval.d.ts +8 -6
  64. package/useIDBKeyval.iife.js +18 -21
  65. package/useIDBKeyval.iife.min.js +1 -1
  66. package/useIDBKeyval.mjs +18 -20
  67. package/useJwt.cjs +1 -1
  68. package/useJwt.d.cts +29 -0
  69. package/useJwt.d.mts +29 -0
  70. package/useJwt.d.ts +1 -1
  71. package/useJwt.iife.js +1 -1
  72. package/useJwt.iife.min.js +1 -1
  73. package/useJwt.mjs +1 -1
  74. package/useNProgress.d.cts +20 -0
  75. package/useNProgress.d.mts +20 -0
  76. package/useNProgress.d.ts +1 -1
  77. package/useQRCode.d.cts +14 -0
  78. package/useQRCode.d.mts +14 -0
  79. package/useSortable/component.cjs +13 -36
  80. package/useSortable/component.d.cts +40 -0
  81. package/useSortable/component.d.mts +40 -0
  82. package/useSortable/component.mjs +14 -37
  83. package/useSortable.cjs +13 -36
  84. package/useSortable.d.cts +26 -0
  85. package/useSortable.d.mts +26 -0
  86. package/useSortable.d.ts +1 -1
  87. package/useSortable.iife.js +13 -36
  88. package/useSortable.iife.min.js +1 -1
  89. package/useSortable.mjs +14 -37
package/useFocusTrap.mjs CHANGED
@@ -2,40 +2,9 @@ import { unrefElement, tryOnScopeDispose } from '@vueuse/core';
2
2
  import { ref, watch } from 'vue-demi';
3
3
  import { createFocusTrap } from 'focus-trap';
4
4
 
5
- var __defProp = Object.defineProperty;
6
- var __defProps = Object.defineProperties;
7
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
5
  function useFocusTrap(target, options = {}) {
37
6
  let trap;
38
- const _a = options, { immediate } = _a, focusTrapOptions = __objRest(_a, ["immediate"]);
7
+ const { immediate, ...focusTrapOptions } = options;
39
8
  const hasFocus = ref(false);
40
9
  const isPaused = ref(false);
41
10
  const activate = (opts) => trap && trap.activate(opts);
@@ -57,7 +26,8 @@ function useFocusTrap(target, options = {}) {
57
26
  (el) => {
58
27
  if (!el)
59
28
  return;
60
- trap = createFocusTrap(el, __spreadProps(__spreadValues({}, focusTrapOptions), {
29
+ trap = createFocusTrap(el, {
30
+ ...focusTrapOptions,
61
31
  onActivate() {
62
32
  hasFocus.value = true;
63
33
  if (options.onActivate)
@@ -68,7 +38,7 @@ function useFocusTrap(target, options = {}) {
68
38
  if (options.onDeactivate)
69
39
  options.onDeactivate();
70
40
  }
71
- }));
41
+ });
72
42
  if (immediate)
73
43
  activate();
74
44
  },
package/useFuse.cjs CHANGED
@@ -6,18 +6,14 @@ var shared = require('@vueuse/shared');
6
6
 
7
7
  function useFuse(search, data, options) {
8
8
  const createFuse = () => {
9
- var _a, _b;
10
9
  return new Fuse(
11
- (_a = shared.toValue(data)) != null ? _a : [],
12
- (_b = shared.toValue(options)) == null ? void 0 : _b.fuseOptions
10
+ shared.toValue(data) ?? [],
11
+ shared.toValue(options)?.fuseOptions
13
12
  );
14
13
  };
15
14
  const fuse = vueDemi.ref(createFuse());
16
15
  vueDemi.watch(
17
- () => {
18
- var _a;
19
- return (_a = shared.toValue(options)) == null ? void 0 : _a.fuseOptions;
20
- },
16
+ () => shared.toValue(options)?.fuseOptions,
21
17
  () => {
22
18
  fuse.value = createFuse();
23
19
  },
@@ -32,9 +28,9 @@ function useFuse(search, data, options) {
32
28
  );
33
29
  const results = vueDemi.computed(() => {
34
30
  const resolved = shared.toValue(options);
35
- if ((resolved == null ? void 0 : resolved.matchAllWhenSearchEmpty) && !shared.toValue(search))
31
+ if (resolved?.matchAllWhenSearchEmpty && !shared.toValue(search))
36
32
  return shared.toValue(data).map((item, index) => ({ item, refIndex: index }));
37
- const limit = resolved == null ? void 0 : resolved.resultLimit;
33
+ const limit = resolved?.resultLimit;
38
34
  return fuse.value.search(shared.toValue(search), limit ? { limit } : void 0);
39
35
  });
40
36
  return {
package/useFuse.d.cts ADDED
@@ -0,0 +1,25 @@
1
+ import * as vue_demi from 'vue-demi';
2
+ import { ComputedRef } from 'vue-demi';
3
+ import Fuse from 'fuse.js';
4
+ import { MaybeRefOrGetter } from '@vueuse/shared';
5
+
6
+ type FuseOptions<T> = Fuse.IFuseOptions<T>;
7
+ interface UseFuseOptions<T> {
8
+ fuseOptions?: FuseOptions<T>;
9
+ resultLimit?: number;
10
+ matchAllWhenSearchEmpty?: boolean;
11
+ }
12
+ declare function useFuse<DataItem>(search: MaybeRefOrGetter<string>, data: MaybeRefOrGetter<DataItem[]>, options?: MaybeRefOrGetter<UseFuseOptions<DataItem>>): {
13
+ fuse: vue_demi.Ref<{
14
+ search: <R = DataItem>(pattern: string | Fuse.Expression, options?: Fuse.FuseSearchOptions | undefined) => Fuse.FuseResult<R>[];
15
+ setCollection: (docs: readonly DataItem[], index?: Fuse.FuseIndex<DataItem> | undefined) => void;
16
+ add: (doc: DataItem) => void;
17
+ remove: (predicate: (doc: DataItem, idx: number) => boolean) => DataItem[];
18
+ removeAt: (idx: number) => void;
19
+ getIndex: () => Fuse.FuseIndex<DataItem>;
20
+ }>;
21
+ results: ComputedRef<Fuse.FuseResult<DataItem>[]>;
22
+ };
23
+ type UseFuseReturn = ReturnType<typeof useFuse>;
24
+
25
+ export { type FuseOptions, type UseFuseOptions, type UseFuseReturn, useFuse };
package/useFuse.d.mts ADDED
@@ -0,0 +1,25 @@
1
+ import * as vue_demi from 'vue-demi';
2
+ import { ComputedRef } from 'vue-demi';
3
+ import Fuse from 'fuse.js';
4
+ import { MaybeRefOrGetter } from '@vueuse/shared';
5
+
6
+ type FuseOptions<T> = Fuse.IFuseOptions<T>;
7
+ interface UseFuseOptions<T> {
8
+ fuseOptions?: FuseOptions<T>;
9
+ resultLimit?: number;
10
+ matchAllWhenSearchEmpty?: boolean;
11
+ }
12
+ declare function useFuse<DataItem>(search: MaybeRefOrGetter<string>, data: MaybeRefOrGetter<DataItem[]>, options?: MaybeRefOrGetter<UseFuseOptions<DataItem>>): {
13
+ fuse: vue_demi.Ref<{
14
+ search: <R = DataItem>(pattern: string | Fuse.Expression, options?: Fuse.FuseSearchOptions | undefined) => Fuse.FuseResult<R>[];
15
+ setCollection: (docs: readonly DataItem[], index?: Fuse.FuseIndex<DataItem> | undefined) => void;
16
+ add: (doc: DataItem) => void;
17
+ remove: (predicate: (doc: DataItem, idx: number) => boolean) => DataItem[];
18
+ removeAt: (idx: number) => void;
19
+ getIndex: () => Fuse.FuseIndex<DataItem>;
20
+ }>;
21
+ results: ComputedRef<Fuse.FuseResult<DataItem>[]>;
22
+ };
23
+ type UseFuseReturn = ReturnType<typeof useFuse>;
24
+
25
+ export { type FuseOptions, type UseFuseOptions, type UseFuseReturn, useFuse };
package/useFuse.d.ts CHANGED
@@ -22,4 +22,4 @@ declare function useFuse<DataItem>(search: MaybeRefOrGetter<string>, data: Maybe
22
22
  };
23
23
  type UseFuseReturn = ReturnType<typeof useFuse>;
24
24
 
25
- export { FuseOptions, UseFuseOptions, UseFuseReturn, useFuse };
25
+ export { type FuseOptions, type UseFuseOptions, type UseFuseReturn, useFuse };
package/useFuse.iife.js CHANGED
@@ -119,18 +119,14 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
119
119
 
120
120
  function useFuse(search, data, options) {
121
121
  const createFuse = () => {
122
- var _a, _b;
123
122
  return new Fuse(
124
- (_a = shared.toValue(data)) != null ? _a : [],
125
- (_b = shared.toValue(options)) == null ? void 0 : _b.fuseOptions
123
+ shared.toValue(data) ?? [],
124
+ shared.toValue(options)?.fuseOptions
126
125
  );
127
126
  };
128
127
  const fuse = vueDemi.ref(createFuse());
129
128
  vueDemi.watch(
130
- () => {
131
- var _a;
132
- return (_a = shared.toValue(options)) == null ? void 0 : _a.fuseOptions;
133
- },
129
+ () => shared.toValue(options)?.fuseOptions,
134
130
  () => {
135
131
  fuse.value = createFuse();
136
132
  },
@@ -145,9 +141,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
145
141
  );
146
142
  const results = vueDemi.computed(() => {
147
143
  const resolved = shared.toValue(options);
148
- if ((resolved == null ? void 0 : resolved.matchAllWhenSearchEmpty) && !shared.toValue(search))
144
+ if (resolved?.matchAllWhenSearchEmpty && !shared.toValue(search))
149
145
  return shared.toValue(data).map((item, index) => ({ item, refIndex: index }));
150
- const limit = resolved == null ? void 0 : resolved.resultLimit;
146
+ const limit = resolved?.resultLimit;
151
147
  return fuse.value.search(shared.toValue(search), limit ? { limit } : void 0);
152
148
  });
153
149
  return {
@@ -1 +1 @@
1
- var VueDemi=function(n,t,f){if(n.install)return n;if(!t)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),n;if(t.version.slice(0,4)==="2.7."){let o=function(i,u){var l,c={},v={config:t.config,use:t.use.bind(t),mixin:t.mixin.bind(t),component:t.component.bind(t),provide:function(e,s){return c[e]=s,this},directive:function(e,s){return s?(t.directive(e,s),v):t.directive(e)},mount:function(e,s){return l||(l=new t(Object.assign({propsData:u},i,{provide:Object.assign(c,i.provide)})),l.$mount(e,s),l)},unmount:function(){l&&(l.$destroy(),l=void 0)}};return v};var a=o;for(var r in t)n[r]=t[r];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=t,n.Vue2=t,n.version=t.version,n.warn=t.util.warn,n.hasInjectionContext=()=>!!n.getCurrentInstance(),n.createApp=o}else if(t.version.slice(0,2)==="2.")if(f){for(var r in f)n[r]=f[r];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=t,n.Vue2=t,n.version=t.version,n.hasInjectionContext=()=>!!n.getCurrentInstance()}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(t.version.slice(0,2)==="3."){for(var r in t)n[r]=t[r];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=t,n.Vue2=void 0,n.version=t.version,n.set=function(o,i,u){return Array.isArray(o)?(o.length=Math.max(o.length,i),o.splice(i,1,u),u):(o[i]=u,u)},n.del=function(o,i){if(Array.isArray(o)){o.splice(i,1);return}delete o[i]}}else console.error("[vue-demi] Vue version "+t.version+" is unsupported.");return n}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(n,t,f,r){"use strict";function a(o,i,u){const l=()=>{var e,s;return new t((e=r.toValue(i))!=null?e:[],(s=r.toValue(u))==null?void 0:s.fuseOptions)},c=f.ref(l());f.watch(()=>{var e;return(e=r.toValue(u))==null?void 0:e.fuseOptions},()=>{c.value=l()},{deep:!0}),f.watch(()=>r.toValue(i),e=>{c.value.setCollection(e)},{deep:!0});const v=f.computed(()=>{const e=r.toValue(u);if(e?.matchAllWhenSearchEmpty&&!r.toValue(o))return r.toValue(i).map((d,p)=>({item:d,refIndex:p}));const s=e?.resultLimit;return c.value.search(r.toValue(o),s?{limit:s}:void 0)});return{fuse:c,results:v}}n.useFuse=a})(this.VueUse=this.VueUse||{},Fuse,VueDemi,VueUse);
1
+ var VueDemi=function(n,t,u){if(n.install)return n;if(!t)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),n;if(t.version.slice(0,4)==="2.7."){let r=function(o,f){var s,l={},a={config:t.config,use:t.use.bind(t),mixin:t.mixin.bind(t),component:t.component.bind(t),provide:function(i,c){return l[i]=c,this},directive:function(i,c){return c?(t.directive(i,c),a):t.directive(i)},mount:function(i,c){return s||(s=new t(Object.assign({propsData:f},o,{provide:Object.assign(l,o.provide)})),s.$mount(i,c),s)},unmount:function(){s&&(s.$destroy(),s=void 0)}};return a};var v=r;for(var e in t)n[e]=t[e];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=t,n.Vue2=t,n.version=t.version,n.warn=t.util.warn,n.hasInjectionContext=()=>!!n.getCurrentInstance(),n.createApp=r}else if(t.version.slice(0,2)==="2.")if(u){for(var e in u)n[e]=u[e];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=t,n.Vue2=t,n.version=t.version,n.hasInjectionContext=()=>!!n.getCurrentInstance()}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(t.version.slice(0,2)==="3."){for(var e in t)n[e]=t[e];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=t,n.Vue2=void 0,n.version=t.version,n.set=function(r,o,f){return Array.isArray(r)?(r.length=Math.max(r.length,o),r.splice(o,1,f),f):(r[o]=f,f)},n.del=function(r,o){if(Array.isArray(r)){r.splice(o,1);return}delete r[o]}}else console.error("[vue-demi] Vue version "+t.version+" is unsupported.");return n}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(n,t,u,e){"use strict";function v(r,o,f){const s=()=>new t(e.toValue(o)??[],e.toValue(f)?.fuseOptions),l=u.ref(s());u.watch(()=>e.toValue(f)?.fuseOptions,()=>{l.value=s()},{deep:!0}),u.watch(()=>e.toValue(o),i=>{l.value.setCollection(i)},{deep:!0});const a=u.computed(()=>{const i=e.toValue(f);if(i?.matchAllWhenSearchEmpty&&!e.toValue(r))return e.toValue(o).map((d,p)=>({item:d,refIndex:p}));const c=i?.resultLimit;return l.value.search(e.toValue(r),c?{limit:c}:void 0)});return{fuse:l,results:a}}n.useFuse=v})(this.VueUse=this.VueUse||{},Fuse,VueDemi,VueUse);
package/useFuse.mjs CHANGED
@@ -4,18 +4,14 @@ import { toValue } from '@vueuse/shared';
4
4
 
5
5
  function useFuse(search, data, options) {
6
6
  const createFuse = () => {
7
- var _a, _b;
8
7
  return new Fuse(
9
- (_a = toValue(data)) != null ? _a : [],
10
- (_b = toValue(options)) == null ? void 0 : _b.fuseOptions
8
+ toValue(data) ?? [],
9
+ toValue(options)?.fuseOptions
11
10
  );
12
11
  };
13
12
  const fuse = ref(createFuse());
14
13
  watch(
15
- () => {
16
- var _a;
17
- return (_a = toValue(options)) == null ? void 0 : _a.fuseOptions;
18
- },
14
+ () => toValue(options)?.fuseOptions,
19
15
  () => {
20
16
  fuse.value = createFuse();
21
17
  },
@@ -30,9 +26,9 @@ function useFuse(search, data, options) {
30
26
  );
31
27
  const results = computed(() => {
32
28
  const resolved = toValue(options);
33
- if ((resolved == null ? void 0 : resolved.matchAllWhenSearchEmpty) && !toValue(search))
29
+ if (resolved?.matchAllWhenSearchEmpty && !toValue(search))
34
30
  return toValue(data).map((item, index) => ({ item, refIndex: index }));
35
- const limit = resolved == null ? void 0 : resolved.resultLimit;
31
+ const limit = resolved?.resultLimit;
36
32
  return fuse.value.search(toValue(search), limit ? { limit } : void 0);
37
33
  });
38
34
  return {
package/useIDBKeyval.cjs CHANGED
@@ -1,25 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var shared = require('@vueuse/shared');
4
+ var core = require('@vueuse/core');
4
5
  var vueDemi = require('vue-demi');
5
6
  var idbKeyval = require('idb-keyval');
6
7
 
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
8
  function useIDBKeyval(key, initialValue, options = {}) {
24
9
  const {
25
10
  flush = "pre",
@@ -56,7 +41,7 @@ function useIDBKeyval(key, initialValue, options = {}) {
56
41
  if (Array.isArray(data.value))
57
42
  await idbKeyval.update(key, () => JSON.parse(JSON.stringify(data.value)));
58
43
  else if (typeof data.value === "object")
59
- await idbKeyval.update(key, () => __spreadValues({}, data.value));
44
+ await idbKeyval.update(key, () => ({ ...data.value }));
60
45
  else
61
46
  await idbKeyval.update(key, () => data.value);
62
47
  }
@@ -64,8 +49,21 @@ function useIDBKeyval(key, initialValue, options = {}) {
64
49
  onError(e);
65
50
  }
66
51
  }
67
- vueDemi.watch(data, () => write(), { flush, deep });
68
- return { isFinished, data };
52
+ const {
53
+ pause: pauseWatch,
54
+ resume: resumeWatch
55
+ } = core.watchPausable(data, () => write(), { flush, deep });
56
+ async function setData(value) {
57
+ pauseWatch();
58
+ data.value = value;
59
+ await write();
60
+ resumeWatch();
61
+ }
62
+ return {
63
+ set: setData,
64
+ isFinished,
65
+ data
66
+ };
69
67
  }
70
68
 
71
69
  exports.useIDBKeyval = useIDBKeyval;
@@ -0,0 +1,43 @@
1
+ import { ConfigurableFlush, RemovableRef, MaybeRefOrGetter } from '@vueuse/shared';
2
+ import { Ref } from 'vue-demi';
3
+
4
+ interface UseIDBOptions extends ConfigurableFlush {
5
+ /**
6
+ * Watch for deep changes
7
+ *
8
+ * @default true
9
+ */
10
+ deep?: boolean;
11
+ /**
12
+ * On error callback
13
+ *
14
+ * Default log error to `console.error`
15
+ */
16
+ onError?: (error: unknown) => void;
17
+ /**
18
+ * Use shallow ref as reference
19
+ *
20
+ * @default false
21
+ */
22
+ shallow?: boolean;
23
+ /**
24
+ * Write the default value to the storage when it does not exist
25
+ *
26
+ * @default true
27
+ */
28
+ writeDefaults?: boolean;
29
+ }
30
+ interface UseIDBKeyvalReturn<T> {
31
+ data: RemovableRef<T>;
32
+ isFinished: Ref<boolean>;
33
+ set(value: T): Promise<void>;
34
+ }
35
+ /**
36
+ *
37
+ * @param key
38
+ * @param initialValue
39
+ * @param options
40
+ */
41
+ declare function useIDBKeyval<T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions): UseIDBKeyvalReturn<T>;
42
+
43
+ export { type UseIDBKeyvalReturn, type UseIDBOptions, useIDBKeyval };
@@ -0,0 +1,43 @@
1
+ import { ConfigurableFlush, RemovableRef, MaybeRefOrGetter } from '@vueuse/shared';
2
+ import { Ref } from 'vue-demi';
3
+
4
+ interface UseIDBOptions extends ConfigurableFlush {
5
+ /**
6
+ * Watch for deep changes
7
+ *
8
+ * @default true
9
+ */
10
+ deep?: boolean;
11
+ /**
12
+ * On error callback
13
+ *
14
+ * Default log error to `console.error`
15
+ */
16
+ onError?: (error: unknown) => void;
17
+ /**
18
+ * Use shallow ref as reference
19
+ *
20
+ * @default false
21
+ */
22
+ shallow?: boolean;
23
+ /**
24
+ * Write the default value to the storage when it does not exist
25
+ *
26
+ * @default true
27
+ */
28
+ writeDefaults?: boolean;
29
+ }
30
+ interface UseIDBKeyvalReturn<T> {
31
+ data: RemovableRef<T>;
32
+ isFinished: Ref<boolean>;
33
+ set(value: T): Promise<void>;
34
+ }
35
+ /**
36
+ *
37
+ * @param key
38
+ * @param initialValue
39
+ * @param options
40
+ */
41
+ declare function useIDBKeyval<T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions): UseIDBKeyvalReturn<T>;
42
+
43
+ export { type UseIDBKeyvalReturn, type UseIDBOptions, useIDBKeyval };
package/useIDBKeyval.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ConfigurableFlush, MaybeRefOrGetter, RemovableRef } from '@vueuse/shared';
1
+ import { ConfigurableFlush, RemovableRef, MaybeRefOrGetter } from '@vueuse/shared';
2
2
  import { Ref } from 'vue-demi';
3
3
 
4
4
  interface UseIDBOptions extends ConfigurableFlush {
@@ -27,15 +27,17 @@ interface UseIDBOptions extends ConfigurableFlush {
27
27
  */
28
28
  writeDefaults?: boolean;
29
29
  }
30
+ interface UseIDBKeyvalReturn<T> {
31
+ data: RemovableRef<T>;
32
+ isFinished: Ref<boolean>;
33
+ set(value: T): Promise<void>;
34
+ }
30
35
  /**
31
36
  *
32
37
  * @param key
33
38
  * @param initialValue
34
39
  * @param options
35
40
  */
36
- declare function useIDBKeyval<T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions): {
37
- data: RemovableRef<T>;
38
- isFinished: Ref<boolean>;
39
- };
41
+ declare function useIDBKeyval<T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions): UseIDBKeyvalReturn<T>;
40
42
 
41
- export { UseIDBOptions, useIDBKeyval };
43
+ export { type UseIDBKeyvalReturn, type UseIDBOptions, useIDBKeyval };
@@ -114,25 +114,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
114
114
  this.VueCompositionAPI || (typeof VueCompositionAPI !== 'undefined' ? VueCompositionAPI : undefined)
115
115
  );
116
116
  ;
117
- ;(function (exports, shared, vueDemi, idbKeyval) {
117
+ ;(function (exports, shared, core, vueDemi, idbKeyval) {
118
118
  'use strict';
119
119
 
120
- var __defProp = Object.defineProperty;
121
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
122
- var __hasOwnProp = Object.prototype.hasOwnProperty;
123
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
124
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
125
- var __spreadValues = (a, b) => {
126
- for (var prop in b || (b = {}))
127
- if (__hasOwnProp.call(b, prop))
128
- __defNormalProp(a, prop, b[prop]);
129
- if (__getOwnPropSymbols)
130
- for (var prop of __getOwnPropSymbols(b)) {
131
- if (__propIsEnum.call(b, prop))
132
- __defNormalProp(a, prop, b[prop]);
133
- }
134
- return a;
135
- };
136
120
  function useIDBKeyval(key, initialValue, options = {}) {
137
121
  const {
138
122
  flush = "pre",
@@ -169,7 +153,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
169
153
  if (Array.isArray(data.value))
170
154
  await idbKeyval.update(key, () => JSON.parse(JSON.stringify(data.value)));
171
155
  else if (typeof data.value === "object")
172
- await idbKeyval.update(key, () => __spreadValues({}, data.value));
156
+ await idbKeyval.update(key, () => ({ ...data.value }));
173
157
  else
174
158
  await idbKeyval.update(key, () => data.value);
175
159
  }
@@ -177,10 +161,23 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
177
161
  onError(e);
178
162
  }
179
163
  }
180
- vueDemi.watch(data, () => write(), { flush, deep });
181
- return { isFinished, data };
164
+ const {
165
+ pause: pauseWatch,
166
+ resume: resumeWatch
167
+ } = core.watchPausable(data, () => write(), { flush, deep });
168
+ async function setData(value) {
169
+ pauseWatch();
170
+ data.value = value;
171
+ await write();
172
+ resumeWatch();
173
+ }
174
+ return {
175
+ set: setData,
176
+ isFinished,
177
+ data
178
+ };
182
179
  }
183
180
 
184
181
  exports.useIDBKeyval = useIDBKeyval;
185
182
 
186
- })(this.VueUse = this.VueUse || {}, VueUse, VueDemi, idbKeyval);
183
+ })(this.VueUse = this.VueUse || {}, VueUse, VueUse, VueDemi, idbKeyval);
@@ -1 +1 @@
1
- var VueDemi=function(n,r,c){if(n.install)return n;if(!r)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),n;if(r.version.slice(0,4)==="2.7."){let s=function(a,u){var f,d={},v={config:r.config,use:r.use.bind(r),mixin:r.mixin.bind(r),component:r.component.bind(r),provide:function(e,t){return d[e]=t,this},directive:function(e,t){return t?(r.directive(e,t),v):r.directive(e)},mount:function(e,t){return f||(f=new r(Object.assign({propsData:u},a,{provide:Object.assign(d,a.provide)})),f.$mount(e,t),f)},unmount:function(){f&&(f.$destroy(),f=void 0)}};return v};var w=s;for(var o in r)n[o]=r[o];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=r,n.Vue2=r,n.version=r.version,n.warn=r.util.warn,n.hasInjectionContext=()=>!!n.getCurrentInstance(),n.createApp=s}else if(r.version.slice(0,2)==="2.")if(c){for(var o in c)n[o]=c[o];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=r,n.Vue2=r,n.version=r.version,n.hasInjectionContext=()=>!!n.getCurrentInstance()}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(r.version.slice(0,2)==="3."){for(var o in r)n[o]=r[o];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=r,n.Vue2=void 0,n.version=r.version,n.set=function(s,a,u){return Array.isArray(s)?(s.length=Math.max(s.length,a),s.splice(a,1,u),u):(s[a]=u,u)},n.del=function(s,a){if(Array.isArray(s)){s.splice(a,1);return}delete s[a]}}else console.error("[vue-demi] Vue version "+r.version+" is unsupported.");return n}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(n,r,c,o){"use strict";var w=Object.defineProperty,s=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,f=(e,t,i)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,d=(e,t)=>{for(var i in t||(t={}))a.call(t,i)&&f(e,i,t[i]);if(s)for(var i of s(t))u.call(t,i)&&f(e,i,t[i]);return e};function v(e,t,i={}){const{flush:_="pre",deep:I=!0,shallow:A=!1,onError:y=p=>{console.error(p)},writeDefaults:P=!0}=i,O=c.ref(!1),l=(A?c.shallowRef:c.ref)(t),h=r.toValue(t);async function b(){try{const p=await o.get(e);p===void 0?h!=null&&P&&await o.set(e,h):l.value=p}catch(p){y(p)}O.value=!0}b();async function g(){try{l.value==null?await o.del(e):Array.isArray(l.value)?await o.update(e,()=>JSON.parse(JSON.stringify(l.value))):typeof l.value=="object"?await o.update(e,()=>d({},l.value)):await o.update(e,()=>l.value)}catch(p){y(p)}}return c.watch(l,()=>g(),{flush:_,deep:I}),{isFinished:O,data:l}}n.useIDBKeyval=v})(this.VueUse=this.VueUse||{},VueUse,VueDemi,idbKeyval);
1
+ var VueDemi=function(n,e,d){if(n.install)return n;if(!e)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),n;if(e.version.slice(0,4)==="2.7."){let s=function(t,f){var i,v={},p={config:e.config,use:e.use.bind(e),mixin:e.mixin.bind(e),component:e.component.bind(e),provide:function(l,c){return v[l]=c,this},directive:function(l,c){return c?(e.directive(l,c),p):e.directive(l)},mount:function(l,c){return i||(i=new e(Object.assign({propsData:f},t,{provide:Object.assign(v,t.provide)})),i.$mount(l,c),i)},unmount:function(){i&&(i.$destroy(),i=void 0)}};return p};var u=s;for(var r in e)n[r]=e[r];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=e,n.Vue2=e,n.version=e.version,n.warn=e.util.warn,n.hasInjectionContext=()=>!!n.getCurrentInstance(),n.createApp=s}else if(e.version.slice(0,2)==="2.")if(d){for(var r in d)n[r]=d[r];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=e,n.Vue2=e,n.version=e.version,n.hasInjectionContext=()=>!!n.getCurrentInstance()}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 r in e)n[r]=e[r];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=e,n.Vue2=void 0,n.version=e.version,n.set=function(s,t,f){return Array.isArray(s)?(s.length=Math.max(s.length,t),s.splice(t,1,f),f):(s[t]=f,f)},n.del=function(s,t){if(Array.isArray(s)){s.splice(t,1);return}delete s[t]}}else console.error("[vue-demi] Vue version "+e.version+" is unsupported.");return n}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(n,e,d,r,u){"use strict";function s(t,f,i={}){const{flush:v="pre",deep:p=!0,shallow:l=!1,onError:c=a=>{console.error(a)},writeDefaults:I=!0}=i,w=r.ref(!1),o=(l?r.shallowRef:r.ref)(f),h=e.toValue(f);async function y(){try{const a=await u.get(t);a===void 0?h!=null&&I&&await u.set(t,h):o.value=a}catch(a){c(a)}w.value=!0}y();async function A(){try{o.value==null?await u.del(t):Array.isArray(o.value)?await u.update(t,()=>JSON.parse(JSON.stringify(o.value))):typeof o.value=="object"?await u.update(t,()=>({...o.value})):await u.update(t,()=>o.value)}catch(a){c(a)}}const{pause:b,resume:j}=d.watchPausable(o,()=>A(),{flush:v,deep:p});async function x(a){b(),o.value=a,await A(),j()}return{set:x,isFinished:w,data:o}}n.useIDBKeyval=s})(this.VueUse=this.VueUse||{},VueUse,VueUse,VueDemi,idbKeyval);
package/useIDBKeyval.mjs CHANGED
@@ -1,23 +1,8 @@
1
1
  import { toValue } from '@vueuse/shared';
2
- import { ref, shallowRef, watch } from 'vue-demi';
2
+ import { watchPausable } from '@vueuse/core';
3
+ import { ref, shallowRef } from 'vue-demi';
3
4
  import { get, set, del, update } from 'idb-keyval';
4
5
 
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
6
  function useIDBKeyval(key, initialValue, options = {}) {
22
7
  const {
23
8
  flush = "pre",
@@ -54,7 +39,7 @@ function useIDBKeyval(key, initialValue, options = {}) {
54
39
  if (Array.isArray(data.value))
55
40
  await update(key, () => JSON.parse(JSON.stringify(data.value)));
56
41
  else if (typeof data.value === "object")
57
- await update(key, () => __spreadValues({}, data.value));
42
+ await update(key, () => ({ ...data.value }));
58
43
  else
59
44
  await update(key, () => data.value);
60
45
  }
@@ -62,8 +47,21 @@ function useIDBKeyval(key, initialValue, options = {}) {
62
47
  onError(e);
63
48
  }
64
49
  }
65
- watch(data, () => write(), { flush, deep });
66
- return { isFinished, data };
50
+ const {
51
+ pause: pauseWatch,
52
+ resume: resumeWatch
53
+ } = watchPausable(data, () => write(), { flush, deep });
54
+ async function setData(value) {
55
+ pauseWatch();
56
+ data.value = value;
57
+ await write();
58
+ resumeWatch();
59
+ }
60
+ return {
61
+ set: setData,
62
+ isFinished,
63
+ data
64
+ };
67
65
  }
68
66
 
69
67
  export { useIDBKeyval };
package/useJwt.cjs CHANGED
@@ -13,7 +13,7 @@ function useJwt(encodedJwt, options = {}) {
13
13
  try {
14
14
  return jwt_decode(encodedJwt2, options2);
15
15
  } catch (err) {
16
- onError == null ? void 0 : onError(err);
16
+ onError?.(err);
17
17
  return fallbackValue;
18
18
  }
19
19
  };
package/useJwt.d.cts ADDED
@@ -0,0 +1,29 @@
1
+ import { ComputedRef } from 'vue-demi';
2
+ import { MaybeRefOrGetter } from '@vueuse/shared';
3
+ import { JwtPayload, JwtHeader } from 'jwt-decode';
4
+
5
+ interface UseJwtOptions<Fallback> {
6
+ /**
7
+ * Value returned when encounter error on decoding
8
+ *
9
+ * @default null
10
+ */
11
+ fallbackValue?: Fallback;
12
+ /**
13
+ * Error callback for decoding
14
+ */
15
+ onError?: (error: unknown) => void;
16
+ }
17
+ interface UseJwtReturn<Payload, Header, Fallback> {
18
+ header: ComputedRef<Header | Fallback>;
19
+ payload: ComputedRef<Payload | Fallback>;
20
+ }
21
+ /**
22
+ * Reactive decoded jwt token.
23
+ *
24
+ * @see https://vueuse.org/useJwt
25
+ * @param jwt
26
+ */
27
+ declare function useJwt<Payload extends object = JwtPayload, Header extends object = JwtHeader, Fallback = null>(encodedJwt: MaybeRefOrGetter<string>, options?: UseJwtOptions<Fallback>): UseJwtReturn<Payload, Header, Fallback>;
28
+
29
+ export { type UseJwtOptions, type UseJwtReturn, useJwt };
package/useJwt.d.mts ADDED
@@ -0,0 +1,29 @@
1
+ import { ComputedRef } from 'vue-demi';
2
+ import { MaybeRefOrGetter } from '@vueuse/shared';
3
+ import { JwtPayload, JwtHeader } from 'jwt-decode';
4
+
5
+ interface UseJwtOptions<Fallback> {
6
+ /**
7
+ * Value returned when encounter error on decoding
8
+ *
9
+ * @default null
10
+ */
11
+ fallbackValue?: Fallback;
12
+ /**
13
+ * Error callback for decoding
14
+ */
15
+ onError?: (error: unknown) => void;
16
+ }
17
+ interface UseJwtReturn<Payload, Header, Fallback> {
18
+ header: ComputedRef<Header | Fallback>;
19
+ payload: ComputedRef<Payload | Fallback>;
20
+ }
21
+ /**
22
+ * Reactive decoded jwt token.
23
+ *
24
+ * @see https://vueuse.org/useJwt
25
+ * @param jwt
26
+ */
27
+ declare function useJwt<Payload extends object = JwtPayload, Header extends object = JwtHeader, Fallback = null>(encodedJwt: MaybeRefOrGetter<string>, options?: UseJwtOptions<Fallback>): UseJwtReturn<Payload, Header, Fallback>;
28
+
29
+ export { type UseJwtOptions, type UseJwtReturn, useJwt };
package/useJwt.d.ts CHANGED
@@ -26,4 +26,4 @@ interface UseJwtReturn<Payload, Header, Fallback> {
26
26
  */
27
27
  declare function useJwt<Payload extends object = JwtPayload, Header extends object = JwtHeader, Fallback = null>(encodedJwt: MaybeRefOrGetter<string>, options?: UseJwtOptions<Fallback>): UseJwtReturn<Payload, Header, Fallback>;
28
28
 
29
- export { UseJwtOptions, UseJwtReturn, useJwt };
29
+ export { type UseJwtOptions, type UseJwtReturn, useJwt };
package/useJwt.iife.js CHANGED
@@ -126,7 +126,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
126
126
  try {
127
127
  return jwt_decode(encodedJwt2, options2);
128
128
  } catch (err) {
129
- onError == null ? void 0 : onError(err);
129
+ onError?.(err);
130
130
  return fallbackValue;
131
131
  }
132
132
  };