tiny-essentials 1.28.19 → 1.29.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 (555) hide show
  1. package/README.md +1 -1
  2. package/changelog/1/28/19.md +24 -0
  3. package/changelog/1/29/0.md +58 -0
  4. package/dist/v1/ColorSafeStringify.min.js +1 -1
  5. package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
  6. package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
  7. package/dist/v1/TinyAnalogClock.min.js +1 -1
  8. package/dist/v1/TinyArrayComparator.min.js +1 -1
  9. package/dist/v1/TinyArrayPaginator.min.js +1 -1
  10. package/dist/v1/TinyBasicsEs.min.js +1 -1
  11. package/dist/v1/TinyBrowserMonitor.min.js +1 -0
  12. package/dist/v1/TinyClassManager.min.js +1 -1
  13. package/dist/v1/TinyClipboard.min.js +1 -1
  14. package/dist/v1/TinyCloner.min.js +1 -0
  15. package/dist/v1/TinyColorConverter.min.js +1 -1
  16. package/dist/v1/TinyColorValidator.min.js +1 -1
  17. package/dist/v1/TinyCookieConsent.min.js +1 -1
  18. package/dist/v1/TinyDayNightCycle.min.js +1 -1
  19. package/dist/v1/TinyDebugger.min.js +1 -1
  20. package/dist/v1/TinyDomReadyManager.min.js +1 -1
  21. package/dist/v1/TinyDragDropDetector.min.js +1 -1
  22. package/dist/v1/TinyDragger.min.js +1 -1
  23. package/dist/v1/TinyElementObserver.min.js +1 -1
  24. package/dist/v1/TinyEssentials.min.js +1 -1
  25. package/dist/v1/TinyGamepad.min.js +1 -1
  26. package/dist/v1/TinyHtml.min.js +1 -1
  27. package/dist/v1/TinyHtmlTagRegexBuilder.min.js +1 -0
  28. package/dist/v1/TinyHttpResponseRegistry.min.js +1 -0
  29. package/dist/v1/TinyI18.min.js +1 -1
  30. package/dist/v1/TinyIframeEvents.min.js +1 -1
  31. package/dist/v1/TinyInventory.min.js +1 -1
  32. package/dist/v1/TinyInventoryTrader.min.js +1 -1
  33. package/dist/v1/TinyLevelUp.min.js +1 -1
  34. package/dist/v1/TinyLoadingScreen.min.js +1 -1
  35. package/dist/v1/TinyLocalStorage.min.js +1 -1
  36. package/dist/v1/TinyMaInSys.min.js +1 -1
  37. package/dist/v1/TinyMapCache.min.js +1 -0
  38. package/dist/v1/TinyMediaPlayer.min.js +1 -1
  39. package/dist/v1/TinyNeedBar.min.js +1 -1
  40. package/dist/v1/TinyNewWinEvents.min.js +1 -1
  41. package/dist/v1/TinyNotificationAdapter.min.js +1 -0
  42. package/dist/v1/TinyNotifications.min.js +1 -1
  43. package/dist/v1/TinyNotifyCenter.min.js +1 -1
  44. package/dist/v1/TinyOPFSFileSystem.min.js +1 -0
  45. package/dist/v1/TinyPasswordValidator.min.js +1 -0
  46. package/dist/v1/TinyPluginPackage.min.js +1 -0
  47. package/dist/v1/TinyPromiseQueue.min.js +1 -1
  48. package/dist/v1/TinyPushManager.min.js +1 -0
  49. package/dist/v1/TinyPushPayload.min.js +1 -0
  50. package/dist/v1/TinyPushRouter.min.js +1 -0
  51. package/dist/v1/TinyRadioFm.min.js +1 -1
  52. package/dist/v1/TinyRateLimiter.min.js +1 -1
  53. package/dist/v1/TinyRegexEs.min.js +1 -0
  54. package/dist/v1/TinyRouter.min.js +1 -0
  55. package/dist/v1/TinyServiceWorker.min.js +1 -0
  56. package/dist/v1/TinyServiceWorkerEngine.min.js +1 -0
  57. package/dist/v1/TinySetMapPackage.min.js +1 -0
  58. package/dist/v1/TinySimpleDice.min.js +1 -1
  59. package/dist/v1/TinySmartScroller.min.js +1 -1
  60. package/dist/v1/TinyStorageBucketFileSystem.min.js +1 -0
  61. package/dist/v1/TinyTextDiffer.min.js +1 -1
  62. package/dist/v1/TinyTextRangeEditor.min.js +1 -1
  63. package/dist/v1/TinyTextarea.min.js +1 -1
  64. package/dist/v1/TinyThrottledApi.min.js +1 -0
  65. package/dist/v1/TinyTimeout.min.js +1 -1
  66. package/dist/v1/TinyToastNotify.min.js +1 -1
  67. package/dist/v1/TinyUploadClicker.min.js +1 -1
  68. package/dist/v1/TinyUriParser.min.js +1 -0
  69. package/dist/v1/TinyVersion.min.js +1 -0
  70. package/dist/v1/TinyWebWorker.min.js +1 -0
  71. package/dist/v1/TinyWebWorkerEngine.min.js +1 -0
  72. package/dist/v1/UltraRandomMsgGen.min.js +1 -1
  73. package/dist/v1/basics/array.cjs +2 -2
  74. package/dist/v1/basics/array.d.mts +2 -0
  75. package/dist/v1/basics/array.d.mts.map +1 -1
  76. package/dist/v1/basics/array.mjs +2 -1
  77. package/dist/v1/basics/browserDetector.cjs +37 -12
  78. package/dist/v1/basics/browserDetector.d.mts +8 -0
  79. package/dist/v1/basics/browserDetector.d.mts.map +1 -1
  80. package/dist/v1/basics/browserDetector.mjs +32 -13
  81. package/dist/v1/basics/crypto.cjs +23 -0
  82. package/dist/v1/basics/crypto.d.mts +10 -0
  83. package/dist/v1/basics/crypto.d.mts.map +1 -0
  84. package/dist/v1/basics/crypto.mjs +18 -0
  85. package/dist/v1/basics/html.cjs +0 -3
  86. package/dist/v1/basics/html.d.mts.map +1 -1
  87. package/dist/v1/basics/html.mjs +0 -2
  88. package/dist/v1/basics/index.cjs +8 -1
  89. package/dist/v1/basics/index.d.mts +6 -5
  90. package/dist/v1/basics/index.d.mts.map +1 -1
  91. package/dist/v1/basics/index.mjs +6 -5
  92. package/dist/v1/basics/objChecker.cjs +88 -0
  93. package/dist/v1/basics/objChecker.d.mts +26 -0
  94. package/dist/v1/basics/objChecker.d.mts.map +1 -1
  95. package/dist/v1/basics/objChecker.mjs +74 -0
  96. package/dist/v1/basics/objFilter.cjs +234 -93
  97. package/dist/v1/basics/objFilter.d.mts +96 -22
  98. package/dist/v1/basics/objFilter.d.mts.map +1 -1
  99. package/dist/v1/basics/objFilter.mjs +216 -92
  100. package/dist/v1/basics/promiseUtils.cjs +48 -12
  101. package/dist/v1/basics/promiseUtils.d.mts +45 -12
  102. package/dist/v1/basics/promiseUtils.d.mts.map +1 -1
  103. package/dist/v1/basics/promiseUtils.mjs +47 -12
  104. package/dist/v1/basics/text.cjs +0 -12
  105. package/dist/v1/basics/text.d.mts +0 -10
  106. package/dist/v1/basics/text.d.mts.map +1 -1
  107. package/dist/v1/basics/text.mjs +0 -10
  108. package/dist/v1/index.cjs +88 -3
  109. package/dist/v1/index.d.mts +31 -6
  110. package/dist/v1/index.d.mts.map +1 -1
  111. package/dist/v1/index.mjs +32 -7
  112. package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
  113. package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
  114. package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
  115. package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
  116. package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
  117. package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
  118. package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
  119. package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
  120. package/dist/v1/libs/fs/constants.cjs +74 -0
  121. package/dist/v1/libs/fs/constants.d.mts +22 -0
  122. package/dist/v1/libs/fs/constants.d.mts.map +1 -0
  123. package/dist/v1/libs/fs/constants.mjs +53 -0
  124. package/dist/v1/libs/fs/encoding.cjs +118 -0
  125. package/dist/v1/libs/fs/encoding.d.mts +50 -0
  126. package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
  127. package/dist/v1/libs/fs/encoding.mjs +102 -0
  128. package/dist/v1/libs/fs/error.cjs +188 -0
  129. package/dist/v1/libs/fs/error.d.mts +105 -0
  130. package/dist/v1/libs/fs/error.d.mts.map +1 -0
  131. package/dist/v1/libs/fs/error.mjs +158 -0
  132. package/dist/v1/libs/fs/handle.cjs +121 -0
  133. package/dist/v1/libs/fs/handle.d.mts +56 -0
  134. package/dist/v1/libs/fs/handle.d.mts.map +1 -0
  135. package/dist/v1/libs/fs/handle.mjs +100 -0
  136. package/dist/v1/libs/fs/index.cjs +700 -0
  137. package/dist/v1/libs/fs/index.d.mts +377 -0
  138. package/dist/v1/libs/fs/index.d.mts.map +1 -0
  139. package/dist/v1/libs/fs/index.mjs +630 -0
  140. package/dist/v1/libs/fs/path.cjs +234 -0
  141. package/dist/v1/libs/fs/path.d.mts +176 -0
  142. package/dist/v1/libs/fs/path.d.mts.map +1 -0
  143. package/dist/v1/libs/fs/path.mjs +197 -0
  144. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
  145. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
  146. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
  147. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
  148. package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
  149. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
  150. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
  151. package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
  152. package/dist/v1/libs/fs/stats.cjs +245 -0
  153. package/dist/v1/libs/fs/stats.d.mts +226 -0
  154. package/dist/v1/libs/fs/stats.d.mts.map +1 -0
  155. package/dist/v1/libs/fs/stats.mjs +197 -0
  156. package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
  157. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
  158. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
  159. package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
  160. package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
  161. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
  162. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
  163. package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
  164. package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
  165. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
  166. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
  167. package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
  168. package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
  169. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
  170. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
  171. package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
  172. package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
  173. package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
  174. package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
  175. package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
  176. package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
  177. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
  178. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
  179. package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
  180. package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
  181. package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
  182. package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
  183. package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
  184. package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
  185. package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
  186. package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
  187. package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
  188. package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
  189. package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
  190. package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
  191. package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
  192. package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
  193. package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
  194. package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
  195. package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
  196. package/dist/v1/libs/router/TinyRouter.cjs +661 -0
  197. package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
  198. package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
  199. package/dist/v1/libs/router/TinyRouter.mjs +572 -0
  200. package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
  201. package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
  202. package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
  203. package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
  204. package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
  205. package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
  206. package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
  207. package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
  208. package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
  209. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
  210. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
  211. package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
  212. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
  213. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
  214. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
  215. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
  216. package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
  217. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
  218. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
  219. package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
  220. package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
  221. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
  222. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
  223. package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
  224. package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
  225. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
  226. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
  227. package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
  228. package/dist/v1/libs/sw/browser/utils.cjs +28 -0
  229. package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
  230. package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
  231. package/dist/v1/libs/sw/browser/utils.mjs +21 -0
  232. package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
  233. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
  234. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
  235. package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
  236. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
  237. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
  238. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
  239. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
  240. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
  241. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
  242. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
  243. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
  244. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
  245. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
  246. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
  247. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
  248. package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
  249. package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
  250. package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
  251. package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
  252. package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
  253. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
  254. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
  255. package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
  256. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
  257. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
  258. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
  259. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
  260. package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
  261. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
  262. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
  263. package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
  264. package/dist/v1/libs/sw/utils.cjs +57 -0
  265. package/dist/v1/libs/sw/utils.d.mts +173 -0
  266. package/dist/v1/libs/sw/utils.d.mts.map +1 -0
  267. package/dist/v1/libs/sw/utils.mjs +50 -0
  268. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
  269. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
  270. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
  271. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
  272. package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
  273. package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
  274. package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
  275. package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
  276. package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
  277. package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
  278. package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
  279. package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
  280. package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
  281. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
  282. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
  283. package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
  284. package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
  285. package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
  286. package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
  287. package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
  288. package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
  289. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
  290. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
  291. package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
  292. package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
  293. package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
  294. package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
  295. package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
  296. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
  297. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
  298. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
  299. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
  300. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
  301. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
  302. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
  303. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
  304. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
  305. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
  306. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
  307. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
  308. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
  309. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
  310. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
  311. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
  312. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
  313. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
  314. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
  315. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
  316. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
  317. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
  318. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
  319. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
  320. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
  321. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
  322. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
  323. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
  324. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
  325. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
  326. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
  327. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
  328. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
  329. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
  330. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
  331. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
  332. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
  333. package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
  334. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
  335. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
  336. package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
  337. package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
  338. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
  339. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
  340. package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
  341. package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
  342. package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
  343. package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
  344. package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
  345. package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
  346. package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
  347. package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
  348. package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
  349. package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
  350. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
  351. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
  352. package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
  353. package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
  354. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
  355. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
  356. package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
  357. package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
  358. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
  359. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
  360. package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
  361. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
  362. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
  363. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
  364. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
  365. package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
  366. package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
  367. package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
  368. package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
  369. package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
  370. package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
  371. package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
  372. package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
  373. package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
  374. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
  375. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
  376. package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
  377. package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
  378. package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
  379. package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
  380. package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
  381. package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
  382. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
  383. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
  384. package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
  385. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
  386. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
  387. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
  388. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
  389. package/dist/v1/regexp/Email.cjs +185 -0
  390. package/dist/v1/regexp/Email.d.mts +73 -0
  391. package/dist/v1/regexp/Email.d.mts.map +1 -0
  392. package/dist/v1/regexp/Email.mjs +153 -0
  393. package/dist/v1/regexp/Glob.cjs +293 -0
  394. package/dist/v1/regexp/Glob.d.mts +45 -0
  395. package/dist/v1/regexp/Glob.d.mts.map +1 -0
  396. package/dist/v1/regexp/Glob.mjs +260 -0
  397. package/dist/v1/regexp/Ipv4.cjs +57 -0
  398. package/dist/v1/regexp/Ipv4.d.mts +29 -0
  399. package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
  400. package/dist/v1/regexp/Ipv4.mjs +45 -0
  401. package/dist/v1/regexp/Ipv6.cjs +67 -0
  402. package/dist/v1/regexp/Ipv6.d.mts +29 -0
  403. package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
  404. package/dist/v1/regexp/Ipv6.mjs +54 -0
  405. package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
  406. package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
  407. package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
  408. package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
  409. package/dist/v1/regexp/UrlDetector.cjs +125 -0
  410. package/dist/v1/regexp/UrlDetector.d.mts +67 -0
  411. package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
  412. package/dist/v1/regexp/UrlDetector.mjs +102 -0
  413. package/dist/v1/regexp/Username/index.cjs +233 -0
  414. package/dist/v1/regexp/Username/index.d.mts +77 -0
  415. package/dist/v1/regexp/Username/index.d.mts.map +1 -0
  416. package/dist/v1/regexp/Username/index.mjs +199 -0
  417. package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
  418. package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
  419. package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
  420. package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
  421. package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
  422. package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
  423. package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
  424. package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
  425. package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
  426. package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
  427. package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
  428. package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
  429. package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
  430. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
  431. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
  432. package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
  433. package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
  434. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
  435. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
  436. package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
  437. package/dist/v1/regexp/Username/templates/index.cjs +11 -0
  438. package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
  439. package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
  440. package/dist/v1/regexp/Username/templates/index.mjs +4 -0
  441. package/dist/v1/regexp/index.cjs +41 -0
  442. package/dist/v1/regexp/index.d.mts +9 -0
  443. package/dist/v1/regexp/index.d.mts.map +1 -0
  444. package/dist/v1/regexp/index.mjs +8 -0
  445. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
  446. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
  447. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
  448. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
  449. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
  450. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
  451. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
  452. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
  453. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
  454. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
  455. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
  456. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
  457. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
  458. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
  459. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
  460. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
  461. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +30 -4
  462. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +5 -2
  463. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -1
  464. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +29 -5
  465. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
  466. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
  467. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
  468. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
  469. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
  470. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
  471. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
  472. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
  473. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
  474. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
  475. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
  476. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
  477. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
  478. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
  479. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
  480. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
  481. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
  482. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
  483. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
  484. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
  485. package/docs/info/RegExp.md +74 -0
  486. package/docs/v1/Exports.md +101 -0
  487. package/docs/v1/README.md +113 -15
  488. package/docs/v1/basics/asyncReplace.md +2 -0
  489. package/docs/v1/basics/browserDetector.md +28 -11
  490. package/docs/v1/basics/crypto.md +85 -0
  491. package/docs/v1/basics/deprecated/html.md +2 -0
  492. package/docs/v1/basics/deprecated/objFilter.md +2 -0
  493. package/docs/v1/basics/html.md +2 -0
  494. package/docs/v1/basics/objChecker.md +55 -0
  495. package/docs/v1/basics/objFilter.md +57 -86
  496. package/docs/v1/basics/promiseUtils.md +12 -3
  497. package/docs/v1/basics/text.md +0 -1
  498. package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
  499. package/docs/v1/libs/fs/TinyFS.md +752 -0
  500. package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
  501. package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
  502. package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
  503. package/docs/v1/libs/plugin/TinyVersion.md +145 -0
  504. package/docs/v1/libs/router/TinyRouter.md +216 -0
  505. package/docs/v1/libs/storage/TinyMapCache.md +219 -0
  506. package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
  507. package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
  508. package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
  509. package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
  510. package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
  511. package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
  512. package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
  513. package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
  514. package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
  515. package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
  516. package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
  517. package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
  518. package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
  519. package/docs/v1/libs/text/TinyI18.md +80 -56
  520. package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
  521. package/docs/v1/libs/tools/TinyDebugger.md +117 -1
  522. package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
  523. package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
  524. package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
  525. package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
  526. package/docs/v1/libs/tools/TinySiteMap.md +134 -0
  527. package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
  528. package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
  529. package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
  530. package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
  531. package/docs/v1/libs/tools/TinyUriParser.md +128 -0
  532. package/docs/v1/libs/utils/TinyCloner.md +126 -0
  533. package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
  534. package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
  535. package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
  536. package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
  537. package/docs/v1/regexp/Email.md +127 -0
  538. package/docs/v1/regexp/Glob.md +155 -0
  539. package/docs/v1/regexp/IPv4.md +103 -0
  540. package/docs/v1/regexp/IPv6.md +122 -0
  541. package/docs/v1/regexp/SegmentExtractor.md +120 -0
  542. package/docs/v1/regexp/UrlDetector.md +117 -0
  543. package/docs/v1/regexp/Username/Base.md +131 -0
  544. package/docs/v1/regexp/Username/Discord.md +267 -0
  545. package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
  546. package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +569 -0
  547. package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +19 -7
  548. package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
  549. package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
  550. package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
  551. package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
  552. package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
  553. package/package.json +303 -13
  554. package/types/EventEmitter.d.ts +48 -0
  555. package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
