tiny-essentials 1.28.19 → 1.29.1

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 (556) 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/changelog/1/29/1.md +11 -0
  5. package/dist/v1/ColorSafeStringify.min.js +1 -1
  6. package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
  7. package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
  8. package/dist/v1/TinyAnalogClock.min.js +1 -1
  9. package/dist/v1/TinyArrayComparator.min.js +1 -1
  10. package/dist/v1/TinyArrayPaginator.min.js +1 -1
  11. package/dist/v1/TinyBasicsEs.min.js +1 -1
  12. package/dist/v1/TinyBrowserMonitor.min.js +1 -0
  13. package/dist/v1/TinyClassManager.min.js +1 -1
  14. package/dist/v1/TinyClipboard.min.js +1 -1
  15. package/dist/v1/TinyCloner.min.js +1 -0
  16. package/dist/v1/TinyColorConverter.min.js +1 -1
  17. package/dist/v1/TinyColorValidator.min.js +1 -1
  18. package/dist/v1/TinyCookieConsent.min.js +1 -1
  19. package/dist/v1/TinyDayNightCycle.min.js +1 -1
  20. package/dist/v1/TinyDebugger.min.js +1 -1
  21. package/dist/v1/TinyDomReadyManager.min.js +1 -1
  22. package/dist/v1/TinyDragDropDetector.min.js +1 -1
  23. package/dist/v1/TinyDragger.min.js +1 -1
  24. package/dist/v1/TinyElementObserver.min.js +1 -1
  25. package/dist/v1/TinyEssentials.min.js +1 -1
  26. package/dist/v1/TinyGamepad.min.js +1 -1
  27. package/dist/v1/TinyHtml.min.js +1 -1
  28. package/dist/v1/TinyHtmlTagRegexBuilder.min.js +1 -0
  29. package/dist/v1/TinyHttpResponseRegistry.min.js +1 -0
  30. package/dist/v1/TinyI18.min.js +1 -1
  31. package/dist/v1/TinyIframeEvents.min.js +1 -1
  32. package/dist/v1/TinyInventory.min.js +1 -1
  33. package/dist/v1/TinyInventoryTrader.min.js +1 -1
  34. package/dist/v1/TinyLevelUp.min.js +1 -1
  35. package/dist/v1/TinyLoadingScreen.min.js +1 -1
  36. package/dist/v1/TinyLocalStorage.min.js +1 -1
  37. package/dist/v1/TinyMaInSys.min.js +1 -1
  38. package/dist/v1/TinyMapCache.min.js +1 -0
  39. package/dist/v1/TinyMediaPlayer.min.js +1 -1
  40. package/dist/v1/TinyNeedBar.min.js +1 -1
  41. package/dist/v1/TinyNewWinEvents.min.js +1 -1
  42. package/dist/v1/TinyNotificationAdapter.min.js +1 -0
  43. package/dist/v1/TinyNotifications.min.js +1 -1
  44. package/dist/v1/TinyNotifyCenter.min.js +1 -1
  45. package/dist/v1/TinyOPFSFileSystem.min.js +1 -0
  46. package/dist/v1/TinyPasswordValidator.min.js +1 -0
  47. package/dist/v1/TinyPluginPackage.min.js +1 -0
  48. package/dist/v1/TinyPromiseQueue.min.js +1 -1
  49. package/dist/v1/TinyPushManager.min.js +1 -0
  50. package/dist/v1/TinyPushPayload.min.js +1 -0
  51. package/dist/v1/TinyPushRouter.min.js +1 -0
  52. package/dist/v1/TinyRadioFm.min.js +1 -1
  53. package/dist/v1/TinyRateLimiter.min.js +1 -1
  54. package/dist/v1/TinyRegexEs.min.js +1 -0
  55. package/dist/v1/TinyRouter.min.js +1 -0
  56. package/dist/v1/TinyServiceWorker.min.js +1 -0
  57. package/dist/v1/TinyServiceWorkerEngine.min.js +1 -0
  58. package/dist/v1/TinySetMapPackage.min.js +1 -0
  59. package/dist/v1/TinySimpleDice.min.js +1 -1
  60. package/dist/v1/TinySmartScroller.min.js +1 -1
  61. package/dist/v1/TinyStorageBucketFileSystem.min.js +1 -0
  62. package/dist/v1/TinyTextDiffer.min.js +1 -1
  63. package/dist/v1/TinyTextRangeEditor.min.js +1 -1
  64. package/dist/v1/TinyTextarea.min.js +1 -1
  65. package/dist/v1/TinyThrottledApi.min.js +1 -0
  66. package/dist/v1/TinyTimeout.min.js +1 -1
  67. package/dist/v1/TinyToastNotify.min.js +1 -1
  68. package/dist/v1/TinyUploadClicker.min.js +1 -1
  69. package/dist/v1/TinyUriParser.min.js +1 -0
  70. package/dist/v1/TinyVersion.min.js +1 -0
  71. package/dist/v1/TinyWebWorker.min.js +1 -0
  72. package/dist/v1/TinyWebWorkerEngine.min.js +1 -0
  73. package/dist/v1/UltraRandomMsgGen.min.js +1 -1
  74. package/dist/v1/basics/array.cjs +2 -2
  75. package/dist/v1/basics/array.d.mts +2 -0
  76. package/dist/v1/basics/array.d.mts.map +1 -1
  77. package/dist/v1/basics/array.mjs +2 -1
  78. package/dist/v1/basics/browserDetector.cjs +37 -12
  79. package/dist/v1/basics/browserDetector.d.mts +8 -0
  80. package/dist/v1/basics/browserDetector.d.mts.map +1 -1
  81. package/dist/v1/basics/browserDetector.mjs +32 -13
  82. package/dist/v1/basics/crypto.cjs +23 -0
  83. package/dist/v1/basics/crypto.d.mts +10 -0
  84. package/dist/v1/basics/crypto.d.mts.map +1 -0
  85. package/dist/v1/basics/crypto.mjs +18 -0
  86. package/dist/v1/basics/html.cjs +0 -3
  87. package/dist/v1/basics/html.d.mts.map +1 -1
  88. package/dist/v1/basics/html.mjs +0 -2
  89. package/dist/v1/basics/index.cjs +8 -1
  90. package/dist/v1/basics/index.d.mts +6 -5
  91. package/dist/v1/basics/index.d.mts.map +1 -1
  92. package/dist/v1/basics/index.mjs +6 -5
  93. package/dist/v1/basics/objChecker.cjs +88 -0
  94. package/dist/v1/basics/objChecker.d.mts +26 -0
  95. package/dist/v1/basics/objChecker.d.mts.map +1 -1
  96. package/dist/v1/basics/objChecker.mjs +74 -0
  97. package/dist/v1/basics/objFilter.cjs +234 -93
  98. package/dist/v1/basics/objFilter.d.mts +96 -22
  99. package/dist/v1/basics/objFilter.d.mts.map +1 -1
  100. package/dist/v1/basics/objFilter.mjs +216 -92
  101. package/dist/v1/basics/promiseUtils.cjs +48 -12
  102. package/dist/v1/basics/promiseUtils.d.mts +45 -12
  103. package/dist/v1/basics/promiseUtils.d.mts.map +1 -1
  104. package/dist/v1/basics/promiseUtils.mjs +47 -12
  105. package/dist/v1/basics/text.cjs +0 -12
  106. package/dist/v1/basics/text.d.mts +0 -10
  107. package/dist/v1/basics/text.d.mts.map +1 -1
  108. package/dist/v1/basics/text.mjs +0 -10
  109. package/dist/v1/index.cjs +88 -3
  110. package/dist/v1/index.d.mts +31 -6
  111. package/dist/v1/index.d.mts.map +1 -1
  112. package/dist/v1/index.mjs +32 -7
  113. package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
  114. package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
  115. package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
  116. package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
  117. package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
  118. package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
  119. package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
  120. package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
  121. package/dist/v1/libs/fs/constants.cjs +74 -0
  122. package/dist/v1/libs/fs/constants.d.mts +22 -0
  123. package/dist/v1/libs/fs/constants.d.mts.map +1 -0
  124. package/dist/v1/libs/fs/constants.mjs +53 -0
  125. package/dist/v1/libs/fs/encoding.cjs +118 -0
  126. package/dist/v1/libs/fs/encoding.d.mts +50 -0
  127. package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
  128. package/dist/v1/libs/fs/encoding.mjs +102 -0
  129. package/dist/v1/libs/fs/error.cjs +188 -0
  130. package/dist/v1/libs/fs/error.d.mts +105 -0
  131. package/dist/v1/libs/fs/error.d.mts.map +1 -0
  132. package/dist/v1/libs/fs/error.mjs +158 -0
  133. package/dist/v1/libs/fs/handle.cjs +121 -0
  134. package/dist/v1/libs/fs/handle.d.mts +56 -0
  135. package/dist/v1/libs/fs/handle.d.mts.map +1 -0
  136. package/dist/v1/libs/fs/handle.mjs +100 -0
  137. package/dist/v1/libs/fs/index.cjs +700 -0
  138. package/dist/v1/libs/fs/index.d.mts +377 -0
  139. package/dist/v1/libs/fs/index.d.mts.map +1 -0
  140. package/dist/v1/libs/fs/index.mjs +630 -0
  141. package/dist/v1/libs/fs/path.cjs +234 -0
  142. package/dist/v1/libs/fs/path.d.mts +176 -0
  143. package/dist/v1/libs/fs/path.d.mts.map +1 -0
  144. package/dist/v1/libs/fs/path.mjs +197 -0
  145. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
  146. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
  147. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
  148. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
  149. package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
  150. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
  151. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
  152. package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
  153. package/dist/v1/libs/fs/stats.cjs +245 -0
  154. package/dist/v1/libs/fs/stats.d.mts +226 -0
  155. package/dist/v1/libs/fs/stats.d.mts.map +1 -0
  156. package/dist/v1/libs/fs/stats.mjs +197 -0
  157. package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
  158. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
  159. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
  160. package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
  161. package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
  162. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
  163. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
  164. package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
  165. package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
  166. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
  167. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
  168. package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
  169. package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
  170. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
  171. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
  172. package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
  173. package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
  174. package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
  175. package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
  176. package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
  177. package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
  178. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
  179. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
  180. package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
  181. package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
  182. package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
  183. package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
  184. package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
  185. package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
  186. package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
  187. package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
  188. package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
  189. package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
  190. package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
  191. package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
  192. package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
  193. package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
  194. package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
  195. package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
  196. package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
  197. package/dist/v1/libs/router/TinyRouter.cjs +661 -0
  198. package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
  199. package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
  200. package/dist/v1/libs/router/TinyRouter.mjs +572 -0
  201. package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
  202. package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
  203. package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
  204. package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
  205. package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
  206. package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
  207. package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
  208. package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
  209. package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
  210. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
  211. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
  212. package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
  213. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
  214. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
  215. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
  216. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
  217. package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
  218. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
  219. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
  220. package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
  221. package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
  222. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
  223. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
  224. package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
  225. package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
  226. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
  227. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
  228. package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
  229. package/dist/v1/libs/sw/browser/utils.cjs +28 -0
  230. package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
  231. package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
  232. package/dist/v1/libs/sw/browser/utils.mjs +21 -0
  233. package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
  234. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
  235. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
  236. package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
  237. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
  238. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
  239. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
  240. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
  241. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
  242. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
  243. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
  244. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
  245. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
  246. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
  247. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
  248. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
  249. package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
  250. package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
  251. package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
  252. package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
  253. package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
  254. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
  255. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
  256. package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
  257. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
  258. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
  259. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
  260. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
  261. package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
  262. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
  263. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
  264. package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
  265. package/dist/v1/libs/sw/utils.cjs +57 -0
  266. package/dist/v1/libs/sw/utils.d.mts +173 -0
  267. package/dist/v1/libs/sw/utils.d.mts.map +1 -0
  268. package/dist/v1/libs/sw/utils.mjs +50 -0
  269. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
  270. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
  271. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
  272. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
  273. package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
  274. package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
  275. package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
  276. package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
  277. package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
  278. package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
  279. package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
  280. package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
  281. package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
  282. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
  283. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
  284. package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
  285. package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
  286. package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
  287. package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
  288. package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
  289. package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
  290. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
  291. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
  292. package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
  293. package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
  294. package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
  295. package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
  296. package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
  297. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
  298. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
  299. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
  300. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
  301. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
  302. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
  303. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
  304. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
  305. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
  306. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
  307. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
  308. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
  309. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
  310. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
  311. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
  312. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
  313. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
  314. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
  315. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
  316. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
  317. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
  318. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
  319. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
  320. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
  321. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
  322. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
  323. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
  324. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
  325. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
  326. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
  327. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
  328. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
  329. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
  330. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
  331. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
  332. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
  333. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
  334. package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
  335. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
  336. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
  337. package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
  338. package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
  339. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
  340. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
  341. package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
  342. package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
  343. package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
  344. package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
  345. package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
  346. package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
  347. package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
  348. package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
  349. package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
  350. package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
  351. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
  352. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
  353. package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
  354. package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
  355. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
  356. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
  357. package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
  358. package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
  359. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
  360. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
  361. package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
  362. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
  363. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
  364. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
  365. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
  366. package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
  367. package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
  368. package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
  369. package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
  370. package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
  371. package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
  372. package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
  373. package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
  374. package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
  375. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
  376. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
  377. package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
  378. package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
  379. package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
  380. package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
  381. package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
  382. package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
  383. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
  384. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
  385. package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
  386. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
  387. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
  388. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
  389. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
  390. package/dist/v1/regexp/Email.cjs +185 -0
  391. package/dist/v1/regexp/Email.d.mts +73 -0
  392. package/dist/v1/regexp/Email.d.mts.map +1 -0
  393. package/dist/v1/regexp/Email.mjs +153 -0
  394. package/dist/v1/regexp/Glob.cjs +293 -0
  395. package/dist/v1/regexp/Glob.d.mts +45 -0
  396. package/dist/v1/regexp/Glob.d.mts.map +1 -0
  397. package/dist/v1/regexp/Glob.mjs +260 -0
  398. package/dist/v1/regexp/Ipv4.cjs +57 -0
  399. package/dist/v1/regexp/Ipv4.d.mts +29 -0
  400. package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
  401. package/dist/v1/regexp/Ipv4.mjs +45 -0
  402. package/dist/v1/regexp/Ipv6.cjs +67 -0
  403. package/dist/v1/regexp/Ipv6.d.mts +29 -0
  404. package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
  405. package/dist/v1/regexp/Ipv6.mjs +54 -0
  406. package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
  407. package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
  408. package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
  409. package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
  410. package/dist/v1/regexp/UrlDetector.cjs +125 -0
  411. package/dist/v1/regexp/UrlDetector.d.mts +67 -0
  412. package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
  413. package/dist/v1/regexp/UrlDetector.mjs +102 -0
  414. package/dist/v1/regexp/Username/index.cjs +233 -0
  415. package/dist/v1/regexp/Username/index.d.mts +77 -0
  416. package/dist/v1/regexp/Username/index.d.mts.map +1 -0
  417. package/dist/v1/regexp/Username/index.mjs +199 -0
  418. package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
  419. package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
  420. package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
  421. package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
  422. package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
  423. package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
  424. package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
  425. package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
  426. package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
  427. package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
  428. package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
  429. package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
  430. package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
  431. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
  432. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
  433. package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
  434. package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
  435. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
  436. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
  437. package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
  438. package/dist/v1/regexp/Username/templates/index.cjs +11 -0
  439. package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
  440. package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
  441. package/dist/v1/regexp/Username/templates/index.mjs +4 -0
  442. package/dist/v1/regexp/index.cjs +41 -0
  443. package/dist/v1/regexp/index.d.mts +9 -0
  444. package/dist/v1/regexp/index.d.mts.map +1 -0
  445. package/dist/v1/regexp/index.mjs +8 -0
  446. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
  447. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
  448. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
  449. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
  450. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
  451. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
  452. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
  453. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
  454. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
  455. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
  456. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
  457. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
  458. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
  459. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
  460. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
  461. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
  462. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +30 -4
  463. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +5 -2
  464. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -1
  465. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +29 -5
  466. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
  467. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
  468. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
  469. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
  470. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
  471. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
  472. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
  473. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
  474. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
  475. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
  476. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
  477. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
  478. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
  479. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
  480. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
  481. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
  482. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
  483. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
  484. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
  485. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
  486. package/docs/info/RegExp.md +74 -0
  487. package/docs/v1/Exports.md +101 -0
  488. package/docs/v1/README.md +113 -15
  489. package/docs/v1/basics/asyncReplace.md +2 -0
  490. package/docs/v1/basics/browserDetector.md +28 -11
  491. package/docs/v1/basics/crypto.md +85 -0
  492. package/docs/v1/basics/deprecated/html.md +2 -0
  493. package/docs/v1/basics/deprecated/objFilter.md +2 -0
  494. package/docs/v1/basics/html.md +2 -0
  495. package/docs/v1/basics/objChecker.md +55 -0
  496. package/docs/v1/basics/objFilter.md +57 -86
  497. package/docs/v1/basics/promiseUtils.md +12 -3
  498. package/docs/v1/basics/text.md +0 -1
  499. package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
  500. package/docs/v1/libs/fs/TinyFS.md +752 -0
  501. package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
  502. package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
  503. package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
  504. package/docs/v1/libs/plugin/TinyVersion.md +145 -0
  505. package/docs/v1/libs/router/TinyRouter.md +216 -0
  506. package/docs/v1/libs/storage/TinyMapCache.md +219 -0
  507. package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
  508. package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
  509. package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
  510. package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
  511. package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
  512. package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
  513. package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
  514. package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
  515. package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
  516. package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
  517. package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
  518. package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
  519. package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
  520. package/docs/v1/libs/text/TinyI18.md +80 -56
  521. package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
  522. package/docs/v1/libs/tools/TinyDebugger.md +117 -1
  523. package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
  524. package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
  525. package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
  526. package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
  527. package/docs/v1/libs/tools/TinySiteMap.md +134 -0
  528. package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
  529. package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
  530. package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
  531. package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
  532. package/docs/v1/libs/tools/TinyUriParser.md +128 -0
  533. package/docs/v1/libs/utils/TinyCloner.md +126 -0
  534. package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
  535. package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
  536. package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
  537. package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
  538. package/docs/v1/regexp/Email.md +127 -0
  539. package/docs/v1/regexp/Glob.md +155 -0
  540. package/docs/v1/regexp/IPv4.md +103 -0
  541. package/docs/v1/regexp/IPv6.md +122 -0
  542. package/docs/v1/regexp/SegmentExtractor.md +120 -0
  543. package/docs/v1/regexp/UrlDetector.md +117 -0
  544. package/docs/v1/regexp/Username/Base.md +131 -0
  545. package/docs/v1/regexp/Username/Discord.md +267 -0
  546. package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
  547. package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +565 -0
  548. package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +19 -7
  549. package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
  550. package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
  551. package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
  552. package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
  553. package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
  554. package/package.json +340 -22
  555. package/types/EventEmitter.d.ts +48 -0
  556. package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
