tiny-essentials 1.22.2 โ†’ 1.22.4

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 (34) hide show
  1. package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
  2. package/dist/v1/TinyDragger.min.js +1 -1
  3. package/dist/v1/TinyEssentials.min.js +1 -1
  4. package/dist/v1/TinyEvents.min.js +1 -1
  5. package/dist/v1/TinyHtml.min.js +1 -1
  6. package/dist/v1/TinyIframeEvents.min.js +1 -1
  7. package/dist/v1/TinyLocalStorage.min.js +1 -1
  8. package/dist/v1/TinyNewWinEvents.min.js +1 -1
  9. package/dist/v1/TinySmartScroller.min.js +1 -1
  10. package/dist/v1/TinyUploadClicker.min.js +1 -1
  11. package/dist/v1/libs/TinyAdvancedRaffle.cjs +13 -13
  12. package/dist/v1/libs/TinyAdvancedRaffle.d.mts +19 -19
  13. package/dist/v1/libs/TinyAdvancedRaffle.mjs +13 -13
  14. package/dist/v1/libs/TinyEvents.cjs +98 -73
  15. package/dist/v1/libs/TinyEvents.d.mts +22 -22
  16. package/dist/v1/libs/TinyEvents.mjs +103 -77
  17. package/dist/v1/libs/TinyHtml.cjs +69 -6
  18. package/dist/v1/libs/TinyHtml.d.mts +44 -6
  19. package/dist/v1/libs/TinyHtml.mjs +64 -6
  20. package/dist/v1/libs/TinyIframeEvents.cjs +11 -11
  21. package/dist/v1/libs/TinyIframeEvents.d.mts +19 -19
  22. package/dist/v1/libs/TinyIframeEvents.mjs +11 -11
  23. package/dist/v1/libs/TinyLocalStorage.cjs +12 -12
  24. package/dist/v1/libs/TinyLocalStorage.d.mts +21 -21
  25. package/dist/v1/libs/TinyLocalStorage.mjs +12 -12
  26. package/dist/v1/libs/TinyNewWinEvents.cjs +11 -11
  27. package/dist/v1/libs/TinyNewWinEvents.d.mts +19 -19
  28. package/dist/v1/libs/TinyNewWinEvents.mjs +11 -11
  29. package/dist/v1/libs/TinySmartScroller.cjs +12 -12
  30. package/dist/v1/libs/TinySmartScroller.d.mts +53 -30
  31. package/dist/v1/libs/TinySmartScroller.mjs +12 -12
  32. package/docs/v1/libs/TinyEvents.md +93 -105
  33. package/docs/v1/libs/TinyHtml.md +4 -2
  34. package/package.json +1 -1
@@ -1,199 +1,187 @@
1
- # ๐Ÿ“ฆ TinyEvents
1
+ # ๐Ÿ“ข TinyEvents Documentation
2
2
 
3
- A **lightweight event emitter** class similar to Node.js's `EventEmitter`, written in modern JavaScript with no dependencies. Perfect for publish/subscribe patterns in modular apps.
3
+ TinyEvents is a lightweight, dependency-free **event emitter system**, inspired by Node.jsโ€™s `EventEmitter`.
4
+ It allows components to **subscribe**, **emit**, and **manage** events and their listeners in a clean and modular way.
4
5
 
5
6
  ---
6
7
 
7
- ## ๐Ÿง  What is TinyEvents?
8
+ ## โœจ Features
8
9
 