@@ -46,6 +46,7 @@ import "tiny-essentials/css/TinyNotify.min.css";
46
46
 
47
47
  Direct access to smaller utilities:
48
48
 
49
+ * `basics/crypto`
49
50
  * `basics/mediaContent`
50
51
  * `basics/array`
51
52
  * `basics/clock`
@@ -69,6 +70,29 @@ Direct access to file utilities:
69
70
 
70
71
  ---
71
72
 
73
+ ## 🧩 Regexp
74
+
75
+ * `regexp`
76
+ * `regexp/SegmentExtractor`
77
+ * `regexp/UrlDetector`
78
+ * `regexp/Ipv4`
79
+ * `regexp/Ipv6`
80
+ * `regexp/Email`
81
+ * `regexp/Glob`
82
+ * `regexp/Username`
83
+ * `regexp/Username/templates/MatrixProtocol`
84
+ * `regexp/Username/templates/BlueSky`
85
+ * `regexp/Username/templates/Discord`
86
+ * `regexp/Username/templates/deprecated/Discord`
87
+
88
+ ---
89
+
90
+ ## 📖 JSDoc
91
+
92
+ * `jsdoc/EventEmitter`
93
+
94
+ ---
95
+
72
96
  ## 📚 Libs Modules
73
97
 
74
98
  Each library can be imported separately:
@@ -78,11 +102,25 @@ Each library can be imported separately:
78
102
  * **Utils & Tools**
79
103
  * `libs/utils/tools`
80
104
  * `libs/utils/UltraRandomMsgGen`
105
+ * `libs/utils/TinyCloner`
81
106
  * `libs/utils/TinyPromiseQueue`
107
+ * `libs/utils/TinyThrottledApi`
82
108
  * `libs/tools/TinyDebugger`
109
+ * `libs/tools/TinyBrowserMonitor`
83
110
  * `libs/tools/TinyClassManager`
84
111
  * `libs/tools/TinyClassManager/TinyPluginInliner`
85
112
  * `libs/tools/TinyPkgExportValidator`
113
+ * `libs/tools/TinyHtmlTagRegexBuilder`
114
+ * `libs/tools/TinyPasswordValidator`
115
+ * `libs/tools/TinyUriParser`
116
+ * `libs/tools/TinyUriParser/MatrixProtocol`
117
+ * `libs/tools/TinyUriParser/Discord`
118
+ * `libs/tools/TinyUriParser/BlueSky`
119
+ * `libs/router/TinyRouter`
120
+
121
+ * **Plugin**
122
+ * `libs/plugin/TinyVersion`
123
+ * `libs/plugin/TinyPlugin`
86
124
 
87
125
  * **Color**
88
126
  * `libs/color/ColorSafeStringify`
@@ -100,6 +138,8 @@ Each library can be imported separately:
100
138
  * `libs/text/TinyTextRangeEditor`
101
139
  * `libs/text/TinyTextarea`
102
140
  * `libs/text/TinyI18`
141
+ * `libs/text/TinyI18/Browser`
142
+ * `libs/text/TinyI18/Browser-NON-DOM`
103
143
  * `libs/text/TinyClipboard`
104
144
  * `libs/text/TinyTextDiffer`
105
145
 
@@ -134,6 +174,46 @@ Each library can be imported separately:
134
174
 
135
175
  * **Storage**
