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,260 @@
1
+ /**
2
+ * A highly professional utility to convert GLOB patterns into JavaScript RegExp objects,
3
+ * and decompile them back into GLOB strings.
4
+ *
5
+ * Supports standard features: '*', '**', '?', '[...]', '[!...]', '{a,b}', and '\' escaping.
6
+ */
7
+ /**
8
+ * Compiles a GLOB string pattern into a RegExp object.
9
+ *
10
+ * @param {string|string[]} globData - The GLOB pattern to compile.
11
+ * @property {boolean} [strict=true] - If true, throws SyntaxError on unbalanced brackets or braces.
12
+ * @returns {string[]} The resulting regular expression parsed into string array.
13
+ * @throws {TypeError} If globPattern or flags are not strings.
14
+ * @throws {SyntaxError} If the pattern has unmatched groups and strict mode is enabled.
15
+ */
16
+ export const compileGlob = (globData, strict = true) => {
17
+ if (typeof globData !== 'string' && !Array.isArray(globData)) {
18
+ throw new TypeError('GLOB pattern must be a string or an array of strings.');
19
+ }
20
+ if (Array.isArray(globData)) {
21
+ const allStrings = globData.every((item) => typeof item === 'string');
22
+ if (!allStrings) {
23
+ throw new TypeError('All elements in the GLOB array must be strings.');
24
+ }
25
+ }
26
+ if (typeof strict !== 'boolean') {
27
+ throw new TypeError('Strict mode must be a boolean.');
28
+ }
29
+ const globPattern = Array.isArray(globData) ? globData.join('') : globData;
30
+ const regexString = ['^'];
31
+ let i = 0;
32
+ let inGroup = false;
33
+ let inBracket = false;
34
+ while (i < globPattern.length) {
35
+ const char = globPattern[i];
36
+ // Handle explicit escaping
37
+ if (char === '\\') {
38
+ const nextChar = globPattern[i + 1] || '';
39
+ regexString.push('\\' + nextChar);
40
+ i += 2;
41
+ continue;
42
+ }
43
+ // Handle character classes [...]
44
+ if (inBracket) {
45
+ if (char === ']') {
46
+ inBracket = false;
47
+ regexString.push(']');
48
+ }
49
+ else if (char === '!' && globPattern[i - 1] === '[') {
50
+ // Translate GLOB negation [!a] to RegExp negation [^a]
51
+ regexString.push('^');
52
+ }
53
+ else {
54
+ regexString.push(char);
55
+ }
56
+ i++;
57
+ continue;
58
+ }
59
+ // Handle standard GLOB characters and escape RegExp specials
60
+ switch (char) {
61
+ // Escape RegExp syntax characters that have no meaning in GLOB
62
+ case '/':
63
+ case '$':
64
+ case '^':
65
+ case '+':
66
+ case '.':
67
+ case '(':
68
+ case ')':
69
+ case '=':
70
+ case '!':
71
+ case '|':
72
+ regexString.push('\\' + char);
73
+ break;
74
+ // Match a single character (excluding path separators)
75
+ case '?':
76
+ regexString.push('[^/]');
77
+ break;
78
+ // Start character class
79
+ case '[':
80
+ inBracket = true;
81
+ regexString.push(char);
82
+ break;
83
+ // Literal closing bracket if it wasn't opened
84
+ case ']':
85
+ regexString.push('\\]');
86
+ break;
87
+ // Start an alternation group {a,b}
88
+ case '{':
89
+ inGroup = true;
90
+ regexString.push('(');
91
+ break;
92
+ // Close an alternation group
93
+ case '}':
94
+ if (inGroup) {
95
+ inGroup = false;
96
+ regexString.push(')');
97
+ }
98
+ else {
99
+ regexString.push('\\}');
100
+ }
101
+ break;
102
+ // Separator inside alternation group
103
+ case ',':
104
+ regexString.push(inGroup ? '|' : '\\,');
105
+ break;
106
+ // Handle wildcards (* and **)
107
+ case '*':
108
+ let starCount = 1;
109
+ while (globPattern[i + 1] === '*') {
110
+ starCount++;
111
+ i++;
112
+ }
113
+ if (starCount > 1) {
114
+ // '**' matches anything, including path separators
115
+ regexString.push('.*');
116
+ }
117
+ else {
118
+ // '*' matches anything except path separators
119
+ regexString.push('[^/]*');
120
+ }
121
+ break;
122
+ // Literal characters
123
+ default:
124
+ regexString.push(char);
125
+ }
126
+ i++;
127
+ }
128
+ // Strict validations for unclosed syntax
129
+ if (strict) {
130
+ if (inBracket)
131
+ throw new SyntaxError('Unmatched bracket "[" in GLOB pattern.');
132
+ if (inGroup)
133
+ throw new SyntaxError('Unmatched brace "{" in GLOB pattern.');
134
+ }
135
+ // Anchor to the end of the string
136
+ regexString.push('$');
137
+ return regexString;
138
+ };
139
+ /**
140
+ * Compiles a GLOB string pattern into a RegExp object.
141
+ *
142
+ * @param {string} globPattern - The GLOB pattern to compile.
143
+ * @param {string} [flags=''] - Optional RegExp flags (e.g., 'i', 'g', 'm').
144
+ * @property {boolean} [strict=true] - If true, throws SyntaxError on unbalanced brackets or braces.
145
+ * @returns {RegExp} The resulting regular expression.
146
+ * @throws {TypeError} If globPattern or flags are not strings.
147
+ * @throws {SyntaxError} If the pattern has unmatched groups and strict mode is enabled.
148
+ */
149
+ export const compileGlobRegExp = (globPattern, flags = '', strict = true) => {
150
+ if (typeof flags !== 'string') {
151
+ throw new TypeError('RegExp flags must be a string.');
152
+ }
153
+ return new RegExp(compileGlob(globPattern, strict).join(''), flags);
154
+ };
155
+ /**
156
+ * Decompiles a glob data back into a GLOB string pattern.
157
+ * Note: This method is designed specifically for values generated by this file compiler method.
158
+ *
159
+ * @param {RegExp|string|string[]} regexp - The regular expression to decompile.
160
+ * @returns {string[]} The reconstructed GLOB pattern.
161
+ * @throws {TypeError} If the argument is not a valid RegExp instance or string.
162
+ */
163
+ export const decompileGlob = (regexp) => {
164
+ if (!(regexp instanceof RegExp) &&
165
+ typeof regexp !== 'string' &&
166
+ (!Array.isArray(regexp) || !regexp.every((v) => typeof v === 'string'))) {
167
+ throw new TypeError('Argument must be a RegExp instance or string stuff.');
168
+ }
169
+ let source = typeof regexp === 'string' ? regexp : Array.isArray(regexp) ? regexp.join('') : regexp.source;
170
+ const globPattern = [];
171
+ // Remove the strict start and end anchors that the compiler adds
172
+ if (source.startsWith('^')) {
173
+ source = source.slice(1);
174
+ }
175
+ if (source.endsWith('$')) {
176
+ source = source.slice(0, -1);
177
+ }
178
+ let i = 0;
179
+ while (i < source.length) {
180
+ const char = source[i];
181
+ // Handle escaped characters (e.g., '\/' becomes '/', '\.' becomes '.')
182
+ if (char === '\\') {
183
+ const nextChar = source[i + 1] || '';
184
+ globPattern.push(nextChar);
185
+ i += 2;
186
+ continue;
187
+ }
188
+ // Handle '**' wildcard (compiled as '.*')
189
+ if (char === '.') {
190
+ if (source[i + 1] === '*') {
191
+ globPattern.push('**');
192
+ i += 2;
193
+ continue;
194
+ }
195
+ }
196
+ if (char === '[') {
197
+ // Handle '*' wildcard (compiled as '[^/]*')
198
+ if (source.slice(i, i + 5) === '[^/]*') {
199
+ globPattern.push('*');
200
+ i += 5;
201
+ continue;
202
+ }
203
+ // Handle '?' wildcard (compiled as '[^/]')
204
+ if (source.slice(i, i + 4) === '[^/]') {
205
+ globPattern.push('?');
206
+ i += 4;
207
+ continue;
208
+ }
209
+ // Handle negation inside brackets (compiled from '[!' to '[^')
210
+ if (source[i + 1] === '^') {
211
+ globPattern.push('[!');
212
+ i += 2;
213
+ continue;
214
+ }
215
+ }
216
+ // Restore alternation groups '{a,b}' (compiled as '(a|b)')
217
+ if (char === '(') {
218
+ globPattern.push('{');
219
+ i++;
220
+ continue;
221
+ }
222
+ if (char === '|') {
223
+ globPattern.push(',');
224
+ i++;
225
+ continue;
226
+ }
227
+ if (char === ')') {
228
+ globPattern.push('}');
229
+ i++;
230
+ continue;
231
+ }
232
+ // Literal character appending
233
+ globPattern.push(char);
234
+ i++;
235
+ }
236
+ return globPattern;
237
+ };
238
+ /**
239
+ * Validates if a given pattern is a syntactically correct GLOB string.
240
+ *
241
+ * @param {string|string[]} globPattern - The pattern to validate.
242
+ * @returns {boolean} True if the pattern is syntactically valid, false otherwise.
243
+ * @throws {TypeError} If the input is not a string or an array of strings.
244
+ */
245
+ export const isValidGlob = (globPattern) => {
246
+ try {
247
+ // 1. Attempt to compile the pattern using the existing strict logic.
248
+ // If the syntax is broken, compileGlob will throw a SyntaxError.
249
+ compileGlob(globPattern, true);
250
+ return true;
251
+ }
252
+ catch (error) {
253
+ // 2. If the error is a SyntaxError, the pattern is mathematically/syntactically invalid.
254
+ if (error instanceof SyntaxError) {
255
+ return false;
256
+ }
257
+ // 3. If it's any other error, re-throw it to avoid masking potential bugs.
258
+ throw error;
259
+ }
260
+ };
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ // Credits: https://oneuptime.com/blog/post/2026-03-20-validate-ipv4-regex-javascript/view
4
+
5
+ // Each octet matches 0-255 without leading zeros (except "0" itself)
6
+ const octet = '(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)';
7
+
8
+ /**
9
+ * Generates a regular expression that matches a standard IPv4 address.
10
+ * The pattern ensures the string contains exactly four octets ranging from 0 to 255, separated by periods.
11
+ * @returns {RegExp}
12
+ */
13
+ function ipv4Regex() {
14
+ return new RegExp(`^${octet}\\.${octet}\\.${octet}\\.${octet}$`);
15
+ }
16
+
17
+ /**
18
+ * Validates whether a given input string is a correctly formatted IPv4 address.
19
+ * It checks the string against the IPv4 regular expression pattern and returns a boolean result.
20
+ * @param {string} s - The input string to be validated.
21
+ * @param {RegExp} [regex] - The regex used to execute the function.
22
+ * @returns {boolean} - True if the string is a valid IPv4 address, false otherwise.
23
+ */
24
+ function isValidIPv4(s, regex) {
25
+ if (typeof s !== 'string') {
26
+ throw new TypeError('The input must be a string.');
27
+ }
28
+ return (regex ?? ipv4Regex()).test(s);
29
+ }
30
+
31
+ /**
32
+ * Creates a global regular expression used to locate IPv4 addresses within a larger block of text.
33
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
34
+ * @returns {RegExp}
35
+ */
36
+ function findIPv4Regex() {
37
+ return new RegExp(`\\b${octet}(?:\\.${octet}){3}\\b`, 'g');
38
+ }
39
+
40
+ /**
41
+ * Scans the provided text and extracts all occurrences of IPv4 addresses.
42
+ * This function uses a global regular expression to find multiple matches within the input.
43
+ * @param {string} text - The input text content to be searched.
44
+ * @param {RegExp} [regex] - The regex used to execute the function.
45
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
46
+ */
47
+ function extractIPsV4(text, regex) {
48
+ if (typeof text !== 'string') {
49
+ throw new TypeError('The input must be a string.');
50
+ }
51
+ return text.match(regex ?? findIPv4Regex()) ?? [];
52
+ }
53
+
54
+ exports.extractIPsV4 = extractIPsV4;
55
+ exports.findIPv4Regex = findIPv4Regex;
56
+ exports.ipv4Regex = ipv4Regex;
57
+ exports.isValidIPv4 = isValidIPv4;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Generates a regular expression that matches a standard IPv4 address.
3
+ * The pattern ensures the string contains exactly four octets ranging from 0 to 255, separated by periods.
4
+ * @returns {RegExp}
5
+ */
6
+ export declare function ipv4Regex(): RegExp;
7
+ /**
8
+ * Validates whether a given input string is a correctly formatted IPv4 address.
9
+ * It checks the string against the IPv4 regular expression pattern and returns a boolean result.
10
+ * @param {string} s - The input string to be validated.
11
+ * @param {RegExp} [regex] - The regex used to execute the function.
12
+ * @returns {boolean} - True if the string is a valid IPv4 address, false otherwise.
13
+ */
14
+ export declare function isValidIPv4(s: string, regex?: RegExp): boolean;
15
+ /**
16
+ * Creates a global regular expression used to locate IPv4 addresses within a larger block of text.
17
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
18
+ * @returns {RegExp}
19
+ */
20
+ export declare function findIPv4Regex(): RegExp;
21
+ /**
22
+ * Scans the provided text and extracts all occurrences of IPv4 addresses.
23
+ * This function uses a global regular expression to find multiple matches within the input.
24
+ * @param {string} text - The input text content to be searched.
25
+ * @param {RegExp} [regex] - The regex used to execute the function.
26
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
27
+ */
28
+ export declare function extractIPsV4(text: string, regex?: RegExp): string[];
29
+ //# sourceMappingURL=Ipv4.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ipv4.d.mts","sourceRoot":"","sources":["../../../src/v1/regexp/Ipv4.mjs"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,SAAS,IAFZ,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAJlB,MAIkB,EAAE,KAAK,AAHjC,CACA,EADQ,MAGyB,GAFvB,OAAO,CAOnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAFhB,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAJtB,MAIsB,EAAE,KAAK,AAHrC,CACA,EADQ,MAG6B,GAF3B,MAAM,EAAE,CAOpB"}
@@ -0,0 +1,45 @@
1
+ // Credits: https://oneuptime.com/blog/post/2026-03-20-validate-ipv4-regex-javascript/view
2
+ // Each octet matches 0-255 without leading zeros (except "0" itself)
3
+ const octet = '(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)';
4
+ /**
5
+ * Generates a regular expression that matches a standard IPv4 address.
6
+ * The pattern ensures the string contains exactly four octets ranging from 0 to 255, separated by periods.
7
+ * @returns {RegExp}
8
+ */
9
+ export function ipv4Regex() {
10
+ return new RegExp(`^${octet}\\.${octet}\\.${octet}\\.${octet}$`);
11
+ }
12
+ /**
13
+ * Validates whether a given input string is a correctly formatted IPv4 address.
14
+ * It checks the string against the IPv4 regular expression pattern and returns a boolean result.
15
+ * @param {string} s - The input string to be validated.
16
+ * @param {RegExp} [regex] - The regex used to execute the function.
17
+ * @returns {boolean} - True if the string is a valid IPv4 address, false otherwise.
18
+ */
19
+ export function isValidIPv4(s, regex) {
20
+ if (typeof s !== 'string') {
21
+ throw new TypeError('The input must be a string.');
22
+ }
23
+ return (regex ?? ipv4Regex()).test(s);
24
+ }
25
+ /**
26
+ * Creates a global regular expression used to locate IPv4 addresses within a larger block of text.
27
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
28
+ * @returns {RegExp}
29
+ */
30
+ export function findIPv4Regex() {
31
+ return new RegExp(`\\b${octet}(?:\\.${octet}){3}\\b`, 'g');
32
+ }
33
+ /**
34
+ * Scans the provided text and extracts all occurrences of IPv4 addresses.
35
+ * This function uses a global regular expression to find multiple matches within the input.
36
+ * @param {string} text - The input text content to be searched.
37
+ * @param {RegExp} [regex] - The regex used to execute the function.
38
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
39
+ */
40
+ export function extractIPsV4(text, regex) {
41
+ if (typeof text !== 'string') {
42
+ throw new TypeError('The input must be a string.');
43
+ }
44
+ return text.match(regex ?? findIPv4Regex()) ?? [];
45
+ }
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ // Credits: https://oneuptime.com/blog/post/2026-03-20-validate-ipv4-regex-javascript/view
4
+ // Note: IPv6 logic is significantly more complex due to hexadecimal format and zero compression (::).
5
+
6
+ /**
7
+ * Matches a single hexadecimal group (1 to 4 hex digits).
8
+ * @type {string}
9
+ */
10
+ const hexGroup = '[0-9a-fA-F]{1,4}';
11
+
12
+ /**
13
+ * A pattern to match standard IPv6 addresses.
14
+ * @type {string}
15
+ */
16
+ const ipv6Pattern = `((${hexGroup}:){7}${hexGroup}|(${hexGroup}:){1,7}:|(${hexGroup}:){1,6}:${hexGroup}|(${hexGroup}:){1,5}(:${hexGroup}){1,2}|(${hexGroup}:){1,4}(:${hexGroup}){1,3}|(${hexGroup}:){1,3}(:${hexGroup}){1,4}|(${hexGroup}:){1,2}(:${hexGroup}){1,5}|${hexGroup}:((:${hexGroup}){1,6})|:((:${hexGroup}){1,7}|:))`;
17
+
18
+ /**
19
+ * Generates a regular expression that matches a standard IPv6 address.
20
+ * @returns {RegExp}
21
+ */
22
+ function ipv6Regex() {
23
+ return new RegExp(`^${ipv6Pattern}$`);
24
+ }
25
+
26
+ /**
27
+ * Validates whether a given input string is a correctly formatted IPv6 address.
28
+ * @param {string} s - The input string to be validated.
29
+ * @param {RegExp} [regex] - The regex used to execute the function.
30
+ * @throws {TypeError} If the input is not a string.
31
+ * @returns {boolean} - True if the string is a valid IPv6 address, false otherwise.
32
+ */
33
+ function isValidIPv6(s, regex) {
34
+ if (typeof s !== 'string') {
35
+ throw new TypeError('The input must be a string.');
36
+ }
37
+ return (regex ?? ipv6Regex()).test(s);
38
+ }
39
+
40
+ /**
41
+ * Creates a global regular expression used to locate IPv6 addresses within a larger block of text.
42
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
43
+ * @returns {RegExp}
44
+ */
45
+ function findIPv6Regex() {
46
+ return new RegExp(`\\b${ipv6Pattern}\\b`, 'g');
47
+ }
48
+
49
+ /**
50
+ * Scans the provided text and extracts all occurrences of IPv6 addresses.
51
+ * This function uses a global regular expression to find multiple matches within the input.
52
+ * @param {string} text - The input text content to be searched.
53
+ * @param {RegExp} [regex] - The regex used to execute the function.
54
+ * @throws {TypeError} If the input is not a string.
55
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
56
+ */
57
+ function extractIPsV6(text, regex) {
58
+ if (typeof text !== 'string') {
59
+ throw new TypeError('The input must be a string.');
60
+ }
61
+ return text.match(regex ?? findIPv6Regex()) ?? [];
62
+ }
63
+
64
+ exports.extractIPsV6 = extractIPsV6;
65
+ exports.findIPv6Regex = findIPv6Regex;
66
+ exports.ipv6Regex = ipv6Regex;
67
+ exports.isValidIPv6 = isValidIPv6;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Generates a regular expression that matches a standard IPv6 address.
3
+ * @returns {RegExp}
4
+ */
5
+ export declare function ipv6Regex(): RegExp;
6
+ /**
7
+ * Validates whether a given input string is a correctly formatted IPv6 address.
8
+ * @param {string} s - The input string to be validated.
9
+ * @param {RegExp} [regex] - The regex used to execute the function.
10
+ * @throws {TypeError} If the input is not a string.
11
+ * @returns {boolean} - True if the string is a valid IPv6 address, false otherwise.
12
+ */
13
+ export declare function isValidIPv6(s: string, regex?: RegExp): boolean;
14
+ /**
15
+ * Creates a global regular expression used to locate IPv6 addresses within a larger block of text.
16
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
17
+ * @returns {RegExp}
18
+ */
19
+ export declare function findIPv6Regex(): RegExp;
20
+ /**
21
+ * Scans the provided text and extracts all occurrences of IPv6 addresses.
22
+ * This function uses a global regular expression to find multiple matches within the input.
23
+ * @param {string} text - The input text content to be searched.
24
+ * @param {RegExp} [regex] - The regex used to execute the function.
25
+ * @throws {TypeError} If the input is not a string.
26
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
27
+ */
28
+ export declare function extractIPsV6(text: string, regex?: RegExp): string[];
29
+ //# sourceMappingURL=Ipv6.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ipv6.d.mts","sourceRoot":"","sources":["../../../src/v1/regexp/Ipv6.mjs"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,SAAS,IAFZ,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EALlB,MAKkB,EAAE,KAAK,AAJjC,CACA,EADQ,MAIyB,GAFvB,OAAO,CAOnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAFhB,MAAM,CAIlB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EALtB,MAKsB,EAAE,KAAK,AAJrC,CACA,EADQ,MAI6B,GAF3B,MAAM,EAAE,CAOpB"}
@@ -0,0 +1,54 @@
1
+ // Credits: https://oneuptime.com/blog/post/2026-03-20-validate-ipv4-regex-javascript/view
2
+ // Note: IPv6 logic is significantly more complex due to hexadecimal format and zero compression (::).
3
+ /**
4
+ * Matches a single hexadecimal group (1 to 4 hex digits).
5
+ * @type {string}
6
+ */
7
+ const hexGroup = '[0-9a-fA-F]{1,4}';
8
+ /**
9
+ * A pattern to match standard IPv6 addresses.
10
+ * @type {string}
11
+ */
12
+ const ipv6Pattern = `((${hexGroup}:){7}${hexGroup}|(${hexGroup}:){1,7}:|(${hexGroup}:){1,6}:${hexGroup}|(${hexGroup}:){1,5}(:${hexGroup}){1,2}|(${hexGroup}:){1,4}(:${hexGroup}){1,3}|(${hexGroup}:){1,3}(:${hexGroup}){1,4}|(${hexGroup}:){1,2}(:${hexGroup}){1,5}|${hexGroup}:((:${hexGroup}){1,6})|:((:${hexGroup}){1,7}|:))`;
13
+ /**
14
+ * Generates a regular expression that matches a standard IPv6 address.
15
+ * @returns {RegExp}
16
+ */
17
+ export function ipv6Regex() {
18
+ return new RegExp(`^${ipv6Pattern}$`);
19
+ }
20
+ /**
21
+ * Validates whether a given input string is a correctly formatted IPv6 address.
22
+ * @param {string} s - The input string to be validated.
23
+ * @param {RegExp} [regex] - The regex used to execute the function.
24
+ * @throws {TypeError} If the input is not a string.
25
+ * @returns {boolean} - True if the string is a valid IPv6 address, false otherwise.
26
+ */
27
+ export function isValidIPv6(s, regex) {
28
+ if (typeof s !== 'string') {
29
+ throw new TypeError('The input must be a string.');
30
+ }
31
+ return (regex ?? ipv6Regex()).test(s);
32
+ }
33
+ /**
34
+ * Creates a global regular expression used to locate IPv6 addresses within a larger block of text.
35
+ * It utilizes word boundaries to ensure that only complete IP addresses are matched.
36
+ * @returns {RegExp}
37
+ */
38
+ export function findIPv6Regex() {
39
+ return new RegExp(`\\b${ipv6Pattern}\\b`, 'g');
40
+ }
41
+ /**
42
+ * Scans the provided text and extracts all occurrences of IPv6 addresses.
43
+ * This function uses a global regular expression to find multiple matches within the input.
44
+ * @param {string} text - The input text content to be searched.
45
+ * @param {RegExp} [regex] - The regex used to execute the function.
46
+ * @throws {TypeError} If the input is not a string.
47
+ * @returns {string[]} - An array of all matched IP addresses, or null if no matches are found.
48
+ */
49
+ export function extractIPsV6(text, regex) {
50
+ if (typeof text !== 'string') {
51
+ throw new TypeError('The input must be a string.');
52
+ }
53
+ return text.match(regex ?? findIPv6Regex()) ?? [];
54
+ }