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
@@ -0,0 +1,753 @@
1
+ import TinyDebugger from '../tools/TinyDebugger.mjs';
2
+ import TinyVersion from './TinyVersion.mjs';
3
+ export type CryptoAlgorithm = AlgorithmIdentifier | RsaPssParams | EcdsaParams;
4
+ export type ImportKeyFormat = "pkcs8" | "raw" | "spki";
5
+ export type PluginIdentity = {
6
+ /**
7
+ * - The unique identifier of the plugin.
8
+ */
9
+ id: string;
10
+ /**
11
+ * - The list of authors of the plugin.
12
+ */
13
+ authors: string[];
14
+ /**
15
+ * - The list of categories of the plugin.
16
+ */
17
+ categories: string[];
18
+ /**
19
+ * - The list of tags of the plugin.
20
+ */
21
+ tags: string[];
22
+ };
23
+ /** @typedef {AlgorithmIdentifier | RsaPssParams | EcdsaParams} CryptoAlgorithm - A valid Web Crypto API algorithm identifier or parameter object. */
24
+ /**
25
+ * @typedef {"pkcs8" | "raw" | "spki"} ImportKeyFormat - The format used when importing a cryptographic key.
26
+ */
27
+ /**
28
+ * @typedef {Object} PluginIdentity
29
+ * @property {string} id - The unique identifier of the plugin.
30
+ * @property {string[]} authors - The list of authors of the plugin.
31
+ * @property {string[]} categories - The list of categories of the plugin.
32
+ * @property {string[]} tags - The list of tags of the plugin.
33
+ */
34
+ /**
35
+ * Signs a plugin's identity using a private key.
36
+ * This function is intended to be used by plugin authors during the build/release process.
37
+ *
38
+ * @param {string} pluginId - The unique identifier of the plugin.
39
+ * @param {string[]} authors - The list of authors of the plugin.
40
+ * @param {string[]} categories - The list of categories the plugin belongs to.
41
+ * @param {string[]} tags - The list of tags the plugin has.
42
+ * @param {CryptoKey} privateKey - The RSA private key used for signing.
43
+ * @param {CryptoAlgorithm} [algorithm] - The cryptographic algorithm to use for signing.
44
+ * @returns {Promise<ArrayBuffer>} A promise that resolves to the digital signature.
45
+ * @throws {TypeError} If the inputs are invalid or the signing process fails.
46
+ */
47
+ export declare function signPluginIdentity(pluginId: string, authors: string[], categories: string[], tags: string[], privateKey: CryptoKey, algorithm?: CryptoAlgorithm): Promise<ArrayBuffer>;
48
+ /**
49
+ * Create a deterministic identity string.
50
+ * @param {string} pluginId - The unique identifier of the plugin.
51
+ * @param {string[]} authors - The list of authors of the plugin.
52
+ * @param {string[]} categories - The list of categories of the plugin.
53
+ * @param {string[]} tags - The list of tags of the plugin.
54
+ * @returns {string} The deterministic identity string used for verification.
55
+ */
56
+ export declare const createPluginIdChecker: (pluginId: string, authors: string[], categories: string[], tags: string[]) => string;
57
+ export type TinyPluginConstructor = {
58
+ /**
59
+ * - The logging configuration.
60
+ */
61
+ logCfg: DebuggerConstructor;
62
+ /**
63
+ * - A list of keys to be blacklisted.
64
+ */
65
+ sandboxBlacklist?: BlackListCorePartial;
66
+ /**
67
+ * - Configuration for identity-based engine access.
68
+ */
69
+ accessControl?: PluginAccessControlPartial;
70
+ };
71
+ /**
72
+ * Validate asynchronous encryption signature using the native browser API.
73
+ *
74
+ * @param {PluginAccessControl} accessControl - The access control configuration used for verification.
75
+ * @param {Set<string>} verifiedPlugins - The set of plugins that have already been verified.
76
+ * @param {string} pluginId - The unique identifier of the plugin.
77
+ * @param {string[]} authors - The list of authors of the plugin.
78
+ * @param {string[]} categories - The list of categories of the plugin.
79
+ * @param {string[]} tags - The list of tags of the plugin.
80
+ * @param {string|BufferSource} signature - The cryptographic signature provided by the plugin.
81
+ * @returns {Promise<boolean>} A promise that resolves to true if the signature is valid, false otherwise.
82
+ */
83
+ export declare const verifyPluginSignature: (accessControl: PluginAccessControl, verifiedPlugins: Set<string>, pluginId: string, authors: string[], categories: string[], tags: string[], signature: string | BufferSource) => Promise<boolean>;
84
+ export type DebuggerConstructor = import('../tools/TinyDebugger.mjs').DebuggerConstructor;
85
+ export type LayerSecurityConfig = {
86
+ /**
87
+ * - The access control configuration for the layer.
88
+ */
89
+ accessControl: PluginAccessControl;
90
+ /**
91
+ * - Configuration for the layer's sandbox.
92
+ */
93
+ sandboxBlacklist?: BlackListCorePartial;
94
+ };
95
+ /** @typedef {import('../tools/TinyDebugger.mjs').DebuggerConstructor} DebuggerConstructor - The constructor function for a debugger instance. */
96
+ /**
97
+ * @typedef {Object} LayerSecurityConfig
98
+ * @property {PluginAccessControl} accessControl - The access control configuration for the layer.
99
+ * @property {BlackListCorePartial} [sandboxBlacklist] - Configuration for the layer's sandbox.
100
+ */
101
+ /**
102
+ * Represents the isolated runtime environment or state container for a plugin.
103
+ * It manages the 'ready' state and provides a secondary security layer
104
+ * mirroring the TinyPluginCore security ecosystem.
105
+ */
106
+ declare class TinyPluginLayer extends TinyDebugger {
107
+ #private;
108
+ /**
109
+ * Gets whether the layer is initialized and ready.
110
+ * @returns {boolean} True if the layer is ready, false otherwise.
111
+ */
112
+ get isReady(): boolean;
113
+ /**
114
+ * Gets the current layer access control whitelist.
115
+ * @returns {BwListProtected} The current layer access control whitelist.
116
+ */
117
+ get accessControlWhitelist(): BwListProtected;
118
+ /**
119
+ * Gets the current layer access control blacklist.
120
+ * @returns {BwListProtected} The current layer access control blacklist.
121
+ */
122
+ get accessControlBlacklist(): BwListProtected;
123
+ /**
124
+ * Gets the current layer access control mode.
125
+ * @returns {PluginAccessControlMode} The current layer access control mode.
126
+ */
127
+ get accessControlMode(): PluginAccessControlMode;
128
+ /**
129
+ * Initializes a new instance of the TinyPluginLayer class.
130
+ * @param {TinyPluginConstructor} [ops] - The configuration options for the constructor.
131
+ */
132
+ constructor(ops?: TinyPluginConstructor);
133
+ /**
134
+ * Internal method to initialize the layer state.
135
+ * @template {TinyPlugin<any, any, any, any, any>} Plugin - The TinyPlugin template.
136
+ * @template {any[]} Args - The type of arguments passed to the callback.
137
+ * @param {Plugin} plugin - The TinyPlugin instance.
138
+ * @param {(...args: Args) => void} [callback] - An optional callback function to execute during initialization.
139
+ * @param {Args} args - The arguments to be passed to the callback.
140
+ * @returns {this} The current instance of the TinyPluginLayer.
141
+ * @throws {Error} If the layer has already been initialized.
142
+ */
143
+ _startLayer<Plugin extends TinyPlugin<any, any, any, any, any>, Args extends any[]>(plugin: Plugin, callback?: (...args: Args) => void, ...args: Args): this;
144
+ /**
145
+ * Validates if a plugin is permitted to access the layer based on identity.
146
+ * @param {string} pluginId - The unique identifier of the plugin.
147
+ * @param {readonly string[]} authors - The list of authors of the plugin.
148
+ * @param {readonly string[]} categories - The list of categories of the plugin.
149
+ * @param {readonly string[]} tags - The list of tags of the plugin.
150
+ * @returns {boolean} True if access is granted, false otherwise.
151
+ */
152
+ canAccessLayer(pluginId: string, authors: readonly string[], categories: readonly string[], tags: readonly string[]): boolean;
153
+ /**
154
+ * Validates an asynchronous signature for the layer's scope.
155
+ * @param {string} pluginId - The unique identifier.
156
+ * @param {string[]} authors - The authors list.
157
+ * @param {string[]} categories - The categories list.
158
+ * @param {string[]} tags - The tags list.
159
+ * @param {string} signature - The cryptographic signature.
160
+ * @returns {Promise<boolean>} A promise that resolves to true if the signature is valid, false otherwise.
161
+ */
162
+ verifyPluginSignature(pluginId: string, authors: string[], categories: string[], tags: string[], signature: string): Promise<boolean>;
163
+ /**
164
+ * Creates a secure proxy to restrict plugin access to the host.
165
+ * This ensures that even if the layer is passed to external entities,
166
+ * its internal state and lifecycle methods remain protected.
167
+ * @param {BlackListValue[]} allowedSets - The list of keys allowed to be set.
168
+ * @param {BlackListValue[]} allowedGets - The list of keys allowed to be accessed.
169
+ * @returns {this} The proxied instance of the layer.
170
+ */
171
+ _createSandbox(allowedSets: BlackListValue[], allowedGets: BlackListValue[]): this;
172
+ }
173
+ export type BlackListValue = string | symbol;
174
+ export type BlackListCore = {
175
+ /**
176
+ * - The set of restricted keys for getting.
177
+ */
178
+ get: Set<BlackListValue>;
179
+ /**
180
+ * - The set of restricted keys for setting.
181
+ */
182
+ set: Set<BlackListValue>;
183
+ };
184
+ export type BlackListCorePartial = {
185
+ /**
186
+ * - A list of restricted keys for getting.
187
+ */
188
+ get?: BlackListValue[];
189
+ /**
190
+ * - A list of restricted keys for setting.
191
+ */
192
+ set?: BlackListValue[];
193
+ };
194
+ export type BlackListCoreProtected = {
195
+ /**
196
+ * - A read-only array of restricted keys for getting.
197
+ */
198
+ get: Readonly<BlackListValue[]>;
199
+ /**
200
+ * - A read-only array of restricted keys for setting.
201
+ */
202
+ set: Readonly<BlackListValue[]>;
203
+ };
204
+ export type BwList = {
205
+ /**
206
+ * - A set of restricted plugin IDs.
207
+ */
208
+ ids: Set<BlackListValue>;
209
+ /**
210
+ * - A set of restricted author names.
211
+ */
212
+ authors: Set<BlackListValue>;
213
+ /**
214
+ * - A set of restricted plugin categories.
215
+ */
216
+ categories: Set<BlackListValue>;
217
+ /**
218
+ * - A set of restricted plugin tags.
219
+ */
220
+ tags: Set<BlackListValue>;
221
+ };
222
+ export type BwListArray = {
223
+ /**
224
+ * - An array of restricted plugin IDs.
225
+ */
226
+ ids: BlackListValue[];
227
+ /**
228
+ * - An array of restricted author names.
229
+ */
230
+ authors: BlackListValue[];
231
+ /**
232
+ * - An array of restricted plugin categories.
233
+ */
234
+ categories: BlackListValue[];
235
+ /**
236
+ * - An array of restricted plugin tags.
237
+ */
238
+ tags: BlackListValue[];
239
+ };
240
+ export type BwListProtected = {
241
+ /**
242
+ * - A read-only array of restricted plugin IDs.
243
+ */
244
+ ids: Readonly<BlackListValue[]>;
245
+ /**
246
+ * - A read-only array of restricted author names.
247
+ */
248
+ authors: Readonly<BlackListValue[]>;
249
+ /**
250
+ * - A read-only array of restricted plugin categories.
251
+ */
252
+ categories: Readonly<BlackListValue[]>;
253
+ /**
254
+ * - A read-only array of restricted plugin tags.
255
+ */
256
+ tags: Readonly<BlackListValue[]>;
257
+ };
258
+ export type PluginAccessControlMode = 'none' | 'whitelist' | 'blacklist' | 'cryptographic';
259
+ export type PluginAccessControlPartial = {
260
+ /**
261
+ * - The operational mode for engine access control.
262
+ */
263
+ mode: PluginAccessControlMode;
264
+ /**
265
+ * - The whitelist configuration.
266
+ */
267
+ whitelist?: BwListArray;
268
+ /**
269
+ * - The blacklist configuration.
270
+ */
271
+ blacklist?: BwListArray;
272
+ /**
273
+ * - The public key used for cryptographic verification.
274
+ */
275
+ publicKey?: string;
276
+ /**
277
+ * - The algorithm used for signature verification.
278
+ */
279
+ cryptoAlgorithm?: CryptoAlgorithm;
280
+ /**
281
+ * - The algorithm used for importing the public key.
282
+ */
283
+ importAlgorithm?: CryptoAlgorithm;
284
+ /**
285
+ * - The format of the key being imported.
286
+ */
287
+ importKeyFormat?: ImportKeyFormat;
288
+ };
289
+ export type PluginAccessControl = {
290
+ /**
291
+ * - The operational mode for engine access control.
292
+ */
293
+ mode: PluginAccessControlMode;
294
+ /**
295
+ * - The whitelist configuration.
296
+ */
297
+ whitelist: BwList;
298
+ /**
299
+ * - The blacklist configuration.
300
+ */
301
+ blacklist: BwList;
302
+ /**
303
+ * - The public key used for cryptographic verification.
304
+ */
305
+ publicKey: string | null;
306
+ /**
307
+ * - The algorithm used for signature verification.
308
+ */
309
+ cryptoAlgorithm: CryptoAlgorithm;
310
+ /**
311
+ * - The algorithm used for importing the public key.
312
+ */
313
+ importAlgorithm: CryptoAlgorithm;
314
+ /**
315
+ * - The format of the key being imported.
316
+ */
317
+ importKeyFormat: ImportKeyFormat;
318
+ };
319
+ /** @typedef {string|symbol} BlackListValue - The type of value that can be stored in a blacklist (either a string or a symbol). */
320
+ /**
321
+ * @typedef {Object} BlackListCore
322
+ * @property {Set<BlackListValue>} get - The set of restricted keys for getting.
323
+ * @property {Set<BlackListValue>} set - The set of restricted keys for setting.
324
+ */
325
+ /**
326
+ * @typedef {Object} BlackListCorePartial
327
+ * @property {BlackListValue[]} [get] - A list of restricted keys for getting.
328
+ * @property {BlackListValue[]} [set] - A list of restricted keys for setting.
329
+ */
330
+ /**
331
+ * @typedef {Object} BlackListCoreProtected
332
+ * @property {Readonly<BlackListValue[]>} get - A read-only array of restricted keys for getting.
333
+ * @property {Readonly<BlackListValue[]>} set - A read-only array of restricted keys for setting.
334
+ */
335
+ /**
336
+ * @typedef {Object} BwList
337
+ * @property {Set<BlackListValue>} ids - A set of restricted plugin IDs.
338
+ * @property {Set<BlackListValue>} authors - A set of restricted author names.
339
+ * @property {Set<BlackListValue>} categories - A set of restricted plugin categories.
340
+ * @property {Set<BlackListValue>} tags - A set of restricted plugin tags.
341
+ */
342
+ /**
343
+ * @typedef {Object} BwListArray
344
+ * @property {BlackListValue[]} ids - An array of restricted plugin IDs.
345
+ * @property {BlackListValue[]} authors - An array of restricted author names.
346
+ * @property {BlackListValue[]} categories - An array of restricted plugin categories.
347
+ * @property {BlackListValue[]} tags - An array of restricted plugin tags.
348
+ */
349
+ /**
350
+ * @typedef {Object} BwListProtected
351
+ * @property {Readonly<BlackListValue[]>} ids - A read-only array of restricted plugin IDs.
352
+ * @property {Readonly<BlackListValue[]>} authors - A read-only array of restricted author names.
353
+ * @property {Readonly<BlackListValue[]>} categories - A read-only array of restricted plugin categories.
354
+ * @property {Readonly<BlackListValue[]>} tags - A read-only array of restricted plugin tags.
355
+ */
356
+ /**
357
+ * The operational mode for engine access control.
358
+ * @typedef {'none' | 'whitelist' | 'blacklist' | 'cryptographic'} PluginAccessControlMode
359
+ */
360
+ /**
361
+ * @typedef {Object} PluginAccessControlPartial
362
+ * @property {PluginAccessControlMode} mode - The operational mode for engine access control.
363
+ * @property {BwListArray} [whitelist] - The whitelist configuration.
364
+ * @property {BwListArray} [blacklist] - The blacklist configuration.
365
+ * @property {string} [publicKey] - The public key used for cryptographic verification.
366
+ * @property {CryptoAlgorithm} [cryptoAlgorithm] - The algorithm used for signature verification.
367
+ * @property {CryptoAlgorithm} [importAlgorithm] - The algorithm used for importing the public key.
368
+ * @property {ImportKeyFormat} [importKeyFormat] - The format of the key being imported.
369
+ */
370
+ /**
371
+ * @typedef {Object} PluginAccessControl
372
+ * @property {PluginAccessControlMode} mode - The operational mode for engine access control.
373
+ * @property {BwList} whitelist - The whitelist configuration.
374
+ * @property {BwList} blacklist - The blacklist configuration.
375
+ * @property {string|null} publicKey - The public key used for cryptographic verification.
376
+ * @property {CryptoAlgorithm} cryptoAlgorithm - The algorithm used for signature verification.
377
+ * @property {CryptoAlgorithm} importAlgorithm - The algorithm used for importing the public key.
378
+ * @property {ImportKeyFormat} importKeyFormat - The format of the key being imported.
379
+ */
380
+ /**
381
+ * The core engine class responsible for managing the plugin lifecycle and registry.
382
+ * It extends TinyDebugger to provide debugging capabilities alongside plugin management.
383
+ */
384
+ declare class TinyPluginCore extends TinyDebugger {
385
+ #private;
386
+ /** @returns {typeof TinyPluginLayer} */
387
+ static get TinyPluginLayer(): typeof TinyPluginLayer;
388
+ /**
389
+ * Gets the event name used when all plugins are destroyed.
390
+ * @returns {string} The event name.
391
+ */
392
+ static get pluginsDestroyEventName(): string;
393
+ /**
394
+ * Sets the event name used when all plugins are destroyed.
395
+ * @param {string} value - The new event name.
396
+ * @throws {TypeError} If the value is not a string.
397
+ */
398
+ static set pluginsDestroyEventName(value: string);
399
+ /**
400
+ * Gets the blacklist of restricted keys for the engine.
401
+ * @returns {BlackListCoreProtected} A read-only array of restricted keys.
402
+ */
403
+ get sandboxBlacklist(): BlackListCoreProtected;
404
+ /**
405
+ * Returns a plain object representation of the registered plugins.
406
+ * This converts the internal Map into a standard object, providing a snapshot
407
+ * of the plugins for easier external access.
408
+ * @returns {Record<string, TinyPlugin<this, TinyPluginLayer, string, string, any[]>>} An object where keys are plugin names and values are the plugin instances.
409
+ */
410
+ get plugins(): Record<string, TinyPlugin<this, TinyPluginLayer, string, string, any[]>>;
411
+ /**
412
+ * Gets the total number of registered plugins in the engine.
413
+ * @returns {number} The total number of registered plugins in the engine.
414
+ */
415
+ get pluginsSize(): number;
416
+ /**
417
+ * Gets the current engine access control whitelist.
418
+ * @returns {BwListProtected} The current engine access control whitelist.
419
+ */
420
+ get accessControlWhitelist(): BwListProtected;
421
+ /**
422
+ * Gets the current engine access control blacklist.
423
+ * @returns {BwListProtected} The current engine access control blacklist.
424
+ */
425
+ get accessControlBlacklist(): BwListProtected;
426
+ /**
427
+ * Gets the current engine access control mode.
428
+ * @returns {PluginAccessControlMode} The current engine access control mode.
429
+ */
430
+ get accessControlMode(): PluginAccessControlMode;
431
+ /**
432
+ * Initializes a new instance of the TinyPluginCore class.
433
+ * @param {TinyPluginConstructor} ops - The configuration options.
434
+ */
435
+ constructor(ops: TinyPluginConstructor);
436
+ /**
437
+ * Validates if a plugin is permitted to access the engine's properties based on identity.
438
+ * @param {string} pluginId - The unique identifier of the plugin.
439
+ * @param {readonly string[]} authors - The list of authors of the plugin.
440
+ * @param {readonly string[]} categories - The list of categories of the plugin.
441
+ * @param {readonly string[]} tags - The list of tags of the plugin.
442
+ * @returns {boolean} True if access is granted, false otherwise.
443
+ */
444
+ canAccessEngine(pluginId: string, authors: readonly string[], categories: readonly string[], tags: readonly string[]): boolean;
445
+ /**
446
+ * Validate asynchronous encryption signature using the native browser API.
447
+ * @param {string} pluginId - The unique identifier of the plugin.
448
+ * @param {string[]} authors - The list of authors of the plugin.
449
+ * @param {string[]} categories - The list of categories of the plugin.
450
+ * @param {string[]} tags - The list of tags of the plugin.
451
+ * @param {string} signature - The cryptographic signature.
452
+ * @returns {Promise<boolean>} A promise that resolves to true if the signature is valid, false otherwise.
453
+ */
454
+ verifyPluginSignature(pluginId: string, authors: string[], categories: string[], tags: string[], signature: string): Promise<boolean>;
455
+ /**
456
+ * Registers a plugin instance into the engine's internal plugin registry.
457
+ *
458
+ * @param {TinyPlugin<this, TinyPluginLayer, string, string, any[]>} plugin - The plugin instance to be registered.
459
+ * @throws {TypeError} If the provided plugin is not an instance of TinyPlugin.
460
+ * @throws {Error} If the plugin is denied access to the core based on current access control rules.
461
+ */
462
+ _addPlugin(plugin: TinyPlugin<this, TinyPluginLayer, string, string, any[]>): void;
463
+ /**
464
+ * Installs a new plugin into the engine and starts its lifecycle.
465
+ *
466
+ * @template {TinyPluginLayer} Layer - The type of the plugin layer.
467
+ * @template {string} Id - The type of the plugin ID.
468
+ * @template {string} Version - The type of the plugin version.
469
+ * @template {any[]} Options - The type of the configuration options.
470
+ * @param {TinyPluginInstaller<this, Layer, Id, Version, Options>} plugin - The plugin instance to be registered.
471
+ * @param {Options} options - Configuration options for the plugin.
472
+ * @returns {TinyPlugin<this, Layer, Id, Version, Options>} The newly installed plugin instance.
473
+ */
474
+ installPlugin<Layer extends TinyPluginLayer, Id extends string, Version extends string, Options extends any[]>(plugin: TinyPluginInstaller<this, Layer, Id, Version, Options>, ...options: Options): TinyPlugin<this, Layer, Id, Version, Options>;
475
+ /**
476
+ * Checks if a specific plugin is already registered in the engine's internal registry.
477
+ * @param {TinyPlugin<this, TinyPluginLayer, string, string, any[]>|string} plugin - The plugin instance or ID to check.
478
+ * @returns {boolean} True if the plugin is registered, false otherwise.
479
+ */
480
+ hasPlugin(plugin: TinyPlugin<this, TinyPluginLayer, string, string, any[]> | string): boolean;
481
+ /**
482
+ * Retrieves a plugin instance by its unique identifier.
483
+ * @param {string} key - The unique identifier of the plugin.
484
+ * @returns {TinyPlugin<this, TinyPluginLayer, string, string, any[]>|undefined} The plugin instance if found, otherwise undefined.
485
+ */
486
+ getPlugin(key: string): TinyPlugin<this, TinyPluginLayer, string, string, any[]> | undefined;
487
+ /**
488
+ * Retrieves a plugin instance by its unique identifier with security enforcement.
489
+ * This method checks the target plugin's identity against the engine's
490
+ * access control rules (whitelist/blacklist/cryptographic).
491
+ *
492
+ * @template {any} ExternalPlugin - The external plugin trying to get the target plugin.
493
+ * @param {string} targetId - The unique identifier of the target plugin.
494
+ * @param {ExternalPlugin} externalPlugin - The external plugin trying to get the target plugin.
495
+ * @returns {TinyPlugin<this, TinyPluginLayer, string, string, any[]>|undefined} The plugin instance if access is granted, otherwise undefined.
496
+ */
497
+ _getPlugin<ExternalPlugin extends any>(targetId: string, externalPlugin: ExternalPlugin): TinyPlugin<this, TinyPluginLayer, string, string, any[]> | undefined;
498
+ /**
499
+ * Destroys all registered plugins and emits the destruction event.
500
+ */
501
+ destroyPlugins(): void;
502
+ }
503
+ export type TinyPluginInstaller<Engine extends TinyPluginCore, Layer extends TinyPluginLayer, IdString extends string, VersionString extends string, Options extends any[]> = (plugin: TinyPlugin<Engine, Layer, IdString, VersionString, Options>, ...options: Options) => Layer;
504
+ /**
505
+ * A function used to install a plugin into the engine.
506
+ * This function is responsible for the actual initialization logic of the plugin,
507
+ * setting up its layer and validating its configuration.
508
+ *
509
+ * @template {TinyPluginCore} Engine - The type of the engine instance.
510
+ * @template {TinyPluginLayer} Layer - The type of the layer returned by the installer.
511
+ * @template {string} IdString - The type of the plugin's unique identifier.
512
+ * @template {string} VersionString - The type of the plugin's version.
513
+ * @template {any[]} Options - The type of the plugin's configuration options.
514
+ *
515
+ * @typedef { (plugin: TinyPlugin<Engine, Layer, IdString, VersionString, Options>, ...options: Options) => Layer } TinyPluginInstaller - The plugin instance being initialized.
516
+ */
517
+ /**
518
+ * Represents a plugin instance designed to be integrated into a main engine.
519
+ * It encapsulates the plugin's identity (id and version), its connection to the engine,
520
+ * its installation logic, and any associated configuration options.
521
+ *
522
+ * @template {TinyPluginCore} Engine - The type of the engine.
523
+ * @template {TinyPluginLayer} Layer - The type of the plugin layer.
524
+ * @template {string} IdString - The type of the plugin's unique identifier.
525
+ * @template {string} VersionString - The type of the plugin's version.
526
+ * @template {any[]} Options - The type of the plugin's configuration options.
527
+ */
528
+ declare class TinyPlugin<Engine extends TinyPluginCore, Layer extends TinyPluginLayer, IdString extends string, VersionString extends string, Options extends any[]> extends TinyDebugger {
529
+ #private;
530
+ /**
531
+ * Gets the logging configuration for the TinyPlugin class.
532
+ * @returns {DebuggerConstructor} The logging configuration constructor.
533
+ */
534
+ static get logCfg(): DebuggerConstructor;
535
+ /**
536
+ * Sets the logging configuration for the TinyPlugin class.
537
+ * @param {DebuggerConstructor} value - The new logging configuration.
538
+ */
539
+ static set logCfg(value: DebuggerConstructor);
540
+ /**
541
+ * Installs a new plugin into a engine and starts its lifecycle.
542
+ * @template {TinyPluginCore} ExternalEngine - The type of the engine.
543
+ * @template {TinyPluginLayer} ExternalLayer - The type of the plugin layer.
544
+ * @template {string} ExternalIdString - The type of the plugin ID.
545
+ * @template {string} ExternalVersionString - The type of the plugin version.
546
+ * @template {any[]} ExternalOptions - The type of the plugin's configuration options.
547
+ * @param {ExternalEngine} engine - The main instance connected to plugin.
548
+ * @param {TinyPluginInstaller<ExternalEngine, ExternalLayer, ExternalIdString, ExternalVersionString, ExternalOptions>} plugin - The plugin instance to be registered.
549
+ * @param {ExternalOptions} options - Configuration options for the plugin.
550
+ * @returns {TinyPlugin<ExternalEngine, ExternalLayer, ExternalIdString, ExternalVersionString, ExternalOptions>} - The plugin instance.
551
+ * @throws {TypeError} If the provided engine is not an instance of TinyPluginCore.
552
+ */
553
+ static _addModuleToCore<ExternalEngine extends TinyPluginCore, ExternalLayer extends TinyPluginLayer, ExternalIdString extends string, ExternalVersionString extends string, ExternalOptions extends any[]>(engine: ExternalEngine, plugin: TinyPluginInstaller<ExternalEngine, ExternalLayer, ExternalIdString, ExternalVersionString, ExternalOptions>, ...options: ExternalOptions): TinyPlugin<ExternalEngine, ExternalLayer, ExternalIdString, ExternalVersionString, ExternalOptions>;
554
+ /**
555
+ * Gets whether the plugin has been destroyed.
556
+ * @returns {boolean} True if the plugin has been destroyed, false otherwise.
557
+ */
558
+ get isDestroyed(): boolean;
559
+ /**
560
+ * Gets the plugins object from the engine.
561
+ * @returns {string[]} The plugins object from the engine.
562
+ */
563
+ get plugins(): string[];
564
+ /**
565
+ * Gets the total number of plugins in the engine.
566
+ * @returns {number} The total number of plugins in the engine.
567
+ */
568
+ get pluginsSize(): number;
569
+ /**
570
+ * Retrieves the plugin instance associated with the given ID from the engine.
571
+ * @param {string} id - The unique identifier of the plugin.
572
+ * @returns {TinyPlugin<Engine, TinyPluginLayer, string, string, any[]>|undefined} The plugin instance if found, otherwise undefined.
573
+ */
574
+ getPlugin(id: string): TinyPlugin<Engine, TinyPluginLayer, string, string, any[]> | undefined;
575
+ /**
576
+ * Checks if the specified plugin or ID is registered in the engine.
577
+ * @param {TinyPlugin<Engine, TinyPluginLayer, string, string, any[]>|string} plugin - The plugin instance or ID to check.
578
+ * @returns {boolean} True if the plugin is registered, false otherwise.
579
+ */
580
+ hasPlugin(plugin: TinyPlugin<Engine, TinyPluginLayer, string, string, any[]> | string): boolean;
581
+ /**
582
+ * Gets the readiness status of the plugin.
583
+ * @returns {boolean} True if the plugin is ready, false otherwise.
584
+ */
585
+ get isReady(): boolean;
586
+ /**
587
+ * Gets the unique identifier of the plugin.
588
+ * @returns {IdString} The plugin id.
589
+ */
590
+ get id(): IdString;
591
+ /**
592
+ * Sets the unique identifier for the plugin.
593
+ * @param {IdString} value - The new unique identifier for the plugin.
594
+ * @throws {Error} If the id is already set.
595
+ * @throws {TypeError} If the value is not a string or is empty.
596
+ */
597
+ set id(value: IdString);
598
+ /**
599
+ * Gets the description of the plugin.
600
+ * @returns {string} The plugin description.
601
+ */
602
+ get description(): string;
603
+ /**
604
+ * Sets the description for the plugin.
605
+ * @param {string} value - The new description for the plugin.
606
+ * @throws {Error} If the description is already set.
607
+ * @throws {TypeError} If the value is not a string or is empty.
608
+ */
609
+ set description(value: string);
610
+ /**
611
+ * Gets the list of authors for the plugin.
612
+ * @returns {readonly string[]} The plugin authors.
613
+ * @throws {Error} If the plugin authors are not set.
614
+ */
615
+ get authors(): readonly string[];
616
+ /**
617
+ * Sets the list of authors for the plugin.
618
+ * @param {string[]} value - The new list of authors for the plugin.
619
+ * @throws {Error} If the authors are already set.
620
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
621
+ */
622
+ set authors(value: string[]);
623
+ /**
624
+ * Gets the list of contributors to the plugin.
625
+ * @returns {readonly string[]} The plugin contributors.
626
+ * @throws {Error} If the plugin contributors are not set.
627
+ */
628
+ get contributors(): readonly string[];
629
+ /**
630
+ * Sets the list of contributors for the plugin.
631
+ * @param {string[]} value - The new list of contributors for the plugin.
632
+ * @throws {Error} If the contributors are already set.
633
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
634
+ */
635
+ set contributors(value: string[]);
636
+ /**
637
+ * Gets the categories of the plugin.
638
+ * @returns {readonly string[]} The plugin categories.
639
+ * @throws {Error} If the plugin categories are not set.
640
+ */
641
+ get categories(): readonly string[];
642
+ /**
643
+ * Sets the categories for the plugin.
644
+ * @param {string[]} value - The new list of the plugin categories.
645
+ * @throws {Error} If the categories are already set.
646
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
647
+ */
648
+ set categories(value: string[]);
649
+ /**
650
+ * Gets the tags of the plugin.
651
+ * @returns {readonly string[]} The plugin tags.
652
+ * @throws {Error} If the plugin tags are not set.
653
+ */
654
+ get tags(): readonly string[];
655
+ /**
656
+ * Sets the tags for the plugin.
657
+ * @param {string[]} value - The new list of the plugin tags.
658
+ * @throws {Error} If the tags are already set.
659
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
660
+ */
661
+ set tags(value: string[]);
662
+ /**
663
+ * Gets the list of keys allowed to be set.
664
+ * @returns {BlackListValue[]} The list of allowed keys for setting.
665
+ */
666
+ get allowedSets(): BlackListValue[];
667
+ /**
668
+ * Sets the list of keys allowed to be modified by the plugin.
669
+ * @param {BlackListValue[]} value - The array of keys to be added to the allowed set.
670
+ * @throws {Error} If the tags are already set.
671
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
672
+ */
673
+ set allowedSets(value: BlackListValue[]);
674
+ /**
675
+ * Gets the list of keys allowed to be accessed.
676
+ * @returns {BlackListValue[]} The list of allowed keys for getting.
677
+ */
678
+ get allowedGets(): BlackListValue[];
679
+ /**
680
+ * Sets the list of keys allowed to be accessed by the plugin.
681
+ * @param {BlackListValue[]} value - The array of keys to be added to the allowed get list.
682
+ * @throws {Error} If the tags are already set.
683
+ * @throws {TypeError} If the value is not an array of non-empty strings or is empty.
684
+ */
685
+ set allowedGets(value: BlackListValue[]);
686
+ /**
687
+ * Gets the version of the plugin as a string.
688
+ * @returns {VersionString} The plugin version.
689
+ * @throws {Error} If the plugin version is not set.
690
+ */
691
+ get version(): VersionString;
692
+ /**
693
+ * Sets the version of the plugin.
694
+ * @param {VersionString} value - The new version string for the plugin.
695
+ * @throws {Error} If the version is already set.
696
+ * @throws {TypeError} If the value is not a string or is empty.
697
+ */
698
+ set version(value: VersionString);
699
+ /**
700
+ * Retrieves the current version of the plugin as a TinyVersion instance.
701
+ * @returns {TinyVersion<VersionString>} The TinyVersion instance representing the plugin's version.
702
+ * @throws {Error} If the plugin version is not set.
703
+ */
704
+ get tinyVersion(): TinyVersion<VersionString>;
705
+ /**
706
+ * Gets the plugin's layer instance.
707
+ * @returns {Layer} The proxied plugin layer.
708
+ */
709
+ get layer(): Layer;
710
+ /**
711
+ * Gets the engine instance associated with this plugin.
712
+ * The engine is proxied to prevent unauthorized access to internal methods.
713
+ * @returns {Engine} The engine instance.
714
+ * @throws {Error} If the plugin is denied access to the engine by the access control rules.
715
+ */
716
+ get engine(): Engine;
717
+ /**
718
+ * Gets the configuration options of the plugin.
719
+ * @returns {Options} The configuration options of the plugin.
720
+ */
721
+ get options(): Options;
722
+ /**
723
+ * Gets the blacklist of restricted keys from the engine.
724
+ * This is accessible within the plugin's sandbox for inspection.
725
+ * @returns {BlackListCoreProtected} The blacklist from the engine.
726
+ */
727
+ get engineBlacklist(): BlackListCoreProtected;
728
+ /**
729
+ * Initializes a new instance of TinyPlugin.
730
+ * @param {Object} config - The configuration object.
731
+ * @param {Engine} config.engine - The engine instance.
732
+ * @param {DebuggerConstructor} config.logCfg - The logging configuration.
733
+ * @param {TinyPluginInstaller<Engine, Layer, IdString, VersionString, Options>} config.installer - The installer function.
734
+ * @param {Options} ops - Additional configuration options.
735
+ */
736
+ constructor({ engine, logCfg, installer }: {
737
+ engine: Engine;
738
+ logCfg: DebuggerConstructor;
739
+ installer: TinyPluginInstaller<Engine, Layer, IdString, VersionString, Options>;
740
+ }, ...ops: Options);
741
+ /**
742
+ * Starts the plugin lifecycle by calling the installer.
743
+ * @throws {Error} If the plugin is already ready.
744
+ * @throws {Error} If the initialization fails.
745
+ */
746
+ _startPlugin(): void;
747
+ /**
748
+ * Destroys the plugin instance.
749
+ */
750
+ destroy(): void;
751
+ }
752
+ export { TinyPlugin, TinyPluginCore, TinyPluginLayer };
753
+ //# sourceMappingURL=TinyPlugin.d.mts.map