yann-core 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -7
- package/dist/index.js +4 -563
- package/dist/types/index.d.ts +9 -2
- package/dist/types/useState/index.d.ts +34 -5
- package/dist/types/useTimer/index.d.ts +21 -5
- package/dist/types/utils/index.d.ts +79 -12
- package/dist/useState.js +531 -0
- package/dist/useTimer.js +95 -0
- package/package.json +22 -23
- package/dist/types/useI18n/index.d.ts +0 -1
|
@@ -1,8 +1,37 @@
|
|
|
1
|
-
import { MaybeRefOrGetter, Ref } from 'vue';
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { MaybeRefOrGetter, Ref, ShallowRef, UnwrapRef } from 'vue';
|
|
2
|
+
/** 检测类型 T 是否为 any;是 any 时取 Yes 分支,否则取 No */
|
|
3
|
+
type IfAny<T, Yes, No> = 0 extends (1 & T) ? Yes : No;
|
|
4
|
+
/** 深层的状态引用类型:普通 Ref 原样返回,其余展开为 UnwrapRef 包装 */
|
|
5
|
+
type DeepStateRef<T> = [T] extends [Ref] ? IfAny<T, Ref<T>, T> : Ref<UnwrapRef<T>, UnwrapRef<T> | T>;
|
|
6
|
+
/** 浅层的状态引用类型:仅做一层包装,避免深层解包 */
|
|
7
|
+
type ShallowStateRef<T> = Ref extends T ? T extends Ref ? IfAny<T, ShallowRef<T>, T> : ShallowRef<T> : ShallowRef<T>;
|
|
8
|
+
/** useState 返回的状态引用类型,按 shallow 开关在深浅两种引用间切换 */
|
|
9
|
+
export type UseStateRef<T, Shallow extends boolean = false> = Shallow extends true ? ShallowStateRef<T> : DeepStateRef<T>;
|
|
10
|
+
/** useState 的返回元组:[状态引用, 写入函数] */
|
|
11
|
+
export type UseStateReturn<T, Shallow extends boolean = false> = [
|
|
12
|
+
UseStateRef<T, Shallow>,
|
|
13
|
+
(newVal: T) => boolean
|
|
14
|
+
];
|
|
15
|
+
/** useState 的配置项 */
|
|
16
|
+
export interface UseStateConfig<T, Shallow extends boolean = false> {
|
|
17
|
+
/** 是否使用浅层引用(true 时不做深层响应式转换) */
|
|
18
|
+
shallow?: Shallow;
|
|
19
|
+
/** 是否启用差异比较,相等则跳过写入 */
|
|
4
20
|
diff?: boolean;
|
|
5
|
-
|
|
21
|
+
/** 自定义相等判定,返回真表示新旧值相等、无需写入 */
|
|
22
|
+
compare?: (oldVal: UseStateRef<T, Shallow>['value'], newVal: T) => boolean;
|
|
23
|
+
/** 写入前的拦截钩子,可返回加工后的新值 */
|
|
6
24
|
beforeSet?: (newVal: T) => T;
|
|
7
25
|
}
|
|
8
|
-
|
|
26
|
+
/**
|
|
27
|
+
* 创建带差异比较与写入拦截能力的响应式状态
|
|
28
|
+
* @param source 初始值来源,支持值、Ref 或 getter
|
|
29
|
+
* @param config 配置项;shallow 为 true 时返回浅层引用
|
|
30
|
+
* @returns 元组 [状态引用, 写入函数],写入函数返回是否发生实际写入
|
|
31
|
+
*/
|
|
32
|
+
export declare function useState<T>(source: MaybeRefOrGetter<T>, config: UseStateConfig<T, true> & {
|
|
33
|
+
shallow: true;
|
|
34
|
+
}): UseStateReturn<T, true>;
|
|
35
|
+
export declare function useState<T>(source: MaybeRefOrGetter<T>, config?: UseStateConfig<T, false>): UseStateReturn<T, false>;
|
|
36
|
+
export declare function useState<T>(source: MaybeRefOrGetter<T>, config?: UseStateConfig<T, boolean>): UseStateReturn<T, boolean>;
|
|
37
|
+
export {};
|
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
type
|
|
1
|
+
/** 定时器回调,可同步返回,也可返回 thenable 表示异步 */
|
|
2
|
+
export type Callback = () => void | PromiseLike<void>;
|
|
3
|
+
/** 定时器控制器 */
|
|
4
|
+
export interface ControlFunctions {
|
|
5
|
+
/** 永久停止并释放定时器,不可再启动 */
|
|
3
6
|
stop: () => void;
|
|
7
|
+
/** 暂停计时,保持已消耗的逻辑时间 */
|
|
4
8
|
pause: () => void;
|
|
9
|
+
/** 从暂停处恢复计时 */
|
|
5
10
|
start: () => void;
|
|
6
|
-
}
|
|
7
|
-
|
|
11
|
+
}
|
|
12
|
+
/** 定时器配置项 */
|
|
13
|
+
export interface RafTimerOptions {
|
|
14
|
+
/** 计时基准:waitAfterCallback 回调完成后计时,ignoreCallbackTime 忽略回调耗时 */
|
|
8
15
|
type?: 'waitAfterCallback' | 'ignoreCallbackTime';
|
|
16
|
+
/** 循环方式:true 无限循环、false 仅一次、数字表示循环次数 */
|
|
9
17
|
loop?: boolean | number;
|
|
18
|
+
/** 回调同步抛错或返回的 thenable 拒绝时的处理器 */
|
|
19
|
+
onError?: (error: unknown) => void | PromiseLike<void>;
|
|
10
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* 创建基于动画帧的定时器
|
|
23
|
+
* @param callback 每帧触发的回调
|
|
24
|
+
* @param interval 触发间隔(毫秒),缺省按 60fps 计算
|
|
25
|
+
* @param options 定时器配置项
|
|
26
|
+
* @returns 含 stop / pause / start 的控制器
|
|
27
|
+
*/
|
|
11
28
|
export declare function useRafTimer(callback: Callback, interval?: number, options?: RafTimerOptions): ControlFunctions;
|
|
12
|
-
export {};
|
|
@@ -1,13 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/** @file 通用类型判断与安全执行工具函数集合 */
|
|
2
|
+
/**
|
|
3
|
+
* 判断值是否为函数
|
|
4
|
+
* @param value 待检测的值
|
|
5
|
+
* @returns 值为函数时返回真
|
|
6
|
+
*/
|
|
7
|
+
export declare function isFunction(value: unknown): value is (...args: never[]) => unknown;
|
|
8
|
+
/**
|
|
9
|
+
* 判断传入值是否为函数,是则带参执行并返回结果
|
|
10
|
+
* @param fn 可能为空的目标函数
|
|
11
|
+
* @param args 传给目标函数的参数列表
|
|
12
|
+
* @returns 目标函数执行结果;非函数或执行抛错时返回 undefined
|
|
13
|
+
*/
|
|
14
|
+
export declare function isFunctionAndExec<Args extends unknown[], Result>(fn: ((...args: Args) => Result) | null | undefined, ...args: Args): Result | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* 判断值是否为 Promise 风格对象(含 thenable)
|
|
17
|
+
* @param obj 待检测的值
|
|
18
|
+
* @returns 值可被 then 消费时返回真
|
|
19
|
+
*/
|
|
20
|
+
export declare function isPromise<T = unknown>(obj: unknown): obj is PromiseLike<T>;
|
|
21
|
+
/**
|
|
22
|
+
* 判断值是否为 Error 实例
|
|
23
|
+
* @param value 待检测的值
|
|
24
|
+
* @returns 值为 Error 实例时返回真
|
|
25
|
+
*/
|
|
26
|
+
export declare function isError(value: unknown): value is Error;
|
|
27
|
+
/**
|
|
28
|
+
* 判断值是否为布尔类型
|
|
29
|
+
* @param value 待检测的值
|
|
30
|
+
* @returns 值为布尔时返回真
|
|
31
|
+
*/
|
|
32
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
33
|
+
/**
|
|
34
|
+
* 判断值是否为整数(沿用既有的仅整数语义)
|
|
35
|
+
* @param value 待检测的值
|
|
36
|
+
* @returns 值为整数时返回真,浮点数返回假
|
|
37
|
+
*/
|
|
38
|
+
export declare function isNumber(value: unknown): value is number;
|
|
39
|
+
/**
|
|
40
|
+
* 判断字符串是否由纯数字组成(不含符号、小数点)
|
|
41
|
+
* @param str 待检测的字符串
|
|
42
|
+
* @returns 全部字符均为数字时返回真
|
|
43
|
+
*/
|
|
7
44
|
export declare function isPureNumberString(str: string): boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export declare function
|
|
45
|
+
/**
|
|
46
|
+
* 判断值是否为字符串
|
|
47
|
+
* @param value 待检测的值
|
|
48
|
+
* @returns 值为字符串时返回真
|
|
49
|
+
*/
|
|
50
|
+
export declare function isString(value: unknown): value is string;
|
|
51
|
+
/**
|
|
52
|
+
* 判断值是否为非空字符串
|
|
53
|
+
* @param value 待检测的值
|
|
54
|
+
* @returns 值为字符串且长度大于零时返回真
|
|
55
|
+
*/
|
|
56
|
+
export declare function strHasContent(value: unknown): value is string;
|
|
57
|
+
/**
|
|
58
|
+
* 判断值是否为普通对象(排除数组、null 等)
|
|
59
|
+
* @param value 待检测的值
|
|
60
|
+
* @returns 值为 [object Object] 形态的普通对象时返回真
|
|
61
|
+
*/
|
|
62
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* 判断值是否为非空普通对象
|
|
65
|
+
* @param value 待检测的值
|
|
66
|
+
* @returns 值为普通对象且至少含一个自有键时返回真
|
|
67
|
+
*/
|
|
68
|
+
export declare function objHasContent(value: unknown): value is Record<string, unknown>;
|
|
69
|
+
/**
|
|
70
|
+
* 判断值是否为数组
|
|
71
|
+
* @param value 待检测的值
|
|
72
|
+
* @returns 值为数组时返回真
|
|
73
|
+
*/
|
|
74
|
+
export declare function isArray(value: unknown): value is unknown[];
|
|
75
|
+
/**
|
|
76
|
+
* 判断值是否为非空数组
|
|
77
|
+
* @param value 待检测的值
|
|
78
|
+
* @returns 值为数组且长度大于零时返回真
|
|
79
|
+
*/
|
|
80
|
+
export declare function arrHasContent(value: unknown): value is unknown[];
|
package/dist/useState.js
ADDED
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
import { toValue as mt, shallowRef as Et, ref as xt, unref as It } from "vue";
|
|
2
|
+
var ht = typeof global == "object" && global && global.Object === Object && global, Ct = typeof self == "object" && self && self.Object === Object && self, y = ht || Ct || Function("return this")(), S = y.Symbol, yt = Object.prototype, Rt = yt.hasOwnProperty, Lt = yt.toString, E = S ? S.toStringTag : void 0;
|
|
3
|
+
function Mt(t) {
|
|
4
|
+
var e = Rt.call(t, E), r = t[E];
|
|
5
|
+
try {
|
|
6
|
+
t[E] = void 0;
|
|
7
|
+
var n = !0;
|
|
8
|
+
} catch {
|
|
9
|
+
}
|
|
10
|
+
var o = Lt.call(t);
|
|
11
|
+
return n && (e ? t[E] = r : delete t[E]), o;
|
|
12
|
+
}
|
|
13
|
+
var Dt = Object.prototype, Ft = Dt.toString;
|
|
14
|
+
function Gt(t) {
|
|
15
|
+
return Ft.call(t);
|
|
16
|
+
}
|
|
17
|
+
var Nt = "[object Null]", zt = "[object Undefined]", Q = S ? S.toStringTag : void 0;
|
|
18
|
+
function L(t) {
|
|
19
|
+
return t == null ? t === void 0 ? zt : Nt : Q && Q in Object(t) ? Mt(t) : Gt(t);
|
|
20
|
+
}
|
|
21
|
+
function I(t) {
|
|
22
|
+
return t != null && typeof t == "object";
|
|
23
|
+
}
|
|
24
|
+
var G = Array.isArray;
|
|
25
|
+
function vt(t) {
|
|
26
|
+
var e = typeof t;
|
|
27
|
+
return t != null && (e == "object" || e == "function");
|
|
28
|
+
}
|
|
29
|
+
var Ut = "[object AsyncFunction]", Bt = "[object Function]", Ht = "[object GeneratorFunction]", Kt = "[object Proxy]";
|
|
30
|
+
function bt(t) {
|
|
31
|
+
if (!vt(t))
|
|
32
|
+
return !1;
|
|
33
|
+
var e = L(t);
|
|
34
|
+
return e == Bt || e == Ht || e == Ut || e == Kt;
|
|
35
|
+
}
|
|
36
|
+
var B = y["__core-js_shared__"], V = function() {
|
|
37
|
+
var t = /[^.]+$/.exec(B && B.keys && B.keys.IE_PROTO || "");
|
|
38
|
+
return t ? "Symbol(src)_1." + t : "";
|
|
39
|
+
}();
|
|
40
|
+
function qt(t) {
|
|
41
|
+
return !!V && V in t;
|
|
42
|
+
}
|
|
43
|
+
var Wt = Function.prototype, Xt = Wt.toString;
|
|
44
|
+
function $(t) {
|
|
45
|
+
if (t != null) {
|
|
46
|
+
try {
|
|
47
|
+
return Xt.call(t);
|
|
48
|
+
} catch {
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
return t + "";
|
|
52
|
+
} catch {
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return "";
|
|
56
|
+
}
|
|
57
|
+
var Jt = /[\\^$.*+?()[\]{}|]/g, Yt = /^\[object .+?Constructor\]$/, Zt = Function.prototype, Qt = Object.prototype, Vt = Zt.toString, kt = Qt.hasOwnProperty, te = RegExp(
|
|
58
|
+
"^" + Vt.call(kt).replace(Jt, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
59
|
+
);
|
|
60
|
+
function ee(t) {
|
|
61
|
+
if (!vt(t) || qt(t))
|
|
62
|
+
return !1;
|
|
63
|
+
var e = bt(t) ? te : Yt;
|
|
64
|
+
return e.test($(t));
|
|
65
|
+
}
|
|
66
|
+
function re(t, e) {
|
|
67
|
+
return t == null ? void 0 : t[e];
|
|
68
|
+
}
|
|
69
|
+
function m(t, e) {
|
|
70
|
+
var r = re(t, e);
|
|
71
|
+
return ee(r) ? r : void 0;
|
|
72
|
+
}
|
|
73
|
+
var q = m(y, "WeakMap"), ne = 9007199254740991, ae = /^(?:0|[1-9]\d*)$/;
|
|
74
|
+
function ie(t, e) {
|
|
75
|
+
var r = typeof t;
|
|
76
|
+
return e = e ?? ne, !!e && (r == "number" || r != "symbol" && ae.test(t)) && t > -1 && t % 1 == 0 && t < e;
|
|
77
|
+
}
|
|
78
|
+
function Tt(t, e) {
|
|
79
|
+
return t === e || t !== t && e !== e;
|
|
80
|
+
}
|
|
81
|
+
var oe = 9007199254740991;
|
|
82
|
+
function At(t) {
|
|
83
|
+
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= oe;
|
|
84
|
+
}
|
|
85
|
+
function se(t) {
|
|
86
|
+
return t != null && At(t.length) && !bt(t);
|
|
87
|
+
}
|
|
88
|
+
var ue = Object.prototype;
|
|
89
|
+
function fe(t) {
|
|
90
|
+
var e = t && t.constructor, r = typeof e == "function" && e.prototype || ue;
|
|
91
|
+
return t === r;
|
|
92
|
+
}
|
|
93
|
+
function ce(t, e) {
|
|
94
|
+
for (var r = -1, n = Array(t); ++r < t; )
|
|
95
|
+
n[r] = e(r);
|
|
96
|
+
return n;
|
|
97
|
+
}
|
|
98
|
+
var pe = "[object Arguments]";
|
|
99
|
+
function k(t) {
|
|
100
|
+
return I(t) && L(t) == pe;
|
|
101
|
+
}
|
|
102
|
+
var Ot = Object.prototype, le = Ot.hasOwnProperty, de = Ot.propertyIsEnumerable, _e = k(/* @__PURE__ */ function() {
|
|
103
|
+
return arguments;
|
|
104
|
+
}()) ? k : function(t) {
|
|
105
|
+
return I(t) && le.call(t, "callee") && !de.call(t, "callee");
|
|
106
|
+
};
|
|
107
|
+
function ge() {
|
|
108
|
+
return !1;
|
|
109
|
+
}
|
|
110
|
+
var wt = typeof exports == "object" && exports && !exports.nodeType && exports, tt = wt && typeof module == "object" && module && !module.nodeType && module, he = tt && tt.exports === wt, et = he ? y.Buffer : void 0, ye = et ? et.isBuffer : void 0, W = ye || ge, ve = "[object Arguments]", be = "[object Array]", Te = "[object Boolean]", Ae = "[object Date]", Oe = "[object Error]", we = "[object Function]", je = "[object Map]", $e = "[object Number]", Pe = "[object Object]", Se = "[object RegExp]", me = "[object Set]", Ee = "[object String]", xe = "[object WeakMap]", Ie = "[object ArrayBuffer]", Ce = "[object DataView]", Re = "[object Float32Array]", Le = "[object Float64Array]", Me = "[object Int8Array]", De = "[object Int16Array]", Fe = "[object Int32Array]", Ge = "[object Uint8Array]", Ne = "[object Uint8ClampedArray]", ze = "[object Uint16Array]", Ue = "[object Uint32Array]", s = {};
|
|
111
|
+
s[Re] = s[Le] = s[Me] = s[De] = s[Fe] = s[Ge] = s[Ne] = s[ze] = s[Ue] = !0;
|
|
112
|
+
s[ve] = s[be] = s[Ie] = s[Te] = s[Ce] = s[Ae] = s[Oe] = s[we] = s[je] = s[$e] = s[Pe] = s[Se] = s[me] = s[Ee] = s[xe] = !1;
|
|
113
|
+
function Be(t) {
|
|
114
|
+
return I(t) && At(t.length) && !!s[L(t)];
|
|
115
|
+
}
|
|
116
|
+
function He(t) {
|
|
117
|
+
return function(e) {
|
|
118
|
+
return t(e);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
var jt = typeof exports == "object" && exports && !exports.nodeType && exports, x = jt && typeof module == "object" && module && !module.nodeType && module, Ke = x && x.exports === jt, H = Ke && ht.process, rt = function() {
|
|
122
|
+
try {
|
|
123
|
+
var t = x && x.require && x.require("util").types;
|
|
124
|
+
return t || H && H.binding && H.binding("util");
|
|
125
|
+
} catch {
|
|
126
|
+
}
|
|
127
|
+
}(), nt = rt && rt.isTypedArray, $t = nt ? He(nt) : Be, qe = Object.prototype, We = qe.hasOwnProperty;
|
|
128
|
+
function Xe(t, e) {
|
|
129
|
+
var r = G(t), n = !r && _e(t), o = !r && !n && W(t), a = !r && !n && !o && $t(t), i = r || n || o || a, f = i ? ce(t.length, String) : [], c = f.length;
|
|
130
|
+
for (var u in t)
|
|
131
|
+
We.call(t, u) && !(i && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
132
|
+
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
133
|
+
o && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
134
|
+
a && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
|
|
135
|
+
ie(u, c))) && f.push(u);
|
|
136
|
+
return f;
|
|
137
|
+
}
|
|
138
|
+
function Je(t, e) {
|
|
139
|
+
return function(r) {
|
|
140
|
+
return t(e(r));
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
var Ye = Je(Object.keys, Object), Ze = Object.prototype, Qe = Ze.hasOwnProperty;
|
|
144
|
+
function Ve(t) {
|
|
145
|
+
if (!fe(t))
|
|
146
|
+
return Ye(t);
|
|
147
|
+
var e = [];
|
|
148
|
+
for (var r in Object(t))
|
|
149
|
+
Qe.call(t, r) && r != "constructor" && e.push(r);
|
|
150
|
+
return e;
|
|
151
|
+
}
|
|
152
|
+
function ke(t) {
|
|
153
|
+
return se(t) ? Xe(t) : Ve(t);
|
|
154
|
+
}
|
|
155
|
+
var C = m(Object, "create");
|
|
156
|
+
function tr() {
|
|
157
|
+
this.__data__ = C ? C(null) : {}, this.size = 0;
|
|
158
|
+
}
|
|
159
|
+
function er(t) {
|
|
160
|
+
var e = this.has(t) && delete this.__data__[t];
|
|
161
|
+
return this.size -= e ? 1 : 0, e;
|
|
162
|
+
}
|
|
163
|
+
var rr = "__lodash_hash_undefined__", nr = Object.prototype, ar = nr.hasOwnProperty;
|
|
164
|
+
function ir(t) {
|
|
165
|
+
var e = this.__data__;
|
|
166
|
+
if (C) {
|
|
167
|
+
var r = e[t];
|
|
168
|
+
return r === rr ? void 0 : r;
|
|
169
|
+
}
|
|
170
|
+
return ar.call(e, t) ? e[t] : void 0;
|
|
171
|
+
}
|
|
172
|
+
var or = Object.prototype, sr = or.hasOwnProperty;
|
|
173
|
+
function ur(t) {
|
|
174
|
+
var e = this.__data__;
|
|
175
|
+
return C ? e[t] !== void 0 : sr.call(e, t);
|
|
176
|
+
}
|
|
177
|
+
var fr = "__lodash_hash_undefined__";
|
|
178
|
+
function cr(t, e) {
|
|
179
|
+
var r = this.__data__;
|
|
180
|
+
return this.size += this.has(t) ? 0 : 1, r[t] = C && e === void 0 ? fr : e, this;
|
|
181
|
+
}
|
|
182
|
+
function j(t) {
|
|
183
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
184
|
+
for (this.clear(); ++e < r; ) {
|
|
185
|
+
var n = t[e];
|
|
186
|
+
this.set(n[0], n[1]);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
j.prototype.clear = tr;
|
|
190
|
+
j.prototype.delete = er;
|
|
191
|
+
j.prototype.get = ir;
|
|
192
|
+
j.prototype.has = ur;
|
|
193
|
+
j.prototype.set = cr;
|
|
194
|
+
function pr() {
|
|
195
|
+
this.__data__ = [], this.size = 0;
|
|
196
|
+
}
|
|
197
|
+
function z(t, e) {
|
|
198
|
+
for (var r = t.length; r--; )
|
|
199
|
+
if (Tt(t[r][0], e))
|
|
200
|
+
return r;
|
|
201
|
+
return -1;
|
|
202
|
+
}
|
|
203
|
+
var lr = Array.prototype, dr = lr.splice;
|
|
204
|
+
function _r(t) {
|
|
205
|
+
var e = this.__data__, r = z(e, t);
|
|
206
|
+
if (r < 0)
|
|
207
|
+
return !1;
|
|
208
|
+
var n = e.length - 1;
|
|
209
|
+
return r == n ? e.pop() : dr.call(e, r, 1), --this.size, !0;
|
|
210
|
+
}
|
|
211
|
+
function gr(t) {
|
|
212
|
+
var e = this.__data__, r = z(e, t);
|
|
213
|
+
return r < 0 ? void 0 : e[r][1];
|
|
214
|
+
}
|
|
215
|
+
function hr(t) {
|
|
216
|
+
return z(this.__data__, t) > -1;
|
|
217
|
+
}
|
|
218
|
+
function yr(t, e) {
|
|
219
|
+
var r = this.__data__, n = z(r, t);
|
|
220
|
+
return n < 0 ? (++this.size, r.push([t, e])) : r[n][1] = e, this;
|
|
221
|
+
}
|
|
222
|
+
function v(t) {
|
|
223
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
224
|
+
for (this.clear(); ++e < r; ) {
|
|
225
|
+
var n = t[e];
|
|
226
|
+
this.set(n[0], n[1]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
v.prototype.clear = pr;
|
|
230
|
+
v.prototype.delete = _r;
|
|
231
|
+
v.prototype.get = gr;
|
|
232
|
+
v.prototype.has = hr;
|
|
233
|
+
v.prototype.set = yr;
|
|
234
|
+
var R = m(y, "Map");
|
|
235
|
+
function vr() {
|
|
236
|
+
this.size = 0, this.__data__ = {
|
|
237
|
+
hash: new j(),
|
|
238
|
+
map: new (R || v)(),
|
|
239
|
+
string: new j()
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
function br(t) {
|
|
243
|
+
var e = typeof t;
|
|
244
|
+
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
|
|
245
|
+
}
|
|
246
|
+
function U(t, e) {
|
|
247
|
+
var r = t.__data__;
|
|
248
|
+
return br(e) ? r[typeof e == "string" ? "string" : "hash"] : r.map;
|
|
249
|
+
}
|
|
250
|
+
function Tr(t) {
|
|
251
|
+
var e = U(this, t).delete(t);
|
|
252
|
+
return this.size -= e ? 1 : 0, e;
|
|
253
|
+
}
|
|
254
|
+
function Ar(t) {
|
|
255
|
+
return U(this, t).get(t);
|
|
256
|
+
}
|
|
257
|
+
function Or(t) {
|
|
258
|
+
return U(this, t).has(t);
|
|
259
|
+
}
|
|
260
|
+
function wr(t, e) {
|
|
261
|
+
var r = U(this, t), n = r.size;
|
|
262
|
+
return r.set(t, e), this.size += r.size == n ? 0 : 1, this;
|
|
263
|
+
}
|
|
264
|
+
function P(t) {
|
|
265
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
266
|
+
for (this.clear(); ++e < r; ) {
|
|
267
|
+
var n = t[e];
|
|
268
|
+
this.set(n[0], n[1]);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
P.prototype.clear = vr;
|
|
272
|
+
P.prototype.delete = Tr;
|
|
273
|
+
P.prototype.get = Ar;
|
|
274
|
+
P.prototype.has = Or;
|
|
275
|
+
P.prototype.set = wr;
|
|
276
|
+
function jr(t, e) {
|
|
277
|
+
for (var r = -1, n = e.length, o = t.length; ++r < n; )
|
|
278
|
+
t[o + r] = e[r];
|
|
279
|
+
return t;
|
|
280
|
+
}
|
|
281
|
+
function $r() {
|
|
282
|
+
this.__data__ = new v(), this.size = 0;
|
|
283
|
+
}
|
|
284
|
+
function Pr(t) {
|
|
285
|
+
var e = this.__data__, r = e.delete(t);
|
|
286
|
+
return this.size = e.size, r;
|
|
287
|
+
}
|
|
288
|
+
function Sr(t) {
|
|
289
|
+
return this.__data__.get(t);
|
|
290
|
+
}
|
|
291
|
+
function mr(t) {
|
|
292
|
+
return this.__data__.has(t);
|
|
293
|
+
}
|
|
294
|
+
var Er = 200;
|
|
295
|
+
function xr(t, e) {
|
|
296
|
+
var r = this.__data__;
|
|
297
|
+
if (r instanceof v) {
|
|
298
|
+
var n = r.__data__;
|
|
299
|
+
if (!R || n.length < Er - 1)
|
|
300
|
+
return n.push([t, e]), this.size = ++r.size, this;
|
|
301
|
+
r = this.__data__ = new P(n);
|
|
302
|
+
}
|
|
303
|
+
return r.set(t, e), this.size = r.size, this;
|
|
304
|
+
}
|
|
305
|
+
function A(t) {
|
|
306
|
+
var e = this.__data__ = new v(t);
|
|
307
|
+
this.size = e.size;
|
|
308
|
+
}
|
|
309
|
+
A.prototype.clear = $r;
|
|
310
|
+
A.prototype.delete = Pr;
|
|
311
|
+
A.prototype.get = Sr;
|
|
312
|
+
A.prototype.has = mr;
|
|
313
|
+
A.prototype.set = xr;
|
|
314
|
+
function Ir(t, e) {
|
|
315
|
+
for (var r = -1, n = t == null ? 0 : t.length, o = 0, a = []; ++r < n; ) {
|
|
316
|
+
var i = t[r];
|
|
317
|
+
e(i, r, t) && (a[o++] = i);
|
|
318
|
+
}
|
|
319
|
+
return a;
|
|
320
|
+
}
|
|
321
|
+
function Cr() {
|
|
322
|
+
return [];
|
|
323
|
+
}
|
|
324
|
+
var Rr = Object.prototype, Lr = Rr.propertyIsEnumerable, at = Object.getOwnPropertySymbols, Mr = at ? function(t) {
|
|
325
|
+
return t == null ? [] : (t = Object(t), Ir(at(t), function(e) {
|
|
326
|
+
return Lr.call(t, e);
|
|
327
|
+
}));
|
|
328
|
+
} : Cr;
|
|
329
|
+
function Dr(t, e, r) {
|
|
330
|
+
var n = e(t);
|
|
331
|
+
return G(t) ? n : jr(n, r(t));
|
|
332
|
+
}
|
|
333
|
+
function it(t) {
|
|
334
|
+
return Dr(t, ke, Mr);
|
|
335
|
+
}
|
|
336
|
+
var X = m(y, "DataView"), J = m(y, "Promise"), Y = m(y, "Set"), ot = "[object Map]", Fr = "[object Object]", st = "[object Promise]", ut = "[object Set]", ft = "[object WeakMap]", ct = "[object DataView]", Gr = $(X), Nr = $(R), zr = $(J), Ur = $(Y), Br = $(q), T = L;
|
|
337
|
+
(X && T(new X(new ArrayBuffer(1))) != ct || R && T(new R()) != ot || J && T(J.resolve()) != st || Y && T(new Y()) != ut || q && T(new q()) != ft) && (T = function(t) {
|
|
338
|
+
var e = L(t), r = e == Fr ? t.constructor : void 0, n = r ? $(r) : "";
|
|
339
|
+
if (n)
|
|
340
|
+
switch (n) {
|
|
341
|
+
case Gr:
|
|
342
|
+
return ct;
|
|
343
|
+
case Nr:
|
|
344
|
+
return ot;
|
|
345
|
+
case zr:
|
|
346
|
+
return st;
|
|
347
|
+
case Ur:
|
|
348
|
+
return ut;
|
|
349
|
+
case Br:
|
|
350
|
+
return ft;
|
|
351
|
+
}
|
|
352
|
+
return e;
|
|
353
|
+
});
|
|
354
|
+
var pt = y.Uint8Array, Hr = "__lodash_hash_undefined__";
|
|
355
|
+
function Kr(t) {
|
|
356
|
+
return this.__data__.set(t, Hr), this;
|
|
357
|
+
}
|
|
358
|
+
function qr(t) {
|
|
359
|
+
return this.__data__.has(t);
|
|
360
|
+
}
|
|
361
|
+
function N(t) {
|
|
362
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
363
|
+
for (this.__data__ = new P(); ++e < r; )
|
|
364
|
+
this.add(t[e]);
|
|
365
|
+
}
|
|
366
|
+
N.prototype.add = N.prototype.push = Kr;
|
|
367
|
+
N.prototype.has = qr;
|
|
368
|
+
function Wr(t, e) {
|
|
369
|
+
for (var r = -1, n = t == null ? 0 : t.length; ++r < n; )
|
|
370
|
+
if (e(t[r], r, t))
|
|
371
|
+
return !0;
|
|
372
|
+
return !1;
|
|
373
|
+
}
|
|
374
|
+
function Xr(t, e) {
|
|
375
|
+
return t.has(e);
|
|
376
|
+
}
|
|
377
|
+
var Jr = 1, Yr = 2;
|
|
378
|
+
function Pt(t, e, r, n, o, a) {
|
|
379
|
+
var i = r & Jr, f = t.length, c = e.length;
|
|
380
|
+
if (f != c && !(i && c > f))
|
|
381
|
+
return !1;
|
|
382
|
+
var u = a.get(t), g = a.get(e);
|
|
383
|
+
if (u && g)
|
|
384
|
+
return u == e && g == t;
|
|
385
|
+
var l = -1, p = !0, h = r & Yr ? new N() : void 0;
|
|
386
|
+
for (a.set(t, e), a.set(e, t); ++l < f; ) {
|
|
387
|
+
var d = t[l], _ = e[l];
|
|
388
|
+
if (n)
|
|
389
|
+
var b = i ? n(_, d, l, e, t, a) : n(d, _, l, t, e, a);
|
|
390
|
+
if (b !== void 0) {
|
|
391
|
+
if (b)
|
|
392
|
+
continue;
|
|
393
|
+
p = !1;
|
|
394
|
+
break;
|
|
395
|
+
}
|
|
396
|
+
if (h) {
|
|
397
|
+
if (!Wr(e, function(O, w) {
|
|
398
|
+
if (!Xr(h, w) && (d === O || o(d, O, r, n, a)))
|
|
399
|
+
return h.push(w);
|
|
400
|
+
})) {
|
|
401
|
+
p = !1;
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
} else if (!(d === _ || o(d, _, r, n, a))) {
|
|
405
|
+
p = !1;
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return a.delete(t), a.delete(e), p;
|
|
410
|
+
}
|
|
411
|
+
function Zr(t) {
|
|
412
|
+
var e = -1, r = Array(t.size);
|
|
413
|
+
return t.forEach(function(n, o) {
|
|
414
|
+
r[++e] = [o, n];
|
|
415
|
+
}), r;
|
|
416
|
+
}
|
|
417
|
+
function Qr(t) {
|
|
418
|
+
var e = -1, r = Array(t.size);
|
|
419
|
+
return t.forEach(function(n) {
|
|
420
|
+
r[++e] = n;
|
|
421
|
+
}), r;
|
|
422
|
+
}
|
|
423
|
+
var Vr = 1, kr = 2, tn = "[object Boolean]", en = "[object Date]", rn = "[object Error]", nn = "[object Map]", an = "[object Number]", on = "[object RegExp]", sn = "[object Set]", un = "[object String]", fn = "[object Symbol]", cn = "[object ArrayBuffer]", pn = "[object DataView]", lt = S ? S.prototype : void 0, K = lt ? lt.valueOf : void 0;
|
|
424
|
+
function ln(t, e, r, n, o, a, i) {
|
|
425
|
+
switch (r) {
|
|
426
|
+
case pn:
|
|
427
|
+
if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)
|
|
428
|
+
return !1;
|
|
429
|
+
t = t.buffer, e = e.buffer;
|
|
430
|
+
case cn:
|
|
431
|
+
return !(t.byteLength != e.byteLength || !a(new pt(t), new pt(e)));
|
|
432
|
+
case tn:
|
|
433
|
+
case en:
|
|
434
|
+
case an:
|
|
435
|
+
return Tt(+t, +e);
|
|
436
|
+
case rn:
|
|
437
|
+
return t.name == e.name && t.message == e.message;
|
|
438
|
+
case on:
|
|
439
|
+
case un:
|
|
440
|
+
return t == e + "";
|
|
441
|
+
case nn:
|
|
442
|
+
var f = Zr;
|
|
443
|
+
case sn:
|
|
444
|
+
var c = n & Vr;
|
|
445
|
+
if (f || (f = Qr), t.size != e.size && !c)
|
|
446
|
+
return !1;
|
|
447
|
+
var u = i.get(t);
|
|
448
|
+
if (u)
|
|
449
|
+
return u == e;
|
|
450
|
+
n |= kr, i.set(t, e);
|
|
451
|
+
var g = Pt(f(t), f(e), n, o, a, i);
|
|
452
|
+
return i.delete(t), g;
|
|
453
|
+
case fn:
|
|
454
|
+
if (K)
|
|
455
|
+
return K.call(t) == K.call(e);
|
|
456
|
+
}
|
|
457
|
+
return !1;
|
|
458
|
+
}
|
|
459
|
+
var dn = 1, _n = Object.prototype, gn = _n.hasOwnProperty;
|
|
460
|
+
function hn(t, e, r, n, o, a) {
|
|
461
|
+
var i = r & dn, f = it(t), c = f.length, u = it(e), g = u.length;
|
|
462
|
+
if (c != g && !i)
|
|
463
|
+
return !1;
|
|
464
|
+
for (var l = c; l--; ) {
|
|
465
|
+
var p = f[l];
|
|
466
|
+
if (!(i ? p in e : gn.call(e, p)))
|
|
467
|
+
return !1;
|
|
468
|
+
}
|
|
469
|
+
var h = a.get(t), d = a.get(e);
|
|
470
|
+
if (h && d)
|
|
471
|
+
return h == e && d == t;
|
|
472
|
+
var _ = !0;
|
|
473
|
+
a.set(t, e), a.set(e, t);
|
|
474
|
+
for (var b = i; ++l < c; ) {
|
|
475
|
+
p = f[l];
|
|
476
|
+
var O = t[p], w = e[p];
|
|
477
|
+
if (n)
|
|
478
|
+
var Z = i ? n(w, O, p, e, t, a) : n(O, w, p, t, e, a);
|
|
479
|
+
if (!(Z === void 0 ? O === w || o(O, w, r, n, a) : Z)) {
|
|
480
|
+
_ = !1;
|
|
481
|
+
break;
|
|
482
|
+
}
|
|
483
|
+
b || (b = p == "constructor");
|
|
484
|
+
}
|
|
485
|
+
if (_ && !b) {
|
|
486
|
+
var M = t.constructor, D = e.constructor;
|
|
487
|
+
M != D && "constructor" in t && "constructor" in e && !(typeof M == "function" && M instanceof M && typeof D == "function" && D instanceof D) && (_ = !1);
|
|
488
|
+
}
|
|
489
|
+
return a.delete(t), a.delete(e), _;
|
|
490
|
+
}
|
|
491
|
+
var yn = 1, dt = "[object Arguments]", _t = "[object Array]", F = "[object Object]", vn = Object.prototype, gt = vn.hasOwnProperty;
|
|
492
|
+
function bn(t, e, r, n, o, a) {
|
|
493
|
+
var i = G(t), f = G(e), c = i ? _t : T(t), u = f ? _t : T(e);
|
|
494
|
+
c = c == dt ? F : c, u = u == dt ? F : u;
|
|
495
|
+
var g = c == F, l = u == F, p = c == u;
|
|
496
|
+
if (p && W(t)) {
|
|
497
|
+
if (!W(e))
|
|
498
|
+
return !1;
|
|
499
|
+
i = !0, g = !1;
|
|
500
|
+
}
|
|
501
|
+
if (p && !g)
|
|
502
|
+
return a || (a = new A()), i || $t(t) ? Pt(t, e, r, n, o, a) : ln(t, e, c, r, n, o, a);
|
|
503
|
+
if (!(r & yn)) {
|
|
504
|
+
var h = g && gt.call(t, "__wrapped__"), d = l && gt.call(e, "__wrapped__");
|
|
505
|
+
if (h || d) {
|
|
506
|
+
var _ = h ? t.value() : t, b = d ? e.value() : e;
|
|
507
|
+
return a || (a = new A()), o(_, b, r, n, a);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
return p ? (a || (a = new A()), hn(t, e, r, n, o, a)) : !1;
|
|
511
|
+
}
|
|
512
|
+
function St(t, e, r, n, o) {
|
|
513
|
+
return t === e ? !0 : t == null || e == null || !I(t) && !I(e) ? t !== t && e !== e : bn(t, e, r, n, St, o);
|
|
514
|
+
}
|
|
515
|
+
function Tn(t, e) {
|
|
516
|
+
return St(t, e);
|
|
517
|
+
}
|
|
518
|
+
function On(t, e) {
|
|
519
|
+
const r = mt(t), n = e != null && e.shallow ? Et(r) : xt(r), o = (i) => {
|
|
520
|
+
const f = typeof (e == null ? void 0 : e.beforeSet) == "function" ? e.beforeSet(i) : i;
|
|
521
|
+
return n.value = It(f), !0;
|
|
522
|
+
}, a = (i) => (typeof (e == null ? void 0 : e.compare) == "function" ? e.compare(n.value, i) : Object.is(n.value, i) || Tn(n.value, i)) ? !1 : o(i);
|
|
523
|
+
return [
|
|
524
|
+
n,
|
|
525
|
+
// 启用差异比较(diff 或 compare)时暴露 compare,否则暴露 setValue
|
|
526
|
+
e != null && e.diff || typeof (e == null ? void 0 : e.compare) == "function" ? a : o
|
|
527
|
+
];
|
|
528
|
+
}
|
|
529
|
+
export {
|
|
530
|
+
On as useState
|
|
531
|
+
};
|