tiny-essentials 1.28.19 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/README.md +1 -1
  2. package/changelog/1/28/19.md +24 -0
  3. package/changelog/1/29/0.md +58 -0
  4. package/dist/v1/ColorSafeStringify.min.js +1 -1
  5. package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
  6. package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
  7. package/dist/v1/TinyAnalogClock.min.js +1 -1
  8. package/dist/v1/TinyArrayComparator.min.js +1 -1
  9. package/dist/v1/TinyArrayPaginator.min.js +1 -1
  10. package/dist/v1/TinyBasicsEs.min.js +1 -1
  11. package/dist/v1/TinyBrowserMonitor.min.js +1 -0
  12. package/dist/v1/TinyClassManager.min.js +1 -1
  13. package/dist/v1/TinyClipboard.min.js +1 -1
  14. package/dist/v1/TinyCloner.min.js +1 -0
  15. package/dist/v1/TinyColorConverter.min.js +1 -1
  16. package/dist/v1/TinyColorValidator.min.js +1 -1
  17. package/dist/v1/TinyCookieConsent.min.js +1 -1
  18. package/dist/v1/TinyDayNightCycle.min.js +1 -1
  19. package/dist/v1/TinyDebugger.min.js +1 -1
  20. package/dist/v1/TinyDomReadyManager.min.js +1 -1
  21. package/dist/v1/TinyDragDropDetector.min.js +1 -1
  22. package/dist/v1/TinyDragger.min.js +1 -1
  23. package/dist/v1/TinyElementObserver.min.js +1 -1
  24. package/dist/v1/TinyEssentials.min.js +1 -1
  25. package/dist/v1/TinyGamepad.min.js +1 -1
  26. package/dist/v1/TinyHtml.min.js +1 -1
  27. package/dist/v1/TinyHtmlTagRegexBuilder.min.js +1 -0
  28. package/dist/v1/TinyHttpResponseRegistry.min.js +1 -0
  29. package/dist/v1/TinyI18.min.js +1 -1
  30. package/dist/v1/TinyIframeEvents.min.js +1 -1
  31. package/dist/v1/TinyInventory.min.js +1 -1
  32. package/dist/v1/TinyInventoryTrader.min.js +1 -1
  33. package/dist/v1/TinyLevelUp.min.js +1 -1
  34. package/dist/v1/TinyLoadingScreen.min.js +1 -1
  35. package/dist/v1/TinyLocalStorage.min.js +1 -1
  36. package/dist/v1/TinyMaInSys.min.js +1 -1
  37. package/dist/v1/TinyMapCache.min.js +1 -0
  38. package/dist/v1/TinyMediaPlayer.min.js +1 -1
  39. package/dist/v1/TinyNeedBar.min.js +1 -1
  40. package/dist/v1/TinyNewWinEvents.min.js +1 -1
  41. package/dist/v1/TinyNotificationAdapter.min.js +1 -0
  42. package/dist/v1/TinyNotifications.min.js +1 -1
  43. package/dist/v1/TinyNotifyCenter.min.js +1 -1
  44. package/dist/v1/TinyOPFSFileSystem.min.js +1 -0
  45. package/dist/v1/TinyPasswordValidator.min.js +1 -0
  46. package/dist/v1/TinyPluginPackage.min.js +1 -0
  47. package/dist/v1/TinyPromiseQueue.min.js +1 -1
  48. package/dist/v1/TinyPushManager.min.js +1 -0
  49. package/dist/v1/TinyPushPayload.min.js +1 -0
  50. package/dist/v1/TinyPushRouter.min.js +1 -0
  51. package/dist/v1/TinyRadioFm.min.js +1 -1
  52. package/dist/v1/TinyRateLimiter.min.js +1 -1
  53. package/dist/v1/TinyRegexEs.min.js +1 -0
  54. package/dist/v1/TinyRouter.min.js +1 -0
  55. package/dist/v1/TinyServiceWorker.min.js +1 -0
  56. package/dist/v1/TinyServiceWorkerEngine.min.js +1 -0
  57. package/dist/v1/TinySetMapPackage.min.js +1 -0
  58. package/dist/v1/TinySimpleDice.min.js +1 -1
  59. package/dist/v1/TinySmartScroller.min.js +1 -1
  60. package/dist/v1/TinyStorageBucketFileSystem.min.js +1 -0
  61. package/dist/v1/TinyTextDiffer.min.js +1 -1
  62. package/dist/v1/TinyTextRangeEditor.min.js +1 -1
  63. package/dist/v1/TinyTextarea.min.js +1 -1
  64. package/dist/v1/TinyThrottledApi.min.js +1 -0
  65. package/dist/v1/TinyTimeout.min.js +1 -1
  66. package/dist/v1/TinyToastNotify.min.js +1 -1
  67. package/dist/v1/TinyUploadClicker.min.js +1 -1
  68. package/dist/v1/TinyUriParser.min.js +1 -0
  69. package/dist/v1/TinyVersion.min.js +1 -0
  70. package/dist/v1/TinyWebWorker.min.js +1 -0
  71. package/dist/v1/TinyWebWorkerEngine.min.js +1 -0
  72. package/dist/v1/UltraRandomMsgGen.min.js +1 -1
  73. package/dist/v1/basics/array.cjs +2 -2
  74. package/dist/v1/basics/array.d.mts +2 -0
  75. package/dist/v1/basics/array.d.mts.map +1 -1
  76. package/dist/v1/basics/array.mjs +2 -1
  77. package/dist/v1/basics/browserDetector.cjs +37 -12
  78. package/dist/v1/basics/browserDetector.d.mts +8 -0
  79. package/dist/v1/basics/browserDetector.d.mts.map +1 -1
  80. package/dist/v1/basics/browserDetector.mjs +32 -13
  81. package/dist/v1/basics/crypto.cjs +23 -0
  82. package/dist/v1/basics/crypto.d.mts +10 -0
  83. package/dist/v1/basics/crypto.d.mts.map +1 -0
  84. package/dist/v1/basics/crypto.mjs +18 -0
  85. package/dist/v1/basics/html.cjs +0 -3
  86. package/dist/v1/basics/html.d.mts.map +1 -1
  87. package/dist/v1/basics/html.mjs +0 -2
  88. package/dist/v1/basics/index.cjs +8 -1
  89. package/dist/v1/basics/index.d.mts +6 -5
  90. package/dist/v1/basics/index.d.mts.map +1 -1
  91. package/dist/v1/basics/index.mjs +6 -5
  92. package/dist/v1/basics/objChecker.cjs +88 -0
  93. package/dist/v1/basics/objChecker.d.mts +26 -0
  94. package/dist/v1/basics/objChecker.d.mts.map +1 -1
  95. package/dist/v1/basics/objChecker.mjs +74 -0
  96. package/dist/v1/basics/objFilter.cjs +234 -93
  97. package/dist/v1/basics/objFilter.d.mts +96 -22
  98. package/dist/v1/basics/objFilter.d.mts.map +1 -1
  99. package/dist/v1/basics/objFilter.mjs +216 -92
  100. package/dist/v1/basics/promiseUtils.cjs +48 -12
  101. package/dist/v1/basics/promiseUtils.d.mts +45 -12
  102. package/dist/v1/basics/promiseUtils.d.mts.map +1 -1
  103. package/dist/v1/basics/promiseUtils.mjs +47 -12
  104. package/dist/v1/basics/text.cjs +0 -12
  105. package/dist/v1/basics/text.d.mts +0 -10
  106. package/dist/v1/basics/text.d.mts.map +1 -1
  107. package/dist/v1/basics/text.mjs +0 -10
  108. package/dist/v1/index.cjs +88 -3
  109. package/dist/v1/index.d.mts +31 -6
  110. package/dist/v1/index.d.mts.map +1 -1
  111. package/dist/v1/index.mjs +32 -7
  112. package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
  113. package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
  114. package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
  115. package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
  116. package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
  117. package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
  118. package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
  119. package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
  120. package/dist/v1/libs/fs/constants.cjs +74 -0
  121. package/dist/v1/libs/fs/constants.d.mts +22 -0
  122. package/dist/v1/libs/fs/constants.d.mts.map +1 -0
  123. package/dist/v1/libs/fs/constants.mjs +53 -0
  124. package/dist/v1/libs/fs/encoding.cjs +118 -0
  125. package/dist/v1/libs/fs/encoding.d.mts +50 -0
  126. package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
  127. package/dist/v1/libs/fs/encoding.mjs +102 -0
  128. package/dist/v1/libs/fs/error.cjs +188 -0
  129. package/dist/v1/libs/fs/error.d.mts +105 -0
  130. package/dist/v1/libs/fs/error.d.mts.map +1 -0
  131. package/dist/v1/libs/fs/error.mjs +158 -0
  132. package/dist/v1/libs/fs/handle.cjs +121 -0
  133. package/dist/v1/libs/fs/handle.d.mts +56 -0
  134. package/dist/v1/libs/fs/handle.d.mts.map +1 -0
  135. package/dist/v1/libs/fs/handle.mjs +100 -0
  136. package/dist/v1/libs/fs/index.cjs +700 -0
  137. package/dist/v1/libs/fs/index.d.mts +377 -0
  138. package/dist/v1/libs/fs/index.d.mts.map +1 -0
  139. package/dist/v1/libs/fs/index.mjs +630 -0
  140. package/dist/v1/libs/fs/path.cjs +234 -0
  141. package/dist/v1/libs/fs/path.d.mts +176 -0
  142. package/dist/v1/libs/fs/path.d.mts.map +1 -0
  143. package/dist/v1/libs/fs/path.mjs +197 -0
  144. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
  145. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
  146. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
  147. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
  148. package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
  149. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
  150. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
  151. package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
  152. package/dist/v1/libs/fs/stats.cjs +245 -0
  153. package/dist/v1/libs/fs/stats.d.mts +226 -0
  154. package/dist/v1/libs/fs/stats.d.mts.map +1 -0
  155. package/dist/v1/libs/fs/stats.mjs +197 -0
  156. package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
  157. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
  158. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
  159. package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
  160. package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
  161. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
  162. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
  163. package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
  164. package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
  165. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
  166. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
  167. package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
  168. package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
  169. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
  170. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
  171. package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
  172. package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
  173. package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
  174. package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
  175. package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
  176. package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
  177. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
  178. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
  179. package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
  180. package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
  181. package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
  182. package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
  183. package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
  184. package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
  185. package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
  186. package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
  187. package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
  188. package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
  189. package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
  190. package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
  191. package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
  192. package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
  193. package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
  194. package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
  195. package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
  196. package/dist/v1/libs/router/TinyRouter.cjs +661 -0
  197. package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
  198. package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
  199. package/dist/v1/libs/router/TinyRouter.mjs +572 -0
  200. package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
  201. package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
  202. package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
  203. package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
  204. package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
  205. package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
  206. package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
  207. package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
  208. package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
  209. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
  210. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
  211. package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
  212. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
  213. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
  214. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
  215. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
  216. package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
  217. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
  218. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
  219. package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
  220. package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
  221. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
  222. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
  223. package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
  224. package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
  225. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
  226. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
  227. package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
  228. package/dist/v1/libs/sw/browser/utils.cjs +28 -0
  229. package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
  230. package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
  231. package/dist/v1/libs/sw/browser/utils.mjs +21 -0
  232. package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
  233. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
  234. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
  235. package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
  236. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
  237. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
  238. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
  239. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
  240. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
  241. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
  242. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
  243. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
  244. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
  245. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
  246. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
  247. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
  248. package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
  249. package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
  250. package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
  251. package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
  252. package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
  253. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
  254. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
  255. package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
  256. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
  257. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
  258. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
  259. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
  260. package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
  261. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
  262. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
  263. package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
  264. package/dist/v1/libs/sw/utils.cjs +57 -0
  265. package/dist/v1/libs/sw/utils.d.mts +173 -0
  266. package/dist/v1/libs/sw/utils.d.mts.map +1 -0
  267. package/dist/v1/libs/sw/utils.mjs +50 -0
  268. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
  269. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
  270. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
  271. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
  272. package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
  273. package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
  274. package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
  275. package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
  276. package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
  277. package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
  278. package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
  279. package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
  280. package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
  281. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
  282. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
  283. package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
  284. package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
  285. package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
  286. package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
  287. package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
  288. package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
  289. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
  290. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
  291. package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
  292. package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
  293. package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
  294. package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
  295. package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
  296. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
  297. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
  298. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
  299. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
  300. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
  301. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
  302. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
  303. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
  304. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
  305. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
  306. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
  307. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
  308. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
  309. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
  310. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
  311. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
  312. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
  313. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
  314. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
  315. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
  316. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
  317. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
  318. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
  319. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
  320. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
  321. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
  322. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
  323. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
  324. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
  325. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
  326. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
  327. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
  328. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
  329. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
  330. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
  331. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
  332. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
  333. package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
  334. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
  335. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
  336. package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
  337. package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
  338. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
  339. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
  340. package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
  341. package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
  342. package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
  343. package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
  344. package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
  345. package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
  346. package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
  347. package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
  348. package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
  349. package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
  350. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
  351. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
  352. package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
  353. package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
  354. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
  355. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
  356. package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
  357. package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
  358. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
  359. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
  360. package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
  361. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
  362. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
  363. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
  364. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
  365. package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
  366. package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
  367. package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
  368. package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
  369. package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
  370. package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
  371. package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
  372. package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
  373. package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
  374. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
  375. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
  376. package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
  377. package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
  378. package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
  379. package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
  380. package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
  381. package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
  382. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
  383. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
  384. package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
  385. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
  386. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
  387. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
  388. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
  389. package/dist/v1/regexp/Email.cjs +185 -0
  390. package/dist/v1/regexp/Email.d.mts +73 -0
  391. package/dist/v1/regexp/Email.d.mts.map +1 -0
  392. package/dist/v1/regexp/Email.mjs +153 -0
  393. package/dist/v1/regexp/Glob.cjs +293 -0
  394. package/dist/v1/regexp/Glob.d.mts +45 -0
  395. package/dist/v1/regexp/Glob.d.mts.map +1 -0
  396. package/dist/v1/regexp/Glob.mjs +260 -0
  397. package/dist/v1/regexp/Ipv4.cjs +57 -0
  398. package/dist/v1/regexp/Ipv4.d.mts +29 -0
  399. package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
  400. package/dist/v1/regexp/Ipv4.mjs +45 -0
  401. package/dist/v1/regexp/Ipv6.cjs +67 -0
  402. package/dist/v1/regexp/Ipv6.d.mts +29 -0
  403. package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
  404. package/dist/v1/regexp/Ipv6.mjs +54 -0
  405. package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
  406. package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
  407. package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
  408. package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
  409. package/dist/v1/regexp/UrlDetector.cjs +125 -0
  410. package/dist/v1/regexp/UrlDetector.d.mts +67 -0
  411. package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
  412. package/dist/v1/regexp/UrlDetector.mjs +102 -0
  413. package/dist/v1/regexp/Username/index.cjs +233 -0
  414. package/dist/v1/regexp/Username/index.d.mts +77 -0
  415. package/dist/v1/regexp/Username/index.d.mts.map +1 -0
  416. package/dist/v1/regexp/Username/index.mjs +199 -0
  417. package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
  418. package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
  419. package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
  420. package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
  421. package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
  422. package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
  423. package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
  424. package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
  425. package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
  426. package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
  427. package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
  428. package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
  429. package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
  430. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
  431. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
  432. package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
  433. package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
  434. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
  435. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
  436. package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
  437. package/dist/v1/regexp/Username/templates/index.cjs +11 -0
  438. package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
  439. package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
  440. package/dist/v1/regexp/Username/templates/index.mjs +4 -0
  441. package/dist/v1/regexp/index.cjs +41 -0
  442. package/dist/v1/regexp/index.d.mts +9 -0
  443. package/dist/v1/regexp/index.d.mts.map +1 -0
  444. package/dist/v1/regexp/index.mjs +8 -0
  445. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
  446. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
  447. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
  448. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
  449. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
  450. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
  451. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
  452. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
  453. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
  454. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
  455. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
  456. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
  457. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
  458. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
  459. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
  460. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
  461. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +30 -4
  462. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +5 -2
  463. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -1
  464. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +29 -5
  465. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
  466. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
  467. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
  468. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
  469. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
  470. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
  471. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
  472. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
  473. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
  474. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
  475. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
  476. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
  477. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
  478. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
  479. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
  480. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
  481. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
  482. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
  483. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
  484. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
  485. package/docs/info/RegExp.md +74 -0
  486. package/docs/v1/Exports.md +101 -0
  487. package/docs/v1/README.md +113 -15
  488. package/docs/v1/basics/asyncReplace.md +2 -0
  489. package/docs/v1/basics/browserDetector.md +28 -11
  490. package/docs/v1/basics/crypto.md +85 -0
  491. package/docs/v1/basics/deprecated/html.md +2 -0
  492. package/docs/v1/basics/deprecated/objFilter.md +2 -0
  493. package/docs/v1/basics/html.md +2 -0
  494. package/docs/v1/basics/objChecker.md +55 -0
  495. package/docs/v1/basics/objFilter.md +57 -86
  496. package/docs/v1/basics/promiseUtils.md +12 -3
  497. package/docs/v1/basics/text.md +0 -1
  498. package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
  499. package/docs/v1/libs/fs/TinyFS.md +752 -0
  500. package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
  501. package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
  502. package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
  503. package/docs/v1/libs/plugin/TinyVersion.md +145 -0
  504. package/docs/v1/libs/router/TinyRouter.md +216 -0
  505. package/docs/v1/libs/storage/TinyMapCache.md +219 -0
  506. package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
  507. package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
  508. package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
  509. package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
  510. package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
  511. package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
  512. package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
  513. package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
  514. package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
  515. package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
  516. package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
  517. package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
  518. package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
  519. package/docs/v1/libs/text/TinyI18.md +80 -56
  520. package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
  521. package/docs/v1/libs/tools/TinyDebugger.md +117 -1
  522. package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
  523. package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
  524. package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
  525. package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
  526. package/docs/v1/libs/tools/TinySiteMap.md +134 -0
  527. package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
  528. package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
  529. package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
  530. package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
  531. package/docs/v1/libs/tools/TinyUriParser.md +128 -0
  532. package/docs/v1/libs/utils/TinyCloner.md +126 -0
  533. package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
  534. package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
  535. package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
  536. package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
  537. package/docs/v1/regexp/Email.md +127 -0
  538. package/docs/v1/regexp/Glob.md +155 -0
  539. package/docs/v1/regexp/IPv4.md +103 -0
  540. package/docs/v1/regexp/IPv6.md +122 -0
  541. package/docs/v1/regexp/SegmentExtractor.md +120 -0
  542. package/docs/v1/regexp/UrlDetector.md +117 -0
  543. package/docs/v1/regexp/Username/Base.md +131 -0
  544. package/docs/v1/regexp/Username/Discord.md +267 -0
  545. package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
  546. package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +569 -0
  547. package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +19 -7
  548. package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
  549. package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
  550. package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
  551. package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
  552. package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
  553. package/package.json +303 -13
  554. package/types/EventEmitter.d.ts +48 -0
  555. package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ var objChecker = require('../../../../basics/objChecker.cjs');
