tiny-essentials 1.28.18 → 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 (567) 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/css/TinyCookieConsent.min.css +1 -0
  109. package/dist/v1/css/TinyCookieConsent.min.css.map +1 -0
  110. package/dist/v1/css/TinyDraggerExample.min.css +1 -0
  111. package/dist/v1/css/TinyDraggerExample.min.css.map +1 -0
  112. package/dist/v1/css/TinyLoadingScreen.min.css +1 -0
  113. package/dist/v1/css/TinyLoadingScreen.min.css.map +1 -0
  114. package/dist/v1/css/TinyNotify.min.css +1 -0
  115. package/dist/v1/css/TinyNotify.min.css.map +1 -0
  116. package/dist/v1/css/aiMarker.min.css +1 -0
  117. package/dist/v1/css/aiMarker.min.css.map +1 -0
  118. package/dist/v1/index.cjs +88 -3
  119. package/dist/v1/index.d.mts +31 -6
  120. package/dist/v1/index.d.mts.map +1 -1
  121. package/dist/v1/index.mjs +32 -7
  122. package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
  123. package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
  124. package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
  125. package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
  126. package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
  127. package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
  128. package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
  129. package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
  130. package/dist/v1/libs/fs/constants.cjs +74 -0
  131. package/dist/v1/libs/fs/constants.d.mts +22 -0
  132. package/dist/v1/libs/fs/constants.d.mts.map +1 -0
  133. package/dist/v1/libs/fs/constants.mjs +53 -0
  134. package/dist/v1/libs/fs/encoding.cjs +118 -0
  135. package/dist/v1/libs/fs/encoding.d.mts +50 -0
  136. package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
  137. package/dist/v1/libs/fs/encoding.mjs +102 -0
  138. package/dist/v1/libs/fs/error.cjs +188 -0
  139. package/dist/v1/libs/fs/error.d.mts +105 -0
  140. package/dist/v1/libs/fs/error.d.mts.map +1 -0
  141. package/dist/v1/libs/fs/error.mjs +158 -0
  142. package/dist/v1/libs/fs/handle.cjs +121 -0
  143. package/dist/v1/libs/fs/handle.d.mts +56 -0
  144. package/dist/v1/libs/fs/handle.d.mts.map +1 -0
  145. package/dist/v1/libs/fs/handle.mjs +100 -0
  146. package/dist/v1/libs/fs/index.cjs +700 -0
  147. package/dist/v1/libs/fs/index.d.mts +377 -0
  148. package/dist/v1/libs/fs/index.d.mts.map +1 -0
  149. package/dist/v1/libs/fs/index.mjs +630 -0
  150. package/dist/v1/libs/fs/path.cjs +234 -0
  151. package/dist/v1/libs/fs/path.d.mts +176 -0
  152. package/dist/v1/libs/fs/path.d.mts.map +1 -0
  153. package/dist/v1/libs/fs/path.mjs +197 -0
  154. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
  155. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
  156. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
  157. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
  158. package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
  159. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
  160. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
  161. package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
  162. package/dist/v1/libs/fs/stats.cjs +245 -0
  163. package/dist/v1/libs/fs/stats.d.mts +226 -0
  164. package/dist/v1/libs/fs/stats.d.mts.map +1 -0
  165. package/dist/v1/libs/fs/stats.mjs +197 -0
  166. package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
  167. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
  168. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
  169. package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
  170. package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
  171. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
  172. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
  173. package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
  174. package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
  175. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
  176. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
  177. package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
  178. package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
  179. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
  180. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
  181. package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
  182. package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
  183. package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
  184. package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
  185. package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
  186. package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
  187. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
  188. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
  189. package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
  190. package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
  191. package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
  192. package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
  193. package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
  194. package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
  195. package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
  196. package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
  197. package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
  198. package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
  199. package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
  200. package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
  201. package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
  202. package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
  203. package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
  204. package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
  205. package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
  206. package/dist/v1/libs/router/TinyRouter.cjs +661 -0
  207. package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
  208. package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
  209. package/dist/v1/libs/router/TinyRouter.mjs +572 -0
  210. package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
  211. package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
  212. package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
  213. package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
  214. package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
  215. package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
  216. package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
  217. package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
  218. package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
  219. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
  220. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
  221. package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
  222. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
  223. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
  224. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
  225. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
  226. package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
  227. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
  228. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
  229. package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
  230. package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
  231. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
  232. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
  233. package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
  234. package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
  235. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
  236. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
  237. package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
  238. package/dist/v1/libs/sw/browser/utils.cjs +28 -0
  239. package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
  240. package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
  241. package/dist/v1/libs/sw/browser/utils.mjs +21 -0
  242. package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
  243. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
  244. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
  245. package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
  246. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
  247. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
  248. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
  249. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
  250. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
  251. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
  252. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
  253. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
  254. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
  255. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
  256. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
  257. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
  258. package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
  259. package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
  260. package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
  261. package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
  262. package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
  263. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
  264. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
  265. package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
  266. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
  267. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
  268. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
  269. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
  270. package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
  271. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
  272. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
  273. package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
  274. package/dist/v1/libs/sw/utils.cjs +57 -0
  275. package/dist/v1/libs/sw/utils.d.mts +173 -0
  276. package/dist/v1/libs/sw/utils.d.mts.map +1 -0
  277. package/dist/v1/libs/sw/utils.mjs +50 -0
  278. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
  279. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
  280. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
  281. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
  282. package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
  283. package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
  284. package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
  285. package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
  286. package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
  287. package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
  288. package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
  289. package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
  290. package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
  291. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
  292. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
  293. package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
  294. package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
  295. package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
  296. package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
  297. package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
  298. package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
  299. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
  300. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
  301. package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
  302. package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
  303. package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
  304. package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
  305. package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
  306. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
  307. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
  308. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
  309. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
  310. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
  311. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
  312. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
  313. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
  314. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
  315. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
  316. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
  317. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
  318. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
  319. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
  320. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
  321. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
  322. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
  323. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
  324. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
  325. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
  326. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
  327. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
  328. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
  329. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
  330. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
  331. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
  332. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
  333. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
  334. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
  335. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
  336. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
  337. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
  338. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
  339. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
  340. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
  341. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
  342. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
  343. package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
  344. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
  345. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
  346. package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
  347. package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
  348. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
  349. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
  350. package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
  351. package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
  352. package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
  353. package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
  354. package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
  355. package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
  356. package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
  357. package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
  358. package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
  359. package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
  360. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
  361. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
  362. package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
  363. package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
  364. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
  365. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
  366. package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
  367. package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
  368. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
  369. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
  370. package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
  371. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
  372. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
  373. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
  374. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
  375. package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
  376. package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
  377. package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
  378. package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
  379. package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
  380. package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
  381. package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
  382. package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
  383. package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
  384. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
  385. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
  386. package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
  387. package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
  388. package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
  389. package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
  390. package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
  391. package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
  392. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
  393. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
  394. package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
  395. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
  396. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
  397. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
  398. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
  399. package/dist/v1/regexp/Email.cjs +185 -0
  400. package/dist/v1/regexp/Email.d.mts +73 -0
  401. package/dist/v1/regexp/Email.d.mts.map +1 -0
  402. package/dist/v1/regexp/Email.mjs +153 -0
  403. package/dist/v1/regexp/Glob.cjs +293 -0
  404. package/dist/v1/regexp/Glob.d.mts +45 -0
  405. package/dist/v1/regexp/Glob.d.mts.map +1 -0
  406. package/dist/v1/regexp/Glob.mjs +260 -0
  407. package/dist/v1/regexp/Ipv4.cjs +57 -0
  408. package/dist/v1/regexp/Ipv4.d.mts +29 -0
  409. package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
  410. package/dist/v1/regexp/Ipv4.mjs +45 -0
  411. package/dist/v1/regexp/Ipv6.cjs +67 -0
  412. package/dist/v1/regexp/Ipv6.d.mts +29 -0
  413. package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
  414. package/dist/v1/regexp/Ipv6.mjs +54 -0
  415. package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
  416. package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
  417. package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
  418. package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
  419. package/dist/v1/regexp/UrlDetector.cjs +125 -0
  420. package/dist/v1/regexp/UrlDetector.d.mts +67 -0
  421. package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
  422. package/dist/v1/regexp/UrlDetector.mjs +102 -0
  423. package/dist/v1/regexp/Username/index.cjs +233 -0
  424. package/dist/v1/regexp/Username/index.d.mts +77 -0
  425. package/dist/v1/regexp/Username/index.d.mts.map +1 -0
  426. package/dist/v1/regexp/Username/index.mjs +199 -0
  427. package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
  428. package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
  429. package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
  430. package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
  431. package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
  432. package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
  433. package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
  434. package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
  435. package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
  436. package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
  437. package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
  438. package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
  439. package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
  440. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
  441. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
  442. package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
  443. package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
  444. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
  445. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
  446. package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
  447. package/dist/v1/regexp/Username/templates/index.cjs +11 -0
  448. package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
  449. package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
  450. package/dist/v1/regexp/Username/templates/index.mjs +4 -0
  451. package/dist/v1/regexp/index.cjs +41 -0
  452. package/dist/v1/regexp/index.d.mts +9 -0
  453. package/dist/v1/regexp/index.d.mts.map +1 -0
  454. package/dist/v1/regexp/index.mjs +8 -0
  455. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
  456. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
  457. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
  458. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
  459. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
  460. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
  461. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
  462. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
  463. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
  464. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
  465. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
  466. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
  467. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
  468. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
  469. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
  470. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
  471. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +725 -0
  472. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +293 -0
  473. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -0
  474. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +614 -0
  475. package/dist/v1/webTemplates/bootstrap/5.3/scss/input/Placeholder-Colors-Fix.scss +64 -0
  476. package/dist/v1/webTemplates/bootstrap/5.3/scss/spacing/Spacing-Plus.scss +31 -0
  477. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
  478. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
  479. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
  480. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
  481. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
  482. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
  483. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
  484. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
  485. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
  486. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
  487. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
  488. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
  489. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
  490. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
  491. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
  492. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
  493. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
  494. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
  495. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
  496. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
  497. package/docs/info/RegExp.md +74 -0
  498. package/docs/v1/Exports.md +111 -0
  499. package/docs/v1/README.md +117 -13
  500. package/docs/v1/basics/asyncReplace.md +2 -0
  501. package/docs/v1/basics/browserDetector.md +28 -11
  502. package/docs/v1/basics/crypto.md +85 -0
  503. package/docs/v1/basics/deprecated/html.md +2 -0
  504. package/docs/v1/basics/deprecated/objFilter.md +2 -0
  505. package/docs/v1/basics/html.md +2 -0
  506. package/docs/v1/basics/objChecker.md +55 -0
  507. package/docs/v1/basics/objFilter.md +57 -86
  508. package/docs/v1/basics/promiseUtils.md +12 -3
  509. package/docs/v1/basics/text.md +0 -1
  510. package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
  511. package/docs/v1/libs/fs/TinyFS.md +752 -0
  512. package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
  513. package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
  514. package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
  515. package/docs/v1/libs/plugin/TinyVersion.md +145 -0
  516. package/docs/v1/libs/router/TinyRouter.md +216 -0
  517. package/docs/v1/libs/storage/TinyMapCache.md +219 -0
  518. package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
  519. package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
  520. package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
  521. package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
  522. package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
  523. package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
  524. package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
  525. package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
  526. package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
  527. package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
  528. package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
  529. package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
  530. package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
  531. package/docs/v1/libs/text/TinyI18.md +80 -56
  532. package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
  533. package/docs/v1/libs/tools/TinyDebugger.md +117 -1
  534. package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
  535. package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
  536. package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
  537. package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
  538. package/docs/v1/libs/tools/TinySiteMap.md +134 -0
  539. package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
  540. package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
  541. package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
  542. package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
  543. package/docs/v1/libs/tools/TinyUriParser.md +128 -0
  544. package/docs/v1/libs/utils/TinyCloner.md +126 -0
  545. package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
  546. package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
  547. package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
  548. package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
  549. package/docs/v1/regexp/Email.md +127 -0
  550. package/docs/v1/regexp/Glob.md +155 -0
  551. package/docs/v1/regexp/IPv4.md +103 -0
  552. package/docs/v1/regexp/IPv6.md +122 -0
  553. package/docs/v1/regexp/SegmentExtractor.md +120 -0
  554. package/docs/v1/regexp/UrlDetector.md +117 -0
  555. package/docs/v1/regexp/Username/Base.md +131 -0
  556. package/docs/v1/regexp/Username/Discord.md +267 -0
  557. package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
  558. package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +569 -0
  559. package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +174 -0
  560. package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
  561. package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
  562. package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
  563. package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
  564. package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
  565. package/package.json +313 -18
  566. package/types/EventEmitter.d.ts +48 -0
  567. package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
