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.
Files changed (98) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.cn.md +119 -170
  3. package/README.md +140 -150
  4. package/docs/README.md +143 -149
  5. package/docs/all-off/README.md +17 -0
  6. package/docs/all-off/functions/allOff.md +33 -0
  7. package/docs/consts/README.md +12 -0
  8. package/docs/consts/variables/RegExpEventSymbol.md +11 -0
  9. package/docs/consts/variables/states.md +29 -0
  10. package/docs/default-methods/README.md +17 -0
  11. package/docs/default-methods/functions/getEventableMethods.md +309 -0
  12. package/docs/event/README.md +17 -0
  13. package/docs/event/classes/Event.md +143 -0
  14. package/docs/event-emitter/README-1.md +17 -0
  15. package/docs/event-emitter/README.md +17 -0
  16. package/docs/event-emitter/classes/EventEmitter-1.md +29 -0
  17. package/docs/event-emitter/classes/EventEmitter.md +369 -0
  18. package/docs/eventable/README.md +17 -0
  19. package/docs/eventable/functions/eventable.md +82 -0
  20. package/docs/has-listeners/README.md +17 -0
  21. package/docs/has-listeners/functions/hasListeners.md +38 -0
  22. package/docs/index/README.md +85 -0
  23. package/docs/modules.md +24 -23
  24. package/docs/pipe/README.md +17 -0
  25. package/docs/pipe/functions/pipe.md +41 -0
  26. package/docs/pipe-async/README.md +17 -0
  27. package/docs/pipe-async/functions/pipeAsync.md +41 -0
  28. package/docs/unify/README.md +17 -0
  29. package/docs/unify/functions/unify.md +35 -0
  30. package/docs/util/array-remove/README.md +17 -0
  31. package/docs/util/array-remove/functions/remove.md +21 -0
  32. package/docs/util/object-for-each/README.md +17 -0
  33. package/docs/util/object-for-each/functions/forEach.md +29 -0
  34. package/docs/util/promise-any/README.md +11 -0
  35. package/docs/util/promise-any/variables/default.md +9 -0
  36. package/docs/util/string-pad/README.md +17 -0
  37. package/docs/util/string-pad/functions/pad.md +25 -0
  38. package/docs/util/to-int/README.md +17 -0
  39. package/docs/util/to-int/functions/toInt.md +21 -0
  40. package/docs/util/valid-callable/README.md +17 -0
  41. package/docs/util/valid-callable/functions/validCallable.md +21 -0
  42. package/docs/util/valid-object/README.md +17 -0
  43. package/docs/util/valid-object/functions/validObject.md +21 -0
  44. package/docs/wrap-event-emitter/README.md +21 -0
  45. package/docs/wrap-event-emitter/functions/wrapEventEmitter.md +33 -0
  46. package/docs/wrap-event-emitter/variables/methods.md +11 -0
  47. package/lib/all-off.d.ts +1 -1
  48. package/lib/all-off.js +1 -1
  49. package/lib/default-methods.d.ts +38 -7
  50. package/lib/default-methods.js +155 -32
  51. package/lib/event-emitter.d.ts +12 -2
  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 +159 -26
  70. package/src/event-emitter.d.ts +12 -2
  71. package/src/event.js +6 -0
  72. package/src/eventable.js +3 -0
  73. package/src/pipe-async.js +64 -30
  74. package/src/util/promise-any.js +45 -0
  75. package/src/wrap-event-emitter.js +23 -18
  76. package/docs/.nojekyll +0 -1
  77. package/docs/classes/event.Event.md +0 -141
  78. package/docs/classes/event_emitter-1.EventEmitter.md +0 -29
  79. package/docs/classes/event_emitter.EventEmitter.md +0 -352
  80. package/docs/modules/all_off.md +0 -44
  81. package/docs/modules/consts.md +0 -39
  82. package/docs/modules/default_methods.md +0 -51
  83. package/docs/modules/event.md +0 -19
  84. package/docs/modules/event_emitter-1.md +0 -19
  85. package/docs/modules/event_emitter.md +0 -19
  86. package/docs/modules/eventable.md +0 -92
  87. package/docs/modules/has_listeners.md +0 -49
  88. package/docs/modules/index.md +0 -99
  89. package/docs/modules/pipe.md +0 -49
  90. package/docs/modules/pipe_async.md +0 -49
  91. package/docs/modules/unify.md +0 -46
  92. package/docs/modules/util_array_remove.md +0 -39
  93. package/docs/modules/util_object_for_each.md +0 -41
  94. package/docs/modules/util_string_pad.md +0 -40
  95. package/docs/modules/util_to_int.md +0 -39
  96. package/docs/modules/util_valid_callable.md +0 -39
  97. package/docs/modules/util_valid_object.md +0 -39
  98. package/docs/modules/wrap_event_emitter.md +0 -57