9
- `TinyEvents` enables your components or modules to **subscribe to**, **emit**, and **manage custom events**.
10
-
11
- It supports:
12
-
13
- * ๐Ÿ” Persistent listeners (`on`, `appendListener`, `prependListener`)
14
- * ๐Ÿ”‚ One-time listeners (`once`, `appendListenerOnce`, `prependListenerOnce`)
15
- * ๐Ÿ“ค Emitting events (`emit`)
16
- * ๐Ÿ” Inspecting listeners (`listenerCount`, `listeners`, `onceListeners`, `allListeners`, `eventNames`)
17
- * ๐Ÿงน Removing listeners (`off`, `offAll`, `offAllTypes`)
18
- * ๐Ÿšฆ Controlling listener count (`setMaxListeners`, `getMaxListeners`)
10
+ * โž• Add/remove event listeners (`on`, `off`, `offAll`, `offAllTypes`)
11
+ * ๐Ÿ”‚ One-time listeners (`once`, `prependListenerOnce`)
12
+ * ๐Ÿ“ข Emit events (`emit`)
13
+ * ๐Ÿ” Inspect listeners (`listenerCount`, `listeners`, `onceListeners`, `allListeners`, `eventNames`)
14
+ * โš–๏ธ Control maximum listeners (`setMaxListeners`, `getMaxListeners`)
15
+ * ๐Ÿšจ Configurable error/warning when max listeners exceeded (`setThrowOnMaxListeners`)
19
16
 
20
17
  ---
21
18
 
22
- ## ๐Ÿ”ง API Reference
23
-
24
- ### `on(event: string, handler: function): void`
19
+ ## ๐Ÿ“š API Reference
25
20
 
26
- Adds a listener for the specified event.
21
+ ### ๐Ÿ”น Event Handler Callback
27
22
 
28
- ```js
29
- emitter.on('hello', (name) => console.log(`Hi, ${name}`));
23
+ ```ts
24
+ /**
25
+ * A generic event listener callback function.
26
+ *
27
+ * @callback handler
28
+ * @param {...any} payload - The data payload passed when the event is triggered.
29
+ * @returns {void}
30
+ */
30
31
  ```
31
32
 
32
33
  ---
33
34
 
34
- ### `once(event: string, handler: function): function`
35
+ ### ๐Ÿ—๏ธ Class: `TinyEvents`
35
36
 
36
- Adds a one-time listener that is automatically removed after it runs once.
37
+ #### ๐Ÿ”’ Private Properties
37
38
 
38
- ```js
39
- emitter.once('data', console.log);
40
- ```
39
+ * `#listeners: Map<string, { handler: handler, config: { once: boolean } }[]>` โ€“ Stores registered listeners
40
+ * `#maxListeners: number` โ€“ Maximum allowed listeners per event (default: `10`)
41
+ * `#throwMaxListeners: boolean` โ€“ Whether to throw error or only warn when max is exceeded
41
42
 
42
43
  ---
43
44
 
44
- ### `appendListener(event: string, handler: function): void`
45
+ ### โš™๏ธ Configuration
45
46
 
46
- Alias for `on()`.
47
+ #### `setThrowOnMaxListeners(shouldThrow: boolean): void`
47
48
 
48
- ---
49
+ Enable/disable throwing an error when max listeners is exceeded.
49
50
 
50
- ### `appendListenerOnce(event: string, handler: function): function`
51
-
52
- Alias for `once()`.
51
+ * โœ… `true`: throws error
52
+ * โš ๏ธ `false`: logs warning
53
53
 
54
54
  ---
55
55
 
56
- ### `prependListener(event: string, handler: function): void`
56
+ #### `getThrowOnMaxListeners(): boolean`
57
57
 
58
- Adds a listener to the **start** of the listener array (called before others).
58
+ Check if exceeding the listener limit will throw an error or just warn.
59
59
 
60
60
  ---
61
61
 
62
- ### `prependListenerOnce(event: string, handler: function): function`
63
-
64
- Adds a one-time listener to the **start** of the listener array.
62
+ #### `setMaxListeners(n: number): void`
65
63
 
66
- ---
64
+ Set the maximum number of listeners per event.
67
65
 
68
- ### `emit(event: string, ...payload: any[]): boolean`
66
+ * Must be a non-negative integer.
69
67
 
70
- Calls all listeners for an event, passing any number of arguments.
68
+ ---
71
69
 
72
- Returns `true` if any listeners were called, otherwise `false`.
70
+ #### `getMaxListeners(): number`
73
71
 
74
- ```js
75
- emitter.emit('greet', 'Yasmin', 21);
76
- ```
72
+ Get the maximum number of listeners allowed per event.
77
73
 
78
74
  ---
79
75
 