@@ -0,0 +1,346 @@
1
+ 'use strict';
2
+
3
+ var TinyPlugin = require('../../plugin/TinyPlugin.cjs');
4
+
5
+ /**
6
+ * The data payload contained within the message.
7
+ * @typedef {any} MessagePayload
8
+ */
9
+
10
+ /**
11
+ * A function that handles the actual postMessage call back to the main thread.
12
+ * @callback MessageApiReply
13
+ * @param {string} type - The type identifier for the api reply message.
14
+ * @param {MessagePayload} [data] - The payload to be sent in the api reply.
15
+ * @param {number} [timeout=10000] - Wait time.
16
+ * @returns {Promise<any>}
17
+ */
18
+
19
+ /**
20
+ * @typedef {Object} ApiHandlerOptions
21
+ * @property {MessagePayload} [data] - The payload received from the main thread.
22
+ * @property {string} correlationId - The request ID.
23
+ */
24
+
25
+ /**
26
+ * @callback ApiHandlerCallback
27
+ * @param {ApiHandlerOptions} options - Options for the API handler.
28
+ * @returns {Promise<MessagePayload|undefined> | (MessagePayload|undefined)} The response payload.
29
+ */
30
+
31
+ /**
32
+ * An enriched message object containing the event and utility methods for responding.
33
+ * @typedef {Object} MessageObj
34
+ * @property {string} type - The identifier for the message type.
35
+ * @property {MessageEvent} event - The original message event.
36
+ * @property {MessagePayload} [data] - The payload sent within the message.
37
+ */
38
+
39
+ /**
40
+ * A callback function executed when a registered message type is received.
41
+ * @callback MessageCallback
42
+ * @param {MessageObj} msg - The enriched message data object.
43
+ */
44
+
45
+ /** @type {DedicatedWorkerGlobalScope} */
46
+ // @ts-ignore
47
+ const workerScope = self;
48
+
49
+ /**
50
+ * The reserved message type used by the engine to announce that it is ready to receive messages.
51
+ * @type {string}
52
+ */
53
+ const READY_EVENT_TYPE = 'ww:EngineReady';
54
+
55
+ /**
56
+ * A function used to install a plugin into the engine.
57
+ * @template {TinyPluginLayer} Layer
58
+ * @template {string} IdString
59
+ * @template {string} VersionString
60
+ * @template {any[]} Options
61
+ * @typedef {import('../../plugin/TinyPlugin.mjs').TinyPluginInstaller<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>} SwPluginInstaller
62
+ */
63
+
64
+ /**
65
+ * Represents a plugin instance designed to be integrated into a TinyWebWorkerEngine.
66
+ * @template {TinyPluginLayer} Layer
67
+ * @template {string} IdString
68
+ * @template {string} VersionString
69
+ * @template {any[]} Options
70
+ * @typedef {TinyPlugin<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>} TinyServiceWorkerPlugin
71
+ */
72
+
73
+ /**
74
+ * Manages the lifecycle and execution of modules inside a Dedicated Web Worker.
75
+ */
76
+ class TinyWebWorkerEngine extends TinyPlugin.TinyPluginCore {
77
+ /**
78
+ * Validates if an event type is a reserved name for the internal lifecycle.
79
+ * @param {string} type - The name of the event to validate.
80
+ * @throws {TypeError} If the event name is in the reserved list.
81
+ */
82
+ static #validateEventType(type) {
83
+ if (type.startsWith('ww:')) {
84
+ throw new TypeError(
85
+ `The event type "${type}" is reserved for internal Web Worker lifecycle management.`,
86
+ );
87
+ }
88
+ }
89
+
90
+ /** @type {Map<string, ApiHandlerCallback>} */
91
+ #apiHandlers = new Map();
92
+
93
+ /** @type {Map<string, MessageCallback>} */
94
+ #messages = new Map();
95
+
96
+ /** @type {Map<string, {resolve: (value: any) => void, reject: (reason: Error) => void, timer: NodeJS.Timeout}>} */
97
+ #pendingRequests = new Map();
98
+
99
+ /** @type {boolean} */
100
+ #started = false;
101
+
102
+ /**
103
+ * Indicates if the engine has been initialized.
104
+ * @returns {boolean} True if started, false otherwise.
105
+ */
106
+ get started() {
107
+ return this.#started;
108
+ }
109
+
110
+ /**
111
+ * Initializes a new instance of the TinyWebWorkerEngine.
112
+ * @param {Object} [lgConfig] - Configuration options for the instance.
113
+ * @param {boolean} [lgConfig.debugMode=false] - Whether to enable internal debug logging.
114
+ * @param {boolean} [lgConfig.useLogColors=false] - Whether to enable log color support.
115
+ * @param {Partial<Console>} [lgConfig.logger=console] - A custom logger object.
116
+ */
117
+ constructor(lgConfig = {}) {
118
+ super({
119
+ logCfg: {
120
+ id: '[_main_class_TinyWW-Engine_reset_]',
121
+ logger: lgConfig.logger ?? console,
122
+ debugMode: lgConfig.debugMode ?? false,
123
+ useLogColors: lgConfig.useLogColors ?? false,
124
+ },
125
+ });
126
+ }
127
+
128
+ /**
129
+ * Registers a handler for API calls coming from the main thread.
130
+ * @param {string} type - The identifier for the call.
131
+ * @param {ApiHandlerCallback} callback - Function that processes the request and returns a payload.
132
+ * @throws {TypeError} If callback is not a function.
133
+ */
134
+ onApi(type, callback) {
135
+ if (typeof callback !== 'function') throw new TypeError('Callback must be a function.');
136
+ this.#apiHandlers.set(type, callback);
137
+ }
138
+
139
+ /**
140
+ * Removes a registered API handler.
141
+ * @param {string} type - The identifier for the call.
142
+ * @returns {boolean} True if the handler was removed.
143
+ */
144
+ offApi(type) {
145
+ return this.#apiHandlers.delete(type);
146
+ }
147
+
148
+ /**
149
+ * Adds a message listener for unidirectional messages.
150
+ * @param {string} type - The identifier for the message type.
151
+ * @param {MessageCallback} callback - The callback to execute.
152
+ * @throws {TypeError} If callback is not a function.
153
+ */
154
+ addMessageListener(type, callback) {
155
+ if (typeof callback !== 'function') throw new TypeError('Callback must be a function.');
156
+ this.#messages.set(type, callback);
157
+ }
158
+
159
+ /**
160
+ * Removes a message listener.
161
+ * @param {string} type - The identifier for the message type.
162
+ * @returns {boolean} True if the listener was removed.
163
+ */
164
+ removeMessageListener(type) {
165
+ return this.#messages.delete(type);
166
+ }
167
+
168
+ /**
169
+ * Sends a unidirectional message to the main thread.
170
+ *
171
+ * Note: this intentionally reuses the `emit` name with a message-oriented
172
+ * signature. The rest parameter keeps it assignable to the inherited
173
+ * `EventEmitter.emit` contract.
174
+ *
175
+ * @override
176
+ * @param {string} type - The identifier for the message type.
177
+ * @param {...any} args - The data content (only the first argument is used).
178
+ * @returns {boolean} Always true when the message is dispatched.
179
+ * @throws {TypeError} If type is not a string or data is invalid.
180
+ */
181
+ emit(type, ...args) {
182
+ const data = args[0];
183
+ if (typeof type !== 'string') throw new TypeError('type must be a string.');
184
+ if (
185
+ typeof data !== 'undefined' &&
186
+ (Array.isArray(data) || typeof data !== 'object' || data === null)
187
+ ) {
188
+ throw new TypeError('data must be a non-null object.');
189
+ }
190
+
191
+ TinyWebWorkerEngine.#validateEventType(type);
192
+ workerScope.postMessage({ type, data });
193
+ return true;
194
+ }
195
+
196
+ /**
197
+ * Sends a request to the main thread and waits for a response.
198
+ * @param {string} type - The identifier for the call.
199
+ * @param {MessagePayload} [data] - The request payload.
200
+ * @param {number} [timeout=10000] - Maximum waiting time in milliseconds.
201
+ * @returns {Promise<any>} A promise that resolves with the result object.
202
+ * @throws {Error} If the timeout is reached.
203
+ */
204
+ async emitApi(type, data, timeout = 10000) {
205
+ const correlationId = crypto.randomUUID();
206
+
207
+ return new Promise((resolve, reject) => {
208
+ const timer = setTimeout(() => {
209
+ if (this.#pendingRequests.has(correlationId)) {
210
+ this.#pendingRequests.delete(correlationId);
211
+ reject(new Error(`API timeout: ${type}`));
212
+ }
213
+ }, timeout);
214
+
215
+ this.#pendingRequests.set(correlationId, { resolve, reject, timer });
216
+
217
+ workerScope.postMessage({
218
+ type,
219
+ data,
220
+ correlationId,
221
+ isApi: true,
222
+ });
223
+ });
224
+ }
225
+
226
+ /**
227
+ * Initializes the Web Worker event listeners.
228
+ * @returns {void}
229
+ * @throws {Error} If the engine has already been started.
230
+ */
231
+ init() {
232
+ if (this.#started) throw new Error('TinyWebWorkerEngine is already initialized.');
233
+
234
+ workerScope.addEventListener('message', (event) => {
235
+ const payload = event.data;
236
+
237
+ // Strict validation
238
+ if (Array.isArray(payload) || typeof payload !== 'object' || payload === null) return;
239
+ if (typeof payload.type !== 'string') return;
240
+ if (
241
+ typeof payload.data !== 'undefined' &&
242
+ (Array.isArray(payload.data) || typeof payload.data !== 'object' || payload.data === null)
243
+ )
244
+ return;
245
+
246
+ const { type, data, correlationId, isApi, error } = payload;
247
+
248
+ // 1. Handle API responses coming from the Main Thread
249
+ if (type === 'ww:ApiResponse') {
250
+ if (typeof correlationId !== 'string') {
251
+ this.log('error', 'Received API response with missing or invalid "correlationId".');
252
+ return;
253
+ }
254
+ const pending = this.#pendingRequests.get(correlationId);
255
+ if (pending) {
256
+ clearTimeout(pending.timer);
257
+ this.#pendingRequests.delete(correlationId);
258
+ if (error) {
259
+ pending.reject(new Error(error));
260
+ } else {
261
+ pending.resolve(data);
262
+ }
263
+ }
264
+ return;
265
+ }
266
+
267
+ // 2. Handle API calls coming from the Main Thread
268
+ if (isApi === true) {
269
+ if (typeof correlationId !== 'string') {
270
+ this.log('error', 'Received API request with missing or invalid "correlationId".');
271
+ return;
272
+ }
273
+
274
+ const handler = this.#apiHandlers.get(type);
275
+ if (!handler) {
276
+ workerScope.postMessage({
277
+ correlationId,
278
+ type: 'ww:ApiResponse',
279
+ error: `No API handler registered in worker for type: ${type}`,
280
+ });
281
+ return;
282
+ }
283
+
284
+ try {
285
+ /** @param {MessagePayload} [r] */
286
+ const sendResult = (r) =>
287
+ workerScope.postMessage({
288
+ correlationId,
289
+ type: 'ww:ApiResponse',
290
+ data: r,
291
+ });
292
+
293
+ const result = handler({
294
+ data,
295
+ correlationId,
296
+ });
297
+
298
+ if (result instanceof Promise) {
299
+ result.then(sendResult).catch((err) => {
300
+ workerScope.postMessage({
301
+ correlationId,
302
+ type: 'ww:ApiResponse',
303
+ error: err instanceof Error ? err.message : String(err),
304
+ });
305
+ });
306
+ } else {
307
+ sendResult(result);
308
+ }
309
+ } catch (err) {
310
+ workerScope.postMessage({
311
+ correlationId,
312
+ type: 'ww:ApiResponse',
313
+ error: err instanceof Error ? err.message : String(err),
314
+ });
315
+ }
316
+ return;
317
+ }
318
+
319
+ // 3. Handle standard unidirectional messages
320
+ const messageHandler = this.#messages.get(type);
321
+
322
+ /** @type {MessageObj} */
323
+ const msgData = { type, event, data };
324
+ super.emit('beforeMessage', msgData);
325
+
326
+ if (messageHandler) {
327
+ try {
328
+ messageHandler(msgData);
329
+ } catch (err) {
330
+ this.log('error', `Error executing handler for message type "${type}":`, err);
331
+ super.emit('messageError', { type, error: err, data: msgData });
332
+ }
333
+ }
334
+ super.emit('afterMessage', msgData);
335
+ });
336
+
337
+ this.#started = true;
338
+ this.log('info', 'Web Worker Engine initialized.');
339
+
340
+ // NOTE: workerScope.postMessage is called directly on purpose.
341
+ // The public emit() method rejects every "ww:" prefixed type, and this signal is internal.
342
+ workerScope.postMessage({ type: READY_EVENT_TYPE });
343
+ }
344
+ }
345
+
346
+ module.exports = TinyWebWorkerEngine;
@@ -0,0 +1,127 @@
1
+ import { TinyPluginCore, TinyPlugin, TinyPluginLayer } from '../../plugin/TinyPlugin.mjs';
2
+ export type MessagePayload = any;
3
+ export type MessageApiReply = (type: string, data?: MessagePayload, timeout?: number) => Promise<any>;
4
+ export type ApiHandlerOptions = {
5
+ /**
6
+ * - The payload received from the main thread.
7
+ */
8
+ data?: MessagePayload;
9
+ /**
10
+ * - The request ID.
11
+ */
12
+ correlationId: string;
13
+ };
14
+ export type ApiHandlerCallback = (options: ApiHandlerOptions) => Promise<MessagePayload | undefined> | (MessagePayload | undefined);
15
+ export type MessageObj = {
16
+ /**
17
+ * - The identifier for the message type.
18
+ */
19
+ type: string;
20
+ /**
21
+ * - The original message event.
22
+ */
23
+ event: MessageEvent;
24
+ /**
25
+ * - The payload sent within the message.
26
+ */
27
+ data?: MessagePayload;
28
+ };
29
+ export type MessageCallback = (msg: MessageObj) => any;
30
+ export type SwPluginInstaller<Layer extends TinyPluginLayer, IdString extends string, VersionString extends string, Options extends any[]> = import('../../plugin/TinyPlugin.mjs').TinyPluginInstaller<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>;
31
+ export type TinyServiceWorkerPlugin<Layer extends TinyPluginLayer, IdString extends string, VersionString extends string, Options extends any[]> = TinyPlugin<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>;
32
+ /**
33
+ * A function used to install a plugin into the engine.
34
+ * @template {TinyPluginLayer} Layer
35
+ * @template {string} IdString
36
+ * @template {string} VersionString
37
+ * @template {any[]} Options
38
+ * @typedef {import('../../plugin/TinyPlugin.mjs').TinyPluginInstaller<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>} SwPluginInstaller
39
+ */
40
+ /**
41
+ * Represents a plugin instance designed to be integrated into a TinyWebWorkerEngine.
42
+ * @template {TinyPluginLayer} Layer
43
+ * @template {string} IdString
44
+ * @template {string} VersionString
45
+ * @template {any[]} Options
46
+ * @typedef {TinyPlugin<TinyWebWorkerEngine, Layer, IdString, VersionString, Options>} TinyServiceWorkerPlugin
47
+ */
48
+ /**
49
+ * Manages the lifecycle and execution of modules inside a Dedicated Web Worker.
50
+ */
51
+ declare class TinyWebWorkerEngine extends TinyPluginCore {
52
+ #private;
53
+ /**
54
+ * Indicates if the engine has been initialized.
55
+ * @returns {boolean} True if started, false otherwise.
56
+ */
57
+ get started(): boolean;
58
+ /**
59
+ * Initializes a new instance of the TinyWebWorkerEngine.
60
+ * @param {Object} [lgConfig] - Configuration options for the instance.
61
+ * @param {boolean} [lgConfig.debugMode=false] - Whether to enable internal debug logging.
62
+ * @param {boolean} [lgConfig.useLogColors=false] - Whether to enable log color support.
63
+ * @param {Partial<Console>} [lgConfig.logger=console] - A custom logger object.
64
+ */
65
+ constructor(lgConfig?: {
66
+ debugMode?: boolean;
67
+ useLogColors?: boolean;
68
+ logger?: Partial<Console>;
69
+ });
70
+ /**
71
+ * Registers a handler for API calls coming from the main thread.
72
+ * @param {string} type - The identifier for the call.
73
+ * @param {ApiHandlerCallback} callback - Function that processes the request and returns a payload.
74
+ * @throws {TypeError} If callback is not a function.
75
+ */
76
+ onApi(type: string, callback: ApiHandlerCallback): void;
77
+ /**
78
+ * Removes a registered API handler.
79
+ * @param {string} type - The identifier for the call.
80
+ * @returns {boolean} True if the handler was removed.
81
+ */
82
+ offApi(type: string): boolean;
83
+ /**
84
+ * Adds a message listener for unidirectional messages.
85
+ * @param {string} type - The identifier for the message type.
86
+ * @param {MessageCallback} callback - The callback to execute.
87
+ * @throws {TypeError} If callback is not a function.
88
+ */
89
+ addMessageListener(type: string, callback: MessageCallback): void;
90
+ /**
91
+ * Removes a message listener.
92
+ * @param {string} type - The identifier for the message type.
93
+ * @returns {boolean} True if the listener was removed.
94
+ */
95
+ removeMessageListener(type: string): boolean;
96
+ /**
97
+ * Sends a unidirectional message to the main thread.
98
+ *
99
+ * Note: this intentionally reuses the `emit` name with a message-oriented
100
+ * signature. The rest parameter keeps it assignable to the inherited
101
+ * `EventEmitter.emit` contract.
102
+ *
103
+ * @override
104
+ * @param {string} type - The identifier for the message type.
105
+ * @param {...any} args - The data content (only the first argument is used).
106
+ * @returns {boolean} Always true when the message is dispatched.
107
+ * @throws {TypeError} If type is not a string or data is invalid.
108
+ */
109
+ emit(type: string, ...args: any[]): boolean;
110
+ /**
111
+ * Sends a request to the main thread and waits for a response.
112
+ * @param {string} type - The identifier for the call.
113
+ * @param {MessagePayload} [data] - The request payload.
114
+ * @param {number} [timeout=10000] - Maximum waiting time in milliseconds.
115
+ * @returns {Promise<any>} A promise that resolves with the result object.
116
+ * @throws {Error} If the timeout is reached.
117
+ */
118
+ emitApi(type: string, data?: MessagePayload, timeout?: number): Promise<any>;
119
+ /**
120
+ * Initializes the Web Worker event listeners.
121
+ * @returns {void}
122
+ * @throws {Error} If the engine has already been started.
123
+ */
124
+ init(): void;
125
+ }
126
+ export default TinyWebWorkerEngine;
127
+ //# sourceMappingURL=TinyWebWorkerEngine.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TinyWebWorkerEngine.d.mts","sourceRoot":"","sources":["../../../../../../src/v1/libs/worker/engine/TinyWebWorkerEngine.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAIvF,YAAe,cAAc,GAAnB,GAAG,CAAgB;AAK7B,YAAU,eAAe,GACzB,CAAgB,IAAI,EAAZ,MACR,EAAyB,IAAI,AAA7B,CACA,EADQ,cACR,EAAiB,OAAO,AAAxB,CACA,EADQ,MACR,KAAU,OAAO,CAAC,GAAG,CACvB,CAAA;AAGE,YAAkB,iBAAiB,GACnC;;;;IAA4B,IAAI,AAAhC,CACA,EADW,cAAc,CACzB;;;;IAAmB,aAAa,EAArB,MAAM,CACnB;CAAA,CAAA;AAGE,YAAU,kBAAkB,GAC5B,CAA2B,OAAO,EAA1B,iBACR,KAAU,OAAO,CAAC,cAAc,GAAC,SAAS,CAAC,GAAG,CAAC,cAAc,GAAC,SAAS,CACzE,CAAA;AAIE,YAAkB,UAAU,GAC5B;;;;IAAmB,IAAI,EAAZ,MAAM,CACjB;;;;IAAyB,KAAK,EAAnB,YAAY,CACvB;;;;IAA4B,IAAI,AAAhC,CACF,EADa,cAAc,CAC3B;CAAA,CAAA;AAIE,YAAU,eAAe,GACzB,CAAoB,GAAG,EAAf,UACV,QAAA,CAAA;AAkBE,YAAmI,iBAAiB,CAJxH,KAAK,SAAtB,eAAsB,EACd,QAAQ,SAAhB,MAAgB,EACR,aAAa,SAArB,MAAqB,EACd,OAAO,SAAd,GAAG,EAAW,IACf,OAAO,6BAA6B,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAmB;AASpJ,YAAoF,uBAAuB,CAJ/E,KAAK,SAAtB,eAAsB,EACd,QAAQ,SAAhB,MAAgB,EACR,aAAa,SAArB,MAAqB,EACd,OAAO,SAAd,GAAG,EAAW,IACf,UAAU,CAAC,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAyB;AAf9G;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AACH,cAAM,mBAAoB,SAAQ,cAAc;;IA0B9C;;;OAGG;IACH,IAAI,OAAO,IAFE,OAAO,CAInB;IAED;;;;;;OAMG;IACH,YAAY,QAAQ,AALjB,CAIF,EAHE;QAA2B,SAAS,AAApC,CACA,EADQ,OAAO,CACf;QAA2B,YAAY,AAAvC,CACA,EADQ,OAAO,CACf;QAAoC,MAAM,AAA1C,CACF,EADU,OAAO,CAAC,OAAO,CAAC,CAC1B;KACwB,EASxB;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAJC,MAID,EAAE,QAAQ,EAHT,kBAGS,QAGnB;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAHA,MAGA,GAFE,OAAO,CAInB;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAJZ,MAIY,EAAE,QAAQ,EAHtB,eAGsB,QAGhC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAHf,MAGe,GAFb,OAAO,CAInB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,IAAI,EALE,MAKF,EAAE,GAAG,IAAI,EAJJ,GAAG,EAIC,GAHL,OAAO,CAgBnB;IAED;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EANP,MAMO,EAAE,IAAI,AALrB,CACA,EADQ,cAKa,EAAE,OAAO,AAJ9B,CACA,EADQ,MAI8B,GAH5B,OAAO,CAAC,GAAG,CAAC,CAuBxB;IAED;;;;OAIG;IACH,IAAI,IAHS,IAAI,CAmHhB;CACF;eAEc,mBAAmB"}