tiny-essentials 1.28.18 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/changelog/1/28/19.md +24 -0
- package/changelog/1/29/0.md +58 -0
- package/dist/v1/ColorSafeStringify.min.js +1 -1
- package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
- package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
- package/dist/v1/TinyAnalogClock.min.js +1 -1
- package/dist/v1/TinyArrayComparator.min.js +1 -1
- package/dist/v1/TinyArrayPaginator.min.js +1 -1
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyBrowserMonitor.min.js +1 -0
- package/dist/v1/TinyClassManager.min.js +1 -1
- package/dist/v1/TinyClipboard.min.js +1 -1
- package/dist/v1/TinyCloner.min.js +1 -0
- package/dist/v1/TinyColorConverter.min.js +1 -1
- package/dist/v1/TinyColorValidator.min.js +1 -1
- package/dist/v1/TinyCookieConsent.min.js +1 -1
- package/dist/v1/TinyDayNightCycle.min.js +1 -1
- package/dist/v1/TinyDebugger.min.js +1 -1
- package/dist/v1/TinyDomReadyManager.min.js +1 -1
- package/dist/v1/TinyDragDropDetector.min.js +1 -1
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyElementObserver.min.js +1 -1
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyGamepad.min.js +1 -1
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinyHtmlTagRegexBuilder.min.js +1 -0
- package/dist/v1/TinyHttpResponseRegistry.min.js +1 -0
- package/dist/v1/TinyI18.min.js +1 -1
- package/dist/v1/TinyIframeEvents.min.js +1 -1
- package/dist/v1/TinyInventory.min.js +1 -1
- package/dist/v1/TinyInventoryTrader.min.js +1 -1
- package/dist/v1/TinyLevelUp.min.js +1 -1
- package/dist/v1/TinyLoadingScreen.min.js +1 -1
- package/dist/v1/TinyLocalStorage.min.js +1 -1
- package/dist/v1/TinyMaInSys.min.js +1 -1
- package/dist/v1/TinyMapCache.min.js +1 -0
- package/dist/v1/TinyMediaPlayer.min.js +1 -1
- package/dist/v1/TinyNeedBar.min.js +1 -1
- package/dist/v1/TinyNewWinEvents.min.js +1 -1
- package/dist/v1/TinyNotificationAdapter.min.js +1 -0
- package/dist/v1/TinyNotifications.min.js +1 -1
- package/dist/v1/TinyNotifyCenter.min.js +1 -1
- package/dist/v1/TinyOPFSFileSystem.min.js +1 -0
- package/dist/v1/TinyPasswordValidator.min.js +1 -0
- package/dist/v1/TinyPluginPackage.min.js +1 -0
- package/dist/v1/TinyPromiseQueue.min.js +1 -1
- package/dist/v1/TinyPushManager.min.js +1 -0
- package/dist/v1/TinyPushPayload.min.js +1 -0
- package/dist/v1/TinyPushRouter.min.js +1 -0
- package/dist/v1/TinyRadioFm.min.js +1 -1
- package/dist/v1/TinyRateLimiter.min.js +1 -1
- package/dist/v1/TinyRegexEs.min.js +1 -0
- package/dist/v1/TinyRouter.min.js +1 -0
- package/dist/v1/TinyServiceWorker.min.js +1 -0
- package/dist/v1/TinyServiceWorkerEngine.min.js +1 -0
- package/dist/v1/TinySetMapPackage.min.js +1 -0
- package/dist/v1/TinySimpleDice.min.js +1 -1
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyStorageBucketFileSystem.min.js +1 -0
- package/dist/v1/TinyTextDiffer.min.js +1 -1
- package/dist/v1/TinyTextRangeEditor.min.js +1 -1
- package/dist/v1/TinyTextarea.min.js +1 -1
- package/dist/v1/TinyThrottledApi.min.js +1 -0
- package/dist/v1/TinyTimeout.min.js +1 -1
- package/dist/v1/TinyToastNotify.min.js +1 -1
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/TinyUriParser.min.js +1 -0
- package/dist/v1/TinyVersion.min.js +1 -0
- package/dist/v1/TinyWebWorker.min.js +1 -0
- package/dist/v1/TinyWebWorkerEngine.min.js +1 -0
- package/dist/v1/UltraRandomMsgGen.min.js +1 -1
- package/dist/v1/basics/array.cjs +2 -2
- package/dist/v1/basics/array.d.mts +2 -0
- package/dist/v1/basics/array.d.mts.map +1 -1
- package/dist/v1/basics/array.mjs +2 -1
- package/dist/v1/basics/browserDetector.cjs +37 -12
- package/dist/v1/basics/browserDetector.d.mts +8 -0
- package/dist/v1/basics/browserDetector.d.mts.map +1 -1
- package/dist/v1/basics/browserDetector.mjs +32 -13
- package/dist/v1/basics/crypto.cjs +23 -0
- package/dist/v1/basics/crypto.d.mts +10 -0
- package/dist/v1/basics/crypto.d.mts.map +1 -0
- package/dist/v1/basics/crypto.mjs +18 -0
- package/dist/v1/basics/html.cjs +0 -3
- package/dist/v1/basics/html.d.mts.map +1 -1
- package/dist/v1/basics/html.mjs +0 -2
- package/dist/v1/basics/index.cjs +8 -1
- package/dist/v1/basics/index.d.mts +6 -5
- package/dist/v1/basics/index.d.mts.map +1 -1
- package/dist/v1/basics/index.mjs +6 -5
- package/dist/v1/basics/objChecker.cjs +88 -0
- package/dist/v1/basics/objChecker.d.mts +26 -0
- package/dist/v1/basics/objChecker.d.mts.map +1 -1
- package/dist/v1/basics/objChecker.mjs +74 -0
- package/dist/v1/basics/objFilter.cjs +234 -93
- package/dist/v1/basics/objFilter.d.mts +96 -22
- package/dist/v1/basics/objFilter.d.mts.map +1 -1
- package/dist/v1/basics/objFilter.mjs +216 -92
- package/dist/v1/basics/promiseUtils.cjs +48 -12
- package/dist/v1/basics/promiseUtils.d.mts +45 -12
- package/dist/v1/basics/promiseUtils.d.mts.map +1 -1
- package/dist/v1/basics/promiseUtils.mjs +47 -12
- package/dist/v1/basics/text.cjs +0 -12
- package/dist/v1/basics/text.d.mts +0 -10
- package/dist/v1/basics/text.d.mts.map +1 -1
- package/dist/v1/basics/text.mjs +0 -10
- package/dist/v1/css/TinyCookieConsent.min.css +1 -0
- package/dist/v1/css/TinyCookieConsent.min.css.map +1 -0
- package/dist/v1/css/TinyDraggerExample.min.css +1 -0
- package/dist/v1/css/TinyDraggerExample.min.css.map +1 -0
- package/dist/v1/css/TinyLoadingScreen.min.css +1 -0
- package/dist/v1/css/TinyLoadingScreen.min.css.map +1 -0
- package/dist/v1/css/TinyNotify.min.css +1 -0
- package/dist/v1/css/TinyNotify.min.css.map +1 -0
- package/dist/v1/css/aiMarker.min.css +1 -0
- package/dist/v1/css/aiMarker.min.css.map +1 -0
- package/dist/v1/index.cjs +88 -3
- package/dist/v1/index.d.mts +31 -6
- package/dist/v1/index.d.mts.map +1 -1
- package/dist/v1/index.mjs +32 -7
- package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
- package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
- package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
- package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
- package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
- package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
- package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
- package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
- package/dist/v1/libs/fs/constants.cjs +74 -0
- package/dist/v1/libs/fs/constants.d.mts +22 -0
- package/dist/v1/libs/fs/constants.d.mts.map +1 -0
- package/dist/v1/libs/fs/constants.mjs +53 -0
- package/dist/v1/libs/fs/encoding.cjs +118 -0
- package/dist/v1/libs/fs/encoding.d.mts +50 -0
- package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
- package/dist/v1/libs/fs/encoding.mjs +102 -0
- package/dist/v1/libs/fs/error.cjs +188 -0
- package/dist/v1/libs/fs/error.d.mts +105 -0
- package/dist/v1/libs/fs/error.d.mts.map +1 -0
- package/dist/v1/libs/fs/error.mjs +158 -0
- package/dist/v1/libs/fs/handle.cjs +121 -0
- package/dist/v1/libs/fs/handle.d.mts +56 -0
- package/dist/v1/libs/fs/handle.d.mts.map +1 -0
- package/dist/v1/libs/fs/handle.mjs +100 -0
- package/dist/v1/libs/fs/index.cjs +700 -0
- package/dist/v1/libs/fs/index.d.mts +377 -0
- package/dist/v1/libs/fs/index.d.mts.map +1 -0
- package/dist/v1/libs/fs/index.mjs +630 -0
- package/dist/v1/libs/fs/path.cjs +234 -0
- package/dist/v1/libs/fs/path.d.mts +176 -0
- package/dist/v1/libs/fs/path.d.mts.map +1 -0
- package/dist/v1/libs/fs/path.mjs +197 -0
- package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
- package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
- package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
- package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
- package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
- package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
- package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
- package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
- package/dist/v1/libs/fs/stats.cjs +245 -0
- package/dist/v1/libs/fs/stats.d.mts +226 -0
- package/dist/v1/libs/fs/stats.d.mts.map +1 -0
- package/dist/v1/libs/fs/stats.mjs +197 -0
- package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
- package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
- package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
- package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
- package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
- package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
- package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
- package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
- package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
- package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
- package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
- package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
- package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
- package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
- package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
- package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
- package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
- package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
- package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
- package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
- package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
- package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
- package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
- package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
- package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
- package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
- package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
- package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
- package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
- package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
- package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
- package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
- package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
- package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
- package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
- package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
- package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
- package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
- package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
- package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
- package/dist/v1/libs/router/TinyRouter.cjs +661 -0
- package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
- package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
- package/dist/v1/libs/router/TinyRouter.mjs +572 -0
- package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
- package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
- package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
- package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
- package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
- package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
- package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
- package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
- package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
- package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
- package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
- package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
- package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
- package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
- package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
- package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
- package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
- package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
- package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
- package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
- package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
- package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
- package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
- package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
- package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
- package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
- package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
- package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
- package/dist/v1/libs/sw/browser/utils.cjs +28 -0
- package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
- package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
- package/dist/v1/libs/sw/browser/utils.mjs +21 -0
- package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
- package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
- package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
- package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
- package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
- package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
- package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
- package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
- package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
- package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
- package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
- package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
- package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
- package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
- package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
- package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
- package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
- package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
- package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
- package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
- package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
- package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
- package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
- package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
- package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
- package/dist/v1/libs/sw/utils.cjs +57 -0
- package/dist/v1/libs/sw/utils.d.mts +173 -0
- package/dist/v1/libs/sw/utils.d.mts.map +1 -0
- package/dist/v1/libs/sw/utils.mjs +50 -0
- package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
- package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
- package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
- package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
- package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
- package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
- package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
- package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
- package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
- package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
- package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
- package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
- package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
- package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
- package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
- package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
- package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
- package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
- package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
- package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
- package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
- package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
- package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
- package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
- package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
- package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
- package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
- package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
- package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
- package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
- package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
- package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
- package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
- package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
- package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
- package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
- package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
- package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
- package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
- package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
- package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
- package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
- package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
- package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
- package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
- package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
- package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
- package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
- package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
- package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
- package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
- package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
- package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
- package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
- package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
- package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
- package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
- package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
- package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
- package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
- package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
- package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
- package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
- package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
- package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
- package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
- package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
- package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
- package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
- package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
- package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
- package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
- package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
- package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
- package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
- package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
- package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
- package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
- package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
- package/dist/v1/regexp/Email.cjs +185 -0
- package/dist/v1/regexp/Email.d.mts +73 -0
- package/dist/v1/regexp/Email.d.mts.map +1 -0
- package/dist/v1/regexp/Email.mjs +153 -0
- package/dist/v1/regexp/Glob.cjs +293 -0
- package/dist/v1/regexp/Glob.d.mts +45 -0
- package/dist/v1/regexp/Glob.d.mts.map +1 -0
- package/dist/v1/regexp/Glob.mjs +260 -0
- package/dist/v1/regexp/Ipv4.cjs +57 -0
- package/dist/v1/regexp/Ipv4.d.mts +29 -0
- package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
- package/dist/v1/regexp/Ipv4.mjs +45 -0
- package/dist/v1/regexp/Ipv6.cjs +67 -0
- package/dist/v1/regexp/Ipv6.d.mts +29 -0
- package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
- package/dist/v1/regexp/Ipv6.mjs +54 -0
- package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
- package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
- package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
- package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
- package/dist/v1/regexp/UrlDetector.cjs +125 -0
- package/dist/v1/regexp/UrlDetector.d.mts +67 -0
- package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
- package/dist/v1/regexp/UrlDetector.mjs +102 -0
- package/dist/v1/regexp/Username/index.cjs +233 -0
- package/dist/v1/regexp/Username/index.d.mts +77 -0
- package/dist/v1/regexp/Username/index.d.mts.map +1 -0
- package/dist/v1/regexp/Username/index.mjs +199 -0
- package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
- package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
- package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
- package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
- package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
- package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
- package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
- package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
- package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
- package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
- package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
- package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
- package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
- package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
- package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
- package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
- package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
- package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
- package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
- package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
- package/dist/v1/regexp/Username/templates/index.cjs +11 -0
- package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
- package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
- package/dist/v1/regexp/Username/templates/index.mjs +4 -0
- package/dist/v1/regexp/index.cjs +41 -0
- package/dist/v1/regexp/index.d.mts +9 -0
- package/dist/v1/regexp/index.d.mts.map +1 -0
- package/dist/v1/regexp/index.mjs +8 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
- package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +725 -0
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +293 -0
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -0
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +614 -0
- package/dist/v1/webTemplates/bootstrap/5.3/scss/input/Placeholder-Colors-Fix.scss +64 -0
- package/dist/v1/webTemplates/bootstrap/5.3/scss/spacing/Spacing-Plus.scss +31 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
- package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
- package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
- package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
- package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
- package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
- package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
- package/docs/info/RegExp.md +74 -0
- package/docs/v1/Exports.md +111 -0
- package/docs/v1/README.md +117 -13
- package/docs/v1/basics/asyncReplace.md +2 -0
- package/docs/v1/basics/browserDetector.md +28 -11
- package/docs/v1/basics/crypto.md +85 -0
- package/docs/v1/basics/deprecated/html.md +2 -0
- package/docs/v1/basics/deprecated/objFilter.md +2 -0
- package/docs/v1/basics/html.md +2 -0
- package/docs/v1/basics/objChecker.md +55 -0
- package/docs/v1/basics/objFilter.md +57 -86
- package/docs/v1/basics/promiseUtils.md +12 -3
- package/docs/v1/basics/text.md +0 -1
- package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
- package/docs/v1/libs/fs/TinyFS.md +752 -0
- package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
- package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
- package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
- package/docs/v1/libs/plugin/TinyVersion.md +145 -0
- package/docs/v1/libs/router/TinyRouter.md +216 -0
- package/docs/v1/libs/storage/TinyMapCache.md +219 -0
- package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
- package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
- package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
- package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
- package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
- package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
- package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
- package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
- package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
- package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
- package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
- package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
- package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
- package/docs/v1/libs/text/TinyI18.md +80 -56
- package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
- package/docs/v1/libs/tools/TinyDebugger.md +117 -1
- package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
- package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
- package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
- package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
- package/docs/v1/libs/tools/TinySiteMap.md +134 -0
- package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
- package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
- package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
- package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
- package/docs/v1/libs/tools/TinyUriParser.md +128 -0
- package/docs/v1/libs/utils/TinyCloner.md +126 -0
- package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
- package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
- package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
- package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
- package/docs/v1/regexp/Email.md +127 -0
- package/docs/v1/regexp/Glob.md +155 -0
- package/docs/v1/regexp/IPv4.md +103 -0
- package/docs/v1/regexp/IPv6.md +122 -0
- package/docs/v1/regexp/SegmentExtractor.md +120 -0
- package/docs/v1/regexp/UrlDetector.md +117 -0
- package/docs/v1/regexp/Username/Base.md +131 -0
- package/docs/v1/regexp/Username/Discord.md +267 -0
- package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
- package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +569 -0
- package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +174 -0
- package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
- package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
- package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
- package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
- package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
- package/package.json +313 -18
- package/types/EventEmitter.d.ts +48 -0
- package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
export type TinyPushContext = {
|
|
2
|
+
/**
|
|
3
|
+
* - The native push event.
|
|
4
|
+
*/
|
|
5
|
+
event: PushEvent;
|
|
6
|
+
/**
|
|
7
|
+
* - The normalized message.
|
|
8
|
+
*/
|
|
9
|
+
message: import('./shared/TinyPushPayload.mjs').TinyPushMessage;
|
|
10
|
+
/**
|
|
11
|
+
* - The engine that received the push.
|
|
12
|
+
*/
|
|
13
|
+
engine: import('./TinyServiceWorkerEngine.mjs').default;
|
|
14
|
+
/**
|
|
15
|
+
* - Set to `true` to stop the chain.
|
|
16
|
+
*/
|
|
17
|
+
handled: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* - Set to `true` when a notification was displayed.
|
|
20
|
+
*/
|
|
21
|
+
notificationShown: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type TinyPushHandler = (message: import('./shared/TinyPushPayload.mjs').TinyPushMessage, context: TinyPushContext) => Promise<boolean | void> | boolean | void;
|
|
24
|
+
export type TinyPushGuard = (message: import('./shared/TinyPushPayload.mjs').TinyPushMessage, context: TinyPushContext) => Promise<boolean> | boolean;
|
|
25
|
+
/**
|
|
26
|
+
* @file Routes a normalized push message to a handler, based on `message.type`.
|
|
27
|
+
*
|
|
28
|
+
* The router is transport agnostic: it never touches the Notification API. That
|
|
29
|
+
* responsibility belongs to the handler, which keeps the class testable in Node.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Describes the mutable state shared between the router and the active handler
|
|
33
|
+
* during a single dispatch cycle.
|
|
34
|
+
*
|
|
35
|
+
* @typedef {Object} TinyPushContext
|
|
36
|
+
* @property {PushEvent} event - The native push event.
|
|
37
|
+
* @property {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
38
|
+
* @property {import('./TinyServiceWorkerEngine.mjs').default} engine - The engine that received the push.
|
|
39
|
+
* @property {boolean} handled - Set to `true` to stop the chain.
|
|
40
|
+
* @property {boolean} notificationShown - Set to `true` when a notification was displayed.
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* Handles a normalized push message that matched a route.
|
|
44
|
+
*
|
|
45
|
+
* @callback TinyPushHandler
|
|
46
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
47
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
48
|
+
* @returns {Promise<boolean|void>|boolean|void} Return `false` to fall through to the next handler.
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* Decides whether a normalized push message is allowed to reach a handler.
|
|
52
|
+
*
|
|
53
|
+
* @callback TinyPushGuard
|
|
54
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
55
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
56
|
+
* @returns {Promise<boolean>|boolean} Return `false` to drop the message.
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* Routes normalized push messages to registered handlers based on `message.type`.
|
|
60
|
+
*
|
|
61
|
+
* @beta
|
|
62
|
+
*/
|
|
63
|
+
declare class TinyPushRouter {
|
|
64
|
+
#private;
|
|
65
|
+
static get PUSH_TYPE(): Readonly<{
|
|
66
|
+
NOTIFICATION: "notification";
|
|
67
|
+
DATA: "data";
|
|
68
|
+
SYNC: "sync";
|
|
69
|
+
COMMAND: "command";
|
|
70
|
+
UNKNOWN: "unknown";
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* Registers a guard. Every guard runs before the handler.
|
|
74
|
+
*
|
|
75
|
+
* A guard that returns `false` drops the message: no handler runs and the
|
|
76
|
+
* `push` promise resolves with `true`, so the browser does not show a
|
|
77
|
+
* generic "This site has been updated in the background" notification.
|
|
78
|
+
*
|
|
79
|
+
* @param {TinyPushGuard} guard - The guard to register.
|
|
80
|
+
* @returns {this} The router, for chaining.
|
|
81
|
+
* @throws {TypeError} If `guard` is not a function.
|
|
82
|
+
*/
|
|
83
|
+
use(guard: TinyPushGuard): this;
|
|
84
|
+
/**
|
|
85
|
+
* Registers a handler for an exact `message.type`.
|
|
86
|
+
*
|
|
87
|
+
* @param {string} type - The type to match.
|
|
88
|
+
* @param {TinyPushHandler} handler - The handler.
|
|
89
|
+
* @returns {this} The router, for chaining.
|
|
90
|
+
* @throws {TypeError} If `type` is not a non-empty string or `handler` is not a function.
|
|
91
|
+
*/
|
|
92
|
+
on(type: string, handler: TinyPushHandler): this;
|
|
93
|
+
/**
|
|
94
|
+
* Registers a handler for every `message.type` that matches a regular expression.
|
|
95
|
+
*
|
|
96
|
+
* @param {RegExp} pattern - The pattern applied to `message.type`.
|
|
97
|
+
* @param {TinyPushHandler} handler - The handler.
|
|
98
|
+
* @returns {this} The router, for chaining.
|
|
99
|
+
* @throws {TypeError} If `pattern` is not a RegExp or `handler` is not a function.
|
|
100
|
+
*/
|
|
101
|
+
onMatch(pattern: RegExp, handler: TinyPushHandler): this;
|
|
102
|
+
/**
|
|
103
|
+
* Registers the handler used when no other handler matches.
|
|
104
|
+
*
|
|
105
|
+
* @param {TinyPushHandler} handler - The fallback handler.
|
|
106
|
+
* @returns {this} The router, for chaining.
|
|
107
|
+
* @throws {TypeError} If `handler` is not a function.
|
|
108
|
+
*/
|
|
109
|
+
otherwise(handler: TinyPushHandler): this;
|
|
110
|
+
/**
|
|
111
|
+
* Registers an error handler.
|
|
112
|
+
*
|
|
113
|
+
* @param {(error: unknown, message: unknown) => void} handler - The error handler.
|
|
114
|
+
* @returns {this} The router, for chaining.
|
|
115
|
+
* @throws {TypeError} If `handler` is not a function.
|
|
116
|
+
*/
|
|
117
|
+
catch(handler: (error: unknown, message: unknown) => void): this;
|
|
118
|
+
/**
|
|
119
|
+
* Reports whether a handler is registered for the given type.
|
|
120
|
+
*
|
|
121
|
+
* @param {string} type - The type to look up.
|
|
122
|
+
* @returns {boolean} `true` when a handler is registered.
|
|
123
|
+
*/
|
|
124
|
+
has(type: string): boolean;
|
|
125
|
+
/** @returns {number} The number of registered handlers. */
|
|
126
|
+
get size(): number;
|
|
127
|
+
/**
|
|
128
|
+
* Dispatches a message to the first matching handler.
|
|
129
|
+
*
|
|
130
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
131
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
132
|
+
* @returns {Promise<boolean>} `true` when a handler claimed the message.
|
|
133
|
+
* @throws {TypeError} If `message` or `context` are invalid.
|
|
134
|
+
*/
|
|
135
|
+
dispatch(message: import('./shared/TinyPushPayload.mjs').TinyPushMessage, context: TinyPushContext): Promise<boolean>;
|
|
136
|
+
}
|
|
137
|
+
export default TinyPushRouter;
|
|
138
|
+
//# sourceMappingURL=TinyPushRouter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TinyPushRouter.d.mts","sourceRoot":"","sources":["../../../../../../src/v1/libs/sw/service/TinyPushRouter.mjs"],"names":[],"mappings":"AAaG,YAAkB,eAAe,GACjC;;;;IAAsB,KAAK,EAAhB,SAAS,CACpB;;;;IAAmE,OAAO,EAA/D,OAAO,8BAA8B,EAAE,eAAe,CACjE;;;;IAA4D,MAAM,EAAvD,OAAO,+BAA+B,EAAE,OAAO,CAC1D;;;;IAAoB,OAAO,EAAhB,OAAO,CAClB;;;;IAAoB,iBAAiB,EAA1B,OAAO,CACpB;CAAA,CAAA;AAKE,YAAU,eAAe,GACzB,CAAgE,OAAO,EAA/D,OAAO,8BAA8B,EAAE,eAC/C,EAAyB,OAAO,EAAxB,eACR,KAAU,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC,GAAC,OAAO,GAAC,IAC1C,CAAA;AAKE,YAAU,aAAa,GACvB,CAAgE,OAAO,EAA/D,OAAO,8BAA8B,EAAE,eAC/C,EAAyB,OAAO,EAAxB,eACR,KAAU,OAAO,CAAC,OAAO,CAAC,GAAC,OAC7B,CAAA;AAnCD;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AACH,cAAM,cAAc;;IAElB,MAAM,KAAK,SAAS;;;;;;OAEnB;IAiBD;;;;;;;;;;OAUG;IACH,GAAG,CAAC,KAAK,EAJE,aAIF,GAHI,IAAI,CAShB;IAED;;;;;;;OAOG;IACH,EAAE,CAAC,IAAI,EALI,MAKJ,EAAE,OAAO,EAJL,eAIK,GAHH,IAAI,CAYhB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EALJ,MAKI,EAAE,OAAO,EAJb,eAIa,GAHX,IAAI,CAYhB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAJN,eAIM,GAHJ,IAAI,CAShB;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAJF,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAIpC,GAHA,IAAI,CAShB;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAHG,MAGH,GAFK,OAAO,CAKnB;IAED,2DAA2D;IAC3D,IAAI,IAAI,IADM,MAAM,CAGnB;IAED;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EALX,OAAO,8BAA8B,EAAE,eAK5B,EAAE,OAAO,EAJpB,eAIoB,GAHlB,OAAO,CAAC,OAAO,CAAC,CA2C5B;CACF;eAEc,cAAc"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { PUSH_TYPE } from '../utils.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* @file Routes a normalized push message to a handler, based on `message.type`.
|
|
4
|
+
*
|
|
5
|
+
* The router is transport agnostic: it never touches the Notification API. That
|
|
6
|
+
* responsibility belongs to the handler, which keeps the class testable in Node.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Describes the mutable state shared between the router and the active handler
|
|
10
|
+
* during a single dispatch cycle.
|
|
11
|
+
*
|
|
12
|
+
* @typedef {Object} TinyPushContext
|
|
13
|
+
* @property {PushEvent} event - The native push event.
|
|
14
|
+
* @property {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
15
|
+
* @property {import('./TinyServiceWorkerEngine.mjs').default} engine - The engine that received the push.
|
|
16
|
+
* @property {boolean} handled - Set to `true` to stop the chain.
|
|
17
|
+
* @property {boolean} notificationShown - Set to `true` when a notification was displayed.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Handles a normalized push message that matched a route.
|
|
21
|
+
*
|
|
22
|
+
* @callback TinyPushHandler
|
|
23
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
24
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
25
|
+
* @returns {Promise<boolean|void>|boolean|void} Return `false` to fall through to the next handler.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Decides whether a normalized push message is allowed to reach a handler.
|
|
29
|
+
*
|
|
30
|
+
* @callback TinyPushGuard
|
|
31
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
32
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
33
|
+
* @returns {Promise<boolean>|boolean} Return `false` to drop the message.
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Routes normalized push messages to registered handlers based on `message.type`.
|
|
37
|
+
*
|
|
38
|
+
* @beta
|
|
39
|
+
*/
|
|
40
|
+
class TinyPushRouter {
|
|
41
|
+
static #PUSH_TYPE = PUSH_TYPE;
|
|
42
|
+
static get PUSH_TYPE() {
|
|
43
|
+
return TinyPushRouter.#PUSH_TYPE;
|
|
44
|
+
}
|
|
45
|
+
/** @type {Map<string, TinyPushHandler>} */
|
|
46
|
+
#exact = new Map();
|
|
47
|
+
/** @type {Array<{ source: string, regex: RegExp, handler: TinyPushHandler }>} */
|
|
48
|
+
#patterns = [];
|
|
49
|
+
/** @type {TinyPushGuard[]} */
|
|
50
|
+
#guards = [];
|
|
51
|
+
/** @type {TinyPushHandler|null} */
|
|
52
|
+
#fallback = null;
|
|
53
|
+
/** @type {((error: unknown, message: unknown) => void)|null} */
|
|
54
|
+
#onError = null;
|
|
55
|
+
/**
|
|
56
|
+
* Registers a guard. Every guard runs before the handler.
|
|
57
|
+
*
|
|
58
|
+
* A guard that returns `false` drops the message: no handler runs and the
|
|
59
|
+
* `push` promise resolves with `true`, so the browser does not show a
|
|
60
|
+
* generic "This site has been updated in the background" notification.
|
|
61
|
+
*
|
|
62
|
+
* @param {TinyPushGuard} guard - The guard to register.
|
|
63
|
+
* @returns {this} The router, for chaining.
|
|
64
|
+
* @throws {TypeError} If `guard` is not a function.
|
|
65
|
+
*/
|
|
66
|
+
use(guard) {
|
|
67
|
+
if (typeof guard !== 'function') {
|
|
68
|
+
throw new TypeError('[TinyPushRouter] use: guard must be a function.');
|
|
69
|
+
}
|
|
70
|
+
this.#guards.push(guard);
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Registers a handler for an exact `message.type`.
|
|
75
|
+
*
|
|
76
|
+
* @param {string} type - The type to match.
|
|
77
|
+
* @param {TinyPushHandler} handler - The handler.
|
|
78
|
+
* @returns {this} The router, for chaining.
|
|
79
|
+
* @throws {TypeError} If `type` is not a non-empty string or `handler` is not a function.
|
|
80
|
+
*/
|
|
81
|
+
on(type, handler) {
|
|
82
|
+
if (typeof type !== 'string' || type.trim() === '') {
|
|
83
|
+
throw new TypeError('[TinyPushRouter] on: type must be a non-empty string.');
|
|
84
|
+
}
|
|
85
|
+
if (typeof handler !== 'function') {
|
|
86
|
+
throw new TypeError('[TinyPushRouter] on: handler must be a function.');
|
|
87
|
+
}
|
|
88
|
+
this.#exact.set(type, handler);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Registers a handler for every `message.type` that matches a regular expression.
|
|
93
|
+
*
|
|
94
|
+
* @param {RegExp} pattern - The pattern applied to `message.type`.
|
|
95
|
+
* @param {TinyPushHandler} handler - The handler.
|
|
96
|
+
* @returns {this} The router, for chaining.
|
|
97
|
+
* @throws {TypeError} If `pattern` is not a RegExp or `handler` is not a function.
|
|
98
|
+
*/
|
|
99
|
+
onMatch(pattern, handler) {
|
|
100
|
+
if (!(pattern instanceof RegExp)) {
|
|
101
|
+
throw new TypeError('[TinyPushRouter] onMatch: pattern must be a RegExp.');
|
|
102
|
+
}
|
|
103
|
+
if (typeof handler !== 'function') {
|
|
104
|
+
throw new TypeError('[TinyPushRouter] onMatch: handler must be a function.');
|
|
105
|
+
}
|
|
106
|
+
this.#patterns.push({ source: pattern.source, regex: pattern, handler });
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Registers the handler used when no other handler matches.
|
|
111
|
+
*
|
|
112
|
+
* @param {TinyPushHandler} handler - The fallback handler.
|
|
113
|
+
* @returns {this} The router, for chaining.
|
|
114
|
+
* @throws {TypeError} If `handler` is not a function.
|
|
115
|
+
*/
|
|
116
|
+
otherwise(handler) {
|
|
117
|
+
if (typeof handler !== 'function') {
|
|
118
|
+
throw new TypeError('[TinyPushRouter] otherwise: handler must be a function.');
|
|
119
|
+
}
|
|
120
|
+
this.#fallback = handler;
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Registers an error handler.
|
|
125
|
+
*
|
|
126
|
+
* @param {(error: unknown, message: unknown) => void} handler - The error handler.
|
|
127
|
+
* @returns {this} The router, for chaining.
|
|
128
|
+
* @throws {TypeError} If `handler` is not a function.
|
|
129
|
+
*/
|
|
130
|
+
catch(handler) {
|
|
131
|
+
if (typeof handler !== 'function') {
|
|
132
|
+
throw new TypeError('[TinyPushRouter] catch: handler must be a function.');
|
|
133
|
+
}
|
|
134
|
+
this.#onError = handler;
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Reports whether a handler is registered for the given type.
|
|
139
|
+
*
|
|
140
|
+
* @param {string} type - The type to look up.
|
|
141
|
+
* @returns {boolean} `true` when a handler is registered.
|
|
142
|
+
*/
|
|
143
|
+
has(type) {
|
|
144
|
+
if (this.#exact.has(type))
|
|
145
|
+
return true;
|
|
146
|
+
return this.#patterns.some(({ regex }) => regex.test(type));
|
|
147
|
+
}
|
|
148
|
+
/** @returns {number} The number of registered handlers. */
|
|
149
|
+
get size() {
|
|
150
|
+
return this.#exact.size + this.#patterns.length;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Dispatches a message to the first matching handler.
|
|
154
|
+
*
|
|
155
|
+
* @param {import('./shared/TinyPushPayload.mjs').TinyPushMessage} message - The normalized message.
|
|
156
|
+
* @param {TinyPushContext} context - The dispatch context.
|
|
157
|
+
* @returns {Promise<boolean>} `true` when a handler claimed the message.
|
|
158
|
+
* @throws {TypeError} If `message` or `context` are invalid.
|
|
159
|
+
*/
|
|
160
|
+
async dispatch(message, context) {
|
|
161
|
+
if (typeof message !== 'object' || message === null) {
|
|
162
|
+
throw new TypeError('[TinyPushRouter] dispatch: message must be a non-null object.');
|
|
163
|
+
}
|
|
164
|
+
if (typeof context !== 'object' || context === null) {
|
|
165
|
+
throw new TypeError('[TinyPushRouter] dispatch: context must be a non-null object.');
|
|
166
|
+
}
|
|
167
|
+
try {
|
|
168
|
+
for (const guard of this.#guards) {
|
|
169
|
+
const allowed = await guard(message, context);
|
|
170
|
+
if (allowed === false)
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
const handler = this.#exact.get(message.type);
|
|
174
|
+
if (handler) {
|
|
175
|
+
const result = await handler(message, context);
|
|
176
|
+
if (result !== false)
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
for (const { regex, handler: patternHandler } of this.#patterns) {
|
|
180
|
+
if (!regex.test(message.type))
|
|
181
|
+
continue;
|
|
182
|
+
const result = await patternHandler(message, context);
|
|
183
|
+
if (result !== false)
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
if (this.#fallback) {
|
|
187
|
+
await this.#fallback(message, context);
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
if (this.#onError) {
|
|
194
|
+
this.#onError(error, message);
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export default TinyPushRouter;
|