events-ex 2.1.1 → 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 (97) hide show
  1. package/.npmrcx +5 -0
  2. package/CHANGELOG.md +7 -0
  3. package/README.cn.md +112 -170
  4. package/README.md +133 -150
  5. package/docs/README.md +136 -149
  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.d.ts +9 -3
  53. package/lib/event.js +6 -0
  54. package/lib/eventable.js +4 -1
  55. package/lib/pipe-async.d.ts +4 -1
  56. package/lib/pipe-async.js +39 -5
  57. package/lib/pipe.d.ts +1 -1
  58. package/lib/pipe.js +1 -1
  59. package/lib/unify.d.ts +1 -1
  60. package/lib/unify.js +1 -1
  61. package/lib/util/array-remove.js +1 -1
  62. package/lib/util/object-for-each.js +1 -1
  63. package/lib/util/promise-any.d.ts +1 -0
  64. package/lib/util/promise-any.js +44 -0
  65. package/lib/util/string-pad.js +1 -1
  66. package/lib/wrap-event-emitter.d.ts +2 -1
  67. package/lib/wrap-event-emitter.js +24 -3
  68. package/package.json +17 -17
  69. package/src/default-methods.js +112 -15
  70. package/src/event.js +6 -0
  71. package/src/eventable.js +3 -0
  72. package/src/pipe-async.js +64 -30
  73. package/src/util/promise-any.js +45 -0
  74. package/src/wrap-event-emitter.js +23 -18
  75. package/docs/.nojekyll +0 -1
  76. package/docs/classes/event.Event.md +0 -141
  77. package/docs/classes/event_emitter-1.EventEmitter.md +0 -29
  78. package/docs/classes/event_emitter.EventEmitter.md +0 -352
  79. package/docs/modules/all_off.md +0 -44
  80. package/docs/modules/consts.md +0 -39
  81. package/docs/modules/default_methods.md +0 -51
  82. package/docs/modules/event.md +0 -19
  83. package/docs/modules/event_emitter-1.md +0 -19
  84. package/docs/modules/event_emitter.md +0 -19
  85. package/docs/modules/eventable.md +0 -92
  86. package/docs/modules/has_listeners.md +0 -49
  87. package/docs/modules/index.md +0 -99
  88. package/docs/modules/pipe.md +0 -49
  89. package/docs/modules/pipe_async.md +0 -49
  90. package/docs/modules/unify.md +0 -46
  91. package/docs/modules/util_array_remove.md +0 -39
  92. package/docs/modules/util_object_for_each.md +0 -41
  93. package/docs/modules/util_string_pad.md +0 -40
  94. package/docs/modules/util_to_int.md +0 -39
  95. package/docs/modules/util_valid_callable.md +0 -39
  96. package/docs/modules/util_valid_object.md +0 -39
  97. package/docs/modules/wrap_event_emitter.md +0 -57