@@ -4,6 +4,10 @@ var objChecker = require('./objChecker.cjs');
4
4
 
5
5
  // @ts-nocheck
6
6
 
7
+ /**
8
+ * A flag indicating if the current environment is a web browser.
9
+ * @type {boolean}
10
+ */
7
11
  const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
8
12
 
9
13
  /**
@@ -14,34 +18,83 @@ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'u
14
18
  *
15
19
  * The `order` array defines the priority in which types should be checked,
16
20
  * which can be useful for functions that infer types in a consistent manner.
17
- *
18
21
  */
19
22
  const typeValidator = {
23
+ /**
24
+ * A registry where keys are type names and values are their validation and cloning logic.
25
+ * @type {Record<string, ObjTypeRegistry<any, any>>}
26
+ */
20
27
  items: {},
21
28
  /**
22
- * Evaluation order of the type checkers.
29
+ * The sequence in which type validators are checked.
30
+ * The first validator to return true for a value determines the type name.
23
31
  * @type {string[]}
24
- * */
32
+ */
25
33
  order: [],
26
34
  };
27
35
 
28
- /** @typedef {Object.<string, (val: any) => *>} ExtendObjType */
29
- /** @typedef {Array<[string, (val: any) => *]>} ExtendObjTypeArray */
36
+ /**
37
+ * @typedef {import('../libs/utils/TinyCloner.mjs').default} TinyCloner
38
+ */
39
+
40
+ /**
41
+ * A function type used to validate a value and return a specific result.
42
+ *
43
+ * @template {any} Value - The type of the value being validated.
44
+ * @template {any} Result - The type of the result returned by the function.
45
+ * @typedef {(val: Value) => Result} ExtendObjTypeFunc
46
+ */
47
+
48
+ /**
49
+ * A function type used to clone a value, supporting deep cloning operations.
50
+ *
51
+ * @template {any} Value - The type of the value to be cloned.
52
+ * @typedef {(val: Value, isDeep: boolean, cloner: TinyCloner) => Value} ExtendObjTypeCloner
53
+ */
30
54
 
