events-ex 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.npmrcx +5 -0
  2. package/CHANGELOG.md +14 -0
  3. package/README.cn.md +112 -180
  4. package/README.md +133 -151
  5. package/docs/README.md +136 -150
  6. package/docs/all-off/README.md +17 -0
  7. package/docs/all-off/functions/allOff.md +33 -0
  8. package/docs/consts/README.md +12 -0
  9. package/docs/consts/variables/RegExpEventSymbol.md +11 -0
  10. package/docs/consts/variables/states.md +29 -0
  11. package/docs/default-methods/README.md +17 -0
  12. package/docs/default-methods/functions/getEventableMethods.md +301 -0
  13. package/docs/event/README.md +17 -0
  14. package/docs/event/classes/Event.md +143 -0
  15. package/docs/event-emitter/README-1.md +17 -0
  16. package/docs/event-emitter/README.md +17 -0
  17. package/docs/event-emitter/classes/EventEmitter-1.md +29 -0
  18. package/docs/event-emitter/classes/EventEmitter.md +349 -0
  19. package/docs/eventable/README.md +17 -0
  20. package/docs/eventable/functions/eventable.md +82 -0
  21. package/docs/has-listeners/README.md +17 -0
  22. package/docs/has-listeners/functions/hasListeners.md +38 -0
  23. package/docs/index/README.md +85 -0
  24. package/docs/modules.md +24 -23
  25. package/docs/pipe/README.md +17 -0
  26. package/docs/pipe/functions/pipe.md +41 -0
  27. package/docs/pipe-async/README.md +17 -0
  28. package/docs/pipe-async/functions/pipeAsync.md +41 -0
  29. package/docs/unify/README.md +17 -0
  30. package/docs/unify/functions/unify.md +35 -0
  31. package/docs/util/array-remove/README.md +17 -0
  32. package/docs/util/array-remove/functions/remove.md +21 -0
  33. package/docs/util/object-for-each/README.md +17 -0
  34. package/docs/util/object-for-each/functions/forEach.md +29 -0
  35. package/docs/util/promise-any/README.md +11 -0
  36. package/docs/util/promise-any/variables/default.md +9 -0
  37. package/docs/util/string-pad/README.md +17 -0
  38. package/docs/util/string-pad/functions/pad.md +25 -0
  39. package/docs/util/to-int/README.md +17 -0
  40. package/docs/util/to-int/functions/toInt.md +21 -0
  41. package/docs/util/valid-callable/README.md +17 -0
  42. package/docs/util/valid-callable/functions/validCallable.md +21 -0
  43. package/docs/util/valid-object/README.md +17 -0
  44. package/docs/util/valid-object/functions/validObject.md +21 -0
  45. package/docs/wrap-event-emitter/README.md +21 -0
  46. package/docs/wrap-event-emitter/functions/wrapEventEmitter.md +33 -0
  47. package/docs/wrap-event-emitter/variables/methods.md +11 -0
  48. package/lib/all-off.d.ts +1 -1
  49. package/lib/all-off.js +1 -1
  50. package/lib/default-methods.d.ts +28 -5
  51. package/lib/default-methods.js +114 -22
  52. package/lib/event-emitter.d.ts +17 -0
  53. package/lib/event.d.ts +9 -3
  54. package/lib/event.js +6 -0
  55. package/lib/eventable.js +4 -1
  56. package/lib/pipe-async.d.ts +4 -1
  57. package/lib/pipe-async.js +39 -5
  58. package/lib/pipe.d.ts +1 -1
  59. package/lib/pipe.js +1 -1
  60. package/lib/unify.d.ts +1 -1
  61. package/lib/unify.js +1 -1
  62. package/lib/util/array-remove.js +1 -1
  63. package/lib/util/object-for-each.js +1 -1
  64. package/lib/util/promise-any.d.ts +1 -0
  65. package/lib/util/promise-any.js +44 -0
  66. package/lib/util/string-pad.js +1 -1
  67. package/lib/wrap-event-emitter.d.ts +2 -1
  68. package/lib/wrap-event-emitter.js +24 -3
  69. package/package.json +17 -17
  70. package/src/default-methods.js +112 -15
  71. package/src/event-emitter.d.ts +17 -0
  72. package/src/event.js +6 -0
  73. package/src/eventable.js +3 -0
  74. package/src/pipe-async.js +64 -30
  75. package/src/util/promise-any.js +45 -0
  76. package/src/wrap-event-emitter.js +23 -18
  77. package/docs/.nojekyll +0 -1
  78. package/docs/classes/event.Event.md +0 -141
  79. package/docs/classes/event_emitter-1.EventEmitter.md +0 -29
  80. package/docs/classes/event_emitter.EventEmitter.md +0 -306
  81. package/docs/modules/all_off.md +0 -44
  82. package/docs/modules/consts.md +0 -39
  83. package/docs/modules/default_methods.md +0 -51
  84. package/docs/modules/event.md +0 -19
  85. package/docs/modules/event_emitter-1.md +0 -19
  86. package/docs/modules/event_emitter.md +0 -19
  87. package/docs/modules/eventable.md +0 -92
  88. package/docs/modules/has_listeners.md +0 -49
  89. package/docs/modules/index.md +0 -99
  90. package/docs/modules/pipe.md +0 -49
  91. package/docs/modules/pipe_async.md +0 -49
  92. package/docs/modules/unify.md +0 -46
  93. package/docs/modules/util_array_remove.md +0 -39
  94. package/docs/modules/util_object_for_each.md +0 -41
  95. package/docs/modules/util_string_pad.md +0 -40
  96. package/docs/modules/util_to_int.md +0 -39
  97. package/docs/modules/util_valid_callable.md +0 -39
  98. package/docs/modules/util_valid_object.md +0 -39
  99. package/docs/modules/wrap_event_emitter.md +0 -57