80
- ### `off(event: string, handler: function): void`
81
-
82
- Removes a specific listener from an event.
76
+ ### โž• Adding Listeners
83
77
 
84
- ---
78
+ #### `on(event: string|string[], handler: handler): void`
85
79
 
86
- ### `offAll(event: string): void`
80
+ Registers an event listener.
87
81
 
88
- Removes **all listeners** for a specific event.
82
+ #### `once(event: string|string[], handler: handler): handler[]`
89
83
 
90
- ---
84
+ Registers a one-time event listener that is removed after being triggered once.
91
85
 
92
- ### `offAllTypes(): void`
86
+ #### `appendListener(event: string|string[], handler: handler): void`
93
87
 
94
- Clears **all listeners** from **all events**.
88
+ Alias for `.on()`.
95
89
 
96
- ---
90
+ #### `appendListenerOnce(event: string|string[], handler: handler): handler[]`
97
91
 
98
- ### `listenerCount(event: string): number`
92
+ Alias for `.once()`.
99
93
 
100
- Returns how many listeners are currently registered for the event.
94
+ #### `prependListener(event: string|string[], handler: handler): void`
101
95
 
102
- ---
96
+ Registers a listener at the **beginning** of the listeners array.
103
97
 
104
- ### `listeners(event: string): function[]`
98
+ #### `prependListenerOnce(event: string|string[], handler: handler): handler[]`
105
99
 
106
- Returns an array of **non-once** listener functions for an event.
100
+ Registers a one-time listener at the **beginning** of the listeners array.
107
101
 
108
102
  ---
109
103
 
110
- ### `onceListeners(event: string): function[]`
104
+ ### โŒ Removing Listeners
111
105
 
112
- Returns an array of **once-only** listener functions for an event.
106
+ #### `off(event: string|string[], handler: handler): void`
113
107
 
114
- ---
108
+ Removes a specific listener from an event.
115
109
 
116
- ### `allListeners(event: string): function[]`
110
+ #### `offAll(event: string|string[]): void`
117
111
 
118
- Returns all listeners, including wrapped `once()` functions.
112
+ Removes all listeners for one or more events.
119
113
 
120
- ---
114
+ #### `offAllTypes(): void`
121
115
 
122
- ### `eventNames(): string[]`
123
-
124
- Returns an array of event names that currently have listeners.
116
+ Removes **all listeners** for **all events**.
125
117
 
126
118
  ---
127
119
 
128
- ### `setMaxListeners(n: number): void`
120
+ ### ๐Ÿ“ข Emitting Events
129
121
 
130
- Sets the maximum allowed listeners per event. Shows a warning if exceeded.
122
+ #### `emit(event: string|string[], ...payload: any[]): boolean[]`
131
123
 
132
- ---
124
+ Emits one or more events with optional payload.
133
125
 
134
- ### `getMaxListeners(): number`
126
+ * Returns an array of booleans:
135
127
 
136
- Returns the current max listener limit (default: 10).
128
+ * `true` if listeners were called
129
+ * `false` if no listeners were registered
137
130
 
138
131
  ---
139
132
 
140
- ### `setThrowOnMaxListeners(shouldThrow: boolean): void`
133
+ ### ๐Ÿ” Inspecting Listeners
141
134
 
142
- Enables or disables the behavior of throwing an error when the number of listeners exceeds the maximum limit.
135
+ #### `listenerCount(event: string): number`
143
136
 
144
- * If `true`, the class will **throw an error** instead of just logging a warning.
145
- * If `false`, it will default to console warning (default behavior).
137
+ Get the number of listeners for a given event.
146
138
 
147
- #### Parameters:
139
+ #### `listeners(event: string): handler[]`
148
140
 
149
- * `shouldThrow` *(boolean)* โ€“ Whether to throw an error when the listener limit is exceeded.
141
+ Get all listeners registered for an event (excluding `once`).
150
142
 
151
- ---
143
+ #### `onceListeners(event: string): handler[]`
144
+
145
+ Get only listeners registered with `.once()`.
152
146
 
153
- ### `getThrowOnMaxListeners(): boolean`
147
+ #### `allListeners(event: string): handler[]`
154
148
 