4
+ var Glob = require('../../../../regexp/Glob.cjs');
5
+ var TinyServiceWorkerEngine = require('../TinyServiceWorkerEngine.cjs');
6
+
7
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
8
+
9
+ /**
10
+ * Configuration options for the GlobBypassPlugin.
11
+ * @typedef {Object} GlobBypassOptions
12
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/*.js', '\*\*\/\*.{css,html}']) that, when matched, make the request bypass the router validation.
13
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['**\/sw.js']).
14
+ * @property {boolean} [sameOriginOnly=true] - When true, only same-origin requests are evaluated.
15
+ */
16
+
17
+ /**
18
+ * A plugin for TinyServiceWorkerEngine that bypasses the router validation for
19
+ * every request whose pathname matches one of the provided glob patterns.
20
+ *
21
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobBypass', '1.0.0', [GlobBypassOptions]>}
22
+ * @throws {TypeError} If the engine is invalid or if the provided options do not match the required schema.
23
+ */
24
+ const GlobBypassPlugin = (instance, options) => {
25
+ const engine = instance.engine;
26
+ instance.id = 'GlobBypass';
27
+ instance.version = '1.0.0';
28
+ instance.description = 'Glob-based router bypass detector.';
29
+ instance.authors = ['JasminDreasond'];
30
+ instance.contributors = ['JasminDreasond'];
31
+ instance.categories = ['router-validator'];
32
+ instance.tags = ['glob', 'regex', 'bypass', 'router'];
33
+
34
+ // 1. Validation
35
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
36
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
37
+ }
38
+
39
+ if (!objChecker.isJsonObject(options)) {
40
+ throw new TypeError('[GlobBypassPlugin] Options must be a non-null object.');
41
+ }
42
+ if (!Array.isArray(options.patterns) || !options.patterns.every((p) => typeof p === 'string')) {
43
+ throw new TypeError('[GlobBypassPlugin] options.patterns must be an array of strings.');
44
+ }
45
+ if (
46
+ typeof options.exclude !== 'undefined' &&
47
+ (!Array.isArray(options.exclude) || !options.exclude.every((p) => typeof p === 'string'))
48
+ ) {
49
+ throw new TypeError('[GlobBypassPlugin] options.exclude must be an array of strings.');
50
+ }
51
+ if (
52
+ typeof options.sameOriginOnly !== 'undefined' &&
53
+ typeof options.sameOriginOnly !== 'boolean'
54
+ ) {
55
+ throw new TypeError('[GlobBypassPlugin] options.sameOriginOnly must be a boolean.');
56
+ }
57
+
58
+ const { patterns, exclude, sameOriginOnly = true } = options;
59
+
60
+ // 2. Implementation
61
+
62
+ // Pre-compile exclusion patterns into Regex for performance
63
+ const excludeRegexes = (exclude || []).map((pattern) => Glob.compileGlobRegExp(pattern));
64
+
65
+ for (const pattern of patterns) {
66
+ const regex = Glob.compileGlobRegExp(pattern);
67
+ engine.addFetchRegExpListener(regex.source, (fetchObj, response) => {
68
+ if (sameOriginOnly && !fetchObj.isSameOrigin) {
69
+ return; // Skip cross-origin requests
70
+ }
71
+
72
+ // Check if the current URL matches any exclusion pattern
73
+ if (excludeRegexes.some((re) => re.test(fetchObj.url.pathname))) {
74
+ return; // Skip excluded requests
75
+ }
76
+
77
+ // Bypass the router validation for the matched request
78
+ instance.log('info', `File detected: ${fetchObj.url.toString()}`);
79
+ response.continueCheck = false;
80
+ response.needValidation = false;
81
+ response.code = 200;
82
+ });
83
+ }
84
+
85
+ return new TinyPluginLayer();
86
+ };
87
+
88
+ module.exports = GlobBypassPlugin;
@@ -0,0 +1,32 @@
1
+ declare const TinyPluginLayer: typeof import("../../../plugin/TinyPlugin.mjs").TinyPluginLayer;
2
+ export type GlobBypassOptions = {
3
+ /**
4
+ * - Array of glob patterns (e.g., ['\*\*\/*.js', '\*\*\/\*.{css,html}']) that, when matched, make the request bypass the router validation.
5
+ */
6
+ patterns: string[];
7
+ /**
8
+ * - Array of glob patterns to ignore (e.g., ['**\/sw.js']).
9
+ */
10
+ exclude?: string[];
11
+ /**
12
+ * - When true, only same-origin requests are evaluated.
13
+ */
14
+ sameOriginOnly?: boolean;
15
+ };
16
+ /**
17
+ * Configuration options for the GlobBypassPlugin.
18
+ * @typedef {Object} GlobBypassOptions
19
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/*.js', '\*\*\/\*.{css,html}']) that, when matched, make the request bypass the router validation.
20
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['**\/sw.js']).
21
+ * @property {boolean} [sameOriginOnly=true] - When true, only same-origin requests are evaluated.
22
+ */
23
+ /**
24
+ * A plugin for TinyServiceWorkerEngine that bypasses the router validation for
25
+ * every request whose pathname matches one of the provided glob patterns.
26
+ *
27
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobBypass', '1.0.0', [GlobBypassOptions]>}
28
+ * @throws {TypeError} If the engine is invalid or if the provided options do not match the required schema.
29
+ */
30
+ declare const GlobBypassPlugin: import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobBypass', '1.0.0', [GlobBypassOptions]>;
31
+ export default GlobBypassPlugin;
32
+ //# sourceMappingURL=GlobBypassPlugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobBypassPlugin.d.mts","sourceRoot":"","sources":["../../../../../../../src/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs"],"names":[],"mappings":"AAIA,QAAA,MAAQ,eAAe,iEAA4B,CAAC;AAIjD,YAAkB,iBAAiB,GACnC;;;;IAAqB,QAAQ,EAAlB,MAAM,EAAE,CACnB;;;;IAAsB,OAAO,AAA7B,CACA,EADW,MAAM,EAAE,CACnB;;;;IAAqB,cAAc,AAAnC,CACF,EADa,OAAO,CACpB;CAAA,CAAA;AAND;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB,EAHZ,OAAO,gCAAgC,EAAE,iBAAiB,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAiEpJ,CAAC;eAEa,gBAAgB"}
@@ -0,0 +1,69 @@
1
+ import { isJsonObject } from '../../../../basics/objChecker.mjs';
2
+ import { compileGlobRegExp } from '../../../../regexp/Glob.mjs';
3
+ import TinyServiceWorkerEngine from '../TinyServiceWorkerEngine.mjs';
4
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
5
+ /**
6
+ * Configuration options for the GlobBypassPlugin.
7
+ * @typedef {Object} GlobBypassOptions
8
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/*.js', '\*\*\/\*.{css,html}']) that, when matched, make the request bypass the router validation.
9
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['**\/sw.js']).
10
+ * @property {boolean} [sameOriginOnly=true] - When true, only same-origin requests are evaluated.
11
+ */
12
+ /**
13
+ * A plugin for TinyServiceWorkerEngine that bypasses the router validation for
14
+ * every request whose pathname matches one of the provided glob patterns.
15
+ *
16
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobBypass', '1.0.0', [GlobBypassOptions]>}
17
+ * @throws {TypeError} If the engine is invalid or if the provided options do not match the required schema.
18
+ */
19
+ const GlobBypassPlugin = (instance, options) => {
20
+ const engine = instance.engine;
21
+ instance.id = 'GlobBypass';
22
+ instance.version = '1.0.0';
23
+ instance.description = 'Glob-based router bypass detector.';
24
+ instance.authors = ['JasminDreasond'];
25
+ instance.contributors = ['JasminDreasond'];
26
+ instance.categories = ['router-validator'];
27
+ instance.tags = ['glob', 'regex', 'bypass', 'router'];
28
+ // 1. Validation
29
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
30
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
31
+ }
32
+ if (!isJsonObject(options)) {
33
+ throw new TypeError('[GlobBypassPlugin] Options must be a non-null object.');
34
+ }
35
+ if (!Array.isArray(options.patterns) || !options.patterns.every((p) => typeof p === 'string')) {
36
+ throw new TypeError('[GlobBypassPlugin] options.patterns must be an array of strings.');
37
+ }
38
+ if (typeof options.exclude !== 'undefined' &&
39
+ (!Array.isArray(options.exclude) || !options.exclude.every((p) => typeof p === 'string'))) {
40
+ throw new TypeError('[GlobBypassPlugin] options.exclude must be an array of strings.');
41
+ }
42
+ if (typeof options.sameOriginOnly !== 'undefined' &&
43
+ typeof options.sameOriginOnly !== 'boolean') {
44
+ throw new TypeError('[GlobBypassPlugin] options.sameOriginOnly must be a boolean.');
45
+ }
46
+ const { patterns, exclude, sameOriginOnly = true } = options;
47
+ // 2. Implementation
48
+ // Pre-compile exclusion patterns into Regex for performance
49
+ const excludeRegexes = (exclude || []).map((pattern) => compileGlobRegExp(pattern));
50
+ for (const pattern of patterns) {
51
+ const regex = compileGlobRegExp(pattern);
52
+ engine.addFetchRegExpListener(regex.source, (fetchObj, response) => {
53
+ if (sameOriginOnly && !fetchObj.isSameOrigin) {
54
+ return; // Skip cross-origin requests
55
+ }
56
+ // Check if the current URL matches any exclusion pattern
57
+ if (excludeRegexes.some((re) => re.test(fetchObj.url.pathname))) {
58
+ return; // Skip excluded requests
59
+ }
60
+ // Bypass the router validation for the matched request
61
+ instance.log('info', `File detected: ${fetchObj.url.toString()}`);
62
+ response.continueCheck = false;
63
+ response.needValidation = false;
64
+ response.code = 200;
65
+ });
66
+ }
67
+ return new TinyPluginLayer();
68
+ };
69
+ export default GlobBypassPlugin;
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var objChecker = require('../../../../basics/objChecker.cjs');
4
+ var Glob = require('../../../../regexp/Glob.cjs');
5
+ var TinyServiceWorkerEngine = require('../TinyServiceWorkerEngine.cjs');
6
+
7
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
8
+
9
+ /**
10
+ * @typedef {Object} GlobCacheOptions
11
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/\*.js', '\*\*\/\*.{css,html}']).
12
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['\*\*\/sw.js']).
13
+ * @property {boolean} [sameOriginOnly=true]
14
+ * @property {string} cacheName - The name of the CacheStorage bucket to use.
15
+ */
16
+
17
+ /**
18
+ * A plugin for TinyServiceWorkerEngine that implements runtime caching based on glob patterns.
19
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobCache', '1.0.0', [GlobCacheOptions]>}
20
+ * @throws {TypeError} If options or patterns are invalid.
21
+ */
22
+ const GlobCachePlugin = (instance, options) => {
23
+ const engine = instance.engine;
24
+ instance.id = 'GlobCache';
25
+ instance.version = '1.0.0';
26
+ instance.description = 'The glob cache manager.';
27
+ instance.authors = ['JasminDreasond'];
28
+ instance.contributors = ['JasminDreasond'];
29
+ instance.categories = ['router-validator'];
30
+ instance.tags = ['glob', 'regex', 'cache'];
31
+
32
+ // 1. Validation
33
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
34
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
35
+ }
36
+
37
+ if (!objChecker.isJsonObject(options)) {
38
+ throw new TypeError('[GlobCachePlugin] Options must be a non-null object.');
39
+ }
40
+ if (
41
+ typeof options.sameOriginOnly !== 'undefined' &&
42
+ typeof options.sameOriginOnly !== 'boolean'
43
+ ) {
44
+ throw new TypeError('[GlobCachePlugin] options.sameOriginOnly must be an boolean.');
45
+ }
46
+ if (!Array.isArray(options.patterns) || !options.patterns.every((p) => typeof p === 'string')) {
47
+ throw new TypeError('[GlobCachePlugin] options.patterns must be an array of strings.');
48
+ }
49
+ if (
50
+ typeof options.exclude !== 'undefined' &&
51
+ (!Array.isArray(options.exclude) || !options.exclude.every((p) => typeof p === 'string'))
52
+ ) {
53
+ throw new TypeError('[GlobCachePlugin] options.exclude must be an array of strings.');
54
+ }
55
+ if (typeof options.cacheName !== 'string') {
56
+ throw new TypeError('[GlobCachePlugin] options.cacheName must be a string.');
57
+ }
58
+
59
+ const { patterns, exclude, cacheName, sameOriginOnly = true } = options;
60
+
61
+ // Pre-compile exclusion patterns into Regex for performance
62
+ const excludeRegexes = (exclude || []).map((pattern) => Glob.compileGlobRegExp(pattern));
63
+
64
+ // 2. Implementation
65
+ for (const pattern of patterns) {
66
+ const regex = Glob.compileGlobRegExp(pattern);
67
+ engine.addFetchRegExpListener(regex.source, async (fetchObj, result) => {
68
+ const { request, url } = fetchObj;
69
+ if (sameOriginOnly && !fetchObj.isSameOrigin) {
70
+ return; // Skip this request
71
+ }
72
+
73
+ // Check if the current URL matches any exclusion pattern
74
+ const isExcluded = excludeRegexes.some((re) => re.test(url.pathname));
75
+ if (isExcluded) {
76
+ return; // Skip this request
77
+ }
78
+
79
+ try {
80
+ const cache = await caches.open(cacheName);
81
+ const cachedResponse = await cache.match(request);
82
+
83
+ if (cachedResponse) {
84
+ // Inject the cached response into the result object
85
+ result.customResponse = cachedResponse;
86
+ return;
87
+ }
88
+
89
+ // If not in cache, fetch from network
90
+ const networkResponse = await fetch(request);
91
+
92
+ // We must clone the response to add it to the cache,
93
+ // as the body can only be consumed once.
94
+ // Cache API only supports storing GET requests.
95
+ if (networkResponse.status === 200 && request.method === 'GET') {
96
+ cache.put(request, networkResponse.clone());
97
+ }
98
+
99
+ instance.log('info', `File detected: ${fetchObj.url.toString()}`);
100
+ result.customResponse = networkResponse;
101
+ } catch (error) {
102
+ // If caching fails, we don't break the flow,
103
+ // we just let the engine proceed to the next plugin or router.
104
+ console.error(`[GlobCachePlugin] Error during cache operation for ${url.pathname}:`, error);
105
+ }
106
+ });
107
+ }
108
+
109
+ return new TinyPluginLayer();
110
+ };
111
+
112
+ module.exports = GlobCachePlugin;
@@ -0,0 +1,31 @@
1
+ declare const TinyPluginLayer: typeof import("../../../plugin/TinyPlugin.mjs").TinyPluginLayer;
2
+ export type GlobCacheOptions = {
3
+ /**
4
+ * - Array of glob patterns (e.g., ['\*\*\/\*.js', '\*\*\/\*.{css,html}']).
5
+ */
6
+ patterns: string[];
7
+ /**
8
+ * - Array of glob patterns to ignore (e.g., ['\*\*\/sw.js']).
9
+ */
10
+ exclude?: string[];
11
+ sameOriginOnly?: boolean;
12
+ /**
13
+ * - The name of the CacheStorage bucket to use.
14
+ */
15
+ cacheName: string;
16
+ };
17
+ /**
18
+ * @typedef {Object} GlobCacheOptions
19
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/\*.js', '\*\*\/\*.{css,html}']).
20
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['\*\*\/sw.js']).
21
+ * @property {boolean} [sameOriginOnly=true]
22
+ * @property {string} cacheName - The name of the CacheStorage bucket to use.
23
+ */
24
+ /**
25
+ * A plugin for TinyServiceWorkerEngine that implements runtime caching based on glob patterns.
26
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobCache', '1.0.0', [GlobCacheOptions]>}
27
+ * @throws {TypeError} If options or patterns are invalid.
28
+ */
29
+ declare const GlobCachePlugin: import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobCache', '1.0.0', [GlobCacheOptions]>;
30
+ export default GlobCachePlugin;
31
+ //# sourceMappingURL=GlobCachePlugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobCachePlugin.d.mts","sourceRoot":"","sources":["../../../../../../../src/v1/libs/sw/service/plugins/GlobCachePlugin.mjs"],"names":[],"mappings":"AAIA,QAAA,MAAQ,eAAe,iEAA4B,CAAC;AAGjD,YAAkB,gBAAgB,GAClC;;;;IAAqB,QAAQ,EAAlB,MAAM,EAAE,CACnB;;;;IAAsB,OAAO,AAA7B,CACA,EADW,MAAM,EAAE,CACnB;IAAqB,cAAc,AAAnC,CACA,EADW,OAAO,CAClB;;;;IAAmB,SAAS,EAAjB,MAAM,CACnB;CAAA,CAAA;AAND;;;;;;GAMG;AAEH;;;;GAIG;AACH,QAAA,MAAM,eAAe,EAHX,OAAO,gCAAgC,EAAE,iBAAiB,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,CA2FlJ,CAAC;eAEa,eAAe"}
@@ -0,0 +1,91 @@
1
+ import { isJsonObject } from '../../../../basics/objChecker.mjs';
2
+ import { compileGlobRegExp } from '../../../../regexp/Glob.mjs';
3
+ import TinyServiceWorkerEngine from '../TinyServiceWorkerEngine.mjs';
4
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
5
+ /**
6
+ * @typedef {Object} GlobCacheOptions
7
+ * @property {string[]} patterns - Array of glob patterns (e.g., ['\*\*\/\*.js', '\*\*\/\*.{css,html}']).
8
+ * @property {string[]} [exclude] - Array of glob patterns to ignore (e.g., ['\*\*\/sw.js']).
9
+ * @property {boolean} [sameOriginOnly=true]
10
+ * @property {string} cacheName - The name of the CacheStorage bucket to use.
11
+ */
12
+ /**
13
+ * A plugin for TinyServiceWorkerEngine that implements runtime caching based on glob patterns.
14
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'GlobCache', '1.0.0', [GlobCacheOptions]>}
15
+ * @throws {TypeError} If options or patterns are invalid.
16
+ */
17
+ const GlobCachePlugin = (instance, options) => {
18
+ const engine = instance.engine;
19
+ instance.id = 'GlobCache';
20
+ instance.version = '1.0.0';
21
+ instance.description = 'The glob cache manager.';
22
+ instance.authors = ['JasminDreasond'];
23
+ instance.contributors = ['JasminDreasond'];
24
+ instance.categories = ['router-validator'];
25
+ instance.tags = ['glob', 'regex', 'cache'];
26
+ // 1. Validation
27
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
28
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
29
+ }
30
+ if (!isJsonObject(options)) {
31
+ throw new TypeError('[GlobCachePlugin] Options must be a non-null object.');
32
+ }
33
+ if (typeof options.sameOriginOnly !== 'undefined' &&
34
+ typeof options.sameOriginOnly !== 'boolean') {
35
+ throw new TypeError('[GlobCachePlugin] options.sameOriginOnly must be an boolean.');
36
+ }
37
+ if (!Array.isArray(options.patterns) || !options.patterns.every((p) => typeof p === 'string')) {
38
+ throw new TypeError('[GlobCachePlugin] options.patterns must be an array of strings.');
39
+ }
40
+ if (typeof options.exclude !== 'undefined' &&
41
+ (!Array.isArray(options.exclude) || !options.exclude.every((p) => typeof p === 'string'))) {
42
+ throw new TypeError('[GlobCachePlugin] options.exclude must be an array of strings.');
43
+ }
44
+ if (typeof options.cacheName !== 'string') {
45
+ throw new TypeError('[GlobCachePlugin] options.cacheName must be a string.');
46
+ }
47
+ const { patterns, exclude, cacheName, sameOriginOnly = true } = options;
48
+ // Pre-compile exclusion patterns into Regex for performance
49
+ const excludeRegexes = (exclude || []).map((pattern) => compileGlobRegExp(pattern));
50
+ // 2. Implementation
51
+ for (const pattern of patterns) {
52
+ const regex = compileGlobRegExp(pattern);
53
+ engine.addFetchRegExpListener(regex.source, async (fetchObj, result) => {
54
+ const { request, url } = fetchObj;
55
+ if (sameOriginOnly && !fetchObj.isSameOrigin) {
56
+ return; // Skip this request
57
+ }
58
+ // Check if the current URL matches any exclusion pattern
59
+ const isExcluded = excludeRegexes.some((re) => re.test(url.pathname));
60
+ if (isExcluded) {
61
+ return; // Skip this request
62
+ }
63
+ try {
64
+ const cache = await caches.open(cacheName);
65
+ const cachedResponse = await cache.match(request);
66
+ if (cachedResponse) {
67
+ // Inject the cached response into the result object
68
+ result.customResponse = cachedResponse;
69
+ return;
70
+ }
71
+ // If not in cache, fetch from network
72
+ const networkResponse = await fetch(request);
73
+ // We must clone the response to add it to the cache,
74
+ // as the body can only be consumed once.
75
+ // Cache API only supports storing GET requests.
76
+ if (networkResponse.status === 200 && request.method === 'GET') {
77
+ cache.put(request, networkResponse.clone());
78
+ }
79
+ instance.log('info', `File detected: ${fetchObj.url.toString()}`);
80
+ result.customResponse = networkResponse;
81
+ }
82
+ catch (error) {
83
+ // If caching fails, we don't break the flow,
84
+ // we just let the engine proceed to the next plugin or router.
85
+ console.error(`[GlobCachePlugin] Error during cache operation for ${url.pathname}:`, error);
86
+ }
87
+ });
88
+ }
89
+ return new TinyPluginLayer();
90
+ };
91
+ export default GlobCachePlugin;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var TinyServiceWorkerEngine = require('../TinyServiceWorkerEngine.cjs');
4
+
5
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
6
+
7
+ /**
8
+ * Ping/Pong Logic to plugin test.
9
+ *
10
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'SimplePing', '1.0.0', []>}
11
+ */
12
+ const TinyPingPwa = (instance) => {
13
+ const engine = instance.engine;
14
+ instance.id = 'SimplePing';
15
+ instance.version = '1.0.0';
16
+ instance.description = 'Ping tester plugin.';
17
+ instance.authors = ['JasminDreasond'];
18
+ instance.contributors = ['JasminDreasond'];
19
+ instance.categories = ['dev-tool'];
20
+ instance.tags = ['ping', 'test'];
21
+
22
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
23
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
24
+ }
25
+
26
+ engine.addMessageListener('ping', ({ reply }) => {
27
+ reply('pong', { msg: 'mio! :3' });
28
+ });
29
+ return new TinyPluginLayer();
30
+ };
31
+
32
+ module.exports = TinyPingPwa;
@@ -0,0 +1,9 @@
1
+ declare const TinyPluginLayer: typeof import("../../../plugin/TinyPlugin.mjs").TinyPluginLayer;
2
+ /**
3
+ * Ping/Pong Logic to plugin test.
4
+ *
5
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'SimplePing', '1.0.0', []>}
6
+ */
7
+ declare const TinyPingPwa: import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'SimplePing', '1.0.0', []>;
8
+ export default TinyPingPwa;
9
+ //# sourceMappingURL=Ping.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ping.d.mts","sourceRoot":"","sources":["../../../../../../../src/v1/libs/sw/service/plugins/Ping.mjs"],"names":[],"mappings":"AAEA,QAAA,MAAQ,eAAe,iEAA4B,CAAC;AAEpD;;;;GAIG;AACH,QAAA,MAAM,WAAW,EAFP,OAAO,gCAAgC,EAAE,iBAAiB,CAAC,YAAY,CAAC,OAAO,eAAe,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAoBnI,CAAC;eAEa,WAAW"}
@@ -0,0 +1,25 @@
1
+ import TinyServiceWorkerEngine from '../TinyServiceWorkerEngine.mjs';
2
+ const { TinyPluginLayer } = TinyServiceWorkerEngine;
3
+ /**
4
+ * Ping/Pong Logic to plugin test.
5
+ *
6
+ * @type {import('../TinyServiceWorkerEngine.mjs').SwPluginInstaller<InstanceType<typeof TinyPluginLayer>, 'SimplePing', '1.0.0', []>}
7
+ */
8
+ const TinyPingPwa = (instance) => {
9
+ const engine = instance.engine;
10
+ instance.id = 'SimplePing';
11
+ instance.version = '1.0.0';
12
+ instance.description = 'Ping tester plugin.';
13
+ instance.authors = ['JasminDreasond'];
14
+ instance.contributors = ['JasminDreasond'];
15
+ instance.categories = ['dev-tool'];
16
+ instance.tags = ['ping', 'test'];
17
+ if (!(engine instanceof TinyServiceWorkerEngine)) {
18
+ throw new TypeError('Plugin requires a TinyServiceWorkerEngine instance to function.');
19
+ }
20
+ engine.addMessageListener('ping', ({ reply }) => {
21
+ reply('pong', { msg: 'mio! :3' });
22
+ });
23
+ return new TinyPluginLayer();
24
+ };
25
+ export default TinyPingPwa;