@@ -1,352 +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
- - [removeListener](event_emitter.EventEmitter.md#removelistener)
30
- - [setMaxListeners](event_emitter.EventEmitter.md#setmaxlisteners)
31
- - [listenerCount](event_emitter.EventEmitter.md#listenercount-1)
32
-
33
- ## Constructors
34
-
35
- ### constructor
36
-
37
- • **new EventEmitter**(): [`EventEmitter`](event_emitter.EventEmitter.md)
38
-
39
- #### Returns
40
-
41
- [`EventEmitter`](event_emitter.EventEmitter.md)
42
-
43
- ## Properties
44
-
45
- ### defaultMaxListeners
46
-
47
- ▪ `Static` **defaultMaxListeners**: `number`
48
-
49
- #### Defined in
50
-
51
- [src/event-emitter.d.ts:7](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L7)
52
-
53
- ## Methods
54
-
55
- ### emit
56
-
57
- ▸ **emit**(`eventName`, `...args`): `any`
58
-
59
- Emits the specified event type with the given arguments.
60
-
61
- #### Parameters
62
-
63
- | Name | Type | Description |
64
- | :------ | :------ | :------ |
65
- | `eventName` | `string` | - |
66
- | `...args` | `any`[] | The event type followed by any number of arguments to be passed to the listener functions. |
67
-
68
- #### Returns
69
-
70
- `any`
71
-
72
- The result of the event.
73
-
74
- #### Defined in
75
-
76
- [src/event-emitter.d.ts:48](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L48)
77
-
78
- ___
79
-
80
- ### emitAsync
81
-
82
- ▸ **emitAsync**(`eventName`, `...args`): `Promise`\<`any`\>
83
-
84
- Asynchronously emits the specified event type with the given arguments.
85
-
86
- #### Parameters
87
-
88
- | Name | Type | Description |
89
- | :------ | :------ | :------ |
90
- | `eventName` | `string` | - |
91
- | `...args` | `any`[] | The event type followed by any number of arguments to be passed to the listener functions. |
92
-
93
- #### Returns
94
-
95
- `Promise`\<`any`\>
96
-
97
- A promise that resolves with the result of the event.
98
-
99
- #### Defined in
100
-
101
- [src/event-emitter.d.ts:54](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L54)
102
-
103
- ___
104
-
105
- ### listenerCount
106
-
107
- ▸ **listenerCount**(`eventName`): `number`
108
-
109
- Returns the count of listeners that are registered to listen for the specified event.
110
-
111
- #### Parameters
112
-
113
- | Name | Type | Description |
114
- | :------ | :------ | :------ |
115
- | `eventName` | `string` \| `RegExp` | The name of the event to get the listeners for. |
116
-
117
- #### Returns
118
-
119
- `number`
120
-
121
- - the listeners count
122
-
123
- #### Defined in
124
-
125
- [src/event-emitter.d.ts:83](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L83)
126
-
127
- ___
128
-
129
- ### listeners
130
-
131
- ▸ **listeners**(`eventName`): `Function`[]
132
-
133
- Returns an array of functions that are registered to listen for the specified event.
134
-
135
- #### Parameters
136
-
137
- | Name | Type | Description |
138
- | :------ | :------ | :------ |
139
- | `eventName` | `string` \| `RegExp` | The name of the event to get the listeners for. |
140
-
141
- #### Returns
142
-
143
- `Function`[]
144
-
145
- - An array of functions that are registered to listen for the specified event.
146
-
147
- #### Defined in
148
-
149
- [src/event-emitter.d.ts:76](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L76)
150
-
151
- ___
152
-
153
- ### off
154
-
155
- ▸ **off**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
156
-
157
- Removes a listener function from the specified event type.
158
-
159
- #### Parameters
160
-
161
- | Name | Type | Description |
162
- | :------ | :------ | :------ |
163
- | `eventName` | `string` \| `RegExp` | - |
164
- | `listener` | `Function` | The listener function to be removed. |
165
-
166
- #### Returns
167
-
168
- [`EventEmitter`](event_emitter.EventEmitter.md)
169
-
170
- The EventEmitter instance to allow chaining.
171
-
172
- **`Throws`**
173
-
174
- If the listener is not a function.
175
-
176
- **`See`**
177
-
178
- [removeListener](event_emitter.EventEmitter.md#removelistener)
179
-
180
- #### Defined in
181
-
182
- [src/event-emitter.d.ts:33](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L33)
183
-
184
- ___
185
-
186
- ### on
187
-
188
- ▸ **on**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
189
-
190
- Adds a listener function to the specified event type.
191
-
192
- #### Parameters
193
-
194
- | Name | Type | Description |
195
- | :------ | :------ | :------ |
196
- | `eventName` | `string` \| `RegExp` | - |
197
- | `listener` | `Function` | The listener function to be called when the event is emitted. |
198
-
199
- #### Returns
200
-
201
- [`EventEmitter`](event_emitter.EventEmitter.md)
202
-
203
- The EventEmitter instance to allow chaining.
204
-
205
- **`Throws`**
206
-
207
- If the listener is not a function.
208
-
209
- #### Defined in
210
-
211
- [src/event-emitter.d.ts:16](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L16)
212
-
213
- ___
214
-
215
- ### once
216
-
217
- ▸ **once**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
218
-
219
- Adds a one-time listener function to the specified event type.
220
-
221
- #### Parameters
222
-
223
- | Name | Type | Description |
224
- | :------ | :------ | :------ |
225
- | `eventName` | `string` \| `RegExp` | - |
226
- | `listener` | `Function` | The listener function to be called once when the event is emitted. |
227
-
228
- #### Returns
229
-
230
- [`EventEmitter`](event_emitter.EventEmitter.md)
231
-
232
- The EventEmitter instance to allow chaining.
233
-
234
- **`Throws`**
235
-
236
- If the listener is not a function.
237
-
238
- #### Defined in
239
-
240
- [src/event-emitter.d.ts:24](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L24)
241
-
242
- ___
243
-
244
- ### removeAllListeners
245
-
246
- ▸ **removeAllListeners**(`eventName?`): [`EventEmitter`](event_emitter.EventEmitter.md)
247
-
248
- Removes all listeners for a specific event or all events from an event emitter.
249
-
250
- #### Parameters
251
-
252
- | Name | Type | Description |
253
- | :------ | :------ | :------ |
254
- | `eventName?` | `string` \| `RegExp` | The event to remove listeners for. If not provided, all listeners for all events will be removed. |
255
-
256
- #### Returns
257
-
258
- [`EventEmitter`](event_emitter.EventEmitter.md)
259
-
260
- - The event emitter with all listeners removed.
261
-
262
- #### Defined in
263
-
264
- [src/event-emitter.d.ts:61](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L61)
265
-
266
- ___
267
-
268
- ### removeListener
269
-
270
- ▸ **removeListener**(`eventName`, `listener`): [`EventEmitter`](event_emitter.EventEmitter.md)
271
-
272
- Removes a listener function from the specified event type.
273
-
274
- #### Parameters
275
-
276
- | Name | Type | Description |
277
- | :------ | :------ | :------ |
278
- | `eventName` | `string` \| `RegExp` | - |
279
- | `listener` | `Function` | The listener function to be removed. |
280
-
281
- #### Returns
282
-
283
- [`EventEmitter`](event_emitter.EventEmitter.md)
284
-
285
- The EventEmitter instance to allow chaining.
286
-
287
- **`Throws`**
288
-
289
- If the listener is not a function.
290
-
291
- **`See`**
292
-
293
- [off](event_emitter.EventEmitter.md#off)
294
-
295
- #### Defined in
296
-
297
- [src/event-emitter.d.ts:42](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L42)
298
-
299
- ___
300
-
301
- ### setMaxListeners
302
-
303
- ▸ **setMaxListeners**(`n`): [`EventEmitter`](event_emitter.EventEmitter.md)
304
-
305
- Sets the maximum number of listeners allowed for the event emitter.
306
-
307
- #### Parameters
308
-
309
- | Name | Type | Description |
310
- | :------ | :------ | :------ |
311
- | `n` | `number` | The maximum number of listeners to set. Must be a positive integer. |
312
-
313
- #### Returns
314
-
315
- [`EventEmitter`](event_emitter.EventEmitter.md)
316
-
317
- The [EventEmitter](event_emitter.EventEmitter.md) instance for method chaining.
318
-
319
- **`Throws`**
320
-
321
- If `n` is not a positive integer.
322
-
323
- #### Defined in
324
-
325
- [src/event-emitter.d.ts:69](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L69)
326
-
327
- ___
328
-
329
- ### listenerCount
330
-
331
- ▸ **listenerCount**(`emitter`, `eventName`): `number`
332
-
333
- Returns the count of listeners that are registered to listen for the specified event.
334
-
335
- #### Parameters
336
-
337
- | Name | Type |
338
- | :------ | :------ |
339
- | `emitter` | [`EventEmitter`](event_emitter.EventEmitter.md) |
340
- | `eventName` | `string` \| `RegExp` |
341
-
342
- #### Returns
343
-
344
- `number`
345
-
346
- **`Deprecated`**
347
-
348
- use emitter.listenerCount instead
349
-
350
- #### Defined in
351
-
352
- [src/event-emitter.d.ts:91](https://github.com/snowyu/events-ex.js/blob/9c254b2/src/event-emitter.d.ts#L91)
@@ -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/9c254b2/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/9c254b2/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/9c254b2/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/9c254b2/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/9c254b2/src/has-listeners.js#L20)