155
- Returns whether the emitter is currently set to throw an error when the maximum number of listeners is exceeded.
149
+ Get all listeners, including internal wrappers (e.g. from `.once()`).
156
150
 
157
- #### Returns:
151
+ #### `eventNames(): string[]`
158
152
 
159
- * *(boolean)* โ€“ `true` if error throwing is enabled, otherwise `false`.
153
+ Get a list of all registered event names.
160
154
 
161
155
  ---
162
156
 
163
- ## ๐Ÿงช Example
157
+ ## ๐Ÿ“ Example Usage
164
158
 
165
159
  ```js
166
160
  import TinyEvents from './TinyEvents.js';
167
161
 
168
- const emitter = new TinyEvents();
162
+ const events = new TinyEvents();
169
163
 
170
- function greet(name) {
171
- console.log(`๐Ÿ‘‹ Hello, ${name}`);
172
- }
164
+ // Add listener
165
+ events.on('data', (msg) => console.log('Received:', msg));
173
166
 
174
- emitter.on('greet', greet);
175
- emitter.emit('greet', 'Yasmin'); // "๐Ÿ‘‹ Hello, Yasmin"
176
- emitter.off('greet', greet);
177
- ```
167
+ // Add once listener
168
+ events.once(['ready', 'init'], () => console.log('Initialized!'));
178
169
 
179
- ---
170
+ // Emit events
171
+ events.emit('data', 'Hello World');
172
+ events.emit(['ready', 'init']);
180
173
 
181
- ## ๐Ÿ›ก๏ธ Type Definitions
174
+ // Check listeners
175
+ console.log(events.listenerCount('data')); // 1
182
176
 
183
- ```ts
184
- /**
185
- * A generic event listener callback function.
186
- * @callback handler
187
- * @param {...any} payload - Arguments passed when event is emitted.
188
- * @returns {void}
189
- */
177
+ // Remove all listeners
178
+ events.offAll('data');
190
179
  ```
191
180
 
192
181
  ---
193
182
 
194
- ## โœ… Why Use It?
183
+ ## โšก Notes
195
184
 
196
- * No dependencies
197
- * Fully typed (with JSDoc)
198
- * Inspired by Node.js EventEmitter
199
- * Works in browser or Node
185
+ * Supports both **single string events** (`"data"`) and **arrays of events** (`["ready", "init"]`) ๐Ÿš€
186
+ * Helps prevent memory leaks with `setMaxListeners` and warning/error system ๐Ÿ›‘
187
+ * Perfect for **frontend components**, **Node.js scripts**, and **custom event-driven modules** ๐Ÿงฉ
@@ -935,7 +935,7 @@ Extracts a single DOM element from the internal list at the specified index.
935
935
 
936
936
  ---
937
937
 
938
- ### `getAll()`
938
+ ### `get elements`
939
939
  Returns the current targets held by this instance.
940
940
 
941
941
  - **Returns**: `ConstructorElValues[]`
@@ -2081,11 +2081,13 @@ Safe and type-checked โ€” throws if misuse is detected.
2081
2081
 
2082
2082
  ---
2083
2083
 
2084
- ### ๐Ÿงฒ `.hasProp()` / `.addProp()` / `.removeProp()` / `.toggleProp()`
2084
+ ### ๐Ÿงฒ `.hasProp()` / `.addProp()` / `.removeProp()` / `.toggleProp()` / `.prop()` / `.setProp()`
2085
2085
 
2086
2086
  Properties
2087
2087
 
2088
2088
  ```js
2089
+ element.prop('scrollHeight'); // get scrollHeight value
2090
+ element.setProp('disabled', true); // set true
2089
2091
  element.hasProp("disabled"); // true/false
2090
2092
  element.addProp("checked"); // set true
2091
2093
  element.removeProp("checked"); // set false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-essentials",
3
- "version": "1.22.2",
3
+ "version": "1.22.4",
4
4
  "description": "Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.",
5
5
  "scripts": {
6
6
  "test": "npm run test:mjs && npm run test:cjs && npm run test:js",