136
176
  * `libs/storage/TinyLocalStorage`
177
+ * `libs/storage/TinyMapCache`
178
+ * `libs/storage/TinySetMapDatabase`
179
+
180
+ * **File System (FS)**
181
+ * `libs/fs/TinyFSCore`
182
+ * `libs/fs/path`
183
+ * `libs/fs/constants`
184
+ * `libs/fs/encoding`
185
+ * `libs/fs/error`
186
+ * `libs/fs/handle`
187
+ * `libs/fs/stats`
188
+ * `libs/fs/plugins/OPFS`
189
+ * `libs/fs/plugins/OPFS/StorageBucket`
190
+
191
+ * **Service Worker**
192
+ * `libs/sw/service/TinyServiceWorkerEngine`
193
+ * `libs/sw/service/TinyPushRouter`
194
+ * `libs/sw/service/plugins/GlobCachePlugin`
195
+ * `libs/sw/service/plugins/TabManager`
196
+ * `libs/sw/service/plugins/Ping`
197
+ * `libs/sw/service/plugins/ViteFileDetector`
198
+ * `libs/sw/service/plugins/GlobBypassPlugin`
199
+ * `libs/sw/service/shared/TinyPushPayload`
200
+ * `libs/sw/browser/TinyServiceWorker`
201
+ * `libs/sw/browser/TinyPushManager`
202
+ * `libs/sw/browser/TinyNotificationAdapter`
203
+ * `libs/sw/browser/plugins/TabManager`
204
+
205
+ * **Web Worker**
206
+ * `libs/worker/engine/TinyWebWorkerEngine`
207
+ * `libs/worker/browser/TinyWebWorker`
208
+
209
+ * **HTTP Response Registry**
210
+ * `libs/tools/TinyHttpResponseRegistry`
211
+ * `libs/tools/TinyHttpResponseRegistry/Browser`
212
+ * `libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM`
213
+ * `libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes`
214
+ * `libs/tools/TinyHttpResponseRegistry/RequestCodes`
215
+ * `libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes`
216
+ * `libs/tools/TinyHttpResponseRegistry/JsDoc`
137
217
 
138
218
  * **Media 🎬**
139
219
 
@@ -233,6 +313,27 @@ Each library can be imported separately:
233
313
  * `webTemplates/bootstrap/5.3/scss/input/Placeholder-Colors-Fix.scss`
234
314
  * `webTemplates/bootstrap/5.3/scss/spacing/Spacing-Plus.scss`
235
315
 
316
+ ### Vite 7.3 ⚡
317
+
318
+ * `webTemplates/vite/7.3/plugins/TinyVitePwaPlugin`
319
+ * `webTemplates/vite/7.3/plugins/githubUtils`
320
+
321
+ ### Media Validator 🎞️
322
+
323
+ * `webTemplates/media/MediaValidator/v1/Node`
324
+ * `webTemplates/media/MediaValidator/v1/Browser`
325
+
326
+ ### Multiformats 14.0 🧬
327
+
328
+ * `webTemplates/multiformats/14.0/IPFSHasher`
329
+
330
+ ### ag-psd 31.0 🖼️
331
+
332
+ * `webTemplates/ag-psd/31.0/ProcessSolidFilters`
333
+ * `webTemplates/ag-psd/31.0/ProcessSolidFilters/Template`
334
+ * `webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser`
335
+ * `webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput`
336
+
236
337
  ---
237
338
 
238
339
  ## ✅ Import Examples
package/docs/v1/README.md CHANGED
@@ -14,7 +14,7 @@ Here, you can navigate through different sections of the project. Below are the
14
14
  - ⏰ **[Clock](./basics/clock.md)** — A versatile time utility module for calculating and formatting time durations.
15
15
  - 🧠 **[ObjFilter](./basics/objFilter.md)** — Type detection, extension, and analysis made easy with simple and extensible type validation.
16
16
  - 🔍 **[jsonFilter](./basics/jsonFilter.md)** — High-precision utilities for filtering objects, arrays, and complex data structures like Maps and Sets.
17
- * 🧮 **[objChecker](./basics/objChecker.md)** — Utilities for counting keys in objects or arrays and for safely detecting plain JSON-compatible objects.
17
+ - 🧮 **[objChecker](./basics/objChecker.md)** — Utilities for counting keys in objects or arrays and for safely detecting plain JSON-compatible objects.
18
18
  - 🔢 **[SimpleMath](./basics/simpleMath.md)** — A collection of simple math utilities for calculations like the Rule of Three and percentages.
19
19
  - ✍️ **[Text](./basics/text.md)** — A utility for transforming text into title case formats, with multiple options for capitalization.
20
20
  - 🔄 **[AsyncReplace](./basics/asyncReplace.md)** — Asynchronously replaces matches in a string using a regex and an async function.
@@ -23,17 +23,23 @@ Here, you can navigate through different sections of the project. Below are the
23
23
  - 🧱 **[Collision](./basics/collision.md)** — Full-featured rectangle collision detection system with directional analysis, depth calculation, and center offset metrics.
24
24
  - 🎵 **[MediaContent](./basics/mediaContent.md)** — A comprehensive media processing module for downloading audio, extracting rich ID3 metadata, and managing image blobs for album art.
25
25
  - 📦 **[BrowserDetector](./basics/browserDetector.md)** — A multi-layered JavaScript utility for identifying the user's web browser and rendering engine.
26
+ - 🔐 **[Crypto](./basics/crypto.md)** — A lightweight utility for generating cryptographic hashes (e.g., SHA-256) using the Web Crypto API.
27
+ - 🔁 **[PromiseUtils](./basics/promiseUtils.md)** — Promise helpers such as `waitForTrue` and `createSingletonTask` for polling and single-flight async tasks.
26
28
 
27
29
  ### 2. **`libs/`**
28
30
 
29
31
  ### 2.1. **`libs/storage`**
30
32
 
31
33
  - 📦 **[TinyLocalStorage](./libs/storage/TinyLocalStorage.md)** — A tiny wrapper for `localStorage` with full support for objects, arrays, `Map`, `Set`, and typed value helpers like string, number, and boolean.
34
+ - 🗃️ **[TinyMapCache](./libs/storage/TinyMapCache.md)** — A lightweight, event-driven, in-memory cache manager with TTL expiration, deep cloning, and a familiar `Map`-like iteration API.
35
+ - 🗄️ **[TinySetMapDatabase](./libs/storage/TinySetMapDatabase.md)** — Persistent `Set` and `Map` collections backed by IndexedDB, with a tiny promise-based API and schema migrations.
32
36
 
33
37
  ### 2.2. **`libs/utils`**
34
38
 
35
39
  - 🗂️ **[TinyPromiseQueue](./libs/utils/TinyPromiseQueue.md)** — A class that allows sequential execution of asynchronous tasks, supporting task delays, cancellation, and queue management.
36
40
  - 🍮 **[UltraRandomMsgGen](./libs/utils/UltraRandomMsgGen.md)** — A whimsical random message generator using grammar templates, word sets, emojis, and chaotic modes to craft playful text outputs.
41
+ - 🧩 **[TinyCloner](./libs/utils/TinyCloner.md)** — A highly modular, plugin-based deep cloning engine with strict validation, global/instance control, and isolation mode.
42
+ - 🚦 **[TinyThrottledApi](./libs/utils/TinyThrottledApi.md)** — A professional-grade utility for concurrency control and rate throttling of asynchronous API calls.
37
43
 
38
44
  ### 2.3. **`libs/game`**
39
45
 
