tiny-essentials 1.22.4 → 1.22.6

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 (71) hide show
  1. package/changelog/1/1/0.md +1 -0
  2. package/changelog/1/10/0.md +19 -0
  3. package/changelog/1/10/2.md +23 -0
  4. package/changelog/1/11/0.md +66 -0
  5. package/changelog/1/12/0.md +54 -0
  6. package/changelog/1/12/1.md +37 -0
  7. package/changelog/1/12/2.md +29 -0
  8. package/changelog/1/13/0.md +41 -0
  9. package/changelog/1/13/1.md +7 -0
  10. package/changelog/1/13/2.md +13 -0
  11. package/changelog/1/14/0.md +33 -0
  12. package/changelog/1/15/0.md +39 -0
  13. package/changelog/1/16/0.md +42 -0
  14. package/changelog/1/16/1.md +43 -0
  15. package/changelog/1/16/2.md +29 -0
  16. package/changelog/1/17/0.md +28 -0
  17. package/changelog/1/17/1.md +40 -0
  18. package/changelog/1/18/0.md +43 -0
  19. package/changelog/1/18/1.md +12 -0
  20. package/changelog/1/19/1.md +21 -0
  21. package/changelog/1/19/2.md +23 -0
  22. package/changelog/1/19/3.md +15 -0
  23. package/changelog/1/2/0.md +5 -0
  24. package/changelog/1/2/1.md +5 -0
  25. package/changelog/1/20/0.md +9 -0
  26. package/changelog/1/20/1.md +40 -0
  27. package/changelog/1/20/2.md +22 -0
  28. package/changelog/1/20/3.md +39 -0
  29. package/changelog/1/21/0.md +23 -0
  30. package/changelog/1/21/1.md +12 -0
  31. package/changelog/1/21/10.md +23 -0
  32. package/changelog/1/21/2.md +9 -0
  33. package/changelog/1/21/3.md +9 -0
  34. package/changelog/1/21/4.md +9 -0
  35. package/changelog/1/21/6.md +23 -0
  36. package/changelog/1/21/7.md +16 -0
  37. package/changelog/1/21/8.md +5 -0
  38. package/changelog/1/21/9.md +17 -0
  39. package/changelog/1/22/1.md +28 -0
  40. package/changelog/1/22/2.md +17 -0
  41. package/changelog/1/22/3.md +11 -0
  42. package/changelog/1/22/4.md +35 -0
  43. package/changelog/1/22/5.md +23 -0
  44. package/changelog/1/22/6.md +25 -0
  45. package/changelog/1/3/1.md +4 -0
  46. package/changelog/1/3/2.md +2 -0
  47. package/changelog/1/4/0.md +5 -0
  48. package/changelog/1/5/0.md +4 -0
  49. package/changelog/1/5/1.md +2 -0
  50. package/changelog/1/6/0.md +6 -0
  51. package/changelog/1/7/0.md +3 -0
  52. package/changelog/1/7/1.md +3 -0
  53. package/changelog/1/8/0.md +3 -0
  54. package/changelog/1/8/1.md +2 -0
  55. package/changelog/1/8/2.md +2 -0
  56. package/changelog/1/8/3.md +3 -0
  57. package/changelog/1/8/4.md +2 -0
  58. package/changelog/1/8/5.md +6 -0
  59. package/changelog/1/9/0.md +27 -0
  60. package/changelog/1/9/1.md +5 -0
  61. package/changelog/1/9/2.md +14 -0
  62. package/dist/v1/TinyDragger.min.js +1 -1
  63. package/dist/v1/TinyEssentials.min.js +1 -1
  64. package/dist/v1/TinyHtml.min.js +1 -1
  65. package/dist/v1/TinySmartScroller.min.js +1 -1
  66. package/dist/v1/TinyUploadClicker.min.js +1 -1
  67. package/dist/v1/libs/TinyHtml.cjs +400 -20
  68. package/dist/v1/libs/TinyHtml.d.mts +220 -6
  69. package/dist/v1/libs/TinyHtml.mjs +384 -23
  70. package/docs/v1/libs/TinyHtml.md +36 -0
  71. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ ### 🌟 Added