@@ -1,306 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / [event-emitter](../modules/event_emitter.md) / EventEmitter
2
-
3
- # Class: EventEmitter
4
-
5
- [event-emitter](../modules/event_emitter.md).EventEmitter
6
-
7
- Class that represents an event emitter.
8
-
9
- ## Table of contents
10
-
11
- ### Constructors
12
-
13
- - [constructor](event_emitter.EventEmitter.md#constructor)
14
-
15
- ### Properties
16
-
17
- - [defaultMaxListeners](event_emitter.EventEmitter.md#defaultmaxlisteners)
18
-
19
- ### Methods
20
-
21
- - [emit](event_emitter.EventEmitter.md#emit)
22
- - [emitAsync](event_emitter.EventEmitter.md#emitasync)
23
- - [listenerCount](event_emitter.EventEmitter.md#listenercount)
24
- - [listeners](event_emitter.EventEmitter.md#listeners)
25
- - [off](event_emitter.EventEmitter.md#off)
26
- - [on](event_emitter.EventEmitter.md#on)
27
- - [once](event_emitter.EventEmitter.md#once)
28
- - [removeAllListeners](event_emitter.EventEmitter.md#removealllisteners)
29
- - [setMaxListeners](event_emitter.EventEmitter.md#setmaxlisteners)
30
- - [listenerCount](event_emitter.EventEmitter.md#listenercount-1)
31
-
32
- ## Constructors
33
-
34
- ### constructor
35
-
36
- • **new EventEmitter**(): [`EventEmitter`](event_emitter.EventEmitter.md)
37
-
38
- #### Returns
39
-
40
- [`EventEmitter`](event_emitter.EventEmitter.md)
41
-
42
- ## Properties
43
-
44
- ### defaultMaxListeners
45
-
46
- ▪ `Static` **defaultMaxListeners**: `number`
47
-
48
- #### Defined in
49
-
50
- [src/event-emitter.d.ts:7](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L7)
51
-
52
- ## Methods
53
-
54
- ### emit
55
-
56
- ▸ **emit**(`eventName`, `...args`): `any`
57
-
58
- Emits the specified event type with the given arguments.
59
-
60
- #### Parameters
61
-
62
- | Name | Type | Description |
63
- | :------ | :------ | :------ |
64
- | `eventName` | `string` | - |
65
- | `...args` | `any`[] | The event type followed by any number of arguments to be passed to the listener functions. |
66
-
67
- #### Returns
68
-
69
- `any`
70
-
71
- The result of the event.
72
-
73
- #### Defined in
74
-
75
- [src/event-emitter.d.ts:38](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L38)
76
-
77
- ___
78
-
79
- ### emitAsync
80
-
81
- ▸ **emitAsync**(`eventName`, `...args`): `Promise`\<`any`\>
82
-
83
- Asynchronously emits the specified event type with the given arguments.
84
-
85
- #### Parameters
86
-
87
- | Name | Type | Description |
88
- | :------ | :------ | :------ |
89
- | `eventName` | `string` | - |
90
- | `...args` | `any`[] | The event type followed by any number of arguments to be passed to the listener functions. |
91
-
92
- #### Returns
93
-
94
- `Promise`\<`any`\>
95
-
96
- A promise that resolves with the result of the event.
97
-
98
- #### Defined in
99
-
100
- [src/event-emitter.d.ts:44](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L44)
101
-
102
- ___
103
-
104
- ### listenerCount
105
-
106
- ▸ **listenerCount**(`eventName`): `number`
107
-
108
- Returns the count of listeners that are registered to listen for the specified event.
109
-
110
- #### Parameters
111
-
112
- | Name | Type | Description |
113
- | :------ | :------ | :------ |
114
- | `eventName` | `string` \| `RegExp` | The name of the event to get the listeners for. |
115
-
116
- #### Returns
117
-
118
- `number`
119
-
120
- - the listeners count
121
-
122
- #### Defined in
123
-
124
- [src/event-emitter.d.ts:66](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L66)
125
-
126
- ___
127
-
128
- ### listeners
129
-
130
- ▸ **listeners**(`eventName`): `Function`[]
131
-
132
- Returns an array of functions that are registered to listen for the specified event.
133
-
134
- #### Parameters
135
-
136
- | Name | Type | Description |
137
- | :------ | :------ | :------ |
138
- | `eventName` | `string` \| `RegExp` | The name of the event to get the listeners for. |
139
-
140
- #### Returns
141
-
142
- `Function`[]
143
-
144
- - An array of functions that are registered to listen for the specified event.
145
-
146
- #### Defined in
147
-
148
- [src/event-emitter.d.ts:59](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L59)
149
-
150
- ___
151
-
152
- ### off
153
-
154
- ▸ **off**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
155
-
156
- Removes a listener function from the specified event type.
157
-
158
- #### Parameters
159
-
160
- | Name | Type | Description |
161
- | :------ | :------ | :------ |
162
- | `eventName` | `string` \| `RegExp` | - |
163
- | `listener` | `Function` | The listener function to be removed. |
164
-
165
- #### Returns
166
-
167
- [`EventEmitter`](event_emitter.EventEmitter.md)
168
-
169
- The EventEmitter instance to allow chaining.
170
-
171
- **`Throws`**
172
-
173
- If the listener is not a function.
174
-
175
- #### Defined in
176
-
177
- [src/event-emitter.d.ts:32](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L32)
178
-
179
- ___
180
-
181
- ### on
182
-
183
- ▸ **on**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
184
-
185
- Adds a listener function to the specified event type.
186
-
187
- #### Parameters
188
-
189
- | Name | Type | Description |
190
- | :------ | :------ | :------ |
191
- | `eventName` | `string` \| `RegExp` | - |
192
- | `listener` | `Function` | The listener function to be called when the event is emitted. |
193
-
194
- #### Returns
195
-
196
- [`EventEmitter`](event_emitter.EventEmitter.md)
197
-
198
- The EventEmitter instance to allow chaining.
199
-
200
- **`Throws`**
201
-
202
- If the listener is not a function.
203
-
204
- #### Defined in
205
-
206
- [src/event-emitter.d.ts:16](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L16)
207
-
208
- ___
209
-
210
- ### once
211
-
212
- ▸ **once**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
213
-
214
- Adds a one-time listener function to the specified event type.
215
-
216
- #### Parameters
217
-
218
- | Name | Type | Description |
219
- | :------ | :------ | :------ |
220
- | `eventName` | `string` \| `RegExp` | - |
221
- | `listener` | `Function` | The listener function to be called once when the event is emitted. |
222
-
223
- #### Returns
224
-
225
- [`EventEmitter`](event_emitter.EventEmitter.md)
226
-
227
- The EventEmitter instance to allow chaining.
228
-
229
- **`Throws`**
230
-
231
- If the listener is not a function.
232
-
233
- #### Defined in
234
-
235
- [src/event-emitter.d.ts:24](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L24)
236
-
237
- ___
238
-
239
- ### removeAllListeners
240
-
241
- ▸ **removeAllListeners**(`eventName?`): [`EventEmitter`](event_emitter.EventEmitter.md)
242
-
243
- Removes all listeners for a specific event or all events from an event emitter.
244
-
245
- #### Parameters
246
-
247
- | Name | Type | Description |
248
- | :------ | :------ | :------ |
249
- | `eventName?` | `string` \| `RegExp` | The event to remove listeners for. If not provided, all listeners for all events will be removed. |
250
-
251
- #### Returns
252
-
253
- [`EventEmitter`](event_emitter.EventEmitter.md)
254
-
255
- - The event emitter with all listeners removed.
256
-
257
- #### Defined in
258
-
259
- [src/event-emitter.d.ts:51](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L51)
260
-
261
- ___
262
-
263
- ### setMaxListeners
264
-
265
- ▸ **setMaxListeners**(`n`): [`EventEmitter`](event_emitter.EventEmitter.md)
266
-
267
- #### Parameters
268
-
269
- | Name | Type |
270
- | :------ | :------ |
271
- | `n` | `number` |
272
-
273
- #### Returns
274
-
275
- [`EventEmitter`](event_emitter.EventEmitter.md)
276
-
277
- #### Defined in
278
-
279
- [src/event-emitter.d.ts:52](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L52)
280
-
281
- ___
282
-
283
- ### listenerCount
284
-
285
- ▸ **listenerCount**(`emitter`, `eventName`): `number`
286
-
287
- Returns the count of listeners that are registered to listen for the specified event.
288
-
289
- #### Parameters
290
-
291
- | Name | Type |
292
- | :------ | :------ |
293
- | `emitter` | [`EventEmitter`](event_emitter.EventEmitter.md) |
294
- | `eventName` | `string` \| `RegExp` |
295
-
296
- #### Returns
297
-
298
- `number`
299
-
300
- **`Deprecated`**
301
-
302
- use emitter.listenerCount instead
303
-
304
- #### Defined in
305
-
306
- [src/event-emitter.d.ts:74](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/event-emitter.d.ts#L74)
@@ -1,44 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / all-off
2
-
3
- # Module: all-off
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](all_off.md#default)
10
-
11
- ### Functions
12
-
13
- - [allOff](all_off.md#alloff)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [allOff](all_off.md#alloff)
20
-
21
- ## Functions
22
-
23
- ### allOff
24
-
25
- ▸ **allOff**(`emitter`, `type?`): [`EventEmitter`](../classes/event_emitter.EventEmitter.md)
26
-
27
- Removes all listeners for a specific event or all events from an event emitter.
28
-
29
- #### Parameters
30
-
31
- | Name | Type | Description |
32
- | :------ | :------ | :------ |
33
- | `emitter` | [`EventEmitter`](../classes/event_emitter.EventEmitter.md) | The event emitter to remove listeners from. |
34
- | `type?` | `string` | The event to remove listeners for. If not provided, all listeners for all events will be removed. |
35
-
36
- #### Returns
37
-
38
- [`EventEmitter`](../classes/event_emitter.EventEmitter.md)
39
-
40
- - The event emitter with all listeners removed.
41
-
42
- #### Defined in
43
-
44
- [src/all-off.js:12](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/all-off.js#L12)
@@ -1,39 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / consts
2
-
3
- # Module: consts
4
-
5
- ## Table of contents
6
-
7
- ### Variables
8
-
9
- - [RegExpEventSymbol](consts.md#regexpeventsymbol)
10
- - [states](consts.md#states)
11
-
12
- ## Variables
13
-
14
- ### RegExpEventSymbol
15
-
16
- • `Const` **RegExpEventSymbol**: `symbol` \| ``"@@RegExpEvent"``
17
-
18
- #### Defined in
19
-
20
- [src/consts.js:13](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/consts.js#L13)
21
-
22
- ___
23
-
24
- ### states
25
-
26
- • `Const` **states**: `Object`
27
-
28
- #### Type declaration
29
-
30
- | Name | Type |
31
- | :------ | :------ |
32
- | `ABORT` | `number` |
33
- | `CONTINUE` | `any` |
34
- | `DONE` | `number` |
35
- | `STOPPED` | `number` |
36
-
37
- #### Defined in
38
-
39
- [src/consts.js:6](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/consts.js#L6)
@@ -1,51 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / default-methods
2
-
3
- # Module: default-methods
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](default_methods.md#default)
10
-
11
- ### Functions
12
-
13
- - [getEventableMethods](default_methods.md#geteventablemethods)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [getEventableMethods](default_methods.md#geteventablemethods)
20
-
21
- ## Functions
22
-
23
- ### getEventableMethods
24
-
25
- ▸ **getEventableMethods**(`aClass`): `Object`
26
-
27
- #### Parameters
28
-
29
- | Name | Type |
30
- | :------ | :------ |
31
- | `aClass` | `any` |
32
-
33
- #### Returns
34
-
35
- `Object`
36
-
37
- | Name | Type |
38
- | :------ | :------ |
39
- | `emit` | (...`args`: `any`) => `any` |
40
- | `emitAsync` | (...`args`: `any`) => `Promise`\<`any`\> |
41
- | `listenerCount` | (`emitter`: `any`, `type`: `any`) => `number` |
42
- | `listeners` | (`type`: `any`) => `any` |
43
- | `off` | (`type`: `string` \| `RegExp`, `listener`: `Function`) => [`EventEmitter`](../classes/event_emitter.EventEmitter.md) |
44
- | `on` | (`type`: `string` \| `RegExp`, `listener`: `Function`, `index?`: `number`) => [`EventEmitter`](../classes/event_emitter.EventEmitter.md) |
45
- | `once` | (`type`: `string` \| `RegExp`, `listener`: `Function`, `index?`: `number`) => [`EventEmitter`](../classes/event_emitter.EventEmitter.md) |
46
- | `removeAllListeners` | (`type`: `string` \| `RegExp`) => [`EventEmitter`](../classes/event_emitter.EventEmitter.md) |
47
- | `setMaxListeners` | (`n`: `any`) => \{ on(type: string \| RegExp, listener: Function, index?: number): EventEmitter; once(type: string \| RegExp, listener: Function, index?: number): EventEmitter; ... 6 more ...; removeAllListeners(type: string \| RegExp): EventEmitter; } |
48
-
49
- #### Defined in
50
-
51
- [src/default-methods.js:14](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/default-methods.js#L14)
@@ -1,19 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / event
2
-
3
- # Module: event
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](event.md#default)
10
-
11
- ### Classes
12
-
13
- - [Event](../classes/event.Event.md)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [Event](../classes/event.Event.md)
@@ -1,19 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / event-emitter
2
-
3
- # Module: event-emitter
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](event_emitter-1.md#default)
10
-
11
- ### Classes
12
-
13
- - [EventEmitter](../classes/event_emitter-1.EventEmitter.md)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [EventEmitter](../classes/event_emitter-1.EventEmitter.md)
@@ -1,19 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / event-emitter
2
-
3
- # Module: event-emitter
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](event_emitter.md#default)
10
-
11
- ### Classes
12
-
13
- - [EventEmitter](../classes/event_emitter.EventEmitter.md)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [EventEmitter](../classes/event_emitter.EventEmitter.md)
@@ -1,92 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / eventable
2
-
3
- # Module: eventable
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](eventable.md#default)
10
-
11
- ### Functions
12
-
13
- - [eventable](eventable.md#eventable)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [eventable](eventable.md#eventable)
20
-
21
- ## Functions
22
-
23
- ### eventable
24
-
25
- ▸ **eventable**\<`T`\>(`targetClass?`, `options?`): `EnhancedClass`\<`T`, (`aClass?`: `Function`) => `Function`\>
26
-
27
- Adds event-emitting capabilities to a class by injecting necessary methods and properties.
28
-
29
- This function uses `createAbilityInjector` from `custom-ability` to inject event-related methods
30
- into the target class. The injected methods include standard EventEmitter functionality such as
31
- `on`, `off`, `emit`, `emitAsync`, `once`, `listeners`, `@listenerCount` and more. It also ensures compatibility with Node.js `EventEmitter`
32
- by including methods like `listenerCount`, `setMaxListeners`, `addListener`, `removeListener`, and `removeAllListeners`.
33
-
34
- #### Type parameters
35
-
36
- | Name | Type |
37
- | :------ | :------ |
38
- | `T` | extends `ClassEx` |
39
-
40
- #### Parameters
41
-
42
- | Name | Type | Description |
43
- | :------ | :------ | :------ |
44
- | `targetClass?` | `T` | - |
45
- | `options?` | `AbilityOptions` | Optional configuration for the injection process: * `include` (string[]\|string): Specifies which methods should be added. Static methods should use the prefix '@'. * `exclude` (string[]\|string): Specifies which methods should not be added. Static methods should use the prefix '@'. * `methods` (Object): Custom methods to override or extend the default behavior. Use `this.super()` to call the original method and `this.self` to access the original context. * `classMethods` (Object): Custom static methods to be added to the class. |
46
-
47
- #### Returns
48
-
49
- `EnhancedClass`\<`T`, (`aClass?`: `Function`) => `Function`\>
50
-
51
- The same `aClass` class with event capabilities injected. The return value is the modified `aClass` itself.
52
-
53
- **`Function`**
54
-
55
- eventable
56
-
57
- **`Example`**
58
-
59
- ```ts
60
- import { eventable } from 'events-ex';
61
-
62
- class MyClass {}
63
-
64
- // Inject only specific methods: 'on', 'off', 'emit', 'emitAsync', and the static 'listenerCount'
65
- eventable(MyClass, { include: ['on', 'off', 'emit', 'emitAsync', '@listenerCount'] });
66
- ```
67
-
68
- **`Example`**
69
-
70
- ```ts
71
- import { eventable } from 'events-ex';
72
-
73
- class OtherClass {
74
- exec() {
75
- console.log("Original exec");
76
- }
77
- }
78
-
79
- // Inject event capabilities and override the `exec` method
80
- eventable(OtherClass, {
81
- methods: {
82
- exec() {
83
- console.log("New exec");
84
- this.super(); // Calls the original `exec` method
85
- }
86
- }
87
- });
88
- ```
89
-
90
- #### Defined in
91
-
92
- node_modules/custom-ability/lib/custom-ability.d.ts:34
@@ -1,49 +0,0 @@
1
- [events-ex](../README.md) / [Exports](../modules.md) / has-listeners
2
-
3
- # Module: has-listeners
4
-
5
- ## Table of contents
6
-
7
- ### References
8
-
9
- - [default](has_listeners.md#default)
10
-
11
- ### Functions
12
-
13
- - [hasListeners](has_listeners.md#haslisteners)
14
-
15
- ## References
16
-
17
- ### default
18
-
19
- Renames and re-exports [hasListeners](has_listeners.md#haslisteners)
20
-
21
- ## Functions
22
-
23
- ### hasListeners
24
-
25
- ▸ **hasListeners**(`obj`, `type?`): `boolean`
26
-
27
- Checks if an object has event listeners.
28
-
29
- #### Parameters
30
-
31
- | Name | Type | Description |
32
- | :------ | :------ | :------ |
33
- | `obj` | `any` | The object to check. Must not be null or undefined. |
34
- | `type?` | `string` | Optional parameter specifying the event type. If provided, checks for the existence of listeners for this specific type. |
35
-
36
- #### Returns
37
-
38
- `boolean`
39
-
40
- - If `type` is provided, returns whether listeners for the specified event type exist.
41
- - If `type` is not provided, returns whether the object has any event listeners.
42
-
43
- **`Throws`**
44
-
45
- Throws a TypeError if `obj` is null or undefined.
46
-
47
- #### Defined in
48
-
49
- [src/has-listeners.js:20](https://github.com/snowyu/events-ex.js/blob/a6cce2d/src/has-listeners.js#L20)