@vueuse/shared 9.9.0 → 9.11.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/index.cjs +57 -28
- package/index.d.ts +60 -38
- package/index.iife.js +57 -28
- package/index.iife.min.js +1 -1
- package/index.mjs +57 -29
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -65,7 +65,9 @@ function resolveUnref(r) {
|
|
|
65
65
|
|
|
66
66
|
function createFilterWrapper(filter, fn) {
|
|
67
67
|
function wrapper(...args) {
|
|
68
|
-
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
return wrapper;
|
|
71
73
|
}
|
|
@@ -75,48 +77,64 @@ const bypassFilter = (invoke) => {
|
|
|
75
77
|
function debounceFilter(ms, options = {}) {
|
|
76
78
|
let timer;
|
|
77
79
|
let maxTimer;
|
|
80
|
+
let lastRejector = noop;
|
|
81
|
+
const _clearTimeout = (timer2) => {
|
|
82
|
+
clearTimeout(timer2);
|
|
83
|
+
lastRejector();
|
|
84
|
+
lastRejector = noop;
|
|
85
|
+
};
|
|
78
86
|
const filter = (invoke) => {
|
|
79
87
|
const duration = resolveUnref(ms);
|
|
80
88
|
const maxDuration = resolveUnref(options.maxWait);
|
|
81
89
|
if (timer)
|
|
82
|
-
|
|
90
|
+
_clearTimeout(timer);
|
|
83
91
|
if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {
|
|
84
92
|
if (maxTimer) {
|
|
85
|
-
|
|
93
|
+
_clearTimeout(maxTimer);
|
|
86
94
|
maxTimer = null;
|
|
87
95
|
}
|
|
88
|
-
return invoke();
|
|
96
|
+
return Promise.resolve(invoke());
|
|
89
97
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
return new Promise((resolve, reject) => {
|
|
99
|
+
lastRejector = options.rejectOnCancel ? reject : resolve;
|
|
100
|
+
if (maxDuration && !maxTimer) {
|
|
101
|
+
maxTimer = setTimeout(() => {
|
|
102
|
+
if (timer)
|
|
103
|
+
_clearTimeout(timer);
|
|
104
|
+
maxTimer = null;
|
|
105
|
+
resolve(invoke());
|
|
106
|
+
}, maxDuration);
|
|
107
|
+
}
|
|
108
|
+
timer = setTimeout(() => {
|
|
109
|
+
if (maxTimer)
|
|
110
|
+
_clearTimeout(maxTimer);
|
|
94
111
|
maxTimer = null;
|
|
95
|
-
invoke();
|
|
96
|
-
},
|
|
97
|
-
}
|
|
98
|
-
timer = setTimeout(() => {
|
|
99
|
-
if (maxTimer)
|
|
100
|
-
clearTimeout(maxTimer);
|
|
101
|
-
maxTimer = null;
|
|
102
|
-
invoke();
|
|
103
|
-
}, duration);
|
|
112
|
+
resolve(invoke());
|
|
113
|
+
}, duration);
|
|
114
|
+
});
|
|
104
115
|
};
|
|
105
116
|
return filter;
|
|
106
117
|
}
|
|
107
|
-
function throttleFilter(ms, trailing = true, leading = true) {
|
|
118
|
+
function throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {
|
|
108
119
|
let lastExec = 0;
|
|
109
120
|
let timer;
|
|
110
121
|
let isLeading = true;
|
|
122
|
+
let lastRejector = noop;
|
|
123
|
+
let lastValue;
|
|
111
124
|
const clear = () => {
|
|
112
125
|
if (timer) {
|
|
113
126
|
clearTimeout(timer);
|
|
114
127
|
timer = void 0;
|
|
128
|
+
lastRejector();
|
|
129
|
+
lastRejector = noop;
|
|
115
130
|
}
|
|
116
131
|
};
|
|
117
|
-
const filter = (
|
|
132
|
+
const filter = (_invoke) => {
|
|
118
133
|
const duration = resolveUnref(ms);
|
|
119
134
|
const elapsed = Date.now() - lastExec;
|
|
135
|
+
const invoke = () => {
|
|
136
|
+
return lastValue = _invoke();
|
|
137
|
+
};
|
|
120
138
|
clear();
|
|
121
139
|
if (duration <= 0) {
|
|
122
140
|
lastExec = Date.now();
|
|
@@ -126,16 +144,20 @@ function throttleFilter(ms, trailing = true, leading = true) {
|
|
|
126
144
|
lastExec = Date.now();
|
|
127
145
|
invoke();
|
|
128
146
|
} else if (trailing) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
147
|
+
return new Promise((resolve, reject) => {
|
|
148
|
+
lastRejector = rejectOnCancel ? reject : resolve;
|
|
149
|
+
timer = setTimeout(() => {
|
|
150
|
+
lastExec = Date.now();
|
|
151
|
+
isLeading = true;
|
|
152
|
+
resolve(invoke());
|
|
153
|
+
clear();
|
|
154
|
+
}, duration - elapsed);
|
|
155
|
+
});
|
|
135
156
|
}
|
|
136
157
|
if (!leading && !timer)
|
|
137
158
|
timer = setTimeout(() => isLeading = true, duration);
|
|
138
159
|
isLeading = false;
|
|
160
|
+
return lastValue;
|
|
139
161
|
};
|
|
140
162
|
return filter;
|
|
141
163
|
}
|
|
@@ -306,7 +328,9 @@ function createGlobalState(stateFactory) {
|
|
|
306
328
|
function createInjectionState(composable) {
|
|
307
329
|
const key = Symbol("InjectionState");
|
|
308
330
|
const useProvidingState = (...args) => {
|
|
309
|
-
|
|
331
|
+
const state = composable(...args);
|
|
332
|
+
vueDemi.provide(key, state);
|
|
333
|
+
return state;
|
|
310
334
|
};
|
|
311
335
|
const useInjectedState = () => vueDemi.inject(key);
|
|
312
336
|
return [useProvidingState, useInjectedState];
|
|
@@ -530,8 +554,8 @@ function refDefault(source, defaultValue) {
|
|
|
530
554
|
});
|
|
531
555
|
}
|
|
532
556
|
|
|
533
|
-
function useThrottleFn(fn, ms = 200, trailing = false, leading = true) {
|
|
534
|
-
return createFilterWrapper(throttleFilter(ms, trailing, leading), fn);
|
|
557
|
+
function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {
|
|
558
|
+
return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);
|
|
535
559
|
}
|
|
536
560
|
|
|
537
561
|
function refThrottled(value, delay = 200, trailing = true, leading = true) {
|
|
@@ -863,6 +887,10 @@ function useArraySome(list, fn) {
|
|
|
863
887
|
return vueDemi.computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));
|
|
864
888
|
}
|
|
865
889
|
|
|
890
|
+
function useArrayUnique(list) {
|
|
891
|
+
return vueDemi.computed(() => [...new Set(resolveUnref(list).map((element) => resolveUnref(element)))]);
|
|
892
|
+
}
|
|
893
|
+
|
|
866
894
|
function useCounter(initialValue = 0, options = {}) {
|
|
867
895
|
const count = vueDemi.ref(initialValue);
|
|
868
896
|
const {
|
|
@@ -1608,6 +1636,7 @@ exports.useArrayJoin = useArrayJoin;
|
|
|
1608
1636
|
exports.useArrayMap = useArrayMap;
|
|
1609
1637
|
exports.useArrayReduce = useArrayReduce;
|
|
1610
1638
|
exports.useArraySome = useArraySome;
|
|
1639
|
+
exports.useArrayUnique = useArrayUnique;
|
|
1611
1640
|
exports.useCounter = useCounter;
|
|
1612
1641
|
exports.useDateFormat = useDateFormat;
|
|
1613
1642
|
exports.useDebounce = refDebounced;
|
package/index.d.ts
CHANGED
|
@@ -16,11 +16,11 @@ interface WritableComputedRefWithControl<T> extends WritableComputedRef<T>, Comp
|
|
|
16
16
|
declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: ComputedGetter<T>): ComputedRefWithControl<T>;
|
|
17
17
|
declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: WritableComputedOptions<T>): WritableComputedRefWithControl<T>;
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
type EventHookOn<T = any> = (fn: (param: T) => void) => {
|
|
20
20
|
off: () => void;
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
type EventHookOff<T = any> = (fn: (param: T) => void) => void;
|
|
23
|
+
type EventHookTrigger<T = any> = (param: T) => void;
|
|
24
24
|
interface EventHook<T = any> {
|
|
25
25
|
on: EventHookOn<T>;
|
|
26
26
|
off: EventHookOff<T>;
|
|
@@ -33,7 +33,7 @@ interface EventHook<T = any> {
|
|
|
33
33
|
*/
|
|
34
34
|
declare function createEventHook<T = any>(): EventHook<T>;
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
type CreateGlobalStateReturn<T> = () => T;
|
|
37
37
|
/**
|
|
38
38
|
* Keep states in the global scope to be reusable across Vue instances.
|
|
39
39
|
*
|
|
@@ -48,7 +48,7 @@ declare function createGlobalState<T>(stateFactory: () => T): CreateGlobalStateR
|
|
|
48
48
|
* @see https://vueuse.org/createInjectionState
|
|
49
49
|
*
|
|
50
50
|
*/
|
|
51
|
-
declare function createInjectionState<Arguments extends Array<any>, Return>(composable: (...args: Arguments) => Return): readonly [useProvidingState: (...args: Arguments) =>
|
|
51
|
+
declare function createInjectionState<Arguments extends Array<any>, Return>(composable: (...args: Arguments) => Return): readonly [useProvidingState: (...args: Arguments) => Return, useInjectedState: () => Return | undefined];
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* Make a composable function usable with multiple Vue instances.
|
|
@@ -97,21 +97,25 @@ declare const rand: (min: number, max: number) => number;
|
|
|
97
97
|
declare const isIOS: boolean | "";
|
|
98
98
|
declare const hasOwn: <T extends object, K extends keyof T>(val: T, key: K) => key is K;
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Void function
|
|
102
|
+
*/
|
|
103
|
+
type Fn = () => void;
|
|
100
104
|
/**
|
|
101
105
|
* Any function
|
|
102
106
|
*/
|
|
103
|
-
|
|
107
|
+
type AnyFn = (...args: any[]) => any;
|
|
104
108
|
/**
|
|
105
109
|
* A ref that allow to set null or undefined
|
|
106
110
|
*/
|
|
107
|
-
|
|
111
|
+
type RemovableRef<T> = Omit<Ref<T>, 'value'> & {
|
|
108
112
|
get value(): T;
|
|
109
113
|
set value(value: T | null | undefined);
|
|
110
114
|
};
|
|
111
115
|
/**
|
|
112
116
|
* @deprecated Use `RemovableRef`
|
|
113
117
|
*/
|
|
114
|
-
|
|
118
|
+
type RemoveableRef<T> = RemovableRef<T>;
|
|
115
119
|
/**
|
|
116
120
|
* Maybe it's a ref, or a plain value
|
|
117
121
|
*
|
|
@@ -119,7 +123,7 @@ declare type RemoveableRef<T> = RemovableRef<T>;
|
|
|
119
123
|
* type MaybeRef<T> = T | Ref<T>
|
|
120
124
|
* ```
|
|
121
125
|
*/
|
|
122
|
-
|
|
126
|
+
type MaybeRef<T> = T | Ref<T>;
|
|
123
127
|
/**
|
|
124
128
|
* Maybe it's a ref, or a plain value, or a getter function
|
|
125
129
|
*
|
|
@@ -127,7 +131,7 @@ declare type MaybeRef<T> = T | Ref<T>;
|
|
|
127
131
|
* type MaybeComputedRef<T> = (() => T) | T | Ref<T> | ComputedRef<T>
|
|
128
132
|
* ```
|
|
129
133
|
*/
|
|
130
|
-
|
|
134
|
+
type MaybeComputedRef<T> = MaybeReadonlyRef<T> | MaybeRef<T>;
|
|
131
135
|
/**
|
|
132
136
|
* Maybe it's a computed ref, or a getter function
|
|
133
137
|
*
|
|
@@ -135,7 +139,7 @@ declare type MaybeComputedRef<T> = MaybeReadonlyRef<T> | MaybeRef<T>;
|
|
|
135
139
|
* type MaybeReadonlyRef<T> = (() => T) | ComputedRef<T>
|
|
136
140
|
* ```
|
|
137
141
|
*/
|
|
138
|
-
|
|
142
|
+
type MaybeReadonlyRef<T> = (() => T) | ComputedRef<T>;
|
|
139
143
|
/**
|
|
140
144
|
* Make all the nested attributes of an object or array to MaybeRef<T>
|
|
141
145
|
*
|
|
@@ -145,17 +149,18 @@ declare type MaybeReadonlyRef<T> = (() => T) | ComputedRef<T>;
|
|
|
145
149
|
* UnwrapRef<DeepMaybeRef<T>> === T
|
|
146
150
|
* ```
|
|
147
151
|
*/
|
|
148
|
-
|
|
152
|
+
type DeepMaybeRef<T> = T extends Ref<infer V> ? MaybeRef<V> : T extends Array<any> | object ? {
|
|
149
153
|
[K in keyof T]: DeepMaybeRef<T[K]>;
|
|
150
154
|
} : MaybeRef<T>;
|
|
151
|
-
|
|
155
|
+
type Arrayable<T> = T[] | T;
|
|
152
156
|
/**
|
|
153
157
|
* Infers the element type of an array
|
|
154
158
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
type ElementOf<T> = T extends (infer E)[] ? E : never;
|
|
160
|
+
type ShallowUnwrapRef<T> = T extends Ref<infer P> ? P : T;
|
|
161
|
+
type Awaitable<T> = Promise<T> | T;
|
|
162
|
+
type ArgumentsType<T> = T extends (...args: infer U) => any ? U : never;
|
|
163
|
+
type PromisifyFn<T extends AnyFn> = (...args: ArgumentsType<T>) => Promise<ReturnType<T>>;
|
|
159
164
|
interface Pausable {
|
|
160
165
|
/**
|
|
161
166
|
* A ref indicate whether a pausable instance is active
|
|
@@ -187,7 +192,7 @@ interface Stoppable {
|
|
|
187
192
|
/**
|
|
188
193
|
* @deprecated Use `Stoppable`
|
|
189
194
|
*/
|
|
190
|
-
|
|
195
|
+
type Stopable = Stoppable;
|
|
191
196
|
interface ConfigurableFlush {
|
|
192
197
|
/**
|
|
193
198
|
* Timing for monitoring changes, refer to WatchOptions for more details
|
|
@@ -205,20 +210,20 @@ interface ConfigurableFlushSync {
|
|
|
205
210
|
*/
|
|
206
211
|
flush?: WatchOptions['flush'];
|
|
207
212
|
}
|
|
208
|
-
|
|
213
|
+
type MapSources<T> = {
|
|
209
214
|
[K in keyof T]: T[K] extends WatchSource<infer V> ? V : never;
|
|
210
215
|
};
|
|
211
|
-
|
|
216
|
+
type MapOldSources<T, Immediate> = {
|
|
212
217
|
[K in keyof T]: T[K] extends WatchSource<infer V> ? Immediate extends true ? V | undefined : V : never;
|
|
213
218
|
};
|
|
214
219
|
|
|
215
|
-
|
|
220
|
+
type FunctionArgs<Args extends any[] = any[], Return = void> = (...args: Args) => Return;
|
|
216
221
|
interface FunctionWrapperOptions<Args extends any[] = any[], This = any> {
|
|
217
222
|
fn: FunctionArgs<Args, This>;
|
|
218
223
|
args: Args;
|
|
219
224
|
thisArg: This;
|
|
220
225
|
}
|
|
221
|
-
|
|
226
|
+
type EventFilter<Args extends any[] = any[], This = any, Invoke extends AnyFn = AnyFn> = (invoke: Invoke, options: FunctionWrapperOptions<Args, This>) => ReturnType<Invoke> | Promise<ReturnType<Invoke>>;
|
|
222
227
|
interface ConfigurableEventFilter {
|
|
223
228
|
/**
|
|
224
229
|
* Filter for if events should to be received.
|
|
@@ -233,11 +238,17 @@ interface DebounceFilterOptions {
|
|
|
233
238
|
* In milliseconds.
|
|
234
239
|
*/
|
|
235
240
|
maxWait?: MaybeComputedRef<number>;
|
|
241
|
+
/**
|
|
242
|
+
* Whether to reject the last call if it's been cancel.
|
|
243
|
+
*
|
|
244
|
+
* @default false
|
|
245
|
+
*/
|
|
246
|
+
rejectOnCancel?: boolean;
|
|
236
247
|
}
|
|
237
248
|
/**
|
|
238
249
|
* @internal
|
|
239
250
|
*/
|
|
240
|
-
declare function createFilterWrapper<T extends
|
|
251
|
+
declare function createFilterWrapper<T extends AnyFn>(filter: EventFilter, fn: T): (this: any, ...args: ArgumentsType<T>) => Promise<ReturnType<T>>;
|
|
241
252
|
declare const bypassFilter: EventFilter;
|
|
242
253
|
/**
|
|
243
254
|
* Create an EventFilter that debounce the events
|
|
@@ -245,15 +256,16 @@ declare const bypassFilter: EventFilter;
|
|
|
245
256
|
* @param ms
|
|
246
257
|
* @param options
|
|
247
258
|
*/
|
|
248
|
-
declare function debounceFilter(ms: MaybeComputedRef<number>, options?: DebounceFilterOptions): EventFilter<any[], any>;
|
|
259
|
+
declare function debounceFilter(ms: MaybeComputedRef<number>, options?: DebounceFilterOptions): EventFilter<any[], any, AnyFn>;
|
|
249
260
|
/**
|
|
250
261
|
* Create an EventFilter that throttle the events
|
|
251
262
|
*
|
|
252
263
|
* @param ms
|
|
253
264
|
* @param [trailing=true]
|
|
254
265
|
* @param [leading=true]
|
|
266
|
+
* @param [rejectOnCancel=false]
|
|
255
267
|
*/
|
|
256
|
-
declare function throttleFilter(ms: MaybeComputedRef<number>, trailing?: boolean, leading?: boolean): EventFilter<any[], any>;
|
|
268
|
+
declare function throttleFilter(ms: MaybeComputedRef<number>, trailing?: boolean, leading?: boolean, rejectOnCancel?: boolean): EventFilter<any[], any, AnyFn>;
|
|
257
269
|
/**
|
|
258
270
|
* EventFilter that gives extra controls to pause and resume the filter
|
|
259
271
|
*
|
|
@@ -311,7 +323,7 @@ declare function increaseWithUnit(target: string | number, delta: number): strin
|
|
|
311
323
|
*
|
|
312
324
|
* @category Object
|
|
313
325
|
*/
|
|
314
|
-
declare function objectPick<O, T extends keyof O>(obj: O, keys: T[], omitUndefined?: boolean): Pick<O, T>;
|
|
326
|
+
declare function objectPick<O extends object, T extends keyof O>(obj: O, keys: T[], omitUndefined?: boolean): Pick<O, T>;
|
|
315
327
|
|
|
316
328
|
/**
|
|
317
329
|
* Shorthand for accessing `ref.value`
|
|
@@ -325,7 +337,7 @@ declare function isDefined<T>(v: T): v is Exclude<T, null | undefined>;
|
|
|
325
337
|
|
|
326
338
|
declare function makeDestructurable<T extends Record<string, unknown>, A extends readonly any[]>(obj: T, arr: A): T & A;
|
|
327
339
|
|
|
328
|
-
|
|
340
|
+
type Reactified<T, Computed extends boolean> = T extends (...args: infer A) => infer R ? (...args: {
|
|
329
341
|
[K in keyof A]: Computed extends true ? MaybeComputedRef<A[K]> : MaybeRef<A[K]>;
|
|
330
342
|
}) => ComputedRef<R> : never;
|
|
331
343
|
interface ReactifyOptions<T extends boolean> {
|
|
@@ -345,7 +357,7 @@ interface ReactifyOptions<T extends boolean> {
|
|
|
345
357
|
*/
|
|
346
358
|
declare function reactify<T extends Function, K extends boolean = true>(fn: T, options?: ReactifyOptions<K>): Reactified<T, K>;
|
|
347
359
|
|
|
348
|
-
|
|
360
|
+
type ReactifyNested<T, Keys extends keyof T = keyof T, S extends boolean = true> = {
|
|
349
361
|
[K in Keys]: T[K] extends (...args: any[]) => any ? Reactified<T[K], S> : T[K];
|
|
350
362
|
};
|
|
351
363
|
interface ReactifyObjectOptions<T extends boolean> extends ReactifyOptions<T> {
|
|
@@ -609,7 +621,7 @@ interface UntilBaseInstance<T, Not extends boolean = false> {
|
|
|
609
621
|
changed(options?: UntilToMatchOptions): Promise<T>;
|
|
610
622
|
changedTimes(n?: number, options?: UntilToMatchOptions): Promise<T>;
|
|
611
623
|
}
|
|
612
|
-
|
|
624
|
+
type Falsy = false | void | null | undefined | 0 | 0n | '';
|
|
613
625
|
interface UntilValueInstance<T, Not extends boolean = false> extends UntilBaseInstance<T, Not> {
|
|
614
626
|
readonly not: UntilValueInstance<T, Not extends true ? false : true>;
|
|
615
627
|
toBe<P = T>(value: MaybeComputedRef<P>, options?: UntilToMatchOptions): Not extends true ? Promise<T> : Promise<P>;
|
|
@@ -704,7 +716,7 @@ declare function useArrayJoin(list: MaybeComputedRef<MaybeComputedRef<any>[]>, s
|
|
|
704
716
|
*/
|
|
705
717
|
declare function useArrayMap<T, U = T>(list: MaybeComputedRef<MaybeComputedRef<T>[]>, fn: (element: T, index: number, array: T[]) => U): ComputedRef<U[]>;
|
|
706
718
|
|
|
707
|
-
|
|
719
|
+
type UseArrayReducer<PV, CV, R> = (previousValue: PV, currentValue: CV, currentIndex: number) => R;
|
|
708
720
|
/**
|
|
709
721
|
* Reactive `Array.reduce`
|
|
710
722
|
*
|
|
@@ -738,6 +750,14 @@ declare function useArrayReduce<T, U>(list: MaybeComputedRef<MaybeComputedRef<T>
|
|
|
738
750
|
*/
|
|
739
751
|
declare function useArraySome<T>(list: MaybeComputedRef<MaybeComputedRef<T>[]>, fn: (element: T, index: number, array: MaybeComputedRef<T>[]) => unknown): ComputedRef<boolean>;
|
|
740
752
|
|
|
753
|
+
/**
|
|
754
|
+
* reactive unique array
|
|
755
|
+
* @see https://vueuse.org/useArrayUnique
|
|
756
|
+
* @param {Array} list - the array was called upon.
|
|
757
|
+
* @returns {Array} A computed ref that returns a unique array of items.
|
|
758
|
+
*/
|
|
759
|
+
declare function useArrayUnique<T>(list: MaybeComputedRef<MaybeComputedRef<T>[]>): ComputedRef<T[]>;
|
|
760
|
+
|
|
741
761
|
interface UseCounterOptions {
|
|
742
762
|
min?: number;
|
|
743
763
|
max?: number;
|
|
@@ -758,7 +778,7 @@ declare function useCounter(initialValue?: number, options?: UseCounterOptions):
|
|
|
758
778
|
reset: (val?: number) => number;
|
|
759
779
|
};
|
|
760
780
|
|
|
761
|
-
|
|
781
|
+
type DateLike = Date | number | string | undefined;
|
|
762
782
|
interface UseDateFormatOptions {
|
|
763
783
|
/**
|
|
764
784
|
* The locale(s) to used for dd/ddd/dddd/MMM/MMMM format
|
|
@@ -783,7 +803,7 @@ declare const normalizeDate: (date: DateLike) => Date;
|
|
|
783
803
|
* @param options - UseDateFormatOptions
|
|
784
804
|
*/
|
|
785
805
|
declare function useDateFormat(date: MaybeComputedRef<DateLike>, formatStr?: MaybeComputedRef<string>, options?: UseDateFormatOptions): vue_demi.ComputedRef<string>;
|
|
786
|
-
|
|
806
|
+
type UseDateFormatReturn = ReturnType<typeof useDateFormat>;
|
|
787
807
|
|
|
788
808
|
/**
|
|
789
809
|
* Debounce execution of a function.
|
|
@@ -795,7 +815,7 @@ declare type UseDateFormatReturn = ReturnType<typeof useDateFormat>;
|
|
|
795
815
|
*
|
|
796
816
|
* @return A new, debounce, function.
|
|
797
817
|
*/
|
|
798
|
-
declare function useDebounceFn<T extends FunctionArgs>(fn: T, ms?: MaybeComputedRef<number>, options?: DebounceFilterOptions): T
|
|
818
|
+
declare function useDebounceFn<T extends FunctionArgs>(fn: T, ms?: MaybeComputedRef<number>, options?: DebounceFilterOptions): PromisifyFn<T>;
|
|
799
819
|
|
|
800
820
|
interface UseIntervalOptions<Controls extends boolean> {
|
|
801
821
|
/**
|
|
@@ -874,9 +894,11 @@ declare function useLastChanged(source: WatchSource, options: UseLastChangedOpti
|
|
|
874
894
|
*
|
|
875
895
|
* @param [leading=true] if true, call fn on the leading edge of the ms timeout
|
|
876
896
|
*
|
|
897
|
+
* @param [rejectOnCancel=false] if true, reject the last call if it's been cancel
|
|
898
|
+
*
|
|
877
899
|
* @return A new, throttled, function.
|
|
878
900
|
*/
|
|
879
|
-
declare function useThrottleFn<T extends FunctionArgs>(fn: T, ms?: MaybeComputedRef<number>, trailing?: boolean, leading?: boolean): T
|
|
901
|
+
declare function useThrottleFn<T extends FunctionArgs>(fn: T, ms?: MaybeComputedRef<number>, trailing?: boolean, leading?: boolean, rejectOnCancel?: boolean): PromisifyFn<T>;
|
|
880
902
|
|
|
881
903
|
interface UseTimeoutFnOptions {
|
|
882
904
|
/**
|
|
@@ -988,7 +1010,7 @@ declare function watchDebounced<T extends Readonly<WatchSource<unknown>[]>, Imme
|
|
|
988
1010
|
declare function watchDebounced<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T>, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchDebouncedOptions<Immediate>): WatchStopHandle;
|
|
989
1011
|
declare function watchDebounced<T extends object, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchDebouncedOptions<Immediate>): WatchStopHandle;
|
|
990
1012
|
|
|
991
|
-
|
|
1013
|
+
type IgnoredUpdater = (updater: () => void) => void;
|
|
992
1014
|
interface WatchIgnorableReturn {
|
|
993
1015
|
ignoreUpdates: IgnoredUpdater;
|
|
994
1016
|
ignorePrevAsyncUpdates: () => void;
|
|
@@ -1021,8 +1043,8 @@ interface WatchTriggerableReturn<FnReturnT = void> extends WatchIgnorableReturn
|
|
|
1021
1043
|
/** Execute `WatchCallback` immediately */
|
|
1022
1044
|
trigger: () => FnReturnT;
|
|
1023
1045
|
}
|
|
1024
|
-
|
|
1025
|
-
|
|
1046
|
+
type OnCleanup = (cleanupFn: () => void) => void;
|
|
1047
|
+
type WatchTriggerableCallback<V = any, OV = any, R = void> = (value: V, oldValue: OV, onCleanup: OnCleanup) => R;
|
|
1026
1048
|
declare function watchTriggerable<T extends Readonly<WatchSource<unknown>[]>, FnReturnT>(sources: [...T], cb: WatchTriggerableCallback<MapSources<T>, MapOldSources<T, true>, FnReturnT>, options?: WatchWithFilterOptions<boolean>): WatchTriggerableReturn<FnReturnT>;
|
|
1027
1049
|
declare function watchTriggerable<T, FnReturnT>(source: WatchSource<T>, cb: WatchTriggerableCallback<T, T | undefined, FnReturnT>, options?: WatchWithFilterOptions<boolean>): WatchTriggerableReturn<FnReturnT>;
|
|
1028
1050
|
declare function watchTriggerable<T extends object, FnReturnT>(source: T, cb: WatchTriggerableCallback<T, T | undefined, FnReturnT>, options?: WatchWithFilterOptions<boolean>): WatchTriggerableReturn<FnReturnT>;
|
|
@@ -1034,4 +1056,4 @@ declare function watchTriggerable<T extends object, FnReturnT>(source: T, cb: Wa
|
|
|
1034
1056
|
*/
|
|
1035
1057
|
declare function whenever<T>(source: WatchSource<T | false | null | undefined>, cb: WatchCallback<T>, options?: WatchOptions): vue_demi.WatchStopHandle;
|
|
1036
1058
|
|
|
1037
|
-
export { ArgumentsType, Arrayable, Awaitable, ComputedRefWithControl, ComputedWithControlRefExtra, ConfigurableEventFilter, ConfigurableFlush, ConfigurableFlushSync, ControlledRefOptions, CreateGlobalStateReturn, DateLike, DebounceFilterOptions, DeepMaybeRef, ElementOf, EventFilter, EventHook, EventHookOff, EventHookOn, EventHookTrigger, ExtendRefOptions, Fn, FunctionArgs, FunctionWrapperOptions, IgnoredUpdater, MapOldSources, MapSources, MaybeComputedRef, MaybeReadonlyRef, MaybeRef, Pausable, Reactified, ReactifyNested, ReactifyObjectOptions, ReactifyOptions, RemovableRef, RemoveableRef, ShallowUnwrapRef, SingletonPromiseReturn, Stopable, Stoppable, SyncRefOptions, SyncRefsOptions, UntilArrayInstance, UntilBaseInstance, UntilToMatchOptions, UntilValueInstance, UseArrayReducer, UseCounterOptions, UseDateFormatOptions, UseDateFormatReturn, UseIntervalFnOptions, UseIntervalOptions, UseLastChangedOptions, UseTimeoutFnOptions, UseTimeoutOptions, UseToNumberOptions, UseToggleOptions, WatchArrayCallback, WatchAtMostOptions, WatchAtMostReturn, WatchDebouncedOptions, WatchIgnorableReturn, WatchPausableReturn, WatchThrottledOptions, WatchTriggerableCallback, WatchTriggerableReturn, WatchWithFilterOptions, WritableComputedRefWithControl, __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
|
|
1059
|
+
export { AnyFn, ArgumentsType, Arrayable, Awaitable, ComputedRefWithControl, ComputedWithControlRefExtra, ConfigurableEventFilter, ConfigurableFlush, ConfigurableFlushSync, ControlledRefOptions, CreateGlobalStateReturn, DateLike, DebounceFilterOptions, DeepMaybeRef, ElementOf, EventFilter, EventHook, EventHookOff, EventHookOn, EventHookTrigger, ExtendRefOptions, Fn, FunctionArgs, FunctionWrapperOptions, IgnoredUpdater, MapOldSources, MapSources, MaybeComputedRef, MaybeReadonlyRef, MaybeRef, Pausable, PromisifyFn, Reactified, ReactifyNested, ReactifyObjectOptions, ReactifyOptions, RemovableRef, RemoveableRef, ShallowUnwrapRef, SingletonPromiseReturn, Stopable, Stoppable, SyncRefOptions, SyncRefsOptions, UntilArrayInstance, UntilBaseInstance, UntilToMatchOptions, UntilValueInstance, UseArrayReducer, UseCounterOptions, UseDateFormatOptions, UseDateFormatReturn, UseIntervalFnOptions, UseIntervalOptions, UseLastChangedOptions, UseTimeoutFnOptions, UseTimeoutOptions, UseToNumberOptions, UseToggleOptions, WatchArrayCallback, WatchAtMostOptions, WatchAtMostReturn, WatchDebouncedOptions, WatchIgnorableReturn, WatchPausableReturn, WatchThrottledOptions, WatchTriggerableCallback, WatchTriggerableReturn, WatchWithFilterOptions, WritableComputedRefWithControl, __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
|
package/index.iife.js
CHANGED
|
@@ -178,7 +178,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
178
178
|
|
|
179
179
|
function createFilterWrapper(filter, fn) {
|
|
180
180
|
function wrapper(...args) {
|
|
181
|
-
|
|
181
|
+
return new Promise((resolve, reject) => {
|
|
182
|
+
Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);
|
|
183
|
+
});
|
|
182
184
|
}
|
|
183
185
|
return wrapper;
|
|
184
186
|
}
|
|
@@ -188,48 +190,64 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
188
190
|
function debounceFilter(ms, options = {}) {
|
|
189
191
|
let timer;
|
|
190
192
|
let maxTimer;
|
|
193
|
+
let lastRejector = noop;
|
|
194
|
+
const _clearTimeout = (timer2) => {
|
|
195
|
+
clearTimeout(timer2);
|
|
196
|
+
lastRejector();
|
|
197
|
+
lastRejector = noop;
|
|
198
|
+
};
|
|
191
199
|
const filter = (invoke) => {
|
|
192
200
|
const duration = resolveUnref(ms);
|
|
193
201
|
const maxDuration = resolveUnref(options.maxWait);
|
|
194
202
|
if (timer)
|
|
195
|
-
|
|
203
|
+
_clearTimeout(timer);
|
|
196
204
|
if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {
|
|
197
205
|
if (maxTimer) {
|
|
198
|
-
|
|
206
|
+
_clearTimeout(maxTimer);
|
|
199
207
|
maxTimer = null;
|
|
200
208
|
}
|
|
201
|
-
return invoke();
|
|
209
|
+
return Promise.resolve(invoke());
|
|
202
210
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
211
|
+
return new Promise((resolve, reject) => {
|
|
212
|
+
lastRejector = options.rejectOnCancel ? reject : resolve;
|
|
213
|
+
if (maxDuration && !maxTimer) {
|
|
214
|
+
maxTimer = setTimeout(() => {
|
|
215
|
+
if (timer)
|
|
216
|
+
_clearTimeout(timer);
|
|
217
|
+
maxTimer = null;
|
|
218
|
+
resolve(invoke());
|
|
219
|
+
}, maxDuration);
|
|
220
|
+
}
|
|
221
|
+
timer = setTimeout(() => {
|
|
222
|
+
if (maxTimer)
|
|
223
|
+
_clearTimeout(maxTimer);
|
|
207
224
|
maxTimer = null;
|
|
208
|
-
invoke();
|
|
209
|
-
},
|
|
210
|
-
}
|
|
211
|
-
timer = setTimeout(() => {
|
|
212
|
-
if (maxTimer)
|
|
213
|
-
clearTimeout(maxTimer);
|
|
214
|
-
maxTimer = null;
|
|
215
|
-
invoke();
|
|
216
|
-
}, duration);
|
|
225
|
+
resolve(invoke());
|
|
226
|
+
}, duration);
|
|
227
|
+
});
|
|
217
228
|
};
|
|
218
229
|
return filter;
|
|
219
230
|
}
|
|
220
|
-
function throttleFilter(ms, trailing = true, leading = true) {
|
|
231
|
+
function throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {
|
|
221
232
|
let lastExec = 0;
|
|
222
233
|
let timer;
|
|
223
234
|
let isLeading = true;
|
|
235
|
+
let lastRejector = noop;
|
|
236
|
+
let lastValue;
|
|
224
237
|
const clear = () => {
|
|
225
238
|
if (timer) {
|
|
226
239
|
clearTimeout(timer);
|
|
227
240
|
timer = void 0;
|
|
241
|
+
lastRejector();
|
|
242
|
+
lastRejector = noop;
|
|
228
243
|
}
|
|
229
244
|
};
|
|
230
|
-
const filter = (
|
|
245
|
+
const filter = (_invoke) => {
|
|
231
246
|
const duration = resolveUnref(ms);
|
|
232
247
|
const elapsed = Date.now() - lastExec;
|
|
248
|
+
const invoke = () => {
|
|
249
|
+
return lastValue = _invoke();
|
|
250
|
+
};
|
|
233
251
|
clear();
|
|
234
252
|
if (duration <= 0) {
|
|
235
253
|
lastExec = Date.now();
|
|
@@ -239,16 +257,20 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
239
257
|
lastExec = Date.now();
|
|
240
258
|
invoke();
|
|
241
259
|
} else if (trailing) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
260
|
+
return new Promise((resolve, reject) => {
|
|
261
|
+
lastRejector = rejectOnCancel ? reject : resolve;
|
|
262
|
+
timer = setTimeout(() => {
|
|
263
|
+
lastExec = Date.now();
|
|
264
|
+
isLeading = true;
|
|
265
|
+
resolve(invoke());
|
|
266
|
+
clear();
|
|
267
|
+
}, duration - elapsed);
|
|
268
|
+
});
|
|
248
269
|
}
|
|
249
270
|
if (!leading && !timer)
|
|
250
271
|
timer = setTimeout(() => isLeading = true, duration);
|
|
251
272
|
isLeading = false;
|
|
273
|
+
return lastValue;
|
|
252
274
|
};
|
|
253
275
|
return filter;
|
|
254
276
|
}
|
|
@@ -419,7 +441,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
419
441
|
function createInjectionState(composable) {
|
|
420
442
|
const key = Symbol("InjectionState");
|
|
421
443
|
const useProvidingState = (...args) => {
|
|
422
|
-
|
|
444
|
+
const state = composable(...args);
|
|
445
|
+
vueDemi.provide(key, state);
|
|
446
|
+
return state;
|
|
423
447
|
};
|
|
424
448
|
const useInjectedState = () => vueDemi.inject(key);
|
|
425
449
|
return [useProvidingState, useInjectedState];
|
|
@@ -643,8 +667,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
643
667
|
});
|
|
644
668
|
}
|
|
645
669
|
|
|
646
|
-
function useThrottleFn(fn, ms = 200, trailing = false, leading = true) {
|
|
647
|
-
return createFilterWrapper(throttleFilter(ms, trailing, leading), fn);
|
|
670
|
+
function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {
|
|
671
|
+
return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);
|
|
648
672
|
}
|
|
649
673
|
|
|
650
674
|
function refThrottled(value, delay = 200, trailing = true, leading = true) {
|
|
@@ -976,6 +1000,10 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
976
1000
|
return vueDemi.computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));
|
|
977
1001
|
}
|
|
978
1002
|
|
|
1003
|
+
function useArrayUnique(list) {
|
|
1004
|
+
return vueDemi.computed(() => [...new Set(resolveUnref(list).map((element) => resolveUnref(element)))]);
|
|
1005
|
+
}
|
|
1006
|
+
|
|
979
1007
|
function useCounter(initialValue = 0, options = {}) {
|
|
980
1008
|
const count = vueDemi.ref(initialValue);
|
|
981
1009
|
const {
|
|
@@ -1721,6 +1749,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1721
1749
|
exports.useArrayMap = useArrayMap;
|
|
1722
1750
|
exports.useArrayReduce = useArrayReduce;
|
|
1723
1751
|
exports.useArraySome = useArraySome;
|
|
1752
|
+
exports.useArrayUnique = useArrayUnique;
|
|
1724
1753
|
exports.useCounter = useCounter;
|
|
1725
1754
|
exports.useDateFormat = useDateFormat;
|
|
1726
1755
|
exports.useDebounce = refDebounced;
|
package/index.iife.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var VueDemi=function(o,i,F){if(o.install)return o;if(!i)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),o;if(i.version.slice(0,4)==="2.7."){let O=function(w,A){var g,C={},N={config:i.config,use:i.use.bind(i),mixin:i.mixin.bind(i),component:i.component.bind(i),provide:function(b,$){return C[b]=$,this},directive:function(b,$){return $?(i.directive(b,$),N):i.directive(b)},mount:function(b,$){return g||(g=new i(Object.assign({propsData:A},w,{provide:Object.assign(C,w.provide)})),g.$mount(b,$),g)},unmount:function(){g&&(g.$destroy(),g=void 0)}};return N};var zt=O;for(var P in i)o[P]=i[P];o.isVue2=!0,o.isVue3=!1,o.install=function(){},o.Vue=i,o.Vue2=i,o.version=i.version,o.warn=i.util.warn,o.createApp=O}else if(i.version.slice(0,2)==="2.")if(F){for(var P in F)o[P]=F[P];o.isVue2=!0,o.isVue3=!1,o.install=function(){},o.Vue=i,o.Vue2=i,o.version=i.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(i.version.slice(0,2)==="3."){for(var P in i)o[P]=i[P];o.isVue2=!1,o.isVue3=!0,o.install=function(){},o.Vue=i,o.Vue2=void 0,o.version=i.version,o.set=function(O,w,A){return Array.isArray(O)?(O.length=Math.max(O.length,w),O.splice(w,1,A),A):(O[w]=A,A)},o.del=function(O,w){if(Array.isArray(O)){O.splice(w,1);return}delete O[w]}}else console.error("[vue-demi] Vue version "+i.version+" is unsupported.");return o}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(o,i){"use strict";var F=Object.defineProperty,P=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,g=(t,e,r)=>e in t?F(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,C=(t,e)=>{for(var r in e||(e={}))w.call(e,r)&&g(t,r,e[r]);if(O)for(var r of O(e))A.call(e,r)&&g(t,r,e[r]);return t},N=(t,e)=>P(t,zt(e));function b(t,e){var r;const n=i.shallowRef();return i.watchEffect(()=>{n.value=t()},N(C({},e),{flush:(r=e==null?void 0:e.flush)!=null?r:"sync"})),i.readonly(n)}var $;const E=typeof window!="undefined",Zt=t=>typeof t!="undefined",Jt=(t,...e)=>{t||console.warn(...e)},D=Object.prototype.toString,Xt=t=>typeof t=="boolean",W=t=>typeof t=="function",qt=t=>typeof t=="number",Kt=t=>typeof t=="string",Qt=t=>D.call(t)==="[object Object]",Vt=t=>typeof window!="undefined"&&D.call(t)==="[object Window]",Dt=()=>Date.now(),x=()=>+Date.now(),xt=(t,e,r)=>Math.min(r,Math.max(e,t)),tt=()=>{},te=(t,e)=>(t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t),ee=E&&(($=window==null?void 0:window.navigator)==null?void 0:$.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent),re=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);function y(t){return typeof t=="function"?t():i.unref(t)}function M(t,e){function r(...n){t(()=>e.apply(this,n),{fn:e,thisArg:this,args:n})}return r}const U=t=>t();function G(t,e={}){let r,n;return l=>{const c=y(t),u=y(e.maxWait);if(r&&clearTimeout(r),c<=0||u!==void 0&&u<=0)return n&&(clearTimeout(n),n=null),l();u&&!n&&(n=setTimeout(()=>{r&&clearTimeout(r),n=null,l()},u)),r=setTimeout(()=>{n&&clearTimeout(n),n=null,l()},c)}}function z(t,e=!0,r=!0){let n=0,a,l=!0;const c=()=>{a&&(clearTimeout(a),a=void 0)};return d=>{const _=y(t),s=Date.now()-n;if(c(),_<=0)return n=Date.now(),d();s>_&&(r||!l)?(n=Date.now(),d()):e&&(a=setTimeout(()=>{n=Date.now(),l=!0,c(),d()},_-s)),!r&&!a&&(a=setTimeout(()=>l=!0,_)),l=!1}}function et(t=U){const e=i.ref(!0);function r(){e.value=!1}function n(){e.value=!0}return{isActive:e,pause:r,resume:n,eventFilter:(...l)=>{e.value&&t(...l)}}}function ne(t="this function"){if(!i.isVue3)throw new Error(`[VueUse] ${t} is only works on Vue 3.`)}function rt(t="this function"){if(!(i.isVue3||i.version.startsWith("2.7.")))throw new Error(`[VueUse] ${t} is only works on Vue 2.7 or above.`)}const oe={mounted:i.isVue3?"mounted":"inserted",updated:i.isVue3?"updated":"componentUpdated",unmounted:i.isVue3?"unmounted":"unbind"};function Z(t,e=!1,r="Timeout"){return new Promise((n,a)=>{setTimeout(e?()=>a(r):n,t)})}function ae(t){return t}function ie(t){let e;function r(){return e||(e=t()),e}return r.reset=async()=>{const n=e;e=void 0,n&&await n},r}function le(t){return t()}function ce(t,...e){return e.some(r=>r in t)}function ue(t,e){var r;if(typeof t=="number")return t+e;const n=((r=t.match(/^-?[0-9]+\.?[0-9]*/))==null?void 0:r[0])||"",a=t.slice(n.length),l=parseFloat(n)+e;return Number.isNaN(l)?t:l+a}function se(t,e,r=!1){return e.reduce((n,a)=>(a in t&&(!r||t[a]!==void 0)&&(n[a]=t[a]),n),{})}function nt(t,e){let r,n,a;const l=i.ref(!0),c=()=>{l.value=!0,a()};i.watch(t,c,{flush:"sync"});const u=W(e)?e:e.get,d=W(e)?void 0:e.set,_=i.customRef((s,f)=>(n=s,a=f,{get(){return l.value&&(r=u(),l.value=!1),n(),r},set(p){d==null||d(p)}}));return Object.isExtensible(_)&&(_.trigger=c),_}function j(t){return i.getCurrentScope()?(i.onScopeDispose(t),!0):!1}function fe(){const t=[],e=a=>{const l=t.indexOf(a);l!==-1&&t.splice(l,1)};return{on:a=>{t.push(a);const l=()=>e(a);return j(l),{off:l}},off:e,trigger:a=>{t.forEach(l=>l(a))}}}function de(t){let e=!1,r;const n=i.effectScope(!0);return()=>(e||(r=n.run(t),e=!0),r)}function pe(t){const e=Symbol("InjectionState");return[(...a)=>{i.provide(e,t(...a))},()=>i.inject(e)]}function ye(t){let e=0,r,n;const a=()=>{e-=1,n&&e<=0&&(n.stop(),r=void 0,n=void 0)};return(...l)=>(e+=1,r||(n=i.effectScope(!0),r=n.run(()=>t(...l))),j(a),r)}function ot(t,e,{enumerable:r=!1,unwrap:n=!0}={}){rt();for(const[a,l]of Object.entries(e))a!=="value"&&(i.isRef(l)&&n?Object.defineProperty(t,a,{get(){return l.value},set(c){l.value=c},enumerable:r}):Object.defineProperty(t,a,{value:l,enumerable:r}));return t}function _e(t,e){return e==null?i.unref(t):i.unref(t)[e]}function ve(t){return i.unref(t)!=null}var he=Object.defineProperty,at=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,it=(t,e,r)=>e in t?he(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ge=(t,e)=>{for(var r in e||(e={}))Oe.call(e,r)&&it(t,r,e[r]);if(at)for(var r of at(e))we.call(e,r)&&it(t,r,e[r]);return t};function Pe(t,e){if(typeof Symbol!="undefined"){const r=ge({},t);return Object.defineProperty(r,Symbol.iterator,{enumerable:!1,value(){let n=0;return{next:()=>({value:e[n++],done:n>e.length})}}}),r}else return Object.assign([...e],t)}function J(t,e){const r=(e==null?void 0:e.computedGetter)===!1?i.unref:y;return function(...n){return i.computed(()=>t.apply(this,n.map(a=>r(a))))}}function me(t,e={}){let r=[],n;if(Array.isArray(e))r=e;else{n=e;const{includeOwnProperties:a=!0}=e;r.push(...Object.keys(t)),a&&r.push(...Object.getOwnPropertyNames(t))}return Object.fromEntries(r.map(a=>{const l=t[a];return[a,typeof l=="function"?J(l.bind(t),n):l]}))}function lt(t){if(!i.isRef(t))return i.reactive(t);const e=new Proxy({},{get(r,n,a){return i.unref(Reflect.get(t.value,n,a))},set(r,n,a){return i.isRef(t.value[n])&&!i.isRef(a)?t.value[n].value=a:t.value[n]=a,!0},deleteProperty(r,n){return Reflect.deleteProperty(t.value,n)},has(r,n){return Reflect.has(t.value,n)},ownKeys(){return Object.keys(t.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return i.reactive(e)}function ct(t){return lt(i.computed(t))}function be(t,...e){const r=e.flat();return ct(()=>Object.fromEntries(Object.entries(i.toRefs(t)).filter(n=>!r.includes(n[0]))))}function $e(t,...e){const r=e.flat();return i.reactive(Object.fromEntries(r.map(n=>[n,i.toRef(t,n)])))}function ut(t,e=1e4){return i.customRef((r,n)=>{let a=t,l;const c=()=>setTimeout(()=>{a=t,n()},y(e));return j(()=>{clearTimeout(l)}),{get(){return r(),a},set(u){a=u,n(),clearTimeout(l),l=c()}}})}function st(t,e=200,r={}){return M(G(e,r),t)}function X(t,e=200,r={}){const n=i.ref(t.value),a=st(()=>{n.value=t.value},e,r);return i.watch(t,()=>a()),n}function Se(t,e){return i.computed({get(){var r;return(r=t.value)!=null?r:e},set(r){t.value=r}})}function ft(t,e=200,r=!1,n=!0){return M(z(e,r,n),t)}function q(t,e=200,r=!0,n=!0){if(e<=0)return t;const a=i.ref(t.value),l=ft(()=>{a.value=t.value},e,r,n);return i.watch(t,()=>l()),a}function dt(t,e={}){let r=t,n,a;const l=i.customRef((p,h)=>(n=p,a=h,{get(){return c()},set(v){u(v)}}));function c(p=!0){return p&&n(),r}function u(p,h=!0){var v,S;if(p===r)return;const m=r;((v=e.onBeforeChange)==null?void 0:v.call(e,p,m))!==!1&&(r=p,(S=e.onChanged)==null||S.call(e,p,m),h&&a())}return ot(l,{get:c,set:u,untrackedGet:()=>c(!1),silentSet:p=>u(p,!1),peek:()=>c(!1),lay:p=>u(p,!1)},{enumerable:!0})}const Ae=dt;function je(t){return typeof t=="function"?i.computed(t):i.ref(t)}function Ie(...t){if(t.length===2){const[e,r]=t;e.value=r}if(t.length===3)if(i.isVue2)i.set(...t);else{const[e,r,n]=t;e[r]=n}}function Te(t,e,r={}){var n,a;const{flush:l="sync",deep:c=!1,immediate:u=!0,direction:d="both",transform:_={}}=r;let s,f;const p=(n=_.ltr)!=null?n:v=>v,h=(a=_.rtl)!=null?a:v=>v;return(d==="both"||d==="ltr")&&(s=i.watch(t,v=>e.value=p(v),{flush:l,deep:c,immediate:u})),(d==="both"||d==="rtl")&&(f=i.watch(e,v=>t.value=h(v),{flush:l,deep:c,immediate:u})),()=>{s==null||s(),f==null||f()}}function Fe(t,e,r={}){const{flush:n="sync",deep:a=!1,immediate:l=!0}=r;return Array.isArray(e)||(e=[e]),i.watch(t,c=>e.forEach(u=>u.value=c),{flush:n,deep:a,immediate:l})}var Ee=Object.defineProperty,Me=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,yt=(t,e,r)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,We=(t,e)=>{for(var r in e||(e={}))Ce.call(e,r)&&yt(t,r,e[r]);if(pt)for(var r of pt(e))Ne.call(e,r)&&yt(t,r,e[r]);return t},Ue=(t,e)=>Me(t,Re(e));function Be(t){if(!i.isRef(t))return i.toRefs(t);const e=Array.isArray(t.value)?new Array(t.value.length):{};for(const r in t.value)e[r]=i.customRef(()=>({get(){return t.value[r]},set(n){if(Array.isArray(t.value)){const a=[...t.value];a[r]=n,t.value=a}else{const a=Ue(We({},t.value),{[r]:n});Object.setPrototypeOf(a,t.value),t.value=a}}}));return e}function Le(t,e=!0){i.getCurrentInstance()?i.onBeforeMount(t):e?t():i.nextTick(t)}function He(t){i.getCurrentInstance()&&i.onBeforeUnmount(t)}function Ye(t,e=!0){i.getCurrentInstance()?i.onMounted(t):e?t():i.nextTick(t)}function ke(t){i.getCurrentInstance()&&i.onUnmounted(t)}function K(t,e=!1){function r(f,{flush:p="sync",deep:h=!1,timeout:v,throwOnTimeout:S}={}){let m=null;const V=[new Promise(k=>{m=i.watch(t,T=>{f(T)!==e&&(m==null||m(),k(T))},{flush:p,deep:h,immediate:!0})})];return v!=null&&V.push(Z(v,S).then(()=>y(t)).finally(()=>m==null?void 0:m())),Promise.race(V)}function n(f,p){if(!i.isRef(f))return r(T=>T===f,p);const{flush:h="sync",deep:v=!1,timeout:S,throwOnTimeout:m}=p??{};let I=null;const k=[new Promise(T=>{I=i.watch([t,f],([Gt,cn])=>{e!==(Gt===cn)&&(I==null||I(),T(Gt))},{flush:h,deep:v,immediate:!0})})];return S!=null&&k.push(Z(S,m).then(()=>y(t)).finally(()=>(I==null||I(),y(t)))),Promise.race(k)}function a(f){return r(p=>Boolean(p),f)}function l(f){return n(null,f)}function c(f){return n(void 0,f)}function u(f){return r(Number.isNaN,f)}function d(f,p){return r(h=>{const v=Array.from(h);return v.includes(f)||v.includes(y(f))},p)}function _(f){return s(1,f)}function s(f=1,p){let h=-1;return r(()=>(h+=1,h>=f),p)}return Array.isArray(y(t))?{toMatch:r,toContains:d,changed:_,changedTimes:s,get not(){return K(t,!e)}}:{toMatch:r,toBe:n,toBeTruthy:a,toBeNull:l,toBeNaN:u,toBeUndefined:c,changed:_,changedTimes:s,get not(){return K(t,!e)}}}function Ge(t){return K(t)}function ze(t,e){return i.computed(()=>y(t).every((r,n,a)=>e(y(r),n,a)))}function Ze(t,e){return i.computed(()=>y(t).map(r=>y(r)).filter(e))}function Je(t,e){return i.computed(()=>y(y(t).find((r,n,a)=>e(y(r),n,a))))}function Xe(t,e){return i.computed(()=>y(t).findIndex((r,n,a)=>e(y(r),n,a)))}function qe(t,e){return i.computed(()=>y(t).map(r=>y(r)).join(y(e)))}function Ke(t,e){return i.computed(()=>y(t).map(r=>y(r)).map(e))}function Qe(t,e,...r){const n=(a,l,c)=>e(y(a),y(l),c);return i.computed(()=>{const a=y(t);return r.length?a.reduce(n,y(r[0])):a.reduce(n)})}function Ve(t,e){return i.computed(()=>y(t).some((r,n,a)=>e(y(r),n,a)))}function De(t=0,e={}){const r=i.ref(t),{max:n=1/0,min:a=-1/0}=e,l=(s=1)=>r.value=Math.min(n,r.value+s),c=(s=1)=>r.value=Math.max(a,r.value-s),u=()=>r.value,d=s=>r.value=Math.max(a,Math.min(n,s));return{count:r,inc:l,dec:c,get:u,set:d,reset:(s=t)=>(t=s,d(s))}}const xe=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,tr=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g,er=(t,e,r,n)=>{let a=t<12?"AM":"PM";return n&&(a=a.split("").reduce((l,c)=>l+=`${c}.`,"")),r?a.toLowerCase():a},_t=(t,e,r={})=>{var n;const a=t.getFullYear(),l=t.getMonth(),c=t.getDate(),u=t.getHours(),d=t.getMinutes(),_=t.getSeconds(),s=t.getMilliseconds(),f=t.getDay(),p=(n=r.customMeridiem)!=null?n:er,h={YY:()=>String(a).slice(-2),YYYY:()=>a,M:()=>l+1,MM:()=>`${l+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(r.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(r.locales,{month:"long"}),D:()=>String(c),DD:()=>`${c}`.padStart(2,"0"),H:()=>String(u),HH:()=>`${u}`.padStart(2,"0"),h:()=>`${u%12||12}`.padStart(1,"0"),hh:()=>`${u%12||12}`.padStart(2,"0"),m:()=>String(d),mm:()=>`${d}`.padStart(2,"0"),s:()=>String(_),ss:()=>`${_}`.padStart(2,"0"),SSS:()=>`${s}`.padStart(3,"0"),d:()=>f,dd:()=>t.toLocaleDateString(r.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(r.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(r.locales,{weekday:"long"}),A:()=>p(u,d),AA:()=>p(u,d,!1,!0),a:()=>p(u,d,!0),aa:()=>p(u,d,!0,!0)};return e.replace(tr,(v,S)=>S||h[v]())},vt=t=>{if(t===null)return new Date(NaN);if(t===void 0)return new Date;if(t instanceof Date)return new Date(t);if(typeof t=="string"&&!/Z$/i.test(t)){const e=t.match(xe);if(e){const r=e[2]-1||0,n=(e[7]||"0").substring(0,3);return new Date(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,n)}}return new Date(t)};function rr(t,e="HH:mm:ss",r={}){return i.computed(()=>_t(vt(y(t)),y(e),r))}function ht(t,e=1e3,r={}){const{immediate:n=!0,immediateCallback:a=!1}=r;let l=null;const c=i.ref(!1);function u(){l&&(clearInterval(l),l=null)}function d(){c.value=!1,u()}function _(){i.unref(e)<=0||(c.value=!0,a&&t(),u(),l=setInterval(t,y(e)))}if(n&&E&&_(),i.isRef(e)||W(e)){const s=i.watch(e,()=>{c.value&&E&&_()});j(s)}return j(d),{isActive:c,pause:d,resume:_}}var nr=Object.defineProperty,Ot=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,wt=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e)=>{for(var r in e||(e={}))or.call(e,r)&&wt(t,r,e[r]);if(Ot)for(var r of Ot(e))ar.call(e,r)&&wt(t,r,e[r]);return t};function lr(t=1e3,e={}){const{controls:r=!1,immediate:n=!0,callback:a}=e,l=i.ref(0),c=()=>l.value+=1,u=ht(a?()=>{c(),a(l.value)}:c,t,{immediate:n});return r?ir({counter:l},u):l}function cr(t,e={}){var r;const n=i.ref((r=e.initialValue)!=null?r:null);return i.watch(t,()=>n.value=x(),e),n}function gt(t,e,r={}){const{immediate:n=!0}=r,a=i.ref(!1);let l=null;function c(){l&&(clearTimeout(l),l=null)}function u(){a.value=!1,c()}function d(..._){c(),a.value=!0,l=setTimeout(()=>{a.value=!1,l=null,t(..._)},y(e))}return n&&(a.value=!0,E&&d()),j(u),{isPending:a,start:d,stop:u}}var ur=Object.defineProperty,Pt=Object.getOwnPropertySymbols,sr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,mt=(t,e,r)=>e in t?ur(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))sr.call(e,r)&&mt(t,r,e[r]);if(Pt)for(var r of Pt(e))fr.call(e,r)&&mt(t,r,e[r]);return t};function pr(t=1e3,e={}){const{controls:r=!1,callback:n}=e,a=gt(n??tt,t,e),l=i.computed(()=>!a.isPending.value);return r?dr({ready:l},a):l}function yr(t,e={}){const{method:r="parseFloat",radix:n,nanToZero:a}=e;return i.computed(()=>{let l=y(t);return typeof l=="string"&&(l=Number[r](l,n)),a&&isNaN(l)&&(l=0),l})}function _r(t){return i.computed(()=>`${y(t)}`)}function vr(t=!1,e={}){const{truthyValue:r=!0,falsyValue:n=!1}=e,a=i.isRef(t),l=i.ref(t);function c(u){if(arguments.length)return l.value=u,l.value;{const d=y(r);return l.value=l.value===d?y(n):d,l.value}}return a?c:[l,c]}function hr(t,e,r){let n=(r==null?void 0:r.immediate)?[]:[...t instanceof Function?t():Array.isArray(t)?t:i.unref(t)];return i.watch(t,(a,l,c)=>{const u=new Array(n.length),d=[];for(const s of a){let f=!1;for(let p=0;p<n.length;p++)if(!u[p]&&s===n[p]){u[p]=!0,f=!0;break}f||d.push(s)}const _=n.filter((s,f)=>!u[f]);e(a,n,d,_,c),n=[...a]},r)}var bt=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,wr=Object.prototype.propertyIsEnumerable,gr=(t,e)=>{var r={};for(var n in t)Or.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&bt)for(var n of bt(t))e.indexOf(n)<0&&wr.call(t,n)&&(r[n]=t[n]);return r};function R(t,e,r={}){const n=r,{eventFilter:a=U}=n,l=gr(n,["eventFilter"]);return i.watch(t,M(a,e),l)}var $t=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,br=(t,e)=>{var r={};for(var n in t)Pr.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&$t)for(var n of $t(t))e.indexOf(n)<0&&mr.call(t,n)&&(r[n]=t[n]);return r};function $r(t,e,r){const n=r,{count:a}=n,l=br(n,["count"]),c=i.ref(0),u=R(t,(...d)=>{c.value+=1,c.value>=y(a)&&i.nextTick(()=>u()),e(...d)},l);return{count:c,stop:u}}var Sr=Object.defineProperty,Ar=Object.defineProperties,jr=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,jt=(t,e,r)=>e in t?Sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ir=(t,e)=>{for(var r in e||(e={}))St.call(e,r)&&jt(t,r,e[r]);if(B)for(var r of B(e))At.call(e,r)&&jt(t,r,e[r]);return t},Tr=(t,e)=>Ar(t,jr(e)),Fr=(t,e)=>{var r={};for(var n in t)St.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&B)for(var n of B(t))e.indexOf(n)<0&&At.call(t,n)&&(r[n]=t[n]);return r};function It(t,e,r={}){const n=r,{debounce:a=0,maxWait:l=void 0}=n,c=Fr(n,["debounce","maxWait"]);return R(t,e,Tr(Ir({},c),{eventFilter:G(a,{maxWait:l})}))}var Er=Object.defineProperty,Mr=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,Et=(t,e,r)=>e in t?Er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Cr=(t,e)=>{for(var r in e||(e={}))Tt.call(e,r)&&Et(t,r,e[r]);if(L)for(var r of L(e))Ft.call(e,r)&&Et(t,r,e[r]);return t},Nr=(t,e)=>Mr(t,Rr(e)),Wr=(t,e)=>{var r={};for(var n in t)Tt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&L)for(var n of L(t))e.indexOf(n)<0&&Ft.call(t,n)&&(r[n]=t[n]);return r};function Q(t,e,r={}){const n=r,{eventFilter:a=U}=n,l=Wr(n,["eventFilter"]),c=M(a,e);let u,d,_;if(l.flush==="sync"){const s=i.ref(!1);d=()=>{},u=f=>{s.value=!0,f(),s.value=!1},_=i.watch(t,(...f)=>{s.value||c(...f)},l)}else{const s=[],f=i.ref(0),p=i.ref(0);d=()=>{f.value=p.value},s.push(i.watch(t,()=>{p.value++},Nr(Cr({},l),{flush:"sync"}))),u=h=>{const v=p.value;h(),f.value+=p.value-v},s.push(i.watch(t,(...h)=>{const v=f.value>0&&f.value===p.value;f.value=0,p.value=0,!v&&c(...h)},l)),_=()=>{s.forEach(h=>h())}}return{stop:_,ignoreUpdates:u,ignorePrevAsyncUpdates:d}}function Ur(t,e,r){const n=i.watch(t,(...a)=>(i.nextTick(()=>n()),e(...a)),r)}var Br=Object.defineProperty,Lr=Object.defineProperties,Hr=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,Ct=(t,e,r)=>e in t?Br(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Yr=(t,e)=>{for(var r in e||(e={}))Mt.call(e,r)&&Ct(t,r,e[r]);if(H)for(var r of H(e))Rt.call(e,r)&&Ct(t,r,e[r]);return t},kr=(t,e)=>Lr(t,Hr(e)),Gr=(t,e)=>{var r={};for(var n in t)Mt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&H)for(var n of H(t))e.indexOf(n)<0&&Rt.call(t,n)&&(r[n]=t[n]);return r};function Nt(t,e,r={}){const n=r,{eventFilter:a}=n,l=Gr(n,["eventFilter"]),{eventFilter:c,pause:u,resume:d,isActive:_}=et(a);return{stop:R(t,e,kr(Yr({},l),{eventFilter:c})),pause:u,resume:d,isActive:_}}var zr=Object.defineProperty,Zr=Object.defineProperties,Jr=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,Wt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,Bt=(t,e,r)=>e in t?zr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Xr=(t,e)=>{for(var r in e||(e={}))Wt.call(e,r)&&Bt(t,r,e[r]);if(Y)for(var r of Y(e))Ut.call(e,r)&&Bt(t,r,e[r]);return t},qr=(t,e)=>Zr(t,Jr(e)),Kr=(t,e)=>{var r={};for(var n in t)Wt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&Y)for(var n of Y(t))e.indexOf(n)<0&&Ut.call(t,n)&&(r[n]=t[n]);return r};function Lt(t,e,r={}){const n=r,{throttle:a=0,trailing:l=!0,leading:c=!0}=n,u=Kr(n,["throttle","trailing","leading"]);return R(t,e,qr(Xr({},u),{eventFilter:z(a,l,c)}))}var Qr=Object.defineProperty,Vr=Object.defineProperties,Dr=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertySymbols,xr=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable,Yt=(t,e,r)=>e in t?Qr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,en=(t,e)=>{for(var r in e||(e={}))xr.call(e,r)&&Yt(t,r,e[r]);if(Ht)for(var r of Ht(e))tn.call(e,r)&&Yt(t,r,e[r]);return t},rn=(t,e)=>Vr(t,Dr(e));function nn(t,e,r={}){let n;function a(){if(!n)return;const s=n;n=void 0,s()}function l(s){n=s}const c=(s,f)=>(a(),e(s,f,l)),u=Q(t,c,r),{ignoreUpdates:d}=u,_=()=>{let s;return d(()=>{s=c(on(t),an(t))}),s};return rn(en({},u),{trigger:_})}function on(t){return i.isReactive(t)?t:Array.isArray(t)?t.map(e=>kt(e)):kt(t)}function kt(t){return typeof t=="function"?t():i.unref(t)}function an(t){return Array.isArray(t)?t.map(()=>{}):void 0}function ln(t,e,r){return i.watch(t,(n,a,l)=>{n&&e(n,a,l)},r)}o.__onlyVue27Plus=rt,o.__onlyVue3=ne,o.assert=Jt,o.autoResetRef=ut,o.bypassFilter=U,o.clamp=xt,o.computedEager=b,o.computedWithControl=nt,o.containsProp=ce,o.controlledComputed=nt,o.controlledRef=Ae,o.createEventHook=fe,o.createFilterWrapper=M,o.createGlobalState=de,o.createInjectionState=pe,o.createReactiveFn=J,o.createSharedComposable=ye,o.createSingletonPromise=ie,o.debounceFilter=G,o.debouncedRef=X,o.debouncedWatch=It,o.directiveHooks=oe,o.eagerComputed=b,o.extendRef=ot,o.formatDate=_t,o.get=_e,o.hasOwn=re,o.identity=ae,o.ignorableWatch=Q,o.increaseWithUnit=ue,o.invoke=le,o.isBoolean=Xt,o.isClient=E,o.isDef=Zt,o.isDefined=ve,o.isFunction=W,o.isIOS=ee,o.isNumber=qt,o.isObject=Qt,o.isString=Kt,o.isWindow=Vt,o.makeDestructurable=Pe,o.noop=tt,o.normalizeDate=vt,o.now=Dt,o.objectPick=se,o.pausableFilter=et,o.pausableWatch=Nt,o.promiseTimeout=Z,o.rand=te,o.reactify=J,o.reactifyObject=me,o.reactiveComputed=ct,o.reactiveOmit=be,o.reactivePick=$e,o.refAutoReset=ut,o.refDebounced=X,o.refDefault=Se,o.refThrottled=q,o.refWithControl=dt,o.resolveRef=je,o.resolveUnref=y,o.set=Ie,o.syncRef=Te,o.syncRefs=Fe,o.throttleFilter=z,o.throttledRef=q,o.throttledWatch=Lt,o.timestamp=x,o.toReactive=lt,o.toRefs=Be,o.tryOnBeforeMount=Le,o.tryOnBeforeUnmount=He,o.tryOnMounted=Ye,o.tryOnScopeDispose=j,o.tryOnUnmounted=ke,o.until=Ge,o.useArrayEvery=ze,o.useArrayFilter=Ze,o.useArrayFind=Je,o.useArrayFindIndex=Xe,o.useArrayJoin=qe,o.useArrayMap=Ke,o.useArrayReduce=Qe,o.useArraySome=Ve,o.useCounter=De,o.useDateFormat=rr,o.useDebounce=X,o.useDebounceFn=st,o.useInterval=lr,o.useIntervalFn=ht,o.useLastChanged=cr,o.useThrottle=q,o.useThrottleFn=ft,o.useTimeout=pr,o.useTimeoutFn=gt,o.useToNumber=yr,o.useToString=_r,o.useToggle=vr,o.watchArray=hr,o.watchAtMost=$r,o.watchDebounced=It,o.watchIgnorable=Q,o.watchOnce=Ur,o.watchPausable=Nt,o.watchThrottled=Lt,o.watchTriggerable=nn,o.watchWithFilter=R,o.whenever=ln})(this.VueUse=this.VueUse||{},VueDemi);
|
|
1
|
+
var VueDemi=function(a,i,E){if(a.install)return a;if(!i)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),a;if(i.version.slice(0,4)==="2.7."){let O=function(P,A){var m,N={},W={config:i.config,use:i.use.bind(i),mixin:i.mixin.bind(i),component:i.component.bind(i),provide:function($,S){return N[$]=S,this},directive:function($,S){return S?(i.directive($,S),W):i.directive($)},mount:function($,S){return m||(m=new i(Object.assign({propsData:A},P,{provide:Object.assign(N,P.provide)})),m.$mount($,S),m)},unmount:function(){m&&(m.$destroy(),m=void 0)}};return W};var zt=O;for(var b in i)a[b]=i[b];a.isVue2=!0,a.isVue3=!1,a.install=function(){},a.Vue=i,a.Vue2=i,a.version=i.version,a.warn=i.util.warn,a.createApp=O}else if(i.version.slice(0,2)==="2.")if(E){for(var b in E)a[b]=E[b];a.isVue2=!0,a.isVue3=!1,a.install=function(){},a.Vue=i,a.Vue2=i,a.version=i.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(i.version.slice(0,2)==="3."){for(var b in i)a[b]=i[b];a.isVue2=!1,a.isVue3=!0,a.install=function(){},a.Vue=i,a.Vue2=void 0,a.version=i.version,a.set=function(O,P,A){return Array.isArray(O)?(O.length=Math.max(O.length,P),O.splice(P,1,A),A):(O[P]=A,A)},a.del=function(O,P){if(Array.isArray(O)){O.splice(P,1);return}delete O[P]}}else console.error("[vue-demi] Vue version "+i.version+" is unsupported.");return a}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(a,i){"use strict";var E=Object.defineProperty,b=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,m=(t,e,r)=>e in t?E(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))P.call(e,r)&&m(t,r,e[r]);if(O)for(var r of O(e))A.call(e,r)&&m(t,r,e[r]);return t},W=(t,e)=>b(t,zt(e));function $(t,e){var r;const n=i.shallowRef();return i.watchEffect(()=>{n.value=t()},W(N({},e),{flush:(r=e==null?void 0:e.flush)!=null?r:"sync"})),i.readonly(n)}var S;const M=typeof window!="undefined",Zt=t=>typeof t!="undefined",qt=(t,...e)=>{t||console.warn(...e)},x=Object.prototype.toString,Jt=t=>typeof t=="boolean",U=t=>typeof t=="function",Xt=t=>typeof t=="number",Kt=t=>typeof t=="string",Qt=t=>x.call(t)==="[object Object]",Vt=t=>typeof window!="undefined"&&x.call(t)==="[object Window]",Dt=()=>Date.now(),tt=()=>+Date.now(),xt=(t,e,r)=>Math.min(r,Math.max(e,t)),I=()=>{},te=(t,e)=>(t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t),ee=M&&((S=window==null?void 0:window.navigator)==null?void 0:S.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent),re=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);function y(t){return typeof t=="function"?t():i.unref(t)}function R(t,e){function r(...n){return new Promise((o,l)=>{Promise.resolve(t(()=>e.apply(this,n),{fn:e,thisArg:this,args:n})).then(o).catch(l)})}return r}const B=t=>t();function z(t,e={}){let r,n,o=I;const l=c=>{clearTimeout(c),o(),o=I};return c=>{const p=y(t),_=y(e.maxWait);return r&&l(r),p<=0||_!==void 0&&_<=0?(n&&(l(n),n=null),Promise.resolve(c())):new Promise((d,s)=>{o=e.rejectOnCancel?s:d,_&&!n&&(n=setTimeout(()=>{r&&l(r),n=null,d(c())},_)),r=setTimeout(()=>{n&&l(n),n=null,d(c())},p)})}}function Z(t,e=!0,r=!0,n=!1){let o=0,l,u=!0,c=I,p;const _=()=>{l&&(clearTimeout(l),l=void 0,c(),c=I)};return s=>{const f=y(t),h=Date.now()-o,v=()=>p=s();if(_(),f<=0)return o=Date.now(),v();if(h>f&&(r||!u))o=Date.now(),v();else if(e)return new Promise((w,g)=>{c=n?g:w,l=setTimeout(()=>{o=Date.now(),u=!0,w(v()),_()},f-h)});return!r&&!l&&(l=setTimeout(()=>u=!0,f)),u=!1,p}}function et(t=B){const e=i.ref(!0);function r(){e.value=!1}function n(){e.value=!0}return{isActive:e,pause:r,resume:n,eventFilter:(...l)=>{e.value&&t(...l)}}}function ne(t="this function"){if(!i.isVue3)throw new Error(`[VueUse] ${t} is only works on Vue 3.`)}function rt(t="this function"){if(!(i.isVue3||i.version.startsWith("2.7.")))throw new Error(`[VueUse] ${t} is only works on Vue 2.7 or above.`)}const oe={mounted:i.isVue3?"mounted":"inserted",updated:i.isVue3?"updated":"componentUpdated",unmounted:i.isVue3?"unmounted":"unbind"};function q(t,e=!1,r="Timeout"){return new Promise((n,o)=>{setTimeout(e?()=>o(r):n,t)})}function ae(t){return t}function ie(t){let e;function r(){return e||(e=t()),e}return r.reset=async()=>{const n=e;e=void 0,n&&await n},r}function le(t){return t()}function ue(t,...e){return e.some(r=>r in t)}function ce(t,e){var r;if(typeof t=="number")return t+e;const n=((r=t.match(/^-?[0-9]+\.?[0-9]*/))==null?void 0:r[0])||"",o=t.slice(n.length),l=parseFloat(n)+e;return Number.isNaN(l)?t:l+o}function se(t,e,r=!1){return e.reduce((n,o)=>(o in t&&(!r||t[o]!==void 0)&&(n[o]=t[o]),n),{})}function nt(t,e){let r,n,o;const l=i.ref(!0),u=()=>{l.value=!0,o()};i.watch(t,u,{flush:"sync"});const c=U(e)?e:e.get,p=U(e)?void 0:e.set,_=i.customRef((d,s)=>(n=d,o=s,{get(){return l.value&&(r=c(),l.value=!1),n(),r},set(f){p==null||p(f)}}));return Object.isExtensible(_)&&(_.trigger=u),_}function j(t){return i.getCurrentScope()?(i.onScopeDispose(t),!0):!1}function fe(){const t=[],e=o=>{const l=t.indexOf(o);l!==-1&&t.splice(l,1)};return{on:o=>{t.push(o);const l=()=>e(o);return j(l),{off:l}},off:e,trigger:o=>{t.forEach(l=>l(o))}}}function de(t){let e=!1,r;const n=i.effectScope(!0);return()=>(e||(r=n.run(t),e=!0),r)}function pe(t){const e=Symbol("InjectionState");return[(...o)=>{const l=t(...o);return i.provide(e,l),l},()=>i.inject(e)]}function ye(t){let e=0,r,n;const o=()=>{e-=1,n&&e<=0&&(n.stop(),r=void 0,n=void 0)};return(...l)=>(e+=1,r||(n=i.effectScope(!0),r=n.run(()=>t(...l))),j(o),r)}function ot(t,e,{enumerable:r=!1,unwrap:n=!0}={}){rt();for(const[o,l]of Object.entries(e))o!=="value"&&(i.isRef(l)&&n?Object.defineProperty(t,o,{get(){return l.value},set(u){l.value=u},enumerable:r}):Object.defineProperty(t,o,{value:l,enumerable:r}));return t}function _e(t,e){return e==null?i.unref(t):i.unref(t)[e]}function ve(t){return i.unref(t)!=null}var he=Object.defineProperty,at=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,it=(t,e,r)=>e in t?he(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ge=(t,e)=>{for(var r in e||(e={}))Oe.call(e,r)&&it(t,r,e[r]);if(at)for(var r of at(e))we.call(e,r)&&it(t,r,e[r]);return t};function Pe(t,e){if(typeof Symbol!="undefined"){const r=ge({},t);return Object.defineProperty(r,Symbol.iterator,{enumerable:!1,value(){let n=0;return{next:()=>({value:e[n++],done:n>e.length})}}}),r}else return Object.assign([...e],t)}function J(t,e){const r=(e==null?void 0:e.computedGetter)===!1?i.unref:y;return function(...n){return i.computed(()=>t.apply(this,n.map(o=>r(o))))}}function me(t,e={}){let r=[],n;if(Array.isArray(e))r=e;else{n=e;const{includeOwnProperties:o=!0}=e;r.push(...Object.keys(t)),o&&r.push(...Object.getOwnPropertyNames(t))}return Object.fromEntries(r.map(o=>{const l=t[o];return[o,typeof l=="function"?J(l.bind(t),n):l]}))}function lt(t){if(!i.isRef(t))return i.reactive(t);const e=new Proxy({},{get(r,n,o){return i.unref(Reflect.get(t.value,n,o))},set(r,n,o){return i.isRef(t.value[n])&&!i.isRef(o)?t.value[n].value=o:t.value[n]=o,!0},deleteProperty(r,n){return Reflect.deleteProperty(t.value,n)},has(r,n){return Reflect.has(t.value,n)},ownKeys(){return Object.keys(t.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return i.reactive(e)}function ut(t){return lt(i.computed(t))}function be(t,...e){const r=e.flat();return ut(()=>Object.fromEntries(Object.entries(i.toRefs(t)).filter(n=>!r.includes(n[0]))))}function $e(t,...e){const r=e.flat();return i.reactive(Object.fromEntries(r.map(n=>[n,i.toRef(t,n)])))}function ct(t,e=1e4){return i.customRef((r,n)=>{let o=t,l;const u=()=>setTimeout(()=>{o=t,n()},y(e));return j(()=>{clearTimeout(l)}),{get(){return r(),o},set(c){o=c,n(),clearTimeout(l),l=u()}}})}function st(t,e=200,r={}){return R(z(e,r),t)}function X(t,e=200,r={}){const n=i.ref(t.value),o=st(()=>{n.value=t.value},e,r);return i.watch(t,()=>o()),n}function Se(t,e){return i.computed({get(){var r;return(r=t.value)!=null?r:e},set(r){t.value=r}})}function ft(t,e=200,r=!1,n=!0,o=!1){return R(Z(e,r,n,o),t)}function K(t,e=200,r=!0,n=!0){if(e<=0)return t;const o=i.ref(t.value),l=ft(()=>{o.value=t.value},e,r,n);return i.watch(t,()=>l()),o}function dt(t,e={}){let r=t,n,o;const l=i.customRef((f,h)=>(n=f,o=h,{get(){return u()},set(v){c(v)}}));function u(f=!0){return f&&n(),r}function c(f,h=!0){var v,w;if(f===r)return;const g=r;((v=e.onBeforeChange)==null?void 0:v.call(e,f,g))!==!1&&(r=f,(w=e.onChanged)==null||w.call(e,f,g),h&&o())}return ot(l,{get:u,set:c,untrackedGet:()=>u(!1),silentSet:f=>c(f,!1),peek:()=>u(!1),lay:f=>c(f,!1)},{enumerable:!0})}const Ae=dt;function je(t){return typeof t=="function"?i.computed(t):i.ref(t)}function Ie(...t){if(t.length===2){const[e,r]=t;e.value=r}if(t.length===3)if(i.isVue2)i.set(...t);else{const[e,r,n]=t;e[r]=n}}function Fe(t,e,r={}){var n,o;const{flush:l="sync",deep:u=!1,immediate:c=!0,direction:p="both",transform:_={}}=r;let d,s;const f=(n=_.ltr)!=null?n:v=>v,h=(o=_.rtl)!=null?o:v=>v;return(p==="both"||p==="ltr")&&(d=i.watch(t,v=>e.value=f(v),{flush:l,deep:u,immediate:c})),(p==="both"||p==="rtl")&&(s=i.watch(e,v=>t.value=h(v),{flush:l,deep:u,immediate:c})),()=>{d==null||d(),s==null||s()}}function Te(t,e,r={}){const{flush:n="sync",deep:o=!1,immediate:l=!0}=r;return Array.isArray(e)||(e=[e]),i.watch(t,u=>e.forEach(c=>c.value=u),{flush:n,deep:o,immediate:l})}var Ee=Object.defineProperty,Me=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,yt=(t,e,r)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,We=(t,e)=>{for(var r in e||(e={}))Ce.call(e,r)&&yt(t,r,e[r]);if(pt)for(var r of pt(e))Ne.call(e,r)&&yt(t,r,e[r]);return t},Ue=(t,e)=>Me(t,Re(e));function Be(t){if(!i.isRef(t))return i.toRefs(t);const e=Array.isArray(t.value)?new Array(t.value.length):{};for(const r in t.value)e[r]=i.customRef(()=>({get(){return t.value[r]},set(n){if(Array.isArray(t.value)){const o=[...t.value];o[r]=n,t.value=o}else{const o=Ue(We({},t.value),{[r]:n});Object.setPrototypeOf(o,t.value),t.value=o}}}));return e}function Le(t,e=!0){i.getCurrentInstance()?i.onBeforeMount(t):e?t():i.nextTick(t)}function He(t){i.getCurrentInstance()&&i.onBeforeUnmount(t)}function ke(t,e=!0){i.getCurrentInstance()?i.onMounted(t):e?t():i.nextTick(t)}function Ye(t){i.getCurrentInstance()&&i.onUnmounted(t)}function Q(t,e=!1){function r(s,{flush:f="sync",deep:h=!1,timeout:v,throwOnTimeout:w}={}){let g=null;const D=[new Promise(G=>{g=i.watch(t,T=>{s(T)!==e&&(g==null||g(),G(T))},{flush:f,deep:h,immediate:!0})})];return v!=null&&D.push(q(v,w).then(()=>y(t)).finally(()=>g==null?void 0:g())),Promise.race(D)}function n(s,f){if(!i.isRef(s))return r(T=>T===s,f);const{flush:h="sync",deep:v=!1,timeout:w,throwOnTimeout:g}=f??{};let F=null;const G=[new Promise(T=>{F=i.watch([t,s],([Gt,cn])=>{e!==(Gt===cn)&&(F==null||F(),T(Gt))},{flush:h,deep:v,immediate:!0})})];return w!=null&&G.push(q(w,g).then(()=>y(t)).finally(()=>(F==null||F(),y(t)))),Promise.race(G)}function o(s){return r(f=>Boolean(f),s)}function l(s){return n(null,s)}function u(s){return n(void 0,s)}function c(s){return r(Number.isNaN,s)}function p(s,f){return r(h=>{const v=Array.from(h);return v.includes(s)||v.includes(y(s))},f)}function _(s){return d(1,s)}function d(s=1,f){let h=-1;return r(()=>(h+=1,h>=s),f)}return Array.isArray(y(t))?{toMatch:r,toContains:p,changed:_,changedTimes:d,get not(){return Q(t,!e)}}:{toMatch:r,toBe:n,toBeTruthy:o,toBeNull:l,toBeNaN:c,toBeUndefined:u,changed:_,changedTimes:d,get not(){return Q(t,!e)}}}function Ge(t){return Q(t)}function ze(t,e){return i.computed(()=>y(t).every((r,n,o)=>e(y(r),n,o)))}function Ze(t,e){return i.computed(()=>y(t).map(r=>y(r)).filter(e))}function qe(t,e){return i.computed(()=>y(y(t).find((r,n,o)=>e(y(r),n,o))))}function Je(t,e){return i.computed(()=>y(t).findIndex((r,n,o)=>e(y(r),n,o)))}function Xe(t,e){return i.computed(()=>y(t).map(r=>y(r)).join(y(e)))}function Ke(t,e){return i.computed(()=>y(t).map(r=>y(r)).map(e))}function Qe(t,e,...r){const n=(o,l,u)=>e(y(o),y(l),u);return i.computed(()=>{const o=y(t);return r.length?o.reduce(n,y(r[0])):o.reduce(n)})}function Ve(t,e){return i.computed(()=>y(t).some((r,n,o)=>e(y(r),n,o)))}function De(t){return i.computed(()=>[...new Set(y(t).map(e=>y(e)))])}function xe(t=0,e={}){const r=i.ref(t),{max:n=1/0,min:o=-1/0}=e,l=(d=1)=>r.value=Math.min(n,r.value+d),u=(d=1)=>r.value=Math.max(o,r.value-d),c=()=>r.value,p=d=>r.value=Math.max(o,Math.min(n,d));return{count:r,inc:l,dec:u,get:c,set:p,reset:(d=t)=>(t=d,p(d))}}const tr=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,er=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g,rr=(t,e,r,n)=>{let o=t<12?"AM":"PM";return n&&(o=o.split("").reduce((l,u)=>l+=`${u}.`,"")),r?o.toLowerCase():o},_t=(t,e,r={})=>{var n;const o=t.getFullYear(),l=t.getMonth(),u=t.getDate(),c=t.getHours(),p=t.getMinutes(),_=t.getSeconds(),d=t.getMilliseconds(),s=t.getDay(),f=(n=r.customMeridiem)!=null?n:rr,h={YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>l+1,MM:()=>`${l+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(r.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(r.locales,{month:"long"}),D:()=>String(u),DD:()=>`${u}`.padStart(2,"0"),H:()=>String(c),HH:()=>`${c}`.padStart(2,"0"),h:()=>`${c%12||12}`.padStart(1,"0"),hh:()=>`${c%12||12}`.padStart(2,"0"),m:()=>String(p),mm:()=>`${p}`.padStart(2,"0"),s:()=>String(_),ss:()=>`${_}`.padStart(2,"0"),SSS:()=>`${d}`.padStart(3,"0"),d:()=>s,dd:()=>t.toLocaleDateString(r.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(r.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(r.locales,{weekday:"long"}),A:()=>f(c,p),AA:()=>f(c,p,!1,!0),a:()=>f(c,p,!0),aa:()=>f(c,p,!0,!0)};return e.replace(er,(v,w)=>w||h[v]())},vt=t=>{if(t===null)return new Date(NaN);if(t===void 0)return new Date;if(t instanceof Date)return new Date(t);if(typeof t=="string"&&!/Z$/i.test(t)){const e=t.match(tr);if(e){const r=e[2]-1||0,n=(e[7]||"0").substring(0,3);return new Date(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,n)}}return new Date(t)};function nr(t,e="HH:mm:ss",r={}){return i.computed(()=>_t(vt(y(t)),y(e),r))}function ht(t,e=1e3,r={}){const{immediate:n=!0,immediateCallback:o=!1}=r;let l=null;const u=i.ref(!1);function c(){l&&(clearInterval(l),l=null)}function p(){u.value=!1,c()}function _(){i.unref(e)<=0||(u.value=!0,o&&t(),c(),l=setInterval(t,y(e)))}if(n&&M&&_(),i.isRef(e)||U(e)){const d=i.watch(e,()=>{u.value&&M&&_()});j(d)}return j(p),{isActive:u,pause:p,resume:_}}var or=Object.defineProperty,Ot=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,wt=(t,e,r)=>e in t?or(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,lr=(t,e)=>{for(var r in e||(e={}))ar.call(e,r)&&wt(t,r,e[r]);if(Ot)for(var r of Ot(e))ir.call(e,r)&&wt(t,r,e[r]);return t};function ur(t=1e3,e={}){const{controls:r=!1,immediate:n=!0,callback:o}=e,l=i.ref(0),u=()=>l.value+=1,c=ht(o?()=>{u(),o(l.value)}:u,t,{immediate:n});return r?lr({counter:l},c):l}function cr(t,e={}){var r;const n=i.ref((r=e.initialValue)!=null?r:null);return i.watch(t,()=>n.value=tt(),e),n}function gt(t,e,r={}){const{immediate:n=!0}=r,o=i.ref(!1);let l=null;function u(){l&&(clearTimeout(l),l=null)}function c(){o.value=!1,u()}function p(..._){u(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,t(..._)},y(e))}return n&&(o.value=!0,M&&p()),j(c),{isPending:o,start:p,stop:c}}var sr=Object.defineProperty,Pt=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,mt=(t,e,r)=>e in t?sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,pr=(t,e)=>{for(var r in e||(e={}))fr.call(e,r)&&mt(t,r,e[r]);if(Pt)for(var r of Pt(e))dr.call(e,r)&&mt(t,r,e[r]);return t};function yr(t=1e3,e={}){const{controls:r=!1,callback:n}=e,o=gt(n??I,t,e),l=i.computed(()=>!o.isPending.value);return r?pr({ready:l},o):l}function _r(t,e={}){const{method:r="parseFloat",radix:n,nanToZero:o}=e;return i.computed(()=>{let l=y(t);return typeof l=="string"&&(l=Number[r](l,n)),o&&isNaN(l)&&(l=0),l})}function vr(t){return i.computed(()=>`${y(t)}`)}function hr(t=!1,e={}){const{truthyValue:r=!0,falsyValue:n=!1}=e,o=i.isRef(t),l=i.ref(t);function u(c){if(arguments.length)return l.value=c,l.value;{const p=y(r);return l.value=l.value===p?y(n):p,l.value}}return o?u:[l,u]}function Or(t,e,r){let n=(r==null?void 0:r.immediate)?[]:[...t instanceof Function?t():Array.isArray(t)?t:i.unref(t)];return i.watch(t,(o,l,u)=>{const c=new Array(n.length),p=[];for(const d of o){let s=!1;for(let f=0;f<n.length;f++)if(!c[f]&&d===n[f]){c[f]=!0,s=!0;break}s||p.push(d)}const _=n.filter((d,s)=>!c[s]);e(o,n,p,_,u),n=[...o]},r)}var bt=Object.getOwnPropertySymbols,wr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,Pr=(t,e)=>{var r={};for(var n in t)wr.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&bt)for(var n of bt(t))e.indexOf(n)<0&&gr.call(t,n)&&(r[n]=t[n]);return r};function C(t,e,r={}){const n=r,{eventFilter:o=B}=n,l=Pr(n,["eventFilter"]);return i.watch(t,R(o,e),l)}var $t=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,$r=(t,e)=>{var r={};for(var n in t)mr.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&$t)for(var n of $t(t))e.indexOf(n)<0&&br.call(t,n)&&(r[n]=t[n]);return r};function Sr(t,e,r){const n=r,{count:o}=n,l=$r(n,["count"]),u=i.ref(0),c=C(t,(...p)=>{u.value+=1,u.value>=y(o)&&i.nextTick(()=>c()),e(...p)},l);return{count:u,stop:c}}var Ar=Object.defineProperty,jr=Object.defineProperties,Ir=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,jt=(t,e,r)=>e in t?Ar(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Fr=(t,e)=>{for(var r in e||(e={}))St.call(e,r)&&jt(t,r,e[r]);if(L)for(var r of L(e))At.call(e,r)&&jt(t,r,e[r]);return t},Tr=(t,e)=>jr(t,Ir(e)),Er=(t,e)=>{var r={};for(var n in t)St.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&L)for(var n of L(t))e.indexOf(n)<0&&At.call(t,n)&&(r[n]=t[n]);return r};function It(t,e,r={}){const n=r,{debounce:o=0,maxWait:l=void 0}=n,u=Er(n,["debounce","maxWait"]);return C(t,e,Tr(Fr({},u),{eventFilter:z(o,{maxWait:l})}))}var Mr=Object.defineProperty,Rr=Object.defineProperties,Cr=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Et=(t,e,r)=>e in t?Mr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nr=(t,e)=>{for(var r in e||(e={}))Ft.call(e,r)&&Et(t,r,e[r]);if(H)for(var r of H(e))Tt.call(e,r)&&Et(t,r,e[r]);return t},Wr=(t,e)=>Rr(t,Cr(e)),Ur=(t,e)=>{var r={};for(var n in t)Ft.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&H)for(var n of H(t))e.indexOf(n)<0&&Tt.call(t,n)&&(r[n]=t[n]);return r};function V(t,e,r={}){const n=r,{eventFilter:o=B}=n,l=Ur(n,["eventFilter"]),u=R(o,e);let c,p,_;if(l.flush==="sync"){const d=i.ref(!1);p=()=>{},c=s=>{d.value=!0,s(),d.value=!1},_=i.watch(t,(...s)=>{d.value||u(...s)},l)}else{const d=[],s=i.ref(0),f=i.ref(0);p=()=>{s.value=f.value},d.push(i.watch(t,()=>{f.value++},Wr(Nr({},l),{flush:"sync"}))),c=h=>{const v=f.value;h(),s.value+=f.value-v},d.push(i.watch(t,(...h)=>{const v=s.value>0&&s.value===f.value;s.value=0,f.value=0,!v&&u(...h)},l)),_=()=>{d.forEach(h=>h())}}return{stop:_,ignoreUpdates:c,ignorePrevAsyncUpdates:p}}function Br(t,e,r){const n=i.watch(t,(...o)=>(i.nextTick(()=>n()),e(...o)),r)}var Lr=Object.defineProperty,Hr=Object.defineProperties,kr=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,Ct=(t,e,r)=>e in t?Lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Yr=(t,e)=>{for(var r in e||(e={}))Mt.call(e,r)&&Ct(t,r,e[r]);if(k)for(var r of k(e))Rt.call(e,r)&&Ct(t,r,e[r]);return t},Gr=(t,e)=>Hr(t,kr(e)),zr=(t,e)=>{var r={};for(var n in t)Mt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&k)for(var n of k(t))e.indexOf(n)<0&&Rt.call(t,n)&&(r[n]=t[n]);return r};function Nt(t,e,r={}){const n=r,{eventFilter:o}=n,l=zr(n,["eventFilter"]),{eventFilter:u,pause:c,resume:p,isActive:_}=et(o);return{stop:C(t,e,Gr(Yr({},l),{eventFilter:u})),pause:c,resume:p,isActive:_}}var Zr=Object.defineProperty,qr=Object.defineProperties,Jr=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,Wt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,Bt=(t,e,r)=>e in t?Zr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Xr=(t,e)=>{for(var r in e||(e={}))Wt.call(e,r)&&Bt(t,r,e[r]);if(Y)for(var r of Y(e))Ut.call(e,r)&&Bt(t,r,e[r]);return t},Kr=(t,e)=>qr(t,Jr(e)),Qr=(t,e)=>{var r={};for(var n in t)Wt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&Y)for(var n of Y(t))e.indexOf(n)<0&&Ut.call(t,n)&&(r[n]=t[n]);return r};function Lt(t,e,r={}){const n=r,{throttle:o=0,trailing:l=!0,leading:u=!0}=n,c=Qr(n,["throttle","trailing","leading"]);return C(t,e,Kr(Xr({},c),{eventFilter:Z(o,l,u)}))}var Vr=Object.defineProperty,Dr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,en=Object.prototype.propertyIsEnumerable,kt=(t,e,r)=>e in t?Vr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,rn=(t,e)=>{for(var r in e||(e={}))tn.call(e,r)&&kt(t,r,e[r]);if(Ht)for(var r of Ht(e))en.call(e,r)&&kt(t,r,e[r]);return t},nn=(t,e)=>Dr(t,xr(e));function on(t,e,r={}){let n;function o(){if(!n)return;const d=n;n=void 0,d()}function l(d){n=d}const u=(d,s)=>(o(),e(d,s,l)),c=V(t,u,r),{ignoreUpdates:p}=c,_=()=>{let d;return p(()=>{d=u(an(t),ln(t))}),d};return nn(rn({},c),{trigger:_})}function an(t){return i.isReactive(t)?t:Array.isArray(t)?t.map(e=>Yt(e)):Yt(t)}function Yt(t){return typeof t=="function"?t():i.unref(t)}function ln(t){return Array.isArray(t)?t.map(()=>{}):void 0}function un(t,e,r){return i.watch(t,(n,o,l)=>{n&&e(n,o,l)},r)}a.__onlyVue27Plus=rt,a.__onlyVue3=ne,a.assert=qt,a.autoResetRef=ct,a.bypassFilter=B,a.clamp=xt,a.computedEager=$,a.computedWithControl=nt,a.containsProp=ue,a.controlledComputed=nt,a.controlledRef=Ae,a.createEventHook=fe,a.createFilterWrapper=R,a.createGlobalState=de,a.createInjectionState=pe,a.createReactiveFn=J,a.createSharedComposable=ye,a.createSingletonPromise=ie,a.debounceFilter=z,a.debouncedRef=X,a.debouncedWatch=It,a.directiveHooks=oe,a.eagerComputed=$,a.extendRef=ot,a.formatDate=_t,a.get=_e,a.hasOwn=re,a.identity=ae,a.ignorableWatch=V,a.increaseWithUnit=ce,a.invoke=le,a.isBoolean=Jt,a.isClient=M,a.isDef=Zt,a.isDefined=ve,a.isFunction=U,a.isIOS=ee,a.isNumber=Xt,a.isObject=Qt,a.isString=Kt,a.isWindow=Vt,a.makeDestructurable=Pe,a.noop=I,a.normalizeDate=vt,a.now=Dt,a.objectPick=se,a.pausableFilter=et,a.pausableWatch=Nt,a.promiseTimeout=q,a.rand=te,a.reactify=J,a.reactifyObject=me,a.reactiveComputed=ut,a.reactiveOmit=be,a.reactivePick=$e,a.refAutoReset=ct,a.refDebounced=X,a.refDefault=Se,a.refThrottled=K,a.refWithControl=dt,a.resolveRef=je,a.resolveUnref=y,a.set=Ie,a.syncRef=Fe,a.syncRefs=Te,a.throttleFilter=Z,a.throttledRef=K,a.throttledWatch=Lt,a.timestamp=tt,a.toReactive=lt,a.toRefs=Be,a.tryOnBeforeMount=Le,a.tryOnBeforeUnmount=He,a.tryOnMounted=ke,a.tryOnScopeDispose=j,a.tryOnUnmounted=Ye,a.until=Ge,a.useArrayEvery=ze,a.useArrayFilter=Ze,a.useArrayFind=qe,a.useArrayFindIndex=Je,a.useArrayJoin=Xe,a.useArrayMap=Ke,a.useArrayReduce=Qe,a.useArraySome=Ve,a.useArrayUnique=De,a.useCounter=xe,a.useDateFormat=nr,a.useDebounce=X,a.useDebounceFn=st,a.useInterval=ur,a.useIntervalFn=ht,a.useLastChanged=cr,a.useThrottle=K,a.useThrottleFn=ft,a.useTimeout=yr,a.useTimeoutFn=gt,a.useToNumber=_r,a.useToString=vr,a.useToggle=hr,a.watchArray=Or,a.watchAtMost=Sr,a.watchDebounced=It,a.watchIgnorable=V,a.watchOnce=Br,a.watchPausable=Nt,a.watchThrottled=Lt,a.watchTriggerable=on,a.watchWithFilter=C,a.whenever=un})(this.VueUse=this.VueUse||{},VueDemi);
|
package/index.mjs
CHANGED
|
@@ -63,7 +63,9 @@ function resolveUnref(r) {
|
|
|
63
63
|
|
|
64
64
|
function createFilterWrapper(filter, fn) {
|
|
65
65
|
function wrapper(...args) {
|
|
66
|
-
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);
|
|
68
|
+
});
|
|
67
69
|
}
|
|
68
70
|
return wrapper;
|
|
69
71
|
}
|
|
@@ -73,48 +75,64 @@ const bypassFilter = (invoke) => {
|
|
|
73
75
|
function debounceFilter(ms, options = {}) {
|
|
74
76
|
let timer;
|
|
75
77
|
let maxTimer;
|
|
78
|
+
let lastRejector = noop;
|
|
79
|
+
const _clearTimeout = (timer2) => {
|
|
80
|
+
clearTimeout(timer2);
|
|
81
|
+
lastRejector();
|
|
82
|
+
lastRejector = noop;
|
|
83
|
+
};
|
|
76
84
|
const filter = (invoke) => {
|
|
77
85
|
const duration = resolveUnref(ms);
|
|
78
86
|
const maxDuration = resolveUnref(options.maxWait);
|
|
79
87
|
if (timer)
|
|
80
|
-
|
|
88
|
+
_clearTimeout(timer);
|
|
81
89
|
if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {
|
|
82
90
|
if (maxTimer) {
|
|
83
|
-
|
|
91
|
+
_clearTimeout(maxTimer);
|
|
84
92
|
maxTimer = null;
|
|
85
93
|
}
|
|
86
|
-
return invoke();
|
|
94
|
+
return Promise.resolve(invoke());
|
|
87
95
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
96
|
+
return new Promise((resolve, reject) => {
|
|
97
|
+
lastRejector = options.rejectOnCancel ? reject : resolve;
|
|
98
|
+
if (maxDuration && !maxTimer) {
|
|
99
|
+
maxTimer = setTimeout(() => {
|
|
100
|
+
if (timer)
|
|
101
|
+
_clearTimeout(timer);
|
|
102
|
+
maxTimer = null;
|
|
103
|
+
resolve(invoke());
|
|
104
|
+
}, maxDuration);
|
|
105
|
+
}
|
|
106
|
+
timer = setTimeout(() => {
|
|
107
|
+
if (maxTimer)
|
|
108
|
+
_clearTimeout(maxTimer);
|
|
92
109
|
maxTimer = null;
|
|
93
|
-
invoke();
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
|
-
timer = setTimeout(() => {
|
|
97
|
-
if (maxTimer)
|
|
98
|
-
clearTimeout(maxTimer);
|
|
99
|
-
maxTimer = null;
|
|
100
|
-
invoke();
|
|
101
|
-
}, duration);
|
|
110
|
+
resolve(invoke());
|
|
111
|
+
}, duration);
|
|
112
|
+
});
|
|
102
113
|
};
|
|
103
114
|
return filter;
|
|
104
115
|
}
|
|
105
|
-
function throttleFilter(ms, trailing = true, leading = true) {
|
|
116
|
+
function throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {
|
|
106
117
|
let lastExec = 0;
|
|
107
118
|
let timer;
|
|
108
119
|
let isLeading = true;
|
|
120
|
+
let lastRejector = noop;
|
|
121
|
+
let lastValue;
|
|
109
122
|
const clear = () => {
|
|
110
123
|
if (timer) {
|
|
111
124
|
clearTimeout(timer);
|
|
112
125
|
timer = void 0;
|
|
126
|
+
lastRejector();
|
|
127
|
+
lastRejector = noop;
|
|
113
128
|
}
|
|
114
129
|
};
|
|
115
|
-
const filter = (
|
|
130
|
+
const filter = (_invoke) => {
|
|
116
131
|
const duration = resolveUnref(ms);
|
|
117
132
|
const elapsed = Date.now() - lastExec;
|
|
133
|
+
const invoke = () => {
|
|
134
|
+
return lastValue = _invoke();
|
|
135
|
+
};
|
|
118
136
|
clear();
|
|
119
137
|
if (duration <= 0) {
|
|
120
138
|
lastExec = Date.now();
|
|
@@ -124,16 +142,20 @@ function throttleFilter(ms, trailing = true, leading = true) {
|
|
|
124
142
|
lastExec = Date.now();
|
|
125
143
|
invoke();
|
|
126
144
|
} else if (trailing) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
145
|
+
return new Promise((resolve, reject) => {
|
|
146
|
+
lastRejector = rejectOnCancel ? reject : resolve;
|
|
147
|
+
timer = setTimeout(() => {
|
|
148
|
+
lastExec = Date.now();
|
|
149
|
+
isLeading = true;
|
|
150
|
+
resolve(invoke());
|
|
151
|
+
clear();
|
|
152
|
+
}, duration - elapsed);
|
|
153
|
+
});
|
|
133
154
|
}
|
|
134
155
|
if (!leading && !timer)
|
|
135
156
|
timer = setTimeout(() => isLeading = true, duration);
|
|
136
157
|
isLeading = false;
|
|
158
|
+
return lastValue;
|
|
137
159
|
};
|
|
138
160
|
return filter;
|
|
139
161
|
}
|
|
@@ -304,7 +326,9 @@ function createGlobalState(stateFactory) {
|
|
|
304
326
|
function createInjectionState(composable) {
|
|
305
327
|
const key = Symbol("InjectionState");
|
|
306
328
|
const useProvidingState = (...args) => {
|
|
307
|
-
|
|
329
|
+
const state = composable(...args);
|
|
330
|
+
provide(key, state);
|
|
331
|
+
return state;
|
|
308
332
|
};
|
|
309
333
|
const useInjectedState = () => inject(key);
|
|
310
334
|
return [useProvidingState, useInjectedState];
|
|
@@ -528,8 +552,8 @@ function refDefault(source, defaultValue) {
|
|
|
528
552
|
});
|
|
529
553
|
}
|
|
530
554
|
|
|
531
|
-
function useThrottleFn(fn, ms = 200, trailing = false, leading = true) {
|
|
532
|
-
return createFilterWrapper(throttleFilter(ms, trailing, leading), fn);
|
|
555
|
+
function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {
|
|
556
|
+
return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);
|
|
533
557
|
}
|
|
534
558
|
|
|
535
559
|
function refThrottled(value, delay = 200, trailing = true, leading = true) {
|
|
@@ -861,6 +885,10 @@ function useArraySome(list, fn) {
|
|
|
861
885
|
return computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));
|
|
862
886
|
}
|
|
863
887
|
|
|
888
|
+
function useArrayUnique(list) {
|
|
889
|
+
return computed(() => [...new Set(resolveUnref(list).map((element) => resolveUnref(element)))]);
|
|
890
|
+
}
|
|
891
|
+
|
|
864
892
|
function useCounter(initialValue = 0, options = {}) {
|
|
865
893
|
const count = ref(initialValue);
|
|
866
894
|
const {
|
|
@@ -1521,4 +1549,4 @@ function whenever(source, cb, options) {
|
|
|
1521
1549
|
}, options);
|
|
1522
1550
|
}
|
|
1523
1551
|
|
|
1524
|
-
export { __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
|
|
1552
|
+
export { __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
|