31
55
  /**
32
- * Adds new type checkers to the typeValidator without overwriting existing ones.
56
+ * A mapping of type names to their corresponding validation functions.
33
57
  *
34
- * Accepts either an object with named functions or an array of [key, fn] arrays.
35
- * If no index is provided, the type is inserted just before 'object' (if it exists), or at the end.
58
+ * @template {any} Value - The type of the value being mapped.
59
+ * @typedef {Object.<string, ExtendObjTypeFunc<Value, any>>} ExtendObjType
60
+ */
61
+
62
+ /**
63
+ * A tuple representing a type definition, containing a key, a validator, and an optional cloner.
36
64
  *
37
- * @param {ExtendObjType|ExtendObjTypeArray} newItems
65
+ * @template {any} Value - The type of the value.
66
+ * @template {any} Result - The type of the result returned by the validator.
67
+ * @typedef {[string, ExtendObjTypeFunc<Value, Result>, ExtendObjTypeCloner<Value>]|[string, ExtendObjTypeFunc<Value, Result>]} ExtendObjTypeValue
68
+ */
69
+
70
+ /**
71
+ * A registry object containing the validator and cloner for a specific type.
72
+ *
73
+ * @template {any} Value - The type of the value being registered.
74
+ * @template {any} Result - The type of the result returned by the validator.
75
+ * @typedef {Object} ObjTypeRegistry
76
+ * @property {ExtendObjTypeFunc<Value, Result>} validator - The function used to validate the type.
77
+ * @property {ExtendObjTypeCloner<Value>} cloner - The function used to create a clone of the value.
78
+ */
79
+
80
+ /**
81
+ * Adds new type checkers to the `typeValidator` registry.
82
+ *
83
+ * Accepts an object of functions, an array of [key, validator] tuples, or an array of [key, validator, cloner] tuples.
84
+ * If an `index` is provided, the new type is inserted at that position.
85
+ * If no index is provided, it is inserted before the 'object' type or at the end of the registry.
86
+ *
87
+ * @template {any} Value
88
+ * @template {any} Result
89
+ * @param {ExtendObjType<Value> | ExtendObjTypeValue<Value, Result>[] | ExtendObjTypeValue<Value, Result>} ni
38
90
  * - New type validators to be added.
39
91
  * @param {number} [index] - Optional. Position at which to insert each new type. Ignored if the type already exists.
40
92
  * @returns {string[]} - A list of successfully added type names.
93
+ * @throws {TypeError} If `ni` is not an object/array, if `index` is not a number, if a key is not a string, or if a validator is not a function.
41
94
  *
42
95
  * @example
43
96
  * extendObjType({
44
- * htmlElement2: val => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement
97
+ * htmlElement2: val => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement
45
98
  * });
46
99
  *
47
100
  * @example
@@ -49,10 +102,13 @@ const typeValidator = {
49
102
  * ['alpha', val => typeof val === 'string'],
50
103
  * ['beta', val => Array.isArray(val)]
51
104
  * ]);
105
+ *
106
+ * @example
107
+ * extendObjType(['gamma', val => typeof val === 'number']);
52
108
  */