@@ -56,7 +62,7 @@ Here, you can navigate through different sections of the project. Below are the
56
62
  - ⏳ **[TinyTimeout](./libs/math/TinyTimeout.md)** — A dynamic timeout and delay manager with support for usage-based throttling, delay scaling, configurable decay intervals, and asynchronous polling for conditions.
57
63
  - 🎯 **[TinyAdvancedRaffle](./libs/math/TinyAdvancedRaffle.md)** — An advanced, seedable raffle system with weighted items, pity systems, exclusions, group management, modifiers, conditional rules, normalization modes, and JSON import/export.
58
64
  - 🎲 **[TinySimpleDice](./libs/math/TinySimpleDice.md)** — A lightweight and flexible dice rolling utility with configurable maximum values, zero allowance, and array/Set index rolling support.
59
- * 🧠 **[TinyMamdaniInferenceSystem](./libs/math/TinyMamdaniInferenceSystem.md)** — A implementation of a Mamdani Inference System, allowing you to model logic using trapezoidal membership functions.
65
+ - 🧠 **[TinyMamdaniInferenceSystem](./libs/math/TinyMamdaniInferenceSystem.md)** — A implementation of a Mamdani Inference System, allowing you to model logic using trapezoidal membership functions.
60
66
 
61
67
  ### 2.6. **`libs/text`**
62
68
 
@@ -64,7 +70,7 @@ Here, you can navigate through different sections of the project. Below are the
64
70
  - ✍️ **[TinyTextRangeEditor](./libs/text/TinyTextRangeEditor.md)** — An flexible text range manipulation utility for `input` and `textarea` elements. Supports selection, cursor control, tag insertion, attribute handling, inline editing, formatting, and advanced wrap/toggle logic with optional spacing auto-completion.
65
71
  - ✨ **[TinyTextarea](./libs/text/TinyTextarea.md)** — A minimal auto-expanding `<textarea>` manager with configurable row limits, extra height padding, and real-time resize/input event hooks.
66
72
  - 🌐 **[TinyI18](./libs/text/TinyI18.md)** — A flexible i18n manager supporting local and file modes, regex-based keys, function-based entries, string interpolation, and safe helper functions for advanced rendering.
67
- * 📝 **[TinyTextDiffer](./libs/text/TinyTextDiffer.md)** — A granular text comparison utility using the LCS algorithm to detect additions, deletions, and unchanged segments between multiple history versions, returning a clean, parseable diff structure.
73
+ - 📝 **[TinyTextDiffer](./libs/text/TinyTextDiffer.md)** — A granular text comparison utility using the LCS algorithm to detect additions, deletions, and unchanged segments between multiple history versions, returning a clean, parseable diff structure.
68
74
 
69
75
  ### 2.7. **`libs/html`**
70
76
 
@@ -100,38 +106,130 @@ Here, you can navigate through different sections of the project. Below are the
100
106
  #### 2.7.6. **`libs/html/templates`**
101
107
 
102
108
  - ⏳ **[TinyLoadingScreen](./libs/html/templates/TinyLoadingScreen.md)** — A lightweight, fully-configurable loading overlay with fade-in/out animations, custom messages (string or HTMLElement), HTML rendering option, and status-change callbacks.
103
- * 🕒 **[TinyAnalogClock](./libs/html/templates/TinyAnalogClock.md)** — A lightweight analog clock engine for managing time-based rotations, supporting custom offsets, smooth transitions, and easy binding to CSS variables rendering.
109
+ - 🕒 **[TinyAnalogClock](./libs/html/templates/TinyAnalogClock.md)** — A lightweight analog clock engine for managing time-based rotations, supporting custom offsets, smooth transitions, and easy binding to CSS variables rendering.
104
110
  - 🍪 **[TinyCookieConsent](./libs/html/templates/TinyCookieConsent.md)** — A flexible and customizable cookie consent manager that displays a consent bar, supports multiple categories, saves preferences in localStorage, allows custom renderers, and provides smooth animations for showing and hiding elements.
105
111
 
106
112
  ### 2.8. **`libs/array`**
107
113
 
108
114
  - 📄 **[TinyArrayPaginator](./libs/array/TinyArrayPaginator.md)** — A secure and flexible array pagination wrapper that returns paginated results along with metadata, supports filtering via predicates or object-based matching, and prevents direct modification of the source data.
109
- * 🔍 **[TinyArrayComparator](./libs/array/TinyArrayComparator.md)** — A lightweight, highly optimized JavaScript utility class designed to compare two arrays and efficiently detect which items were **added** or **deleted**.
115
+ - 🔍 **[TinyArrayComparator](./libs/array/TinyArrayComparator.md)** — A lightweight, highly optimized JavaScript utility class designed to compare two arrays and efficiently detect which items were **added** or **deleted**.
110
116
 
111
117
  ### 2.9. **`libs/media`**
112
118
 
113
- * 📻 **[TinyRadioFm](./libs/media/TinyRadioFm.md)** — It is designed to handle complex playback sequences, including music and voice playlists, scheduled timeline mutations, and custom content injections, all while maintaining absolute reproducibility through a mathematical seed.
114
- * ⏯️ **[TinyMediaPlayer](./libs/media/TinyMediaPlayer.md)** — A universal media player architecture utilizing an adapter pattern to orchestrate multiple platform APIs, featuring robust playlist management, playback controls, and weighted random selection.
119
+ - 📻 **[TinyRadioFm](./libs/media/TinyRadioFm.md)** — It is designed to handle complex playback sequences, including music and voice playlists, scheduled timeline mutations, and custom content injections, all while maintaining absolute reproducibility through a mathematical seed.
120
+ - ⏯️ **[TinyMediaPlayer](./libs/media/TinyMediaPlayer.md)** — A universal media player architecture utilizing an adapter pattern to orchestrate multiple platform APIs, featuring robust playlist management, playback controls, and weighted random selection.
115
121
 
116
122
  ### 2.10. **`libs/tools`**
117
123
 
118
- * 🛠️ **[TinyDebugger](./libs/tools/TinyDebugger.md)** — A lightweight, event-driven debugging utility designed to wrap standard `console` methods. It provides enhanced features such as custom prefixes, color support, and the ability to emit events whenever a log occurs, making it perfect for complex applications where you might want to redirect logs to an external service or a UI component.
119
- * 📦 **[TinyPkgExportValidator](./libs/tools/TinyPkgExportValidator.md)** — A utility to validate that all paths defined in the `"exports"` field of `package.json` exist physically within the project directory.
124
+ - 🛠️ **[TinyDebugger](./libs/tools/TinyDebugger.md)** — A lightweight, event-driven debugging utility designed to wrap standard `console` methods. It provides enhanced features such as custom prefixes, color support, and the ability to emit events whenever a log occurs, making it perfect for complex applications where you might want to redirect logs to an external service or a UI component.
125
+ - 📦 **[TinyPkgExportValidator](./libs/tools/TinyPkgExportValidator.md)** — A utility to validate that all paths defined in the `"exports"` field of `package.json` exist physically within the project directory.
126
+ - 🌐 **[TinyBrowserMonitor](./libs/tools/TinyBrowserMonitor.md)** — A lightweight, high-performance utility that provides real-time insights into a user's network environment and device performance.
127
+ - 🛠️ **[TinyHtmlTagRegexBuilder](./libs/tools/TinyHtmlTagRegexBuilder.md)** — A utility that makes parsing specific HTML tags with Regular Expressions structured, predictable, and easy to manage.
128
+ - 🛡️ **[TinyPasswordValidator](./libs/tools/TinyPasswordValidator.md)** — A lightweight, robust, and highly customizable utility for validating password strength and security requirements with detailed feedback.
129
+ - 🧩 **[TinyUriParser](./libs/tools/TinyUriParser.md)** — A lightweight, highly extensible engine that transforms complex URI strings (like Matrix protocol URIs) into structured objects and back again.
130
+ - 📦 **[TinyHttpResponseRegistry](./libs/tools/TinyHttpResponseRegistry.md)** — A robust, immutable, and internationalized registry for managing HTTP status codes, names, summaries, and descriptions.
131
+ - 🗺️ **[TinySiteMap](./libs/tools/TinySiteMap.md)** — A robust, secure, and lightweight service to manage and generate XML sitemaps or sitemap indexes with automatic namespace and security handling.
132
+ - 🗺️ **[TinySiteMapStream](./libs/tools/TinySiteMapStream.md)** — A high-performance Node.js Transform stream designed for generating XML sitemaps incrementally.
133
+ - 🛡️ **[TinyURLSecurityVerifier](./libs/tools/TinyURLSecurityVerifier.md)** — A specialized tool designed to protect applications from malicious URL-based attacks such as XSS, phishing, and credential theft.
120
134
 
