@whitesev/utils 1.1.0 → 1.1.2

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.
@@ -1,5 +1,9 @@
1
1
  declare class LockFunction<K extends (...args: any[]) => any | Promise<any> | void> {
2
2
  #private;
3
+ lock: () => void;
4
+ unlock: () => void;
5
+ run: (...args: any[]) => Promise<void>;
6
+ isLock: () => boolean;
3
7
  /**
4
8
  * @param callback 需要执行的函数
5
9
  * @param delayTime (可选)延迟xx毫秒后解锁,默认:0
@@ -11,21 +15,5 @@ declare class LockFunction<K extends (...args: any[]) => any | Promise<any> | vo
11
15
  * @param delayTime (可选)延迟xx毫秒后解锁,默认:0
12
16
  */
13
17
  constructor(callback: K, context?: any, delayTime?: number);
14
- /**
15
- * 判断是否被锁
16
- */
17
- isLock(): boolean;
18
- /**
19
- * 锁
20
- */
21
- lock(): void;
22
- /**
23
- * 解锁
24
- */
25
- unlock(): void;
26
- /**
27
- * 执行
28
- */
29
- run(...args: any[]): Promise<void>;
30
18
  }
31
19
  export { LockFunction };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitesev/utils",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "一个常用的工具库",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/node/index.esm.js",
@@ -5,6 +5,10 @@ class LockFunction<K extends (...args: any[]) => any | Promise<any> | void> {
5
5
  #delayTime: number = 0;
6
6
  #callback: K;
7
7
  #context: typeof Utils;
8
+ lock: () => void;
9
+ unlock: () => void;
10
+ run: (...args: any[]) => Promise<void>;
11
+ isLock: () => boolean;
8
12
  /**
9
13
  * @param callback 需要执行的函数
10
14
  * @param delayTime (可选)延迟xx毫秒后解锁,默认:0
@@ -17,6 +21,7 @@ class LockFunction<K extends (...args: any[]) => any | Promise<any> | void> {
17
21
  */
18
22
  constructor(callback: K, context?: any, delayTime?: number);
19
23
  constructor(callback: K, context?: any, delayTime?: number) {
24
+ let that = this;
20
25
  this.#callback = callback;
21
26
  if (typeof context === "number") {
22
27
  this.#delayTime = context;
@@ -25,37 +30,37 @@ class LockFunction<K extends (...args: any[]) => any | Promise<any> | void> {
25
30
  this.#delayTime = delayTime as number;
26
31
  this.#context = context;
27
32
  }
28
- }
29
- /**
30
- * 判断是否被锁
31
- */
32
- isLock() {
33
- return this.#flag;
34
- }
35
- /**
36
- * 锁
37
- */
38
- lock() {
39
- this.#flag = true;
40
- }
41
- /**
42
- * 解锁
43
- */
44
- unlock() {
45
- setTimeout(() => {
46
- this.#flag = false;
47
- }, this.#delayTime);
48
- }
49
- /**
50
- * 执行
51
- */
52
- async run(...args: any[]) {
53
- if (this.isLock()) {
54
- return;
55
- }
56
- this.lock();
57
- await this.#callback.apply(this.#context, args);
58
- this.unlock();
33
+ /**
34
+ * 锁
35
+ */
36
+ this.lock = function () {
37
+ that.#flag = true;
38
+ };
39
+ /**
40
+ * 解锁
41
+ */
42
+ this.unlock = function () {
43
+ setTimeout(() => {
44
+ that.#flag = false;
45
+ }, that.#delayTime);
46
+ };
47
+ /**
48
+ * 判断是否被锁
49
+ */
50
+ this.isLock = function () {
51
+ return that.#flag;
52
+ };
53
+ /**
54
+ * 执行
55
+ */
56
+ this.run = async function (...args: any[]) {
57
+ if (that.isLock()) {
58
+ return;
59
+ }
60
+ that.lock();
61
+ await that.#callback.apply(that.#context, args);
62
+ that.unlock();
63
+ };
59
64
  }
60
65
  }
61
66
 
package/src/Utils.ts CHANGED
@@ -2502,60 +2502,52 @@ class Utils {
2502
2502
  let default_obverser_config = {
2503
2503
  /* 监听到元素有反馈,需执行的函数 */
2504
2504
  callback: () => {},
2505
- config: {
2505
+ config: <MutationObserverInit>{
2506
2506
  /**
2507
- * @type {boolean|undefined}
2508
2507
  * + true 监听以 target 为根节点的整个子树。包括子树中所有节点的属性,而不仅仅是针对 target
2509
2508
  * + false (默认) 不生效
2510
2509
  */
2511
- subtree: void 0,
2510
+ subtree: void 0 as any as boolean,
2512
2511
  /**
2513
- * @type {boolean|undefined}
2514
2512
  * + true 监听 target 节点中发生的节点的新增与删除(同时,如果 subtree 为 true,会针对整个子树生效)
2515
2513
  * + false (默认) 不生效
2516
2514
  */
2517
- childList: void 0,
2515
+ childList: void 0 as any as boolean,
2518
2516
  /**
2519
- * @type {boolean|undefined}
2520
2517
  * + true 观察所有监听的节点属性值的变化。默认值为 true,当声明了 attributeFilter 或 attributeOldValue
2521
2518
  * + false (默认) 不生效
2522
2519
  */
2523
- attributes: void 0,
2520
+ attributes: void 0 as any as boolean,
2524
2521
  /**
2525
2522
  * 一个用于声明哪些属性名会被监听的数组。如果不声明该属性,所有属性的变化都将触发通知
2526
- * @type {[...string]|undefined}
2527
2523
  */
2528
- attributeFilter: void 0,
2524
+ attributeFilter: void 0 as any as string[],
2529
2525
  /**
2530
- * @type {boolean|undefined}
2531
2526
  * + true 记录上一次被监听的节点的属性变化;可查阅 MutationObserver 中的 Monitoring attribute values 了解关于观察属性变化和属性值记录的详情
2532
2527
  * + false (默认) 不生效
2533
2528
  */
2534
- attributeOldValue: void 0,
2529
+ attributeOldValue: void 0 as any as boolean,
2535
2530
  /**
2536
- * @type {boolean|undefined}
2537
2531
  * + true 监听声明的 target 节点上所有字符的变化。默认值为 true,如果声明了 characterDataOldValue
2538
2532
  * + false (默认) 不生效
2539
2533
  */
2540
- characterData: void 0,
2534
+ characterData: void 0 as any as boolean,
2541
2535
  /**
2542
- * @type {boolean|undefined}
2543
2536
  * + true 记录前一个被监听的节点中发生的文本变化
2544
2537
  * + false (默认) 不生效
2545
2538
  */
2546
- characterDataOldValue: void 0,
2539
+ characterDataOldValue: void 0 as any as boolean,
2547
2540
  },
2548
2541
  };
2549
2542
  observer_config = UtilsContext.assign(
2550
2543
  default_obverser_config,
2551
2544
  observer_config
2552
2545
  );
2553
- let MutationObserver =
2554
- (UtilsCore.window as any).MutationObserver ||
2546
+ let windowMutationObserver =
2547
+ window.MutationObserver ||
2555
2548
  (UtilsCore.window as any).webkitMutationObserver ||
2556
2549
  (UtilsCore.window as any).MozMutationObserver;
2557
- /** @type {MutationObserver} */
2558
- let mutationObserver = new MutationObserver(function (
2550
+ let mutationObserver = new windowMutationObserver(function (
2559
2551
  mutations: MutationRecord[],
2560
2552
  observer: MutationObserver
2561
2553
  ) {