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,309 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [default-methods](../README.md) / getEventableMethods
6
+
7
+ # Function: getEventableMethods()
8
+
9
+ > **getEventableMethods**(`aClass`): `object`
10
+
11
+ Defined in: [src/default-methods.js:15](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/default-methods.js#L15)
12
+
13
+ ## Parameters
14
+
15
+ ### aClass
16
+
17
+ `any`
18
+
19
+ ## Returns
20
+
21
+ ### configure()
22
+
23
+ > **configure**(`options`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
24
+
25
+ Configures the event emitter with specified options using a Fluent API.
26
+
27
+ #### Parameters
28
+
29
+ ##### options
30
+
31
+ Configuration options for event emission.
32
+
33
+ ###### asyncMode?
34
+
35
+ `string`
36
+
37
+ The mode of asynchronous emission ('serial' or 'parallel').
38
+
39
+ ###### resultMode?
40
+
41
+ `string`
42
+
43
+ The strategy for handling multiple return values ('last', 'first', 'collect').
44
+
45
+ #### Returns
46
+
47
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
48
+
49
+ A proxy object representing the configured EventEmitter.
50
+
51
+ ### emit()
52
+
53
+ > **emit**(...`args`): `any`
54
+
55
+ Emits the specified event type with the given arguments.
56
+
57
+ #### Parameters
58
+
59
+ ##### args
60
+
61
+ ...`any`[]
62
+
63
+ The event type followed by any number of arguments to be passed to the listener functions.
64
+
65
+ #### Returns
66
+
67
+ `any`
68
+
69
+ The result of the event.
70
+
71
+ ### emitAsync()
72
+
73
+ > **emitAsync**(...`args`): `Promise`\<`any`\>
74
+
75
+ Asynchronously emits the specified event type with the given arguments.
76
+
77
+ #### Parameters
78
+
79
+ ##### args
80
+
81
+ ...`any`[]
82
+
83
+ The event type followed by any number of arguments to be passed to the listener functions.
84
+
85
+ #### Returns
86
+
87
+ `Promise`\<`any`\>
88
+
89
+ A promise that resolves with the result of the event.
90
+
91
+ ### listenerCount()
92
+
93
+ > **listenerCount**(`emitter`, `type`): `number`
94
+
95
+ #### Parameters
96
+
97
+ ##### emitter
98
+
99
+ `any`
100
+
101
+ ##### type
102
+
103
+ `any`
104
+
105
+ #### Returns
106
+
107
+ `number`
108
+
109
+ ### listeners()
110
+
111
+ > **listeners**(`type`): `any`
112
+
113
+ #### Parameters
114
+
115
+ ##### type
116
+
117
+ `any`
118
+
119
+ #### Returns
120
+
121
+ `any`
122
+
123
+ ### off()
124
+
125
+ > **off**(`type`, `listener`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
126
+
127
+ Removes a listener function from the specified event type.
128
+
129
+ #### Parameters
130
+
131
+ ##### type
132
+
133
+ The event type to remove the listener from.
134
+
135
+ `string` | `RegExp`
136
+
137
+ ##### listener
138
+
139
+ `Function`
140
+
141
+ The listener function to be removed.
142
+
143
+ #### Returns
144
+
145
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
146
+
147
+ The EventEmitter instance to allow chaining.
148
+
149
+ #### Throws
150
+
151
+ If the listener is not a function.
152
+
153
+ ### on()
154
+
155
+ > **on**(`type`, `listener`, `index?`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
156
+
157
+ Adds a listener function to the specified event type.
158
+
159
+ #### Parameters
160
+
161
+ ##### type
162
+
163
+ The event type to listen for.
164
+
165
+ `string` | `RegExp`
166
+
167
+ ##### listener
168
+
169
+ `Function`
170
+
171
+ The listener function to be called when the event is emitted.
172
+
173
+ ##### index?
174
+
175
+ The index at which to insert the listener.
176
+ - 'first' or -Infinity: Adds to the "Head" zone. The first listener added as 'first' is placed at the very front.
177
+ - 'last' or Infinity: Adds to the "Tail" zone. The first listener added as 'last' will always be the very last one to execute.
178
+ - number: Inserts at the specified index within the "Body" (normal) zone.
179
+ If not specified, the listener is added to the end of the "Body" zone.
180
+
181
+ `number` | `"first"` | `"last"`
182
+
183
+ #### Returns
184
+
185
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
186
+
187
+ The EventEmitter instance to allow chaining.
188
+
189
+ #### Throws
190
+
191
+ If the listener is not a function.
192
+
193
+ ### once()
194
+
195
+ > **once**(`type`, `listener`, `index?`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
196
+
197
+ Adds a one-time listener function to the specified event type.
198
+
199
+ #### Parameters
200
+
201
+ ##### type
202
+
203
+ The event type to listen for.
204
+
205
+ `string` | `RegExp`
206
+
207
+ ##### listener
208
+
209
+ `Function`
210
+
211
+ The listener function to be called once when the event is emitted.
212
+
213
+ ##### index?
214
+
215
+ The index at which to insert the listener.
216
+ - 'first' or -Infinity: Adds to the "Head" zone. The first listener added as 'first' is placed at the very front.
217
+ - 'last' or Infinity: Adds to the "Tail" zone. The first listener added as 'last' will always be the very last one to execute.
218
+ - number: Inserts at the specified index within the "Body" (normal) zone.
219
+ If not specified, the listener is added to the end of the "Body" zone.
220
+
221
+ `number` | `"first"` | `"last"`
222
+
223
+ #### Returns
224
+
225
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
226
+
227
+ The EventEmitter instance to allow chaining.
228
+
229
+ #### Throws
230
+
231
+ If the listener is not a function.
232
+
233
+ ### parallel()
234
+
235
+ > **parallel**(`resultMode?`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
236
+
237
+ A shortcut for parallel configuration.
238
+
239
+ #### Parameters
240
+
241
+ ##### resultMode?
242
+
243
+ `string`
244
+
245
+ The strategy for handling multiple return values.
246
+
247
+ #### Returns
248
+
249
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
250
+
251
+ A proxy object representing the configured EventEmitter.
252
+
253
+ ### removeAllListeners()
254
+
255
+ > **removeAllListeners**(`type`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
256
+
257
+ Removes all listener functions from the specified event type.
258
+
259
+ #### Parameters
260
+
261
+ ##### type
262
+
263
+ The event type to remove the listener from.
264
+
265
+ `string` | `RegExp`
266
+
267
+ #### Returns
268
+
269
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
270
+
271
+ The EventEmitter instance to allow chaining.
272
+
273
+ #### Throws
274
+
275
+ If the listener is not a function.
276
+
277
+ ### setEmitterOptions()
278
+
279
+ > **setEmitterOptions**(`options`): [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
280
+
281
+ Sets the configuration options for the EventEmitter instance.
282
+
283
+ #### Parameters
284
+
285
+ ##### options
286
+
287
+ `any`
288
+
289
+ Configuration options for the emitter (e.g., asyncMode, resultMode, maxListeners).
290
+
291
+ #### Returns
292
+
293
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
294
+
295
+ The EventEmitter instance for chaining.
296
+
297
+ ### setMaxListeners()
298
+
299
+ > **setMaxListeners**(`n`): \{ configure(options: \{ asyncMode?: string; resultMode?: string; \}): EventEmitter; parallel(resultMode?: string): EventEmitter; setEmitterOptions(options: any): EventEmitter; ... 8 more ...; removeAllListeners(type: string \| RegExp): EventEmitter; \}
300
+
301
+ #### Parameters
302
+
303
+ ##### n
304
+
305
+ `any`
306
+
307
+ #### Returns
308
+
309
+ \{ configure(options: \{ asyncMode?: string; resultMode?: string; \}): EventEmitter; parallel(resultMode?: string): EventEmitter; setEmitterOptions(options: any): EventEmitter; ... 8 more ...; removeAllListeners(type: string \| RegExp): EventEmitter; \}
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / event
6
+
7
+ # event
8
+
9
+ ## Classes
10
+
11
+ - [Event](classes/Event.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [Event](classes/Event.md)
@@ -0,0 +1,143 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [event](../README.md) / Event
6
+
7
+ # Class: Event
8
+
9
+ Defined in: [src/event.js:8](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L8)
10
+
11
+ Creates a new Event object instance that contains information about the event, such as the target element and the return value of the event.
12
+
13
+ ## Classdesc
14
+
15
+ Event Object that contains information about the event, such as the target element and the return value of the event.
16
+
17
+ ## Param
18
+
19
+ Who trigger the event
20
+
21
+ ## Constructors
22
+
23
+ ### Constructor
24
+
25
+ > **new Event**(`target`, `type`): `Event`
26
+
27
+ Defined in: [src/event.js:8](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L8)
28
+
29
+ Creates a new Event object instance that contains information about the event, such as the target element and the return value of the event.
30
+
31
+ #### Parameters
32
+
33
+ ##### target
34
+
35
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
36
+
37
+ Who trigger the event
38
+
39
+ ##### type
40
+
41
+ `any`
42
+
43
+ #### Returns
44
+
45
+ `Event`
46
+
47
+ - The new Event instance.
48
+
49
+ #### Classdesc
50
+
51
+ Event Object that contains information about the event, such as the target element and the return value of the event.
52
+
53
+ ## Properties
54
+
55
+ ### resolved
56
+
57
+ > **resolved**: `boolean`
58
+
59
+ Defined in: [src/event.js:38](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L38)
60
+
61
+ Whether a result has been resolved (for 'first' result mode)
62
+
63
+ ***
64
+
65
+ ### result
66
+
67
+ > **result**: `any`
68
+
69
+ Defined in: [src/event.js:44](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L44)
70
+
71
+ Keep your event result here if any.
72
+
73
+ ***
74
+
75
+ ### stopped
76
+
77
+ > **stopped**: `boolean`
78
+
79
+ Defined in: [src/event.js:32](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L32)
80
+
81
+ Whether stop the bubbling event
82
+
83
+ ***
84
+
85
+ ### target
86
+
87
+ > **target**: `any`
88
+
89
+ Defined in: [src/event.js:26](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L26)
90
+
91
+ Who trigger the event
92
+
93
+ ***
94
+
95
+ ### type
96
+
97
+ > **type**: `string`
98
+
99
+ Defined in: [src/event.js:50](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L50)
100
+
101
+ The type of the event.
102
+
103
+ ## Methods
104
+
105
+ ### end()
106
+
107
+ > **end**(): `any`
108
+
109
+ Defined in: [src/event.js:57](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L57)
110
+
111
+ Ends the event and returns the result.
112
+
113
+ #### Returns
114
+
115
+ `any`
116
+
117
+ The result of the event.
118
+
119
+ ***
120
+
121
+ ### init()
122
+
123
+ > **init**(`target`, `type`): `void`
124
+
125
+ Defined in: [src/event.js:20](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event.js#L20)
126
+
127
+ Initializes the event with the target object.
128
+
129
+ #### Parameters
130
+
131
+ ##### target
132
+
133
+ [`EventEmitter`](../../event-emitter/classes/EventEmitter.md)
134
+
135
+ The target object for the event.
136
+
137
+ ##### type
138
+
139
+ `any`
140
+
141
+ #### Returns
142
+
143
+ `void`
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / event-emitter
6
+
7
+ # event-emitter
8
+
9
+ ## Classes
10
+
11
+ - [EventEmitter](classes/EventEmitter-1.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [EventEmitter](classes/EventEmitter-1.md)
@@ -0,0 +1,17 @@
1
+ [**events-ex**](../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../modules.md) / event-emitter
6
+
7
+ # event-emitter
8
+
9
+ ## Classes
10
+
11
+ - [EventEmitter](classes/EventEmitter.md)
12
+
13
+ ## References
14
+
15
+ ### default
16
+
17
+ Renames and re-exports [EventEmitter](classes/EventEmitter.md)
@@ -0,0 +1,29 @@
1
+ [**events-ex**](../../README.md)
2
+
3
+ ***
4
+
5
+ [events-ex](../../modules.md) / [event-emitter](../README-1.md) / EventEmitter
6
+
7
+ # Class: EventEmitter
8
+
9
+ Defined in: [src/event-emitter.js:8](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.js#L8)
10
+
11
+ ## Classdesc
12
+
13
+ Class that represents an event emitter.
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ > **new EventEmitter**(): `EventEmitter`
20
+
21
+ Defined in: [src/event-emitter.js:8](https://github.com/snowyu/events-ex.js/blob/53cfb5bb3f7229cb549e99d410c0d6d39665eb0a/src/event-emitter.js#L8)
22
+
23
+ #### Returns
24
+
25
+ `EventEmitter`
26
+
27
+ #### Classdesc
28
+
29
+ Class that represents an event emitter.