121
135
  #### 2.10.1. **`libs/tools/TinyClassManager`**
122
136
 
123
- * ⚙️ **[TinyClassManager](./libs/tools/TinyClassManager.md)** — A lightweight, immutable manager designed to linearly compose a base class with multiple modular plugins, featuring automatic dependency verification and duplicate conflict protection.
124
- * 🛠️ **[TinyPluginInliner](./libs/tools/TinyClassManager/TinyPluginInliner.md)** — A powerful build-time utility that inlines plugin code into a single bundle, automatically rewriting import paths and hoisting dependencies for seamless deployment.
137
+ - ⚙️ **[TinyClassManager](./libs/tools/TinyClassManager.md)** — A lightweight, immutable manager designed to linearly compose a base class with multiple modular plugins, featuring automatic dependency verification and duplicate conflict protection.
138
+ - 🛠️ **[TinyPluginInliner](./libs/tools/TinyClassManager/TinyPluginInliner.md)** — A powerful build-time utility that inlines plugin code into a single bundle, automatically rewriting import paths and hoisting dependencies for seamless deployment.
125
139
 
126
- ### 3. **`webTemplates/`**
140
+ #### 2.10.2. **`libs/tools/TinyUriParser`**
127
141
 
128
- #### 3.1. **`webTemplates/bootstrap/`**
142
+ - 🧩 **[MatrixProtocol](./libs/tools/TinyUriParser/MatrixProtocol.md)** — Matrix protocol URI parsing support for `TinyUriParser`.
143
+ - 🎮 **[Discord](./libs/tools/TinyUriParser/Discord.md)** — Discord URI parsing support for `TinyUriParser`.
144
+
145
+ ### 2.11. **`libs/fs`**
146
+
147
+ - 🗄️ **[TinyFS](./libs/fs/TinyFS.md)** — A tiny, dependency-free, `node:fs/promises`-compatible file system core written in pure ESM JavaScript.
148
+ - 🗂️ **[TinyOPFSFileSystem](./libs/fs/TinyOPFSFileSystem.md)** — An Origin Private File System (OPFS) backend for `TinyFSCore`, running in the browser.
149
+ - 🪣 **[TinyStorageBucketFileSystem](./libs/fs/TinyStorageBucketFileSystem.md)** — A `TinyFSCore` backend that scopes the entire file system to a single Storage Bucket.
150
+
151
+ ### 2.12. **`libs/plugin`**
152
+
153
+ - 🔌 **[TinyPlugin](./libs/plugin/TinyPlugin.md)** — A complete plugin system providing the core classes and types for building extensible applications.
154
+ - 📦 **[TinyVersion](./libs/plugin/TinyVersion.md)** — A lightweight, precise utility to parse and compare Semantic Versioning (SemVer) strings with strict validation.
155
+
156
+ ### 2.13. **`libs/router`**
157
+
158
+ - 🚀 **[TinyRouter](./libs/router/TinyRouter.md)** — A lightweight, framework-agnostic client-side router that maps URL paths to functions, handles dynamic parameters, and manages browser history.
159
+
160
+ ### 2.14. **`libs/sw`**
161
+
162
+ #### 2.14.1. **`libs/sw/service`**
163
+
164
+ - 🚀 **[TinyServiceWorkerEngine](./libs/sw/service/TinyServiceWorkerEngine.md)** — A professional-grade engine that manages fetch interception, messaging communication, and lifecycle for Service Workers.
165
+ - 📬 **[TinyPushRouter](./libs/sw/service/TinyPushRouter.md)** — A tiny, transport-agnostic router that sends normalized push messages to the right handler.
166
+
167
+ ##### Plugins
168
+
169
+ - 🚀 **[GlobCachePlugin](./libs/sw/service/plugins/GlobCachePlugin.md)** — Manages runtime caching using glob patterns instead of complex Regular Expressions.
170
+ - 🧩 **[GlobBypassPlugin](./libs/sw/service/plugins/GlobBypassPlugin.md)** — Skips router validation for requests whose pathname matches a set of glob patterns.
171
+ - 🗂️ **[TabManager](./libs/sw/service/plugins/TabManager.md)** — A robust synchronization system that maintains a single source of truth for all open browser tabs.
172
+ - 📡 **[Ping](./libs/sw/service/plugins/Ping.md)** — A lightweight utility to verify that the `TinyServiceWorkerEngine` is communicating correctly.
173
+ - ⚡ **[ViteFileDetector](./libs/sw/service/plugins/ViteFileDetector.md)** — Identifies and bypasses Vite-specific network requests so HMR is not interrupted by the Service Worker.
174
+
175
+ ##### Shared
176
+
177
+ - 📬 **[TinyPushPayload](./libs/sw/service/shared/TinyPushPayload.md)** — A tiny, isomorphic contract for Web Push messages shared between the Service Worker and the page.
178
+
179
+ #### 2.14.2. **`libs/sw/browser`**
180
+
181
+ - 🚀 **[TinyServiceWorker](./libs/sw/browser/TinyServiceWorker.md)** — A professional-grade utility that simplifies Service Worker registration, PWA lifecycle management, and bidirectional messaging.
182
+ - 📬 **[TinyPushManager](./libs/sw/browser/TinyPushManager.md)** — A framework-agnostic, zero-dependency wrapper around the browser Push API that owns the full `PushSubscription` lifecycle.
183
+ - 🔔 **[TinyNotificationAdapter](./libs/sw/browser/TinyNotificationAdapter.md)** — A single adapter that normalizes notification options between the Service Worker and the page.
184
+ - 🗂️ **[TabManager](./libs/sw/browser/plugins/TabManager.md)** — A robust, persistent, and synchronized way to track, manage, and communicate with multiple browser tabs through a Service Worker.
185
+
186
+ ### 2.15. **`libs/worker`**
187
+
188
+ - 🚀 **[TinyWebWorkerEngine](./libs/worker/engine/TinyWebWorkerEngine.md)** — A robust, lightweight engine that manages communication between the main thread and a Web Worker with structured messaging and a request-response API.
189
+ - 🧵 **[TinyWebWorker](./libs/worker/browser/TinyWebWorker.md)** — A tiny, strictly-typed wrapper around the native `Worker` API with a built-in request/response (RPC) layer, lifecycle management, and a plugin system.
190
+
191
+ ### 3. **`regexp/`**
192
+
193
+ - 📧 **[Email](./regexp/Email.md)** — A robust, highly configurable utility for validating email addresses and extracting them from text.
194
+ - 🌟 **[Glob](./regexp/Glob.md)** — A professional-grade utility that bridges human-readable GLOB patterns and JavaScript Regular Expressions.
195
+ - 🌐 **[IPv4](./regexp/IPv4.md)** — A lightweight, high-performance module to validate and extract IPv4 addresses.
196
+ - 🌐 **[IPv6](./regexp/IPv6.md)** — A lightweight utility for validating and extracting IPv6 addresses using optimized Regular Expressions.
197
+ - 🛠️ **[SegmentExtractor](./regexp/SegmentExtractor.md)** — Transforms string-based path patterns (like `/user/:id`) into efficient regular expressions for extracting dynamic parameters.
198
+ - 🌐 **[UrlDetector](./regexp/UrlDetector.md)** — A robust and highly customizable utility for building, validating, and extracting URLs using precise Regular Expressions.
199
+
200
+ #### 3.1. **`regexp/Username`**
201
+
202
+ - 🛠️ **[Base](./regexp/Username/Base.md)** — A robust, highly configurable utility to generate regular expressions for validating, finding, and extracting usernames.
203
+ - 🎮 **[Discord](./regexp/Username/Discord.md)** — A declarative catalog of 35 regular-expression templates that describe Discord's markup, mentions, links, and CDN assets.
204
+ - 🧩 **[MatrixProtocol](./regexp/Username/MatrixProtocol.md)** — A battle-tested collection of Regular Expression templates for parsing Matrix identifiers: users, rooms, events, and groups.
205
+
206
+ ### 4. **`webTemplates/`**
207
+
208
+ #### 4.1. **`webTemplates/bootstrap/`**
129
209
 