@@ -0,0 +1,41 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [pipe](../README.md) / pipe
6
+
7
+ # Function: pipe()
8
+
9
+ > **pipe**(`e1`, `e2`, ...`args`): `any`
10
+
11
+ Defined in: [src/pipe.js:21](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/pipe.js#L21)
12
+
13
+ Creates a pipeline between two event emitters, so that any events emitted by the first emitter are also emitted by the second emitter.
14
+
15
+ ## Parameters
16
+
17
+ ### e1
18
+
19
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
20
+
21
+ The first event emitter.
22
+
23
+ ### e2
24
+
25
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
26
+
27
+ The second event emitter.
28
+
29
+ ### args
30
+
31
+ ...`any`[]
32
+
33
+ ## Returns
34
+
35
+ `any`
36
+
37
+ - An object with a `close` method that removes the pipeline between the two event emitters.
38
+
39
+ ## Throws
40
+
41
+ - If either of the arguments is not an event emitter object.
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / pipe-async
6
+
7
+ # pipe-async
8
+
9
+ ## Functions
10
+
11
+ - [pipeAsync](functions/pipeAsync.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [pipeAsync](functions/pipeAsync.md)
@@ -0,0 +1,41 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [pipe-async](../README.md) / pipeAsync
6
+
7
+ # Function: pipeAsync()
8
+
9
+ > **pipeAsync**(`e1`, `e2`, ...`args`): `any`
10
+
11
+ Defined in: [src/pipe-async.js:24](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/pipe-async.js#L24)
12
+
13
+ Creates a pipeline between two event emitters, so that any events emitted by the first emitter are also emitted by the second emitter.
14
+
15
+ ## Parameters
16
+
17
+ ### e1
18
+
19
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
20
+
21
+ The first event emitter.
22
+
23
+ ### e2
24
+
25
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
26
+
27
+ The second event emitter.
28
+
29
+ ### args
30
+
31
+ ...`any`[]
32
+
33
+ ## Returns
34
+
35
+ `any`
36
+
37
+ - An object with a `close` method that removes the pipeline between the two event emitters.
38
+
39
+ ## Throws
40
+
41
+ - If either of the arguments is not an event emitter object.
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / unify
6
+
7
+ # unify
8
+
9
+ ## Functions
10
+
11
+ - [unify](functions/unify.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [unify](functions/unify.md)
@@ -0,0 +1,35 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [unify](../README.md) / unify
6
+
7
+ # Function: unify()
8
+
9
+ > **unify**(`e1`, `e2`): `void`
10
+
11
+ Defined in: [src/unify.js:17](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/unify.js#L17)
12
+
13
+ Unifies the event listeners of two event emitter objects so that they share the same set of listeners for each event.
14
+
15
+ ## Parameters
16
+
17
+ ### e1
18
+
19
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
20
+
21
+ The first event emitter object.
22
+
23
+ ### e2
24
+
25
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
26
+
27
+ The second event emitter object.
28
+
29
+ ## Returns
30
+
31
+ `void`
32
+
33
+ ## Throws
34
+
35
+ - If either of the arguments is not an event emitter object.
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/array-remove
6
+
7
+ # util/array-remove
8
+
9
+ ## Functions
10
+
11
+ - [remove](functions/remove.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [remove](functions/remove.md)
@@ -0,0 +1,21 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/array-remove](../README.md) / remove
6
+
7
+ # Function: remove()
8
+
9
+ > **remove**(...`args`): `void`
10
+
11
+ Defined in: [src/util/array-remove.js:5](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/array-remove.js#L5)
12
+
13
+ ## Parameters
14
+
15
+ ### args
16
+
17
+ ...`any`[]
18
+
19
+ ## Returns
20
+
21
+ `void`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/object-for-each
6
+
7
+ # util/object-for-each
8
+
9
+ ## Functions
10
+
11
+ - [forEach](functions/forEach.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [forEach](functions/forEach.md)
@@ -0,0 +1,29 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/object-for-each](../README.md) / forEach
6
+
7
+ # Function: forEach()
8
+
9
+ > **forEach**(`obj`, `cb`, ...`args`): `void`
10
+
11
+ Defined in: [src/util/object-for-each.js:6](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/object-for-each.js#L6)
12
+
13
+ ## Parameters
14
+
15
+ ### obj
16
+
17
+ `any`
18
+
19
+ ### cb
20
+
21
+ `any`
22
+
23
+ ### args
24
+
25
+ ...`any`[]
26
+
27
+ ## Returns
28
+
29
+ `void`
@@ -0,0 +1,11 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/promise-any
6
+
7
+ # util/promise-any
8
+
9
+ ## Variables
10
+
11
+ - [default](variables/default.md)
@@ -0,0 +1,9 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/promise-any](../README.md) / default
6
+
7
+ # Variable: default
8
+
9
+ > **default**: `any`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/string-pad
6
+
7
+ # util/string-pad
8
+
9
+ ## Functions
10
+
11
+ - [pad](functions/pad.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [pad](functions/pad.md)
@@ -0,0 +1,25 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/string-pad](../README.md) / pad
6
+
7
+ # Function: pad()
8
+
9
+ > **pad**(`fill`, ...`args`): `string`
10
+
11
+ Defined in: [src/util/string-pad.js:8](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/string-pad.js#L8)
12
+
13
+ ## Parameters
14
+
15
+ ### fill
16
+
17
+ `any`
18
+
19
+ ### args
20
+
21
+ ...`any`[]
22
+
23
+ ## Returns
24
+
25
+ `string`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/to-int
6
+
7
+ # util/to-int
8
+
9
+ ## Functions
10
+
11
+ - [toInt](functions/toInt.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [toInt](functions/toInt.md)
@@ -0,0 +1,21 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/to-int](../README.md) / toInt
6
+
7
+ # Function: toInt()
8
+
9
+ > **toInt**(`value`): `any`
10
+
11
+ Defined in: [src/util/to-int.js:2](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/to-int.js#L2)
12
+
13
+ ## Parameters
14
+
15
+ ### value
16
+
17
+ `any`
18
+
19
+ ## Returns
20
+
21
+ `any`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/valid-callable
6
+
7
+ # util/valid-callable
8
+
9
+ ## Functions
10
+
11
+ - [validCallable](functions/validCallable.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [validCallable](functions/validCallable.md)
@@ -0,0 +1,21 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/valid-callable](../README.md) / validCallable
6
+
7
+ # Function: validCallable()
8
+
9
+ > **validCallable**(`fn`): `any`
10
+
11
+ Defined in: [src/util/valid-callable.js:1](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/valid-callable.js#L1)
12
+
13
+ ## Parameters
14
+
15
+ ### fn
16
+
17
+ `any`
18
+
19
+ ## Returns
20
+
21
+ `any`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / util/valid-object
6
+
7
+ # util/valid-object
8
+
9
+ ## Functions
10
+
11
+ - [validObject](functions/validObject.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [validObject](functions/validObject.md)
@@ -0,0 +1,21 @@
1
+ [**events-ex**](../../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../../modules.md) / [util/valid-object](../README.md) / validObject
6
+
7
+ # Function: validObject()
8
+
9
+ > **validObject**(`value`): `any`
10
+
11
+ Defined in: [src/util/valid-object.js:3](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/util/valid-object.js#L3)
12
+
13
+ ## Parameters
14
+
15
+ ### value
16
+
17
+ `any`
18
+
19
+ ## Returns
20
+
21
+ `any`
@@ -0,0 +1,21 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / wrap-event-emitter
6
+
7
+ # wrap-event-emitter
8
+
9
+ ## Variables
10
+
11
+ - [methods](variables/methods.md)
12
+
13
+ ## Functions
14
+
15
+ - [wrapEventEmitter](functions/wrapEventEmitter.md)
16
+
17
+ ## References
18
+
19
+ ### default
20
+
21
+ Renames and re-exports [wrapEventEmitter](functions/wrapEventEmitter.md)
@@ -0,0 +1,33 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [wrap-event-emitter](../README.md) / wrapEventEmitter
6
+
7
+ # Function: wrapEventEmitter()
8
+
9
+ > **wrapEventEmitter**(`o?`, `options?`): `any`
10
+
11
+ Defined in: [src/wrap-event-emitter.js:37](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/wrap-event-emitter.js#L37)
12
+
13
+ Create or inject the eventable instance into the object
14
+
15
+ ## Parameters
16
+
17
+ ### o?
18
+
19
+ `any`
20
+
21
+ the optional instance to eventable
22
+
23
+ ### options?
24
+
25
+ `any`
26
+
27
+ optional configuration for the emitter
28
+
29
+ ## Returns
30
+
31
+ `any`
32
+
33
+ o or new Event instance
@@ -0,0 +1,11 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [wrap-event-emitter](../README.md) / methods
6
+
7
+ # Variable: methods
8
+
9
+ > `const` **methods**: `any`
10
+
11
+ Defined in: [src/wrap-event-emitter.js:7](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/wrap-event-emitter.js#L7)
package/lib/all-off.d.ts CHANGED
@@ -5,5 +5,5 @@
5
5
  * @param {string} [type] - The event to remove listeners for. If not provided, all listeners for all events will be removed.
6
6
  * @returns {import('./event-emitter').EventEmitter} - The event emitter with all listeners removed.
7
7
  */
8
- export function allOff(emitter: import('./event-emitter').EventEmitter, type?: string): import('./event-emitter').EventEmitter;
8
+ export function allOff(emitter: import("./event-emitter").EventEmitter, type?: string): import("./event-emitter").EventEmitter;
9
9
  export default allOff;
package/lib/all-off.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.allOff = allOff;
7
7
  exports.default = void 0;
8
8
  var _eventable = _interopRequireDefault(require("./eventable"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const removeAllListeners = (0, _eventable.default)().methods.removeAllListeners;
11
11
 
12
12
  /**
@@ -1,22 +1,53 @@
1
1
  export function getEventableMethods(aClass: any): {
2
+ /**
3
+ * Configures the event emitter with specified options using a Fluent API.
4
+ * @param {Object} options - Configuration options for event emission.
5
+ * @param {string} [options.asyncMode='serial'] - The mode of asynchronous emission ('serial' or 'parallel').
6
+ * @param {string} [options.resultMode='last'] - The strategy for handling multiple return values ('last', 'first', 'collect').
7
+ * @returns {import('./event-emitter').EventEmitter} A proxy object representing the configured EventEmitter.
8
+ */
9
+ configure(options: {
10
+ asyncMode?: string;
11
+ resultMode?: string;
12
+ }): import("./event-emitter").EventEmitter;
13
+ /**
14
+ * A shortcut for parallel configuration.
15
+ * @param {string} [resultMode='last'] - The strategy for handling multiple return values.
16
+ * @returns {import('./event-emitter').EventEmitter} A proxy object representing the configured EventEmitter.
17
+ */
18
+ parallel(resultMode?: string): import("./event-emitter").EventEmitter;
19
+ /**
20
+ * Sets the configuration options for the EventEmitter instance.
21
+ * @param {Object} options - Configuration options for the emitter (e.g., asyncMode, resultMode, maxListeners).
22
+ * @returns {import('./event-emitter').EventEmitter} The EventEmitter instance for chaining.
23
+ */
24
+ setEmitterOptions(options: any): import("./event-emitter").EventEmitter;
2
25
  /**
3
26
  * Adds a listener function to the specified event type.
4
27
  * @param {string|RegExp} type - The event type to listen for.
5
28
  * @param {Function} listener - The listener function to be called when the event is emitted.
6
- * @param {number} [index] - The index at which to insert the listener. If not specified, the listener will be added at the end of the listeners array.
29
+ * @param {number|'first'|'last'} [index] - The index at which to insert the listener.
30
+ * - 'first' or -Infinity: Adds to the "Head" zone. The first listener added as 'first' is placed at the very front.
31
+ * - 'last' or Infinity: Adds to the "Tail" zone. The first listener added as 'last' will always be the very last one to execute.
32
+ * - number: Inserts at the specified index within the "Body" (normal) zone.
33
+ * If not specified, the listener is added to the end of the "Body" zone.
7
34
  * @returns {import('./event-emitter').EventEmitter} The EventEmitter instance to allow chaining.
8
35
  * @throws {TypeError} If the listener is not a function.
9
36
  */
10
- on(type: string | RegExp, listener: Function, index?: number): import('./event-emitter').EventEmitter;
37
+ on(type: string | RegExp, listener: Function, index?: number | "first" | "last"): import("./event-emitter").EventEmitter;
11
38
  /**
12
39
  * Adds a one-time listener function to the specified event type.
13
40
  * @param {string|RegExp} type - The event type to listen for.
14
41
  * @param {Function} listener - The listener function to be called once when the event is emitted.
15
- * @param {number} [index] - The index at which to insert the listener. If not specified, the listener will be added at the end of the listeners array.
42
+ * @param {number|'first'|'last'} [index] - The index at which to insert the listener.
43
+ * - 'first' or -Infinity: Adds to the "Head" zone. The first listener added as 'first' is placed at the very front.
44
+ * - 'last' or Infinity: Adds to the "Tail" zone. The first listener added as 'last' will always be the very last one to execute.
45
+ * - number: Inserts at the specified index within the "Body" (normal) zone.
46
+ * If not specified, the listener is added to the end of the "Body" zone.
16
47
  * @returns {import('./event-emitter').EventEmitter} The EventEmitter instance to allow chaining.
17
48
  * @throws {TypeError} If the listener is not a function.
18
49
  */
19
- once(type: string | RegExp, listener: Function, index?: number): import('./event-emitter').EventEmitter;
50
+ once(type: string | RegExp, listener: Function, index?: number | "first" | "last"): import("./event-emitter").EventEmitter;
20
51
  /**
21
52
  * Emits the specified event type with the given arguments.
22
53
  * @param {...*} args - The event type followed by any number of arguments to be passed to the listener functions.
@@ -29,7 +60,7 @@ export function getEventableMethods(aClass: any): {
29
60
  * @returns {Promise<*>} A promise that resolves with the result of the event.
30
61
  */
31
62
  emitAsync(...args: any[]): Promise<any>;
32
- setMaxListeners(n: any): any;
63
+ setMaxListeners(n: any): /*elided*/ any;
33
64
  listeners(type: any): any;
34
65
  listenerCount(emitter: any, type: any): number;
35
66
  /**
@@ -39,13 +70,13 @@ export function getEventableMethods(aClass: any): {
39
70
  * @returns {import('./event-emitter').EventEmitter} The EventEmitter instance to allow chaining.
40
71
  * @throws {TypeError} If the listener is not a function.
41
72
  */
42
- off(type: string | RegExp, listener: Function): import('./event-emitter').EventEmitter;
73
+ off(type: string | RegExp, listener: Function): import("./event-emitter").EventEmitter;
43
74
  /**
44
75
  * Removes all listener functions from the specified event type.
45
76
  * @param {string|RegExp} type - The event type to remove the listener from.
46
77
  * @returns {import('./event-emitter').EventEmitter} The EventEmitter instance to allow chaining.
47
78
  * @throws {TypeError} If the listener is not a function.
48
79
  */
49
- removeAllListeners(type: string | RegExp): import('./event-emitter').EventEmitter;
80
+ removeAllListeners(type: string | RegExp): import("./event-emitter").EventEmitter;
50
81
  };
51
82
  export default getEventableMethods;