53
- function extendObjType(newItems, index) {
54
- if (typeof newItems !== 'object' || newItems === null) {
55
- throw new TypeError("Argument 'newItems' must be an object or an array.");
109
+ function extendObjType(ni, index) {
110
+ if (typeof ni !== 'object' || ni === null) {
111
+ throw new TypeError("Argument 'ni' must be an object or an array.");
56
112
  }
57
113
 
58
114
  if (typeof index !== 'undefined' && typeof index !== 'number') {
@@ -61,25 +117,57 @@ function extendObjType(newItems, index) {
61
117
 
62
118
  const added = [];
63
119
 
64
- const entries = Array.isArray(newItems) ? newItems : Object.entries(newItems);
120
+ // Normalization logic:
121
+ // 1. If ni is an array:
122
+ // - If the first element is also an array, it is an array of tuples (ExtendObjTypeValue[]).
123
+ // - If the first element is not an array, it is a single tuple (ExtendObjTypeValue).
124
+ // - If the array is empty, we use an empty array.
125
+ // 2. If ni is an object:
126
+ // - We use Object.entries to convert it to an array of [key, value] pairs.
127
+
128
+ /**
129
+ * @type {[string, ExtendObjTypeFunc<Value, Result>, ExtendObjTypeCloner<Value> | undefined][]}
130
+ */
131
+ let entries;
132
+ if (Array.isArray(ni)) {
133
+ if (ni.length > 0 && Array.isArray(ni[0])) {
134
+ // @ts-ignore
135
+ entries = ni;
136
+ } else if (ni.length > 0) {
137
+ // @ts-ignore
138
+ entries = [ni];
139
+ } else {
140
+ entries = [];
141
+ }
142
+ } else {
143
+ // @ts-ignore
144
+ entries = Object.entries(ni);
145
+ }
65
146
 
66
147
  for (const entry of entries) {
67
148
  if (!Array.isArray(entry) || entry.length < 2) {
68
- throw new TypeError("Each item in 'newItems' array must be a [key, function] pair.");
149
+ throw new TypeError('Each item in the input must be a [key, function] pair.');
69
150
  }
70
151
 
71
- const [key, fn] = entry;
152
+ const [key, validator, cloner] = entry;
153
+ if (typeof cloner !== 'undefined' && typeof cloner !== 'function') {
154
+ throw new TypeError(`Cloner for key '${key}' must be a function.`);
155
+ }
156
+ /** @type {ExtendObjTypeCloner<Value>} */
157
+ const effectiveCloner = typeof cloner === 'function' ? cloner : (val) => val;
72
158
 
73
159
  if (typeof key !== 'string') {
74
160
  throw new TypeError('Validator key must be a string.');
75
161
  }
76
- if (typeof fn !== 'function') {
162
+ if (typeof validator !== 'function') {
77
163
  throw new TypeError(`Validator for key '${key}' must be a function.`);
78
164
  }
79
165
 
80
166
  if (!typeValidator.items.hasOwnProperty(key)) {
81
- // @ts-ignore
82
- typeValidator.items[key] = fn;
167
+ typeValidator.items[key] = {
168
+ validator: validator,
169
+ cloner: effectiveCloner,
170
+ };
83
171
 
84
172
  let insertAt = typeof index === 'number' ? index : -1; // Default to -1 if index isn't provided
85
173
 
@@ -159,10 +247,11 @@ function cloneObjTypeOrder() {
159
247
  */
160
248
  const objTypeName = (val) => {
161
249
  if (val === null) return 'null';
162
- // @ts-ignore
163
250
  for (const name of typeValidator.order) {
164
- // @ts-ignore
165
- if (typeof typeValidator.items[name] !== 'function' || typeValidator.items[name](val))
251
+ if (
252
+ typeof typeValidator.items[name].validator !== 'function' ||
253
+ typeValidator.items[name].validator(val)
254
+ )
166
255
  return name;
167
256
  }
168
257
  return 'unknown';
@@ -174,6 +263,7 @@ const objTypeName = (val) => {
174
263
  * @param {*} obj - The object to check.
175
264
  * @param {string} [type] - Checks whether the object matches this type (e.g., "object", "array", "string").
176
265
  * @returns {boolean} - Returns `true` if the type matches.
266
+ * @throws {TypeError} If `type` is not a string.
177
267
  */
178
268
  function isObjType(obj, type) {
179
269
  if (typeof type !== 'string') throw new TypeError("Argument 'type' must be a string.");
@@ -188,6 +278,7 @@ function isObjType(obj, type) {
188
278
  * @param {string} [type] - Optional. If provided, checks whether the object matches this type (e.g., "object", "array", "string").
189
279
  * @returns {boolean|string|null} - Returns `true` if the type matches, `false` if not,
190
280
  * the type string if no type is provided, or `null` if the object is `undefined`.
281
+ * @throws {TypeError} If `type` is provided but is not a string.
191
282
  *
192
283
  * @example
193
284
  * objType([], 'array'); // true
@@ -207,19 +298,23 @@ function objType(obj, type) {
207
298
  }
208
299
 
209
300
  /**
210
- * Checks the type of a given object and returns the validation value if a known type is detected.
301
+ * @typedef {Object} CheckResult
302
+ * @property {*} valid - The result of the validator function (often the value itself if truthy).
303
+ * @property {string | null} type - The name of the detected type.
304
+ */
305
+
306
+ /**
307
+ * Evaluates an object against the registered validators and returns the first match.
211
308
  *
212
- * @param {*} obj - The object to check or identify.
213
- * @returns {{ valid:*; type: string | null }} - Returns the type result.
309
+ * @param {unknown} obj - The object to check.
310
+ * @returns {CheckResult} An object containing the validation result and the type name.
214
311
  */
215
312
  function checkObj(obj) {
216
- /** @type {{ valid:*; type: string | null }} */
313
+ /** @type {CheckResult} */
217
314
  const data = { valid: null, type: null };
218
315
  for (const name of typeValidator.order) {
219
- // @ts-ignore
220
- if (typeof typeValidator.items[name] === 'function') {
221
- // @ts-ignore
222
- const result = typeValidator.items[name](obj);
316
+ if (typeof typeValidator.items[name].validator === 'function') {
317
+ const result = typeValidator.items[name].validator(obj);
223
318
  if (result) {
224
319
  data.valid = result;
225
320
  data.type = name;
@@ -231,14 +326,23 @@ function checkObj(obj) {
231
326
  }
232
327
 
233
328
  /**
234
- * Creates a clone of the functions from the `typeValidator` object.
235
- * It returns a new object where the keys are the same and the values are the cloned functions.
329
+ * Returns a shallow clone of the `typeValidator.items` registry.
330
+ *
331
+ * @returns {Record<string, ObjTypeRegistry<any, any>>} A new object containing the registry data.
236
332
  */
237
- function getCheckObj() {
238
- return Object.fromEntries(Object.entries(typeValidator.items).map(([key, fn]) => [key, fn]));
333
+ function getObjTypeRegistry() {
334
+ return Object.fromEntries(
335
+ Object.entries(typeValidator.items).map(([key, data]) => [key, { ...data }]),
336
+ );
239
337
  }
240
338
 
241
- // Insert obj types
339
+ /**
340
+ * Returns a copy of the current order of type validators.
341
+ * @returns {string[]} A new array containing the type order.
342
+ */
343
+ const getObjTypeOrder = () => [...typeValidator.order];
344
+
345
+ // --- Type Registration ---
242
346
 
243
347
  extendObjType([
244
348
  [
@@ -261,6 +365,11 @@ extendObjType([
261
365
  /** @param {unknown} val @returns {val is number} */
262
366
  (val) => typeof val === 'number' && !Number.isNaN(val),
263
367
  ],
368
+ [
369
+ 'nannumber',
370
+ /** @param {unknown} val @returns {val is number} */
371
+ (val) => typeof val === 'number' && Number.isNaN(val),
372
+ ],
264
373
  [
265
374
  'bigint',
266
375
  /** @param {unknown} val @returns {val is bigint} */
@@ -281,97 +390,129 @@ extendObjType([
281
390
  /** @param {unknown} val @returns {val is Function} */
282
391
  (val) => typeof val === 'function',
283
392
  ],
284
- [
285
- 'array',
286
- /**
287
- * @param {unknown} val @returns {val is unknown[]}
288
- */
289
- (val) => Array.isArray(val),
290
- ],
393
+ ]);
394
+
395
+ extendObjType([
396
+ 'array',
397
+ /** @param {unknown} val @returns {val is unknown[]} */
398
+ (val) => Array.isArray(val),
399
+ /** @type {ExtendObjTypeCloner<unknown[]>} */
400
+ (item, isDeep, cloner) =>
401
+ item.map((element) => (isDeep ? cloner.clone(element, isDeep) : element)),
291
402
  ]);
292
403
 
293
404
  if (isBrowser) {
294
405
  extendObjType([
295
- [
296
- 'file',
297
- /** @param {unknown} val @returns {val is File} */
298
- (val) => typeof File !== 'undefined' && val instanceof File,
299
- ],
406
+ 'file',
407
+ /** @param {unknown} val @returns {val is File} */
408
+ (val) => typeof File !== 'undefined' && val instanceof File,
409
+ /** @type {ExtendObjTypeCloner<File>} */
410
+ (item) => new File([item], item.name, { type: item.type, lastModified: item.lastModified }),
300
411
  ]);
301
412
  }
302
413
 
303
414
  extendObjType([
304
- [
305
- 'date',
306
- /** @param {unknown} val @returns {val is Date} */
307
- (val) => val instanceof Date,
308
- ],
309
- [
310
- 'regexp',
311
- /** @param {unknown} val @returns {val is RegExp} */
312
- (val) => val instanceof RegExp,
313
- ],
314
- [
315
- 'map',
316
- /**
317
- * @param {unknown} val @returns {val is Map<unknown, unknown>}
318
- */
319
- (val) => val instanceof Map,
320
- ],
321
- [
322
- 'set',
323
- /**
324
- * @param {unknown} val @returns {val is Set<unknown>}
325
- */
326
- (val) => val instanceof Set,
327
- ],
415
+ 'date',
416
+ /** @param {unknown} val @returns {val is Date} */
417
+ (val) => val instanceof Date,
418
+ /** @type {ExtendObjTypeCloner<Date>} */
419
+ (item) => new Date(item.getTime()),
420
+ ]);
421
+
422
+ extendObjType([
423
+ 'regexp',
424
+ /** @param {unknown} val @returns {val is RegExp} */
425
+ (val) => val instanceof RegExp,
426
+ /** @type {ExtendObjTypeCloner<RegExp>} */
427
+ (item) => new RegExp(item.source, item.flags),
428
+ ]);
429
+
430
+ extendObjType([
431
+ 'map',
432
+ /** @param {unknown} val @returns {val is Map<unknown, unknown>} */
433
+ (val) => val instanceof Map,
434
+ /** @type {ExtendObjTypeCloner<Map<unknown, unknown>>} */
435
+ (item, isDeep, cloner) => {
436
+ const result = new Map();
437
+ for (const [key, value] of item.entries()) {
438
+ result.set(key, isDeep ? cloner.clone(value, isDeep) : value);
439
+ }
440
+ return result;
441
+ },
442
+ ]);
443
+
444
+ extendObjType([
445
+ 'set',
446
+ /** @param {unknown} val @returns {val is Set<unknown>} */
447
+ (val) => val instanceof Set,
448
+ /** @type {ExtendObjTypeCloner<Set<any>>} */
449
+ (item, isDeep, cloner) => {
450
+ const result = new Set();
451
+ for (const value of item) {
452
+ result.add(isDeep ? cloner.clone(value, isDeep) : value);
453
+ }
454
+ return result;
455
+ },
456
+ ]);
457
+
458
+ extendObjType([
328
459
  [
329
460
  'weakmap',
330
- /**
331
- * @param {unknown} val @returns {val is WeakMap<unknown, unknown>}
332
- */
461
+ /** @param {unknown} val @returns {val is WeakMap<unknown, unknown>} */
333
462
  (val) => val instanceof WeakMap,
334
463
  ],
335
464
  [
336
465
  'weakset',
337
- /**
338
- * @param {unknown} val @returns {val is WeakSet<unknown>}
339
- */
466
+ /** @param {unknown} val @returns {val is WeakSet<unknown>} */
340
467
  (val) => val instanceof WeakSet,
341
468
  ],
342
469
  [
343
470
  'promise',
344
- /**
345
- * @param {unknown} val @returns {val is Promise<unknown>}
346
- */
471
+ /** @param {unknown} val @returns {val is Promise<unknown>} */
347
472
  (val) => val instanceof Promise,
348
473
  ],
349
474
  ]);
350
475
 
476
+ extendObjType([
477
+ 'url',
478
+ /** @param {unknown} val @returns {val is URL} */
479
+ (val) => val instanceof URL,
480
+ /** @type {ExtendObjTypeCloner<URL>} */
481
+ (item) => new URL(item.href),
482
+ ]);
483
+
351
484
  if (isBrowser) {
352
485
  extendObjType([
353
- [
354
- 'htmlelement',
355
- /** @param {unknown} val @returns {val is HTMLElement} */
356
- (val) => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement,
357
- ],
486
+ 'htmlelement',
487
+ /** @param {unknown} val @returns {val is HTMLElement} */
488
+ (val) => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement,
489
+ /** @type {ExtendObjTypeCloner<Node>} */
490
+ (item) => item.cloneNode(true),
358
491
  ]);
359
492
  }
360
493
 
361
494
  extendObjType([
362
- [
363
- 'object',
364
- /**
365
- * @param {unknown} val @returns {val is Record<string | number | symbol, unknown>}
366
- */
367
- (val) => objChecker.isJsonObject(val),
368
- ],
495
+ 'object',
496
+ /** @param {unknown} val @returns {val is Record<string | number | symbol, unknown>} */
497
+ (val) => objChecker.isJsonObject(val),
498
+ /** @type {ExtendObjTypeCloner<Record<string | number | symbol, unknown>>} */
499
+ (item, isDeep, cloner) => {
500
+ /** @type {Record<string | number | symbol, unknown>} */
501
+ const result = {};
502
+ for (const key in item) {
503
+ if (Object.prototype.hasOwnProperty.call(item, key)) {
504
+ result[key] = isDeep ? cloner.clone(item[key], isDeep) : item[key];
505
+ }
506
+ }
507
+ return result;
508
+ },
369
509
  ]);
370
510
 
371
511
  exports.checkObj = checkObj;
372
512
  exports.cloneObjTypeOrder = cloneObjTypeOrder;
373
513
  exports.extendObjType = extendObjType;
374
- exports.getCheckObj = getCheckObj;
514
+ exports.getObjTypeOrder = getObjTypeOrder;
515
+ exports.getObjTypeRegistry = getObjTypeRegistry;
375
516
  exports.isObjType = isObjType;
376
517
  exports.objType = objType;
377
518
  exports.objTypeName = objTypeName;
@@ -1,21 +1,74 @@
1
- export type ExtendObjType = Object<string, (val: any) => any>;
2
- export type ExtendObjTypeArray = Array<[string, (val: any) => any]>;
3
- /** @typedef {Object.<string, (val: any) => *>} ExtendObjType */
4
- /** @typedef {Array<[string, (val: any) => *]>} ExtendObjTypeArray */
1
+ export type TinyCloner = import('../libs/utils/TinyCloner.mjs').default;
2
+ export type ExtendObjTypeFunc<Value extends any, Result extends any> = (val: Value) => Result;
3
+ export type ExtendObjTypeCloner<Value extends any> = (val: Value, isDeep: boolean, cloner: TinyCloner) => Value;
4
+ export type ExtendObjType<Value extends any> = Object<string, ExtendObjTypeFunc<Value, any>>;
5
+ export type ExtendObjTypeValue<Value extends any, Result extends any> = [string, ExtendObjTypeFunc<Value, Result>, ExtendObjTypeCloner<Value>] | [string, ExtendObjTypeFunc<Value, Result>];
6
+ export type ObjTypeRegistry<Value extends any, Result extends any> = {
7
+ /**
8
+ * - The function used to validate the type.
9
+ */
10
+ validator: ExtendObjTypeFunc<Value, Result>;
11
+ /**
12
+ * - The function used to create a clone of the value.
13
+ */
14
+ cloner: ExtendObjTypeCloner<Value>;
15
+ };
16
+ /**
17
+ * @typedef {import('../libs/utils/TinyCloner.mjs').default} TinyCloner
18
+ */
19
+ /**
20
+ * A function type used to validate a value and return a specific result.
21
+ *
22
+ * @template {any} Value - The type of the value being validated.
23
+ * @template {any} Result - The type of the result returned by the function.
24
+ * @typedef {(val: Value) => Result} ExtendObjTypeFunc
25
+ */
26
+ /**
27
+ * A function type used to clone a value, supporting deep cloning operations.
28
+ *
29
+ * @template {any} Value - The type of the value to be cloned.
30
+ * @typedef {(val: Value, isDeep: boolean, cloner: TinyCloner) => Value} ExtendObjTypeCloner
31
+ */
5
32
  /**
6
- * Adds new type checkers to the typeValidator without overwriting existing ones.
33
+ * A mapping of type names to their corresponding validation functions.
7
34
  *
8
- * Accepts either an object with named functions or an array of [key, fn] arrays.
9
- * If no index is provided, the type is inserted just before 'object' (if it exists), or at the end.
35
+ * @template {any} Value - The type of the value being mapped.
36
+ * @typedef {Object.<string, ExtendObjTypeFunc<Value, any>>} ExtendObjType
37
+ */
38
+ /**
39
+ * A tuple representing a type definition, containing a key, a validator, and an optional cloner.
40
+ *
41
+ * @template {any} Value - The type of the value.
42
+ * @template {any} Result - The type of the result returned by the validator.
43
+ * @typedef {[string, ExtendObjTypeFunc<Value, Result>, ExtendObjTypeCloner<Value>]|[string, ExtendObjTypeFunc<Value, Result>]} ExtendObjTypeValue
44
+ */
45
+ /**
46
+ * A registry object containing the validator and cloner for a specific type.
47
+ *
48
+ * @template {any} Value - The type of the value being registered.
49
+ * @template {any} Result - The type of the result returned by the validator.
50
+ * @typedef {Object} ObjTypeRegistry
51
+ * @property {ExtendObjTypeFunc<Value, Result>} validator - The function used to validate the type.
52
+ * @property {ExtendObjTypeCloner<Value>} cloner - The function used to create a clone of the value.
53
+ */
54
+ /**
55
+ * Adds new type checkers to the `typeValidator` registry.
10
56
  *
11
- * @param {ExtendObjType|ExtendObjTypeArray} newItems
57
+ * Accepts an object of functions, an array of [key, validator] tuples, or an array of [key, validator, cloner] tuples.
58
+ * If an `index` is provided, the new type is inserted at that position.
59
+ * If no index is provided, it is inserted before the 'object' type or at the end of the registry.
60
+ *
61
+ * @template {any} Value
62
+ * @template {any} Result
63
+ * @param {ExtendObjType<Value> | ExtendObjTypeValue<Value, Result>[] | ExtendObjTypeValue<Value, Result>} ni
12
64
  * - New type validators to be added.
13
65
  * @param {number} [index] - Optional. Position at which to insert each new type. Ignored if the type already exists.
14
66
  * @returns {string[]} - A list of successfully added type names.
67
+ * @throws {TypeError} If `ni` is not an object/array, if `index` is not a number, if a key is not a string, or if a validator is not a function.
15
68
  *
16
69
  * @example
17
70
  * extendObjType({
18
- * htmlElement2: val => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement
71
+ * htmlElement2: val => typeof HTMLElement !== 'undefined' && val instanceof HTMLElement
19
72
  * });
20
73
  *
21
74
  * @example
@@ -23,8 +76,11 @@ export type ExtendObjTypeArray = Array<[string, (val: any) => any]>;
23
76
  * ['alpha', val => typeof val === 'string'],
24
77
  * ['beta', val => Array.isArray(val)]
25
78
  * ]);
79
+ *
80
+ * @example
81
+ * extendObjType(['gamma', val => typeof val === 'number']);
26
82
  */
27
- export declare function extendObjType(newItems: ExtendObjType | ExtendObjTypeArray, index?: number): string[];
83
+ export declare function extendObjType<Value extends any, Result extends any>(ni: ExtendObjType<Value> | ExtendObjTypeValue<Value, Result>[] | ExtendObjTypeValue<Value, Result>, index?: number): string[];
28
84
  /**
29
85
  * Reorders the typeValidator.order array according to a custom new order.
30
86
  * All values in the new order must already exist in the current order.
@@ -67,6 +123,7 @@ export declare const objTypeName: (val: any) => string;
67
123
  * @param {*} obj - The object to check.
68
124
  * @param {string} [type] - Checks whether the object matches this type (e.g., "object", "array", "string").
69
125
  * @returns {boolean} - Returns `true` if the type matches.
126
+ * @throws {TypeError} If `type` is not a string.
70
127
  */
71
128
  export declare function isObjType(obj: any, type?: string): boolean;
72
129
  /**
@@ -77,6 +134,7 @@ export declare function isObjType(obj: any, type?: string): boolean;
77
134
  * @param {string} [type] - Optional. If provided, checks whether the object matches this type (e.g., "object", "array", "string").
78
135
  * @returns {boolean|string|null} - Returns `true` if the type matches, `false` if not,
79
136
  * the type string if no type is provided, or `null` if the object is `undefined`.
137
+ * @throws {TypeError} If `type` is provided but is not a string.
80
138
  *
81
139
  * @example
82
140
  * objType([], 'array'); // true
@@ -85,21 +143,37 @@ export declare function isObjType(obj: any, type?: string): boolean;
85
143
  * objType(undefined); // null
86
144
  */
87
145
  export declare function objType(obj: any, type?: string): boolean | string | null;
88
- /**
89
- * Checks the type of a given object and returns the validation value if a known type is detected.
90
- *
91
- * @param {*} obj - The object to check or identify.
92
- * @returns {{ valid:*; type: string | null }} - Returns the type result.
93
- */
94
- export declare function checkObj(obj: any): {
146
+ export type CheckResult = {
147
+ /**
148
+ * - The result of the validator function (often the value itself if truthy).
149
+ */
95
150
  valid: any;
151
+ /**
152
+ * - The name of the detected type.
153
+ */
96
154
  type: string | null;
97
155
  };
98
156
  /**
99
- * Creates a clone of the functions from the `typeValidator` object.
100
- * It returns a new object where the keys are the same and the values are the cloned functions.
157
+ * @typedef {Object} CheckResult
158
+ * @property {*} valid - The result of the validator function (often the value itself if truthy).
159
+ * @property {string | null} type - The name of the detected type.
101
160
  */
102
- export declare function getCheckObj(): {
103
- [k: string]: any;
104
- };
161
+ /**
162
+ * Evaluates an object against the registered validators and returns the first match.
163
+ *
164
+ * @param {unknown} obj - The object to check.
165
+ * @returns {CheckResult} An object containing the validation result and the type name.
166
+ */
167
+ export declare function checkObj(obj: unknown): CheckResult;
168
+ /**
169
+ * Returns a shallow clone of the `typeValidator.items` registry.
170
+ *
171
+ * @returns {Record<string, ObjTypeRegistry<any, any>>} A new object containing the registry data.
172
+ */
173
+ export declare function getObjTypeRegistry(): Record<string, ObjTypeRegistry<any, any>>;
174
+ /**
175
+ * Returns a copy of the current order of type validators.
176
+ * @returns {string[]} A new array containing the type order.
177
+ */
178
+ export declare const getObjTypeOrder: () => string[];
105
179
  //# sourceMappingURL=objFilter.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objFilter.d.mts","sourceRoot":"","sources":["../../../src/v1/basics/objFilter.mjs"],"names":[],"mappings":"AAwBI,YAA4C,aAAa,GAA/C,MAAM,CAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,QAAM,CAAC,CAAe;AACzD,YAA4C,kBAAkB,GAApD,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,QAAM,CAAC,CAAC,CAAoB;AADlE,gEAAgE;AAChE,qEAAqE;AAErE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAhB3B,aAAa,GAAC,kBAgBa,EAAE,KAAK,AAd1C,CACA,EADQ,MAckC,GAbhC,MAAM,EAAE,CA6DpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EARjC,MAAM,EAQ2B,GAP/B,OAAO,CAyBnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAFpB,MAAM,EAAE,CAIpB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,QARb,GAAG,KACD,MAgBZ,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAJlB,GAIkB,EAAE,IAAI,AAHhC,CACA,EADQ,MAGwB,GAFtB,OAAO,CAKnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAXhB,GAWgB,EAAE,IAAI,AAV9B,CACA,EADQ,MAUsB,GATpB,OAAO,GAAC,MAAM,GAAC,IAAI,CAkB/B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAHjB,GAGiB,GAFf;IAAE,KAAK,EAAC,GAAC,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAkB5C;AAED;;;GAGG;AACH,wBAAgB,WAAW;;EAE1B"}
1
+ {"version":3,"file":"objFilter.d.mts","sourceRoot":"","sources":["../../../src/v1/basics/objFilter.mjs"],"names":[],"mappings":"AAiCG,YAA0D,UAAU,GAA1D,OAAO,8BAA8B,EAAE,OAAO,CAAY;AAQpE,YAAkC,iBAAiB,CAFnC,KAAK,SAAV,GAAU,EACL,MAAM,SAAX,GAAW,IACZ,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAmB;AAOnD,YAAsE,mBAAmB,CADzE,KAAK,SAAV,GAAU,IACX,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,KAAK,CAAqB;AAOzF,YAA0D,aAAa,CADvD,KAAK,SAAV,GAAU,IACX,MAAM,CAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAe;AAQvE,YAA6H,kBAAkB,CAF/H,KAAK,SAAV,GAAU,EACL,MAAM,SAAX,GAAW,IACZ,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAoB;AAQ/I,YAAkB,eAAe,CAFjB,KAAK,SAAV,GAAU,EACL,MAAM,SAAX,GAAW,IAEtB;;;;IAA6C,SAAS,EAA3C,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAC3C;;;;IAAuC,MAAM,EAAlC,mBAAmB,CAAC,KAAK,CAAC,CACvC;CAAA,CAAA;AA1CD;;GAEG;AAEH;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAtBV,KAAK,SAAV,GAAU,EACL,MAAM,SAAX,GAAW,EAqBK,EAAE,EApBrB,aAAa,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAoBxE,EAAE,KAAK,AAlBpC,CACA,EADQ,MAkB4B,GAjB1B,MAAM,EAAE,CAiGpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EARjC,MAAM,EAQ2B,GAP/B,OAAO,CAyBnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAFpB,MAAM,EAAE,CAIpB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,QARb,GAAG,KACD,MAiBZ,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EALlB,GAKkB,EAAE,IAAI,AAJhC,CACA,EADQ,MAIwB,GAHtB,OAAO,CAMnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAZhB,GAYgB,EAAE,IAAI,AAX9B,CACA,EADQ,MAWsB,GAVpB,OAAO,GAAC,MAAM,GAAC,IAAI,CAmB/B;AAGE,YAAkB,WAAW,GAC7B;;;;IAAc,KAAK,EAAR,GAAC,CACZ;;;;IAA0B,IAAI,EAAnB,MAAM,GAAG,IAAI,CAC1B;CAAA,CAAA;AAJD;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAHjB,OAGiB,GAFf,WAAW,CAgBvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAFrB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAMrD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAFf,MAAM,EAE0C,CAAC"}