130
210
  - 🖼️ **[BootstrapDialogs](./webTemplates/bootstrap/5.3/html/BootstrapDialogs.md)** — An asynchronous JavaScript utility designed to replace native browser dialogs with customizable Bootstrap 5 Modals.
131
211
 
132
- ### 4. **`fileManager/`**
212
+ #### 4.2. **`webTemplates/vite/`**
213
+
214
+ - 🚀 **[TinyVitePwaPlugin](./webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md)** — A plugin that makes Progressive Web App integration seamless within a Vite-based project.
215
+ - 🚀 **[githubUtils](./webTemplates/vite/7.3/plugins/githubUtils.md)** — A lightweight Vite plugin for deploying Single Page Applications (SPAs) to GitHub Pages.
216
+
217
+ #### 4.3. **`webTemplates/media/`**
218
+
219
+ - 🛡️ **[MediaValidator (Node)](./webTemplates/media/MediaValidator/v1/Node.md)** — A multi-layered validation toolkit that ensures file integrity and prevents MIME-spoofing exploits.
220
+ - 🛡️ **[MediaValidator (Browser)](./webTemplates/media/MediaValidator/v1/Browser.md)** — MediaShield: a robust, multi-layered media validation library for images, audio, and video.
221
+
222
+ #### 4.4. **`webTemplates/multiformats/`**
223
+
224
+ - 🧬 **[IPFSHasher](./webTemplates/multiformats/14.0/IPFSHasher.md)** — Generate IPFS Content Identifiers (CIDs) locally, in pure JavaScript, without running an IPFS node.
225
+
226
+ #### 4.5. **`webTemplates/ag-psd/`**
227
+
228
+ - 🎨 **[ProcessSolidFilters](./webTemplates/ag-psd/31.0/ProcessSolidFilters.md)** — Extract solid colors from PSD layers, generate separated images per filter, and get pixel statistics in Node.js and the browser.
229
+
230
+ ### 5. **`fileManager/`**
133
231
 
134
- * 📁 **[Main](./fileManager/main.md)** — A Node.js file/directory utility module with support for JSON, backups, renaming, size analysis, and more.
232
+ - 📁 **[Main](./fileManager/main.md)** — A Node.js file/directory utility module with support for JSON, backups, renaming, size analysis, and more.
135
233
 
136
234
  ---
137
235
 
@@ -1,3 +1,5 @@
1
+ # 🔄 AsyncReplace
2
+
1
3
  ## `asyncReplace(str, regex, asyncFn)` 🔄
2
4
 
3
5
  Asynchronously replaces matches in a string using a regular expression and an async function.
@@ -5,12 +5,13 @@ A multi-layered JavaScript utility for identifying the user's web browser and re
5
5
  ## 📋 Table of Contents
