baja-lite 1.8.14 → 1.8.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/event.d.ts +8 -2
  2. package/event.js +14 -2
  3. package/package.json +1 -1
package/event.d.ts CHANGED
@@ -53,7 +53,8 @@ export declare function on(event: string, listener: (...args: any[]) => void, op
53
53
  /**
54
54
  * 移除事件监听器。
55
55
  *
56
- * @param listener - 必须与注册时的引用完全一致
56
+ * - 传入 `listener` 移除指定监听器(必须与注册时引用一致)
57
+ * - 不传 `listener` → 移除该事件下的全部监听器
57
58
  *
58
59
  * @example
59
60
  * ```ts
@@ -61,10 +62,15 @@ export declare function on(event: string, listener: (...args: any[]) => void, op
61
62
  *
62
63
  * const handler = (uid: string) => console.log(uid);
63
64
  * on('user-login', handler);
65
+ *
66
+ * // 移除指定监听器
64
67
  * off('user-login', handler);
68
+ *
69
+ * // 移除该事件下所有监听器
70
+ * off('user-login');
65
71
  * ```
66
72
  */
67
- export declare function off(event: string, listener: (...args: any[]) => void): void;
73
+ export declare function off(event: string, listener?: (...args: any[]) => void): void;
68
74
  /**
69
75
  * 触发事件。
70
76
  *
package/event.js CHANGED
@@ -94,7 +94,8 @@ export function on(event, listener, opts) {
94
94
  /**
95
95
  * 移除事件监听器。
96
96
  *
97
- * @param listener - 必须与注册时的引用完全一致
97
+ * - 传入 `listener` 移除指定监听器(必须与注册时引用一致)
98
+ * - 不传 `listener` → 移除该事件下的全部监听器
98
99
  *
99
100
  * @example
100
101
  * ```ts
@@ -102,11 +103,22 @@ export function on(event, listener, opts) {
102
103
  *
103
104
  * const handler = (uid: string) => console.log(uid);
104
105
  * on('user-login', handler);
106
+ *
107
+ * // 移除指定监听器
105
108
  * off('user-login', handler);
109
+ *
110
+ * // 移除该事件下所有监听器
111
+ * off('user-login');
106
112
  * ```
107
113
  */
108
114
  export function off(event, listener) {
109
- getEventBus().off(event, listener);
115
+ const bus = getEventBus();
116
+ if (listener) {
117
+ bus.off(event, listener);
118
+ }
119
+ else {
120
+ bus.removeAllListeners(event);
121
+ }
110
122
  }
111
123
  /**
112
124
  * 触发事件。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baja-lite",
3
- "version": "1.8.14",
3
+ "version": "1.8.15",
4
4
  "description": "some util for self",
5
5
  "homepage": "https://github.com/void-soul/baja-lite",
6
6
  "repository": {