2
+
3
+ * **Versioned LocalStorage support** in `TinyLocalStorage` 🎉
4
+ Now supports schema migration logic using a version number and `onUpgrade` callback, inspired by IndexedDB and SQL-style upgrades.
5
+
6
+ ### ⚙️ Changes
7
+
8
+ * Added `updateStorageVersion(version, onUpgrade)` method:
9
+
10
+ * Triggers upgrade callback when a new version is set.
11
+ * Throws on version downgrade to prevent accidental data loss.
12
+ * Internally tracks version using the same `LSDB::`-based key naming strategy.
13
+ * Adds protection against overwriting reserved `LSDB::` keys.
14
+
15
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.19.2...1.19.3
@@ -0,0 +1,5 @@
1
+ - htmlElement fixed (this is htmlelement now).
2
+ - TinyCrypto --> all values are lowercase now.
3
+ - TinyCertCrypto class added.
4
+
5
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.1.0...1.2.0
@@ -0,0 +1,5 @@
1
+ - I made fixes related to typescript (please, it's the first time I'm dealing with typescript in my life).
2
+ - I added the "File" type to objType.
3
+ - TinyCertCrypto is now fully managed by the node-forge.
4
+
5
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.2.0...1.2.1
@@ -0,0 +1,9 @@
1
+ ## **New Features Added**
2
+
3
+ ### ✨ Introducing **`TinyIframeEvents`**!
4
+ A lightweight utility to handle seamless event-based communication between iframes and the parent window using `postMessage`. Perfect for modular UI setups or embedding logic with clean routing.
5
+
6
+ ### 🪟 Introducing **`TinyNewWinEvents`**!
7
+ A powerful helper to manage `postMessage` communication between the main page and new windows opened via `window.open`.
8
+
9
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.19.3...1.20.0
@@ -0,0 +1,40 @@
1
+ ## 🎉 TinyHtml updates
2
+
3
+ A highly refined update for `TinyHtml`, focused on stronger consistency, smarter attribute/property control, and a safer, clearer API. 🚀
4
+
5
+ ### ✨ Highlights
6
+
7
+ - 🧠 **New attribute/property mapping system**
8
+ → `TinyHtml.propFix`, `TinyHtml.attrFix`, `getPropName()`, `getAttrName()`
9
+ → Ensures cleaner interaction with DOM properties like `className`, `htmlFor`, etc.
10
+
11
+ - 🧱 **Element list architecture**
12
+ → Internally stores all nodes as arrays
13
+ → Better control and scalability when managing multiple elements
14
+
15
+ - 🆕 **New instance methods**
16
+ → `extract(index)`, `exists(index)`, `get(index)`, `getAll()`
17
+ → More predictable access to elements — no more ambiguity!
18
+
19
+ - ⚠️ **Breaking change: `get()` now requires an `index`**
20
+ → Due to the new array-based internal model, calling `get()` without arguments will throw
21
+ → Use `get(0)` to access the first element explicitly
22
+
23
+ - 🧪 **Selector methods now return a single wrapped instance**
24
+ → `queryAll`, `querySelectorAll`, `getByClassName`, `getElementsByClassName`, `getByName`, `getByTagNameNS`, and `getElementsByTagNameNS` now return one `TinyHtml` with all matched elements
25
+ → To behave like before, use `.extract(index)` to unwrap one of them manually
26
+
27
+ - ✍️ **New `createFrom(json)` method**
28
+ → Create fully structured elements using JSON config syntax
29
+ → Ideal for dynamic UI rendering or declarative component creation
30
+
31
+ - 📝 **Improved input handling**
32
+ → `_getValByType()` now correctly supports `textarea` values
33
+
34
+ - ⚙️ **Better error handling and type safety**
35
+ → Clearer validation, safer APIs, and stronger dev confidence
36
+
37
+ - ✅ **Test suite upgraded**
38
+ → Adjusted to respect new API behavior, array-based elements, and refined logic
39
+
40
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.20.0...1.20.1
@@ -0,0 +1,22 @@
1
+ ### ✨ What's New in TinyHtml?
2
+
3
+ #### 🔄 Bi-directional HTML ↔️ JSON conversion
4
+
5
+ * **`htmlToJson(htmlString)`** – Parses raw HTML into structured JSON.
6
+ * **`jsonToNodes(json)`** – Converts structured JSON back into real DOM nodes.
7
+ * **`jsonToTinyElems(json)`** – Creates TinyHtml instances directly from JSON.
8
+
9
+ #### 🧠 Template processing
10
+
11
+ * **`templateToJson(templateId)`** – Convert a `<template>` tag into JSON.
12
+ * **`templateToNodes(templateId)`** – Get parsed DOM nodes from a `<template>`.
13
+ * **`templateToTinyElems(templateId)`** – Directly convert a template to TinyHtml.
14
+
15
+ ---
16
+
17
+ ### 📏 Utilities
18
+
19
+ * **`fetchText(url)`** – Simple and reliable text fetcher for non-HTML data.
20
+ * **`getPercentage(current, max)`** – Calculates percentage value with precision.
21
+
22
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.20.1...1.20.2
@@ -0,0 +1,39 @@
1
+ ### ✨ New: `TinyTextarea`
2
+
3
+ Say hello to **TinyTextarea** — a lightweight utility class that turns your boring `<textarea>` into a smooth, self-resizing input box.
4
+
5
+ **Key features:**
6
+
7
+ * 🪄 Auto-resizes as the user types, up to a maximum number of rows
8
+ * 🔒 Prevents scrollbars until absolutely necessary
9
+ * ➕ Supports extra height padding
10
+ * 📢 Emits `onResize` and `onInput` events in real-time
11
+ * 🧼 Includes full lifecycle management (refresh + destroy)
12
+ * 🔎 Exposes computed properties like line height, max rows, current size, and more
13
+
14
+ ---
15
+
16
+ ### 🛑 Deprecations: `TinySmartScroller` status methods
17
+
18
+ The following status-checking methods in `TinySmartScroller` are now **deprecated**:
19
+
20
+ Deprecated aliases:
21
+
22
+ * `isUserAtCustomBottom()` → use `isAtCustomBottom()`
23
+ * `isUserAtCustomTop()` → use `isAtCustomTop()`
24
+ * `isUserAtBottom()` → use `isAtBottom()`
25
+ * `isUserAtTop()` → use `isAtTop()`
26
+
27
+ We’re consolidating method names to reduce redundancy and promote a cleaner API.
28
+ The following internal flags will remain accessible via the non-deprecated equivalents:
29
+
30
+ * `isAtTop()`
31
+ * `isAtBottom()`
32
+ * `isAtCustomTop()`
33
+ * `isAtCustomBottom()`
34
+ * `isPastAtTop()`
35
+ * `isPastAtBottom()`
36
+ * `isPastAtCustomTop()`
37
+ * `isPastAtCustomBottom()`
38
+
39
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.20.2...1.20.3
@@ -0,0 +1,23 @@
1
+ ## ✨ New Classes
2
+
3
+ * **TinyCookieConsent** — A customizable cookie consent manager with multiple categories, localStorage support, and smooth animations.
4
+ * **TinyDayNightCycle** — Complete day-night cycle system managing seasons, moons, time, and weather.
5
+ * **TinyAdvancedRaffle** — Advanced, seedable raffle system with weighted items, pity systems, and conditional rules.
6
+ * **TinyInventoryTrader** — A specialized inventory system for trading and managing items between players.
7
+ * **TinyInventory** — Robust inventory system with stack handling, slot management, and item events.
8
+ * **TinyI18** — Internationalization helper to manage translations and locale strings efficiently.
9
+ * **TinyGamepad** — Gamepad input handler for seamless integration with keyboard and controller input.
10
+
11
+ ## 🛠 Bug Fixes & Improvements
12
+
13
+ * **TinyToastNotify** — Tiny fix in css var applied.
14
+ * **TinyLocalStorage** — Added support for `number` type to fix `Infinity` issues in JSON.
15
+
16
+ ## 🗑 Deprecated & Removed
17
+
18
+ * **TinyRateLimiter** — Removed `reset` method.
19
+ * **TinySmartScroller** — Removed methods: `_emit`, `isUserAtCustomBottom`, `isUserAtCustomTop`, `isUserAtBottom`, `isUserAtTop`.
20
+
21
+ ---
22
+
23
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.20.3...1.21.0
@@ -0,0 +1,12 @@
1
+ ## ✨ New Features
2
+
3
+ * **New Class:** `TinyNeedBar` — A versatile utility for simulating "need bars". Supports multiple decay factors, clamped and infinite values, serialization, cloning, and full runtime control.
4
+
5
+ ## 🛠️ Improvements
6
+
7
+ * **Clock Module (`clock.mjs`):** Added `breakdownDuration` option for more precise timing control.
8
+ * **Custom Timer:** Fixed the total value calculation in `formatCustomTimer`.
9
+
10
+ This release focuses on improving timing utilities and introducing the first version of the `TinyNeedBar` system, expanding Tiny Essentials' toolbox for simulation systems.
11
+
12
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.0...1.21.1
@@ -0,0 +1,23 @@
1
+ ### ✨ New Features & Improvements
2
+
3
+ * **TinyHtml.setAttr**
4
+ Now supports setting **multiple attributes at once**.
5
+
6
+ ```js
7
+ TinyHtml.setAttr(el, {
8
+ id: 'main',
9
+ class: 'box highlight',
10
+ title: 'Example'
11
+ });
12
+ ```
13
+
14
+ * **TinyHtml.addProp / removeProp / toggleProp**
15
+ These methods now accept **multiple property names** in a single call.
16
+
17
+ ```js
18
+ TinyHtml.addProp(el, 'hidden', 'draggable', 'spellcheck');
19
+ TinyHtml.removeProp(el, 'hidden', 'draggable');
20
+ TinyHtml.toggleProp(el, ['checked', 'disabled']);
21
+ ```
22
+
23
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.9...1.21.10
@@ -0,0 +1,9 @@
1
+ ### ✨ New Features
2
+
3
+ * **TinyNeedBar**: Added two new tick methods for advanced control:
4
+
5
+ * `tickWithTempFactor` — apply a temporary factor for a single tick without affecting the existing factors.
6
+ * `tickSingleFactor` — execute a tick using only the specified factor, ignoring all others.
7
+ * **TinySimpleDice**: A new class added for simple dice rolling mechanics.
8
+
9
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.1...1.21.2
@@ -0,0 +1,9 @@
1
+ ### ✨ What's New
2
+
3
+ * **Added `forEach` method in `TinyHtml`**
4
+ Provides an easier way to iterate over elements, giving access to the `TinyHtml` instance, its index, and the full list.
5
+
6
+ * **Improved `_data` internal storage**
7
+ The private data store now enforces validation when assigning new values, ensuring safer and more consistent usage.
8
+
9
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.2...1.21.3
@@ -0,0 +1,9 @@
1
+ ### ✨ What's New
2
+
3
+ * **Event handling improvements in `TinyHtml`**
4
+ The event trigger methods (`on`, `off`, `once`, and more.) now accept arrays of event names. This allows attaching a single callback to multiple events at once, making event management much more flexible.
5
+
6
+ * **New `select()` method in `TinyHtml`**
7
+ Added support for programmatically selecting all text inside `<input>` and `<textarea>` elements via `TinyHtml.select(el)` or `el.select()`.
8
+
9
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.3...1.21.4
@@ -0,0 +1,23 @@
1
+ ## ✨ New Features in TinyHtml
2
+
3
+ * **BigInt Support**
4
+
5
+ * `.toBigInt()` / `TinyHtml.toBigInt(el)` – Retrieve BigInt values from elements.
6
+ * `.setBigInt(value)` / `TinyHtml.setBigInt(el, value)` – Set BigInt content safely, with error handling for invalid inputs.
7
+
8
+ * **Date Support**
9
+
10
+ * `.toDate()` / `TinyHtml.toDate(el)` – Retrieve Date objects from element content.
11
+ * `.setDate(value)` / `TinyHtml.setDate(el, value)` – Set Date content in ISO format, with validation.
12
+
13
+ * **JSON Support**
14
+
15
+ * `.toJson()` / `TinyHtml.toJson(el)` – Parse JSON content from elements safely (returns `null` if invalid).
16
+ * `.setJson(value, space)` / `TinyHtml.setJson(el, value, space)` – Set JSON content with optional formatting (`space` parameter for pretty-printing).
17
+
18
+ * **Number Enhancements**
19
+
20
+ * `.toNumber()` / `TinyHtml.toNumber(el)` – Improved parsing of numeric content.
21
+ * `.setNumber(value)` / `TinyHtml.setNumber(el, value)` – Ensures robust number assignment with proper error checking.
22
+
23
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.4...1.21.6
@@ -0,0 +1,16 @@
1
+ ## 🚀 New Features to TinyHtml
2
+
3
+ * **`toBoolean`**: Safely retrieves the boolean content of an element. Returns `true`, `false`, or `null` if empty.
4
+ * **`setBoolean`**: Sets a boolean value (`true` or `false`) into an element, ensuring consistent representation.
5
+
6
+ ## ⚠️ Important Notice
7
+
8
+ > **ATTENTION:**
9
+ > The methods **`toString`** and **`setString`** now take over the **previous behavior** of `text` and `setText`.
10
+ >
11
+ > * `toString` / `setString` → work strictly with **string values**.
12
+ > * `text` / `setText` → now accept **any type of value**, not only strings.
13
+
14
+ This change ensures clearer semantics and greater flexibility when handling mixed-type data.
15
+
16
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.6...1.21.7
@@ -0,0 +1,5 @@
1
+ ### Fixed TinyHtml
2
+
3
+ * Corrected a glitch where `setText` would not insert an empty value when given `null` or `undefined`.
4
+
5
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.7...1.21.8
@@ -0,0 +1,17 @@
1
+ ## ✨ UltraRandomMsgGen
2
+
3
+ * **Improved getters & setters**:
4
+ The default word/emoji/noun/verb/adjective/template collections now provide **cloned arrays** through getters, ensuring immutability and safer usage in applications.
5
+ * **Safer setters with validation**:
6
+ When updating these collections, the new setters enforce strict validation rules. They guarantee that only valid arrays of strings can be assigned, preventing empty or invalid states.
7
+ * These changes provide **better reliability and consistency** when customizing random message generation.
8
+
9
+ ## 📜 TinyHtml
10
+
11
+ * **Enhanced jsDoc chain detection**:
12
+ The chain detection system has been updated with a **new jsDoc structure**. This makes it easier to document, understand, and maintain chained methods within the TinyHtml environment.
13
+ * Developers now benefit from **clearer typing and improved integration** with editors and tooling that rely on jsDoc.
14
+
15
+ ---
16
+
17
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.8...1.21.9
@@ -0,0 +1,28 @@
1
+ ## 🚀 New Features
2
+
3
+ * **`addAiMarkerShortcut`** updated to accept a **custom class name**.
4
+ * **`diffArrayList`** added – convenient function for comparing array differences.
5
+ * **`diffStrings`** added – lightweight string comparison utility.
6
+ * **`hover`** added into **`TinyHtml`** – easier handling of hover events.
7
+ * **`parseStyle`** added into **`TinyHtml`** – parse CSS styles programmatically.
8
+ * **Animate enhancements** in **`TinyHtml`** – new features to work with animations more flexibly.
9
+
10
+ ---
11
+
12
+ ## ✨ New Classes
13
+
14
+ * **`TinyElementObserver`** – new class for observing element changes efficiently.
15
+
16
+ ---
17
+
18
+ ## ⚙️ Improvements & Changes
19
+
20
+ * **License changed** from previous version to **LGPL-3.0**, ensuring better open-source compatibility.
21
+
22
+ ---
23
+
24
+ ## 🔧 Notes
25
+
26
+ * Recommended to check `TinyHtml` animation helpers if upgrading from older versions for enhanced capabilities.
27
+
28
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.21.10...1.22.1
@@ -0,0 +1,17 @@
1
+ ### ✨ New Features
2
+
3
+ * **TinyHtml → `fadeTo`**
4
+ A new animation utility has been added to smoothly transition an element’s opacity to a specific value.
5
+
6
+ * Supports both static and instance usage.
7
+ * Accepts numeric durations, named speeds (`"fast"`, `"slow"`, etc.), or full `KeyframeAnimationOptions`.
8
+ * Automatically makes hidden elements visible before animating.
9
+
10
+ **Example:**
11
+
12
+ ```js
13
+ TinyHtml.fadeTo(el, 0.5, 400); // Fade element to 50% opacity in 400ms
14
+ element.fadeTo(1, "slow"); // Instance method: fade to full opacity with predefined speed
15
+ ```
16
+
17
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.22.1...1.22.2
@@ -0,0 +1,11 @@
1
+ ### TinyHtml → `prop()` added
2
+
3
+ The new `prop()` method has been introduced to get DOM element properties.
4
+
5
+ #### Example
6
+
7
+ ```js
8
+ const isDisabled = TinyHtml.prop(button, "disabled");
9
+ ```
10
+
11
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.22.2...1.22.3
@@ -0,0 +1,35 @@
1
+ ## 📦 Changes
2
+
3
+ ### 🔹 TinyHtml
4
+
5
+ * **`setAttr`** now accepts **numbers** as values in addition to strings.
6
+ * **`setProp`** method added for setting element properties directly.
7
+ * New **`elements` getter** introduced for retrieving all elements.
8
+
9
+ * ⚠️ **Deprecated:** `getAll()` is now deprecated in favor of `elements`.
10
+
11
+ ---
12
+
13
+ ### 🔹 TinyEvents
14
+
15
+ * Added support for **multi-event strings**.
16
+
17
+ * All event-related methods (`on`, `once`, `off`, `offAll`, `prependListener`, etc.) now accept both:
18
+
19
+ * a single event name (`"click"`)
20
+ * an array of event names (`["click", "hover"]`)
21
+
22
+ ---
23
+
24
+ ## ⚠️ Deprecations
25
+
26
+ * `TinyHtml.getAll()` → Use the new `elements` getter instead.
27
+
28
+ ---
29
+
30
+ ## ✅ Upgrade Notes
31
+
32
+ * Existing code using `getAll()` will still work, but you should migrate to `elements` to avoid future issues.
33
+ * Event handling just got easier: you can now pass multiple event names in a single call.
34
+
35
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.22.3...1.22.4
@@ -0,0 +1,23 @@
1
+ ### ✨ New Features
2
+
3
+ * Added a complete collection of **typed attribute helpers**:
4
+
5
+ * `setAttrBigInt` / `attrBigInt`
6
+ * `setAttrDate` / `attrDate`
7
+ * `setAttrJson` / `attrJson`
8
+ * `setAttrNumber` / `attrNumber`
9
+ * `setAttrBoolean` / `attrBoolean`
10
+ * `setAttrString` / `attrString`
11
+
12
+ These methods give you **type-safe control** over attributes, making your code cleaner and easier to maintain.
13
+
14
+ ### 🔄 Changes
15
+
16
+ * The original `setAttr` method has been **relaxed**: it now accepts **any value** (not only strings or numbers).
17
+ * If you still want the old strict behavior (string-only values), you should now use **`setAttrString`** explicitly.
18
+
19
+ ### 🛠️ Why this change?
20
+
21
+ This update makes `setAttr` more flexible while still giving developers who prefer strict type checks an explicit option (`setAttrString`). You can now store and retrieve attributes in multiple formats — numbers, booleans, dates, JSON objects, and even BigInts — without boilerplate conversions.
22
+
23
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.22.4...1.22.5
@@ -0,0 +1,25 @@
1
+ ### 🔧 Added
2
+
3
+ * Introduced a **new element debugging system** in `TinyHtml`.
4
+
5
+ * Developers can now enable `TinyHtml.elemDebug = true` to receive **detailed console diagnostics** whenever element validation fails.
6
+ * Debug output includes:
7
+
8
+ * A clear error header for context
9
+ * A **stack trace** to identify the call site
10
+ * A structured **console.table** showing all elements involved (index, type, constructor, and summary)
11
+ * A focused view of the **problematic element** using `console.dir`
12
+
13
+ ### 🎯 Why it matters
14
+
15
+ This new debugging layer makes it much easier to identify invalid or unexpected elements during DOM construction, event wiring, and custom element handling.
16
+
17
+ ### ✅ Impact
18
+
19
+ * No breaking changes.
20
+ * Debugging is **disabled by default**.
21
+ * To use, simply enable:
22
+
23
+ ```js
24
+ TinyHtml.elemDebug = true;
25
+ ```
@@ -0,0 +1,4 @@
1
+ - TinyCrypto files migrated to https://github.com/JasminDreasond/Tiny-Crypto-Suite
2
+ - Typescript files updated.
3
+
4
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.2.1...1.3.1
@@ -0,0 +1,2 @@
1
+ - jsDoc values fixed.
2
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.3.1...1.3.2
@@ -0,0 +1,5 @@
1
+ - checkObj function added.
2
+ - typeValidator jsDocs updated to returns the value type.
3
+ - countObj jsDoc fixed.
4
+
5
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.3.2...1.4.0
@@ -0,0 +1,4 @@
1
+ - TinyPromiseQueue added.
2
+ - Docs updated (TinyLevelUp, checkObj, asyncReplace)
3
+
4
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.4.0...1.5.0
@@ -0,0 +1,2 @@
1
+ - TinyPromiseQueue --> jsDoc fixed.
2
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.5.0...1.5.1
@@ -0,0 +1,6 @@
1
+ # TinyPromiseQueue
2
+
3
+ - `enqueuePoint` added.
4
+ - `cancelTask` fixed! this returns error in the id now.
5
+
6
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.5.1...1.6.0
@@ -0,0 +1,3 @@
1
+ - `addAiMarkerShortcut` javascript and css added (migrated from Pony Driland website script).
2
+
3
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.6.0...1.7.0
@@ -0,0 +1,3 @@
1
+ - AiMarker --> tiny fix in the css.
2
+
3
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.7.0...1.7.1
@@ -0,0 +1,3 @@
1
+ - Color Safe Stringify added.
2
+
3
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.7.1...1.8.0
@@ -0,0 +1,2 @@
1
+ - object validator fixed.
2
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.0...1.8.1
@@ -0,0 +1,2 @@
1
+ - formatBytes added.
2
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.1...1.8.2
@@ -0,0 +1,3 @@
1
+ - jsDocs fixed in the basics/array and basics/simpleMath
2
+
3
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.2...1.8.3
@@ -0,0 +1,2 @@
1
+ - formatBytes added into index.
2
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.3...1.8.4
@@ -0,0 +1,6 @@
1
+ # Legacy codes update
2
+
3
+ Almost all legacy codes had the jsDocs fixed. I just didn’t fix those from firebase because I think it will have version compatibility issues.
4
+ During this work I found that the `arraySortPositions` can be added to V1 of the official module, so now it is available in the `basics` category.
5
+
6
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.4...1.8.5
@@ -0,0 +1,27 @@
1
+ ### 🛠️ `extendObjType` Function – Release Update
2
+
3
+ **Version:** `1.9.2`
4
+ **Date:** 2025-05-23
5
+
6
+ #### ✨ Enhancements
7
+
8
+ * **Flexible Input Support:**
9
+ The `extendObjType` function now supports multiple input formats for adding new type validators, greatly improving developer ergonomics:
10
+
11
+ * Traditional object syntax: `{ key: fn }`
12
+ * Array of key/function pairs: `[ ['key', fn], ... ]`
13
+
14
+ #### 📚 Example Usage
15
+
16
+ ```js
17
+ extendObjType({
18
+ htmlElement2: val => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement
19
+ });
20
+
21
+ extendObjType([
22
+ [ 'alpha', val => typeof val === 'string' ],
23
+ [ 'beta', val => Array.isArray(val) ]
24
+ ]);
25
+ ```
26
+
27
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.9.1...1.9.2
@@ -0,0 +1,5 @@
1
+ - Updated **TinyLevelUp** with stronger validation.
2
+ - Added `getMissingExp` method for precise XP tracking.
3
+ - Improved validators in **TinyPromiseQueue** for more reliable async handling.
4
+
5
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.9.0...1.9.1
@@ -0,0 +1,14 @@
1
+ ### 🎉 TinyRateLimiter Released!
2
+
3
+ Introducing **TinyRateLimiter** – a lightweight and flexible rate limiting class for per-user interaction control. This module allows you to define limits based on max hits, time intervals, or both, and supports optional automatic cleanup of inactive users to save memory.
4
+
5
+ ✨ **Key Features:**
6
+
7
+ * Customizable hit and time-based limits
8
+ * Per-user tracking with timestamp precision
9
+ * Optional automatic cleanup of inactive users
10
+ * Simple API with easy integration
11
+
12
+ Ideal for usage in chat apps, game servers, APIs, or any real-time system where you want to prevent spam or abuse with minimal overhead.
13
+
14
+ **Full Changelog**: https://github.com/JasminDreasond/Tiny-Essentials/compare/1.8.5...1.9.0