6
6
  1. [Data Types](#📋-data-types)
7
7
  2. [Core Functions](#🛠️-core-functions)
8
- - [isBrowserAgent](#1-isbrowseragent)
9
- - [getBrowserCssPrefix](#2-getbrowsercssprefix)
10
- - [getDuckTyping](#3-getducktyping)
8
+ - [isBrowser](#1-isbrowser)
9
+ - [isBrowserAgent](#3-isbrowseragent)
10
+ - [getBrowserCssPrefix](#4-getbrowsercssprefix)
11
+ - [getDuckTyping](#5-getducktyping)
11
12
  3. [Advanced Detection](#🎯-advanced-detection)
12
- - [getBrowserPings](#4-getbrowserpings)
13
- - [browserIs](#5-browseris)
13
+ - [getBrowserPings](#6-getbrowserpings)
14
+ - [browserIs](#7-browseris)
14
15
 
15
16
  ---
16
17
 
@@ -38,7 +39,23 @@ An object returned by feature detection, containing boolean flags:
38
39
 
39
40
  ## 🛠️ Core Functions
40
41
 
41
- ### 1. `isBrowserAgent()`
42
+ ### 1. `isBrowser()`
43
+ Checks if the current execution environment is a web browser.
44
+
45
+ * **Returns:** `boolean` (`true` if in a browser, `false` otherwise).
46
+ * **Best use case:** To prevent runtime errors when accessing browser-specific globals (like `window` or `document`) in non-browser environments like Node.js.
47
+
48
+ ```javascript
49
+ import { isBrowser } from 'tiny-essentials/basics/browserDetector';
50
+
51
+ if (isBrowser()) {
52
+ console.log("Environment is a browser. Accessing window safely... ✅");
53
+ } else {
54
+ console.log("Environment is not a browser (e.g., Node.js). 🖥️");
55
+ }
56
+ ```
57
+
58
+ ### 2. `isBrowserAgent()`
42
59
  Parses the `navigator.userAgent` string to provide a quick identification of the browser.
43
60
 
44
61
  * **Returns:** `BrowserDetected`
@@ -52,7 +69,7 @@ console.log(`You are using: ${browser}`);
52
69
  // Output example: "chrome"
53
70
  ```
54
71
 
55
- ### 2. `getBrowserCssPrefix()`
72
+ ### 3. `getBrowserCssPrefix()`
56
73
  Inspects the computed styles of the document to determine the CSS rendering engine.
57
74
 
58
75
  * **Returns:** `'gecko' | 'webkit' | 'trident' | 'other'`
@@ -67,14 +84,14 @@ if (engine === 'webkit') {
67
84
  }
68
85
  ```
69
86
 
70
- ### 3. `getDuckTyping()`
87
+ ### 4. `getDuckTyping()`
71
88
  Performs deep feature detection by checking for the existence of specific global objects and APIs.
72
89
 
73
90
  * **Returns:** `DuckTypingResult`
74
91
  * **Best use case:** When you need to know exactly which features are available in the current environment.
75
92
 
76
93
  ```javascript
77
- import { getDuckTyping } from './browserDetector.js';
94
+ import { getDuckTyping } from 'tiny-essentials/basics/browserDetector';
78
95
 
79
96
  const features = getDuckTyping();
80
97
 
@@ -93,7 +110,7 @@ if (features.isBlink) {
93
110
 
94
111
  These functions aggregate the results from the core functions to provide the highest possible accuracy.
95
112
 
96
- ### 4. `getBrowserPings(disable = [])`
113
+ ### 5. `getBrowserPings(disable = [])`
97
114
  Aggregates detection results from all three methods (User Agent, CSS Prefix, and Duck Typing) to provide a "ping count" for each browser.
98
115
 
99
116
  * **Parameters:**
@@ -113,7 +130,7 @@ const filteredCounts = getBrowserPings(['ie']);
113
130
  console.log(filteredCounts);
114
131
  ```
115
132
 
116
- ### 5. `browserIs(disable = [])`
133
+ ### 6. `browserIs(disable = [])`
117
134
  The most reliable method. It runs all detection strategies and returns the browser that received the highest number of "pings."
118
135
 
119
136
  * **Parameters:**
@@ -0,0 +1,85 @@
1
+ # 🔐 Crypto Utils Documentation
2
+
3
+ Welcome to the **Crypto Utils** documentation! This module provides a simple way to generate cryptographic hashes using the built-in Web Crypto API. It is designed to be lightweight and easy to integrate into any modern JavaScript project. 🚀
4
+
5
+ ## 📖 Overview
6
+
7
+ The primary purpose of this library is to take a string of text and convert it into a unique "fingerprint" (a hexadecimal hash) using a specified cryptographic algorithm (like SHA-256).
8
+
9
+ ## 🚀 Getting Started
10
+
11
+ ### Installation
12
+
13
+ Since this is a native ES6 module, you do not need to install any external packages. Simply import the function into your file:
14
+
15
+ ```javascript
16
+ import { hashText } from 'tiny-essentials/basics/crypto';
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 🛠 API Reference
22
+
23
+ ### `hashText(text, algorithm)` 🔑
24
+
25
+ Asynchronously generates a cryptographic hash of the provided text and returns the result as a hexadecimal string.
26
+
27
+ #### **Parameters**
28
+
29
+ | Parameter | Type | Description |
30
+ | :--- | :--- | :--- |
31
+ | `text` | `string` | The input string you want to hash. |
32
+ | `algorithm` | `AlgorithmIdentifier` | The cryptographic algorithm to use (e.g., `'SHA-256'`). |
33
+
34
+ #### **Return Value**
35
+
36
+ * **Type:** `Promise<string>`
37
+ * **Description:** A promise that resolves to a string representing the hash in **hexadecimal** format (e.g., `"e3b0c442..."`).
38
+
39
+ #### **Type Definitions**
40
+
41
+ To ensure type safety, use the following definition for the algorithm parameter:
42
+
43
+ ```javascript
44
+ /**
45
+ * @typedef {'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512'} AlgorithmIdentifier
46
+ * Supported algorithms depend on your environment's Web Crypto API implementation.
47
+ */
48
+ ```
49
+
50
+ #### **Errors Thrown**
51
+
52
+ * `TypeError`: Thrown if the `text` parameter is not a string.
53
+
54
+ ---
55
+
56
+ ## 💻 Practical Examples
57
+
58
+ ### 1. Basic Usage (SHA-256) ✅
59
+ This is the most common way to use the function. SHA-256 is widely used for data integrity checks.
60
+
61
+ ```javascript
62
+ import { hashText } from 'tiny-essentials/basics/crypto';
63
+
64
+ async function performHashing() {
65
+ try {
66
+ const myText = "Hello, Yasmin!";
67
+ const hash = await hashText(myText, 'SHA-256');
68
+
69
+ console.log(`Original Text: ${myText}`);
70
+ console.log(`SHA-256 Hash: ${hash}`);
71
+ } catch (error) {
72
+ console.error(`An error occurred: ${error.message}`);
73
+ }
74
+ }
75
+
76
+ performHashing();
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 💡 Developer Tips for Daily Use
82
+
83
+ * **Always use `await`:** Since `hashText` is an `async` function, it returns a `Promise`. If you forget to use `await` or `.then()`, you will receive a `Promise` object instead of the actual hash string. ⏳
84
+ * **Algorithm Support:** Most modern browsers and Node.js environments support `SHA-256`, `SHA-384`, and `SHA-512`. Always check the [Web Crypto API documentation](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest) if you are unsure. 🔍
85
+ * **Hexadecimal Output:** The output is a "hex string" (numbers 0-9 and letters a-f). This is perfect for storing in databases or comparing file integrity. 💾
@@ -1,3 +1,5 @@
1
+ # 🌐 Html (deprecated)
2
+
1
3
  ### 🌐 `fetchTemplate(...)`
2
4
 
3
5
  Loads data from a remote URL using the Fetch API, with support for custom HTTP methods, retries, timeouts, headers, and even external abort controllers.
@@ -1,3 +1,5 @@
1
+ # 🔍 ObjFilter (deprecated)
2
+
1
3
  ### 🔍 `objType(obj, [type])`
2
4
 
3
5
  Get the type of any value, or check it against a known type.
@@ -1,3 +1,5 @@
1
+ # 🖼️ Html
2
+
1
3
  ### 📖 `readBase64Blob(file: File, isDataUrl?: boolean | string): Promise<string>`
2
4
 
3
5
  Reads a file and returns its Base64 content using the FileReader API, with optional formatting as a full Data URL.
@@ -58,3 +58,58 @@ isJsonObject(Object.create(null)); // false
58
58
  * is **directly** inherited from `Object.prototype`
59
59
 
60
60
  Use this when you need to strictly validate a raw JSON object (like the output of `JSON.parse()` or manual object literals).
61
+
62
+ ---
63
+
64
+ ### 🛠️ `isClass(target)`
65
+
66
+ Determines whether the provided value is a class constructor.
67
+
68
+ ```js
69
+ isClass(class MyClass {}) // true
70
+ isClass(function MyFunc() {}) // false
71
+ isClass(123) // Throws TypeError
72
+ ```
73
+
74
+ 🔒 This function ensures:
75
+
76
+ * The target is a function.
77
+ * The function is a class constructor (cannot be called without `new`).
78
+
79
+ ---
80
+
81
+ ### 🛠️ `isClassInstance(value)` and `isAnyClassInstance(value)`
82
+
83
+ Determines whether a given value is an instance of a class.
84
+
85
+ ```js
86
+ class MyClass {}
87
+ isClassInstance(new MyClass()) // true
88
+ isClassInstance({}) // false
89
+ isClassInstance(null) // false
90
+ ```
91
+
92
+ ```js
93
+ class PlayerData {}
94
+
95
+ const player = new PlayerData();
96
+ const nativeMap = new Map();
97
+ const nativeUrl = new URL('https://example.com');
98
+ const plainObject = { name: "Yasmin" };
99
+ const nullObject = Object.create(null);
100
+
101
+ console.log(isAnyClassInstance(player)); // true (Custom class)
102
+ console.log(isAnyClassInstance(nativeMap)); // true (Native class)
103
+ console.log(isAnyClassInstance(nativeUrl)); // true (Native class)
104
+ console.log(isAnyClassInstance(new Date())); // true (Native class)
105
+
106
+ console.log(isAnyClassInstance(plainObject)); // false
107
+ console.log(isAnyClassInstance(nullObject)); // false
108
+ console.log(isAnyClassInstance("Yasmin")); // false (Primitive string)
109
+ ```
110
+
111
+ 🔒 This function ensures:
112
+
113
+ * The value is a non-null object.
114
+ * The object has a custom prototype (it is not a plain object and does not have a null prototype).
115
+ * The object's constructor is defined using the ES6 `class` syntax.