events-ex 2.1.1 → 2.3.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/CHANGELOG.md +20 -0
- package/README.cn.md +119 -170
- package/README.md +140 -150
- package/docs/README.md +143 -149
- package/docs/all-off/README.md +17 -0
- package/docs/all-off/functions/allOff.md +33 -0
- package/docs/consts/README.md +12 -0
- package/docs/consts/variables/RegExpEventSymbol.md +11 -0
- package/docs/consts/variables/states.md +29 -0
- package/docs/default-methods/README.md +17 -0
- package/docs/default-methods/functions/getEventableMethods.md +309 -0
- package/docs/event/README.md +17 -0
- package/docs/event/classes/Event.md +143 -0
- package/docs/event-emitter/README-1.md +17 -0
- package/docs/event-emitter/README.md +17 -0
- package/docs/event-emitter/classes/EventEmitter-1.md +29 -0
- package/docs/event-emitter/classes/EventEmitter.md +369 -0
- package/docs/eventable/README.md +17 -0
- package/docs/eventable/functions/eventable.md +82 -0
- package/docs/has-listeners/README.md +17 -0
- package/docs/has-listeners/functions/hasListeners.md +38 -0
- package/docs/index/README.md +85 -0
- package/docs/modules.md +24 -23
- package/docs/pipe/README.md +17 -0
- package/docs/pipe/functions/pipe.md +41 -0
- package/docs/pipe-async/README.md +17 -0
- package/docs/pipe-async/functions/pipeAsync.md +41 -0
- package/docs/unify/README.md +17 -0
- package/docs/unify/functions/unify.md +35 -0
- package/docs/util/array-remove/README.md +17 -0
- package/docs/util/array-remove/functions/remove.md +21 -0
- package/docs/util/object-for-each/README.md +17 -0
- package/docs/util/object-for-each/functions/forEach.md +29 -0
- package/docs/util/promise-any/README.md +11 -0
- package/docs/util/promise-any/variables/default.md +9 -0
- package/docs/util/string-pad/README.md +17 -0
- package/docs/util/string-pad/functions/pad.md +25 -0
- package/docs/util/to-int/README.md +17 -0
- package/docs/util/to-int/functions/toInt.md +21 -0
- package/docs/util/valid-callable/README.md +17 -0
- package/docs/util/valid-callable/functions/validCallable.md +21 -0
- package/docs/util/valid-object/README.md +17 -0
- package/docs/util/valid-object/functions/validObject.md +21 -0
- package/docs/wrap-event-emitter/README.md +21 -0
- package/docs/wrap-event-emitter/functions/wrapEventEmitter.md +33 -0
- package/docs/wrap-event-emitter/variables/methods.md +11 -0
- package/lib/all-off.d.ts +1 -1
- package/lib/all-off.js +1 -1
- package/lib/default-methods.d.ts +38 -7
- package/lib/default-methods.js +155 -32
- package/lib/event-emitter.d.ts +12 -2
- package/lib/event.d.ts +9 -3
- package/lib/event.js +6 -0
- package/lib/eventable.js +4 -1
- package/lib/pipe-async.d.ts +4 -1
- package/lib/pipe-async.js +39 -5
- package/lib/pipe.d.ts +1 -1
- package/lib/pipe.js +1 -1
- package/lib/unify.d.ts +1 -1
- package/lib/unify.js +1 -1
- package/lib/util/array-remove.js +1 -1
- package/lib/util/object-for-each.js +1 -1
- package/lib/util/promise-any.d.ts +1 -0
- package/lib/util/promise-any.js +44 -0
- package/lib/util/string-pad.js +1 -1
- package/lib/wrap-event-emitter.d.ts +2 -1
- package/lib/wrap-event-emitter.js +24 -3
- package/package.json +17 -17
- package/src/default-methods.js +159 -26
- package/src/event-emitter.d.ts +12 -2
- package/src/event.js +6 -0
- package/src/eventable.js +3 -0
- package/src/pipe-async.js +64 -30
- package/src/util/promise-any.js +45 -0
- package/src/wrap-event-emitter.js +23 -18
- package/docs/.nojekyll +0 -1
- package/docs/classes/event.Event.md +0 -141
- package/docs/classes/event_emitter-1.EventEmitter.md +0 -29
- package/docs/classes/event_emitter.EventEmitter.md +0 -352
- package/docs/modules/all_off.md +0 -44
- package/docs/modules/consts.md +0 -39
- package/docs/modules/default_methods.md +0 -51
- package/docs/modules/event.md +0 -19
- package/docs/modules/event_emitter-1.md +0 -19
- package/docs/modules/event_emitter.md +0 -19
- package/docs/modules/eventable.md +0 -92
- package/docs/modules/has_listeners.md +0 -49
- package/docs/modules/index.md +0 -99
- package/docs/modules/pipe.md +0 -49
- package/docs/modules/pipe_async.md +0 -49
- package/docs/modules/unify.md +0 -46
- package/docs/modules/util_array_remove.md +0 -39
- package/docs/modules/util_object_for_each.md +0 -41
- package/docs/modules/util_string_pad.md +0 -40
- package/docs/modules/util_to_int.md +0 -39
- package/docs/modules/util_valid_callable.md +0 -39
- package/docs/modules/util_valid_object.md +0 -39
- package/docs/modules/wrap_event_emitter.md +0 -57
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
[**events-ex**](../../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../../modules.md) / [event-emitter](../README.md) / EventEmitter
|
|
6
|
+
|
|
7
|
+
# Class: EventEmitter
|
|
8
|
+
|
|
9
|
+
Defined in: [src/event-emitter.d.ts:6](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L6)
|
|
10
|
+
|
|
11
|
+
Class that represents an event emitter.
|
|
12
|
+
|
|
13
|
+
## Constructors
|
|
14
|
+
|
|
15
|
+
### Constructor
|
|
16
|
+
|
|
17
|
+
> **new EventEmitter**(): `EventEmitter`
|
|
18
|
+
|
|
19
|
+
#### Returns
|
|
20
|
+
|
|
21
|
+
`EventEmitter`
|
|
22
|
+
|
|
23
|
+
## Properties
|
|
24
|
+
|
|
25
|
+
### defaultMaxListeners
|
|
26
|
+
|
|
27
|
+
> `static` **defaultMaxListeners**: `number`
|
|
28
|
+
|
|
29
|
+
Defined in: [src/event-emitter.d.ts:7](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L7)
|
|
30
|
+
|
|
31
|
+
## Methods
|
|
32
|
+
|
|
33
|
+
### emit()
|
|
34
|
+
|
|
35
|
+
> **emit**(`eventName`, ...`args`): `any`
|
|
36
|
+
|
|
37
|
+
Defined in: [src/event-emitter.d.ts:58](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L58)
|
|
38
|
+
|
|
39
|
+
Emits the specified event type with the given arguments.
|
|
40
|
+
|
|
41
|
+
#### Parameters
|
|
42
|
+
|
|
43
|
+
##### eventName
|
|
44
|
+
|
|
45
|
+
`string`
|
|
46
|
+
|
|
47
|
+
##### args
|
|
48
|
+
|
|
49
|
+
...`any`[]
|
|
50
|
+
|
|
51
|
+
The event type followed by any number of arguments to be passed to the listener functions.
|
|
52
|
+
|
|
53
|
+
#### Returns
|
|
54
|
+
|
|
55
|
+
`any`
|
|
56
|
+
|
|
57
|
+
The result of the event.
|
|
58
|
+
|
|
59
|
+
***
|
|
60
|
+
|
|
61
|
+
### emitAsync()
|
|
62
|
+
|
|
63
|
+
> **emitAsync**(`eventName`, ...`args`): `Promise`\<`any`\>
|
|
64
|
+
|
|
65
|
+
Defined in: [src/event-emitter.d.ts:64](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L64)
|
|
66
|
+
|
|
67
|
+
Asynchronously emits the specified event type with the given arguments.
|
|
68
|
+
|
|
69
|
+
#### Parameters
|
|
70
|
+
|
|
71
|
+
##### eventName
|
|
72
|
+
|
|
73
|
+
`string`
|
|
74
|
+
|
|
75
|
+
##### args
|
|
76
|
+
|
|
77
|
+
...`any`[]
|
|
78
|
+
|
|
79
|
+
The event type followed by any number of arguments to be passed to the listener functions.
|
|
80
|
+
|
|
81
|
+
#### Returns
|
|
82
|
+
|
|
83
|
+
`Promise`\<`any`\>
|
|
84
|
+
|
|
85
|
+
A promise that resolves with the result of the event.
|
|
86
|
+
|
|
87
|
+
***
|
|
88
|
+
|
|
89
|
+
### listenerCount()
|
|
90
|
+
|
|
91
|
+
> **listenerCount**(`eventName`): `number`
|
|
92
|
+
|
|
93
|
+
Defined in: [src/event-emitter.d.ts:93](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L93)
|
|
94
|
+
|
|
95
|
+
Returns the count of listeners that are registered to listen for the specified event.
|
|
96
|
+
|
|
97
|
+
#### Parameters
|
|
98
|
+
|
|
99
|
+
##### eventName
|
|
100
|
+
|
|
101
|
+
The name of the event to get the listeners for.
|
|
102
|
+
|
|
103
|
+
`string` | `RegExp`
|
|
104
|
+
|
|
105
|
+
#### Returns
|
|
106
|
+
|
|
107
|
+
`number`
|
|
108
|
+
|
|
109
|
+
- the listeners count
|
|
110
|
+
|
|
111
|
+
***
|
|
112
|
+
|
|
113
|
+
### listeners()
|
|
114
|
+
|
|
115
|
+
> **listeners**(`eventName`): `Function`[]
|
|
116
|
+
|
|
117
|
+
Defined in: [src/event-emitter.d.ts:86](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L86)
|
|
118
|
+
|
|
119
|
+
Returns an array of functions that are registered to listen for the specified event.
|
|
120
|
+
|
|
121
|
+
#### Parameters
|
|
122
|
+
|
|
123
|
+
##### eventName
|
|
124
|
+
|
|
125
|
+
The name of the event to get the listeners for.
|
|
126
|
+
|
|
127
|
+
`string` | `RegExp`
|
|
128
|
+
|
|
129
|
+
#### Returns
|
|
130
|
+
|
|
131
|
+
`Function`[]
|
|
132
|
+
|
|
133
|
+
- An array of functions that are registered to listen for the specified event.
|
|
134
|
+
|
|
135
|
+
***
|
|
136
|
+
|
|
137
|
+
### off()
|
|
138
|
+
|
|
139
|
+
> **off**(`eventName`, `listener`): `EventEmitter`
|
|
140
|
+
|
|
141
|
+
Defined in: [src/event-emitter.d.ts:43](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L43)
|
|
142
|
+
|
|
143
|
+
Removes a listener function from the specified event type.
|
|
144
|
+
|
|
145
|
+
#### Parameters
|
|
146
|
+
|
|
147
|
+
##### eventName
|
|
148
|
+
|
|
149
|
+
`string` | `RegExp`
|
|
150
|
+
|
|
151
|
+
##### listener
|
|
152
|
+
|
|
153
|
+
`Function`
|
|
154
|
+
|
|
155
|
+
The listener function to be removed.
|
|
156
|
+
|
|
157
|
+
#### Returns
|
|
158
|
+
|
|
159
|
+
`EventEmitter`
|
|
160
|
+
|
|
161
|
+
The EventEmitter instance to allow chaining.
|
|
162
|
+
|
|
163
|
+
#### Throws
|
|
164
|
+
|
|
165
|
+
If the listener is not a function.
|
|
166
|
+
|
|
167
|
+
#### See
|
|
168
|
+
|
|
169
|
+
[removeListener](#removelistener)
|
|
170
|
+
|
|
171
|
+
***
|
|
172
|
+
|
|
173
|
+
### on()
|
|
174
|
+
|
|
175
|
+
> **on**(`eventName`, `listener`, `index?`): `EventEmitter`
|
|
176
|
+
|
|
177
|
+
Defined in: [src/event-emitter.d.ts:21](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L21)
|
|
178
|
+
|
|
179
|
+
Adds a listener function to the specified event type.
|
|
180
|
+
|
|
181
|
+
#### Parameters
|
|
182
|
+
|
|
183
|
+
##### eventName
|
|
184
|
+
|
|
185
|
+
`string` | `RegExp`
|
|
186
|
+
|
|
187
|
+
##### listener
|
|
188
|
+
|
|
189
|
+
`Function`
|
|
190
|
+
|
|
191
|
+
The listener function to be called when the event is emitted.
|
|
192
|
+
|
|
193
|
+
##### index?
|
|
194
|
+
|
|
195
|
+
The index at which to insert the listener.
|
|
196
|
+
- 'first' or -Infinity: adds to the beginning of the listeners (stay at the front).
|
|
197
|
+
- 'last' or Infinity: adds to the end of the listeners (stay at the back).
|
|
198
|
+
- number: inserts at the specified index within the normal listeners zone.
|
|
199
|
+
If not specified, the listener will be added at the end of the normal listeners.
|
|
200
|
+
|
|
201
|
+
`number` | `"first"` | `"last"`
|
|
202
|
+
|
|
203
|
+
#### Returns
|
|
204
|
+
|
|
205
|
+
`EventEmitter`
|
|
206
|
+
|
|
207
|
+
The EventEmitter instance to allow chaining.
|
|
208
|
+
|
|
209
|
+
#### Throws
|
|
210
|
+
|
|
211
|
+
If the listener is not a function.
|
|
212
|
+
|
|
213
|
+
***
|
|
214
|
+
|
|
215
|
+
### once()
|
|
216
|
+
|
|
217
|
+
> **once**(`eventName`, `listener`, `index?`): `EventEmitter`
|
|
218
|
+
|
|
219
|
+
Defined in: [src/event-emitter.d.ts:34](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L34)
|
|
220
|
+
|
|
221
|
+
Adds a one-time listener function to the specified event type.
|
|
222
|
+
|
|
223
|
+
#### Parameters
|
|
224
|
+
|
|
225
|
+
##### eventName
|
|
226
|
+
|
|
227
|
+
`string` | `RegExp`
|
|
228
|
+
|
|
229
|
+
##### listener
|
|
230
|
+
|
|
231
|
+
`Function`
|
|
232
|
+
|
|
233
|
+
The listener function to be called once when the event is emitted.
|
|
234
|
+
|
|
235
|
+
##### index?
|
|
236
|
+
|
|
237
|
+
The index at which to insert the listener.
|
|
238
|
+
- 'first' or -Infinity: adds to the beginning of the listeners (stay at the front).
|
|
239
|
+
- 'last' or Infinity: adds to the end of the listeners (stay at the back).
|
|
240
|
+
- number: inserts at the specified index within the normal listeners zone.
|
|
241
|
+
If not specified, the listener will be added at the end of the normal listeners.
|
|
242
|
+
|
|
243
|
+
`number` | `"first"` | `"last"`
|
|
244
|
+
|
|
245
|
+
#### Returns
|
|
246
|
+
|
|
247
|
+
`EventEmitter`
|
|
248
|
+
|
|
249
|
+
The EventEmitter instance to allow chaining.
|
|
250
|
+
|
|
251
|
+
#### Throws
|
|
252
|
+
|
|
253
|
+
If the listener is not a function.
|
|
254
|
+
|
|
255
|
+
***
|
|
256
|
+
|
|
257
|
+
### removeAllListeners()
|
|
258
|
+
|
|
259
|
+
> **removeAllListeners**(`eventName?`): `EventEmitter`
|
|
260
|
+
|
|
261
|
+
Defined in: [src/event-emitter.d.ts:71](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L71)
|
|
262
|
+
|
|
263
|
+
Removes all listeners for a specific event or all events from an event emitter.
|
|
264
|
+
|
|
265
|
+
#### Parameters
|
|
266
|
+
|
|
267
|
+
##### eventName?
|
|
268
|
+
|
|
269
|
+
The event to remove listeners for. If not provided, all listeners for all events will be removed.
|
|
270
|
+
|
|
271
|
+
`string` | `RegExp`
|
|
272
|
+
|
|
273
|
+
#### Returns
|
|
274
|
+
|
|
275
|
+
`EventEmitter`
|
|
276
|
+
|
|
277
|
+
- The event emitter with all listeners removed.
|
|
278
|
+
|
|
279
|
+
***
|
|
280
|
+
|
|
281
|
+
### removeListener()
|
|
282
|
+
|
|
283
|
+
> **removeListener**(`eventName`, `listener`): `EventEmitter`
|
|
284
|
+
|
|
285
|
+
Defined in: [src/event-emitter.d.ts:52](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L52)
|
|
286
|
+
|
|
287
|
+
Removes a listener function from the specified event type.
|
|
288
|
+
|
|
289
|
+
#### Parameters
|
|
290
|
+
|
|
291
|
+
##### eventName
|
|
292
|
+
|
|
293
|
+
`string` | `RegExp`
|
|
294
|
+
|
|
295
|
+
##### listener
|
|
296
|
+
|
|
297
|
+
`Function`
|
|
298
|
+
|
|
299
|
+
The listener function to be removed.
|
|
300
|
+
|
|
301
|
+
#### Returns
|
|
302
|
+
|
|
303
|
+
`EventEmitter`
|
|
304
|
+
|
|
305
|
+
The EventEmitter instance to allow chaining.
|
|
306
|
+
|
|
307
|
+
#### Throws
|
|
308
|
+
|
|
309
|
+
If the listener is not a function.
|
|
310
|
+
|
|
311
|
+
#### See
|
|
312
|
+
|
|
313
|
+
[off](#off)
|
|
314
|
+
|
|
315
|
+
***
|
|
316
|
+
|
|
317
|
+
### setMaxListeners()
|
|
318
|
+
|
|
319
|
+
> **setMaxListeners**(`n`): `EventEmitter`
|
|
320
|
+
|
|
321
|
+
Defined in: [src/event-emitter.d.ts:79](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L79)
|
|
322
|
+
|
|
323
|
+
Sets the maximum number of listeners allowed for the event emitter.
|
|
324
|
+
|
|
325
|
+
#### Parameters
|
|
326
|
+
|
|
327
|
+
##### n
|
|
328
|
+
|
|
329
|
+
`number`
|
|
330
|
+
|
|
331
|
+
The maximum number of listeners to set. Must be a positive integer.
|
|
332
|
+
|
|
333
|
+
#### Returns
|
|
334
|
+
|
|
335
|
+
`EventEmitter`
|
|
336
|
+
|
|
337
|
+
The EventEmitter instance for method chaining.
|
|
338
|
+
|
|
339
|
+
#### Throws
|
|
340
|
+
|
|
341
|
+
If `n` is not a positive integer.
|
|
342
|
+
|
|
343
|
+
***
|
|
344
|
+
|
|
345
|
+
### ~~listenerCount()~~
|
|
346
|
+
|
|
347
|
+
> `static` **listenerCount**(`emitter`, `eventName`): `number`
|
|
348
|
+
|
|
349
|
+
Defined in: [src/event-emitter.d.ts:101](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.d.ts#L101)
|
|
350
|
+
|
|
351
|
+
Returns the count of listeners that are registered to listen for the specified event.
|
|
352
|
+
|
|
353
|
+
#### Parameters
|
|
354
|
+
|
|
355
|
+
##### emitter
|
|
356
|
+
|
|
357
|
+
`EventEmitter`
|
|
358
|
+
|
|
359
|
+
##### eventName
|
|
360
|
+
|
|
361
|
+
`string` | `RegExp`
|
|
362
|
+
|
|
363
|
+
#### Returns
|
|
364
|
+
|
|
365
|
+
`number`
|
|
366
|
+
|
|
367
|
+
#### Deprecated
|
|
368
|
+
|
|
369
|
+
use emitter.listenerCount instead
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
[**events-ex**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../modules.md) / eventable
|
|
6
|
+
|
|
7
|
+
# eventable
|
|
8
|
+
|
|
9
|
+
## Functions
|
|
10
|
+
|
|
11
|
+
- [eventable](functions/eventable.md)
|
|
12
|
+
|
|
13
|
+
## References
|
|
14
|
+
|
|
15
|
+
### default
|
|
16
|
+
|
|
17
|
+
Renames and re-exports [eventable](functions/eventable.md)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
[**events-ex**](../../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../../modules.md) / [eventable](../README.md) / eventable
|
|
6
|
+
|
|
7
|
+
# Function: eventable()
|
|
8
|
+
|
|
9
|
+
> **eventable**\<`T`\>(`targetClass?`, `options?`): `EnhancedClass`\<`T`, (`aClass?`) => `Function`\>
|
|
10
|
+
|
|
11
|
+
Defined in: [src/eventable.js:89](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/eventable.js#L89)
|
|
12
|
+
|
|
13
|
+
Adds event-emitting capabilities to a class by injecting necessary methods and properties.
|
|
14
|
+
|
|
15
|
+
This function uses `createAbilityInjector` from `custom-ability` to inject event-related methods
|
|
16
|
+
into the target class. The injected methods include standard EventEmitter functionality such as
|
|
17
|
+
`on`, `off`, `emit`, `emitAsync`, `once`, `listeners`, `@listenerCount` and more. It also ensures compatibility with Node.js `EventEmitter`
|
|
18
|
+
by including methods like `listenerCount`, `setMaxListeners`, `addListener`, `removeListener`, and `removeAllListeners`.
|
|
19
|
+
|
|
20
|
+
eventable
|
|
21
|
+
|
|
22
|
+
## Type Parameters
|
|
23
|
+
|
|
24
|
+
### T
|
|
25
|
+
|
|
26
|
+
`T` *extends* `ClassEx`
|
|
27
|
+
|
|
28
|
+
## Parameters
|
|
29
|
+
|
|
30
|
+
### targetClass?
|
|
31
|
+
|
|
32
|
+
`T`
|
|
33
|
+
|
|
34
|
+
### options?
|
|
35
|
+
|
|
36
|
+
`AbilityOptions`
|
|
37
|
+
|
|
38
|
+
Optional configuration for the injection process:
|
|
39
|
+
* `include` (string[]|string): Specifies which methods should be added.
|
|
40
|
+
Static methods should use the prefix '@'.
|
|
41
|
+
* `exclude` (string[]|string): Specifies which methods should not be added.
|
|
42
|
+
Static methods should use the prefix '@'.
|
|
43
|
+
* `methods` (Object): Custom methods to override or extend the default behavior.
|
|
44
|
+
Use `this.super()` to call the original method and `this.self` to access the original context.
|
|
45
|
+
* `classMethods` (Object): Custom static methods to be added to the class.
|
|
46
|
+
|
|
47
|
+
## Returns
|
|
48
|
+
|
|
49
|
+
`EnhancedClass`\<`T`, (`aClass?`) => `Function`\>
|
|
50
|
+
|
|
51
|
+
The same `aClass` class with event capabilities injected. The return value is the modified `aClass` itself.
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { eventable } from 'events-ex';
|
|
57
|
+
|
|
58
|
+
class MyClass {}
|
|
59
|
+
|
|
60
|
+
// Inject only specific methods: 'on', 'off', 'emit', 'emitAsync', and the static 'listenerCount'
|
|
61
|
+
eventable(MyClass, { include: ['on', 'off', 'emit', 'emitAsync', '@listenerCount'] });
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { eventable } from 'events-ex';
|
|
66
|
+
|
|
67
|
+
class OtherClass {
|
|
68
|
+
exec() {
|
|
69
|
+
console.log("Original exec");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Inject event capabilities and override the `exec` method
|
|
74
|
+
eventable(OtherClass, {
|
|
75
|
+
methods: {
|
|
76
|
+
exec() {
|
|
77
|
+
console.log("New exec");
|
|
78
|
+
this.super(); // Calls the original `exec` method
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
[**events-ex**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../modules.md) / has-listeners
|
|
6
|
+
|
|
7
|
+
# has-listeners
|
|
8
|
+
|
|
9
|
+
## Functions
|
|
10
|
+
|
|
11
|
+
- [hasListeners](functions/hasListeners.md)
|
|
12
|
+
|
|
13
|
+
## References
|
|
14
|
+
|
|
15
|
+
### default
|
|
16
|
+
|
|
17
|
+
Renames and re-exports [hasListeners](functions/hasListeners.md)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[**events-ex**](../../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../../modules.md) / [has-listeners](../README.md) / hasListeners
|
|
6
|
+
|
|
7
|
+
# Function: hasListeners()
|
|
8
|
+
|
|
9
|
+
> **hasListeners**(`obj`, `type?`): `boolean`
|
|
10
|
+
|
|
11
|
+
Defined in: [src/has-listeners.js:20](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/has-listeners.js#L20)
|
|
12
|
+
|
|
13
|
+
Checks if an object has event listeners.
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
### obj
|
|
18
|
+
|
|
19
|
+
`any`
|
|
20
|
+
|
|
21
|
+
The object to check. Must not be null or undefined.
|
|
22
|
+
|
|
23
|
+
### type?
|
|
24
|
+
|
|
25
|
+
`string`
|
|
26
|
+
|
|
27
|
+
Optional parameter specifying the event type. If provided, checks for the existence of listeners for this specific type.
|
|
28
|
+
|
|
29
|
+
## Returns
|
|
30
|
+
|
|
31
|
+
`boolean`
|
|
32
|
+
|
|
33
|
+
- If `type` is provided, returns whether listeners for the specified event type exist.
|
|
34
|
+
- If `type` is not provided, returns whether the object has any event listeners.
|
|
35
|
+
|
|
36
|
+
## Throws
|
|
37
|
+
|
|
38
|
+
Throws a TypeError if `obj` is null or undefined.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
[**events-ex**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[events-ex](../modules.md) / index
|
|
6
|
+
|
|
7
|
+
# index
|
|
8
|
+
|
|
9
|
+
## References
|
|
10
|
+
|
|
11
|
+
### allOff
|
|
12
|
+
|
|
13
|
+
Re-exports [allOff](../all-off/functions/allOff.md)
|
|
14
|
+
|
|
15
|
+
***
|
|
16
|
+
|
|
17
|
+
### default
|
|
18
|
+
|
|
19
|
+
Renames and re-exports [EventEmitter](../event-emitter/classes/EventEmitter.md)
|
|
20
|
+
|
|
21
|
+
***
|
|
22
|
+
|
|
23
|
+
### Event
|
|
24
|
+
|
|
25
|
+
Re-exports [Event](../event/classes/Event.md)
|
|
26
|
+
|
|
27
|
+
***
|
|
28
|
+
|
|
29
|
+
### eventable
|
|
30
|
+
|
|
31
|
+
Re-exports [eventable](../eventable/functions/eventable.md)
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### EventEmitter
|
|
36
|
+
|
|
37
|
+
Re-exports [EventEmitter](../event-emitter/classes/EventEmitter.md)
|
|
38
|
+
|
|
39
|
+
***
|
|
40
|
+
|
|
41
|
+
### hasListeners
|
|
42
|
+
|
|
43
|
+
Re-exports [hasListeners](../has-listeners/functions/hasListeners.md)
|
|
44
|
+
|
|
45
|
+
***
|
|
46
|
+
|
|
47
|
+
### methods
|
|
48
|
+
|
|
49
|
+
Re-exports [methods](../wrap-event-emitter/variables/methods.md)
|
|
50
|
+
|
|
51
|
+
***
|
|
52
|
+
|
|
53
|
+
### pipe
|
|
54
|
+
|
|
55
|
+
Re-exports [pipe](../pipe/functions/pipe.md)
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### pipeAsync
|
|
60
|
+
|
|
61
|
+
Re-exports [pipeAsync](../pipe-async/functions/pipeAsync.md)
|
|
62
|
+
|
|
63
|
+
***
|
|
64
|
+
|
|
65
|
+
### RegExpEventSymbol
|
|
66
|
+
|
|
67
|
+
Re-exports [RegExpEventSymbol](../consts/variables/RegExpEventSymbol.md)
|
|
68
|
+
|
|
69
|
+
***
|
|
70
|
+
|
|
71
|
+
### states
|
|
72
|
+
|
|
73
|
+
Re-exports [states](../consts/variables/states.md)
|
|
74
|
+
|
|
75
|
+
***
|
|
76
|
+
|
|
77
|
+
### unify
|
|
78
|
+
|
|
79
|
+
Re-exports [unify](../unify/functions/unify.md)
|
|
80
|
+
|
|
81
|
+
***
|
|
82
|
+
|
|
83
|
+
### wrapEventEmitter
|
|
84
|
+
|
|
85
|
+
Re-exports [wrapEventEmitter](../wrap-event-emitter/functions/wrapEventEmitter.md)
|
package/docs/modules.md
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
[events-ex](README.md)
|
|
1
|
+
[**events-ex**](README.md)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
***
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# events-ex
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Modules
|
|
8
8
|
|
|
9
|
-
- [all-off](
|
|
10
|
-
- [consts](
|
|
11
|
-
- [default-methods](
|
|
12
|
-
- [event](
|
|
13
|
-
- [event-emitter](
|
|
14
|
-
- [event-emitter](
|
|
15
|
-
- [eventable](
|
|
16
|
-
- [has-listeners](
|
|
17
|
-
- [index](
|
|
18
|
-
- [pipe](
|
|
19
|
-
- [pipe-async](
|
|
20
|
-
- [unify](
|
|
21
|
-
- [util/array-remove](
|
|
22
|
-
- [util/object-for-each](
|
|
23
|
-
- [util/
|
|
24
|
-
- [util/
|
|
25
|
-
- [util/
|
|
26
|
-
- [util/valid-
|
|
27
|
-
- [
|
|
9
|
+
- [all-off](all-off/README.md)
|
|
10
|
+
- [consts](consts/README.md)
|
|
11
|
+
- [default-methods](default-methods/README.md)
|
|
12
|
+
- [event](event/README.md)
|
|
13
|
+
- [event-emitter](event-emitter/README.md)
|
|
14
|
+
- [event-emitter](event-emitter/README-1.md)
|
|
15
|
+
- [eventable](eventable/README.md)
|
|
16
|
+
- [has-listeners](has-listeners/README.md)
|
|
17
|
+
- [index](index/README.md)
|
|
18
|
+
- [pipe](pipe/README.md)
|
|
19
|
+
- [pipe-async](pipe-async/README.md)
|
|
20
|
+
- [unify](unify/README.md)
|
|
21
|
+
- [util/array-remove](util/array-remove/README.md)
|
|
22
|
+
- [util/object-for-each](util/object-for-each/README.md)
|
|
23
|
+
- [util/promise-any](util/promise-any/README.md)
|
|
24
|
+
- [util/string-pad](util/string-pad/README.md)
|
|
25
|
+
- [util/to-int](util/to-int/README.md)
|
|
26
|
+
- [util/valid-callable](util/valid-callable/README.md)
|
|
27
|
+
- [util/valid-object](util/valid-object/README.md)
|
|
28
|
+
- [wrap-event-emitter](wrap-event-emitter/README.md)
|