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,97 @@
|
|
|
1
|
+
import { TinyPluginCore } from '../../plugin/TinyPlugin.mjs';
|
|
2
|
+
export type MessagePayload = any;
|
|
3
|
+
export type ApiHandlerOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - The payload received from the worker.
|
|
6
|
+
*/
|
|
7
|
+
data?: MessagePayload;
|
|
8
|
+
/**
|
|
9
|
+
* - The request ID.
|
|
10
|
+
*/
|
|
11
|
+
correlationId: string;
|
|
12
|
+
};
|
|
13
|
+
export type ApiHandlerCallback = (options: ApiHandlerOptions) => Promise<MessagePayload | undefined> | (MessagePayload | undefined);
|
|
14
|
+
/**
|
|
15
|
+
* The data payload contained within the message.
|
|
16
|
+
* @typedef {any} MessagePayload
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {Object} ApiHandlerOptions
|
|
20
|
+
* @property {MessagePayload} [data] - The payload received from the worker.
|
|
21
|
+
* @property {string} correlationId - The request ID.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* @callback ApiHandlerCallback
|
|
25
|
+
* @param {ApiHandlerOptions} options - Options for the API handler.
|
|
26
|
+
* @returns {Promise<MessagePayload|undefined> | (MessagePayload|undefined)} The response payload.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Manages Web Worker initialization, lifecycle, and strictly typed messaging.
|
|
30
|
+
*/
|
|
31
|
+
declare class TinyWebWorker extends TinyPluginCore {
|
|
32
|
+
#private;
|
|
33
|
+
/** @returns {boolean} True if the worker is ready. */
|
|
34
|
+
get isReady(): boolean;
|
|
35
|
+
/** @returns {boolean} True if the instance has been destroyed. */
|
|
36
|
+
get isDestroyed(): boolean;
|
|
37
|
+
/** @returns {Worker | null} The native worker instance. */
|
|
38
|
+
get worker(): Worker | null;
|
|
39
|
+
/**
|
|
40
|
+
* @param {Object} options - Configuration options for the instance.
|
|
41
|
+
* @param {string} options.id - The unique identifier for this manager instance.
|
|
42
|
+
* @param {string | URL} options.workerUrl - The path to the web worker file.
|
|
43
|
+
* @param {WorkerOptions} [options.workerOptions={}] - Native worker options.
|
|
44
|
+
* @param {boolean} [options.debugMode=false] - Whether to enable internal debug logging.
|
|
45
|
+
* @param {boolean} [options.useLogColors=false] - Whether to enable log color support.
|
|
46
|
+
* @param {Partial<Console>} [options.logger=console] - A custom logger object.
|
|
47
|
+
* @throws {TypeError} If parameters are not the correct types.
|
|
48
|
+
*/
|
|
49
|
+
constructor({ id, workerUrl, workerOptions, logger, debugMode, useLogColors }: {
|
|
50
|
+
id: string;
|
|
51
|
+
workerUrl: string | URL;
|
|
52
|
+
workerOptions?: WorkerOptions;
|
|
53
|
+
debugMode?: boolean;
|
|
54
|
+
useLogColors?: boolean;
|
|
55
|
+
logger?: Partial<Console>;
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Initializes the Web Worker and sets up the message bridges.
|
|
59
|
+
* @returns {Promise<void>} Resolves when the engine inside the worker signals readiness.
|
|
60
|
+
*/
|
|
61
|
+
init(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Sends a message to the active Web Worker.
|
|
64
|
+
* @param {string} type
|
|
65
|
+
* @param {MessagePayload} [data]
|
|
66
|
+
*/
|
|
67
|
+
emitMessage(type: string, data?: MessagePayload): void;
|
|
68
|
+
/**
|
|
69
|
+
* Registers a handler for API calls coming from the Worker.
|
|
70
|
+
* @param {string} type
|
|
71
|
+
* @param {ApiHandlerCallback} callback
|
|
72
|
+
*/
|
|
73
|
+
onApi(type: string, callback: ApiHandlerCallback): void;
|
|
74
|
+
/**
|
|
75
|
+
* Removes a registered API handler.
|
|
76
|
+
* @param {string} type
|
|
77
|
+
*/
|
|
78
|
+
offApi(type: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Sends an API request to the Web Worker and waits for the response.
|
|
81
|
+
* @param {string} type - The API call identifier.
|
|
82
|
+
* @param {MessagePayload} [data] - The request payload.
|
|
83
|
+
* @param {number} [timeout=10000] - Maximum waiting time in milliseconds.
|
|
84
|
+
* @returns {Promise<any>}
|
|
85
|
+
*/
|
|
86
|
+
emitApi(type: string, data?: MessagePayload, timeout?: number): Promise<any>;
|
|
87
|
+
/**
|
|
88
|
+
* Terminates the Web Worker immediately and cleans up listeners.
|
|
89
|
+
*/
|
|
90
|
+
terminate(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Hard destroys the instance, clearing all references to avoid memory leaks.
|
|
93
|
+
*/
|
|
94
|
+
destroy(): void;
|
|
95
|
+
}
|
|
96
|
+
export default TinyWebWorker;
|
|
97
|
+
//# sourceMappingURL=TinyWebWorker.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TinyWebWorker.d.mts","sourceRoot":"","sources":["../../../../../src/v1/libs/worker/browser/TinyWebWorker.mjs"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO1D,YAAe,cAAc,GAAnB,GAAG,CAAgB;AAI7B,YAAkB,iBAAiB,GACnC;;;;IAA4B,IAAI,AAAhC,CACA,EADW,cAAc,CACzB;;;;IAAmB,aAAa,EAArB,MAAM,CACnB;CAAA,CAAA;AAGE,YAAU,kBAAkB,GAC5B,CAA2B,OAAO,EAA1B,iBACR,KAAU,OAAO,CAAC,cAAc,GAAC,SAAS,CAAC,GAAG,CAAC,cAAc,GAAC,SAAS,CACzE,CAAA;AAfD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;GAEG;AACH,cAAM,aAAc,SAAQ,cAAc;;IAsCxC,sDAAsD;IACtD,IAAI,OAAO,IADG,OAAO,CAGpB;IAED,kEAAkE;IAClE,IAAI,WAAW,IADD,OAAO,CAGpB;IAED,2DAA2D;IAC3D,IAAI,MAAM,IADI,MAAM,GAAG,IAAI,CAI1B;IAED;;;;;;;;;OASG;IACH,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,aAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,EAR/E;QAAwB,EAAE,EAAlB,MAAM,CACd;QAA8B,SAAS,EAA/B,MAAM,GAAG,GAAG,CACpB;QAAgC,aAAa,AAA7C,CACA,EADQ,aAAa,CACrB;QAA0B,SAAS,AAAnC,CACA,EADQ,OAAO,CACf;QAA0B,YAAY,AAAtC,CACA,EADQ,OAAO,CACf;QAAmC,MAAM,AAAzC,CACA,EADQ,OAAO,CAAC,OAAO,CAAC,CACxB;KAE+E,EAoBjF;IAED;;;OAGG;IACG,IAAI,IAFG,OAAO,CAAC,IAAI,CAAC,CA8GzB;IAwBD;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAHL,MAGK,EAAE,IAAI,AAFnB,CAA8B,EAAtB,cAEW,QAErB;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAHC,MAGD,EAAE,QAAQ,EAFT,kBAES,QAGnB;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAFA,MAEA,WAEV;IAED;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EALP,MAKO,EAAE,IAAI,AAJrB,CACA,EADQ,cAIa,EAAE,OAAO,AAH9B,CACA,EADQ,MAG8B,GAF5B,OAAO,CAAC,GAAG,CAAC,CAwBxB;IAED;;OAEG;IACH,SAAS,SAgBR;IAED;;OAEG;IACH,OAAO,SAON;CACF;eAEc,aAAa"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { TinyPluginCore } from '../../plugin/TinyPlugin.mjs';
|
|
2
|
+
import { createCheckDestroyed } from '../../utils/tools.mjs';
|
|
3
|
+
const checkDestroy = createCheckDestroyed('TinyWebWorker');
|
|
4
|
+
/**
|
|
5
|
+
* The data payload contained within the message.
|
|
6
|
+
* @typedef {any} MessagePayload
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {Object} ApiHandlerOptions
|
|
10
|
+
* @property {MessagePayload} [data] - The payload received from the worker.
|
|
11
|
+
* @property {string} correlationId - The request ID.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @callback ApiHandlerCallback
|
|
15
|
+
* @param {ApiHandlerOptions} options - Options for the API handler.
|
|
16
|
+
* @returns {Promise<MessagePayload|undefined> | (MessagePayload|undefined)} The response payload.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Manages Web Worker initialization, lifecycle, and strictly typed messaging.
|
|
20
|
+
*/
|
|
21
|
+
class TinyWebWorker extends TinyPluginCore {
|
|
22
|
+
/**
|
|
23
|
+
* Validates if an event type is a reserved name for the internal lifecycle.
|
|
24
|
+
* @param {string} type - The name of the event to validate.
|
|
25
|
+
* @throws {TypeError} If the event name starts with the reserved prefix 'ww:'.
|
|
26
|
+
*/
|
|
27
|
+
static #validateEventType(type) {
|
|
28
|
+
if (type.startsWith('ww:')) {
|
|
29
|
+
throw new TypeError(`The event type "${type}" is reserved for internal Web Worker lifecycle management.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** @type {Worker | null} The active Web Worker instance. */
|
|
33
|
+
#worker = null;
|
|
34
|
+
/** @type {string} The unique identifier for this instance. */
|
|
35
|
+
#id;
|
|
36
|
+
/** @type {string | URL} The URL of the web worker file. */
|
|
37
|
+
#workerUrl;
|
|
38
|
+
/** @type {WorkerOptions} Options for the worker initialization. */
|
|
39
|
+
#workerOptions;
|
|
40
|
+
/** @type {boolean} Indicates if the worker is fully initialized and ready. */
|
|
41
|
+
#isReady = false;
|
|
42
|
+
/** @type {boolean} Internal flag to track if the instance has been destroyed. */
|
|
43
|
+
#isDestroyed = false;
|
|
44
|
+
/** @type {Map<string, {resolve: (value: any) => void, reject: (reason: Error) => void, timer: NodeJS.Timeout}>} */
|
|
45
|
+
#pendingRequests = new Map();
|
|
46
|
+
/** @type {Map<string, ApiHandlerCallback>} A map of registered API handlers. */
|
|
47
|
+
#apiHandlers = new Map();
|
|
48
|
+
/** @type {((event: MessageEvent) => void) | null} */
|
|
49
|
+
#messageHandler = null;
|
|
50
|
+
/** @type {((event: ErrorEvent) => void) | null} */
|
|
51
|
+
#errorHandler = null;
|
|
52
|
+
/** @returns {boolean} True if the worker is ready. */
|
|
53
|
+
get isReady() {
|
|
54
|
+
return this.#isReady;
|
|
55
|
+
}
|
|
56
|
+
/** @returns {boolean} True if the instance has been destroyed. */
|
|
57
|
+
get isDestroyed() {
|
|
58
|
+
return this.#isDestroyed;
|
|
59
|
+
}
|
|
60
|
+
/** @returns {Worker | null} The native worker instance. */
|
|
61
|
+
get worker() {
|
|
62
|
+
checkDestroy(this.#isDestroyed);
|
|
63
|
+
return this.#worker;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @param {Object} options - Configuration options for the instance.
|
|
67
|
+
* @param {string} options.id - The unique identifier for this manager instance.
|
|
68
|
+
* @param {string | URL} options.workerUrl - The path to the web worker file.
|
|
69
|
+
* @param {WorkerOptions} [options.workerOptions={}] - Native worker options.
|
|
70
|
+
* @param {boolean} [options.debugMode=false] - Whether to enable internal debug logging.
|
|
71
|
+
* @param {boolean} [options.useLogColors=false] - Whether to enable log color support.
|
|
72
|
+
* @param {Partial<Console>} [options.logger=console] - A custom logger object.
|
|
73
|
+
* @throws {TypeError} If parameters are not the correct types.
|
|
74
|
+
*/
|
|
75
|
+
constructor({ id, workerUrl, workerOptions = {}, logger, debugMode, useLogColors }) {
|
|
76
|
+
super({
|
|
77
|
+
logCfg: {
|
|
78
|
+
id: '[_sub_class_TinyWebWorker_reset_]',
|
|
79
|
+
logger: logger ?? console,
|
|
80
|
+
debugMode: debugMode ?? false,
|
|
81
|
+
useLogColors: useLogColors ?? false,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
if (typeof id !== 'string' || id.trim() === '') {
|
|
85
|
+
throw new TypeError('The "id" parameter must be a non-empty string.');
|
|
86
|
+
}
|
|
87
|
+
if (typeof workerUrl !== 'string' && !(workerUrl instanceof URL)) {
|
|
88
|
+
throw new TypeError('The "workerUrl" parameter must be a string or URL.');
|
|
89
|
+
}
|
|
90
|
+
this.#id = id;
|
|
91
|
+
this.#workerUrl = workerUrl;
|
|
92
|
+
this.#workerOptions = workerOptions;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Initializes the Web Worker and sets up the message bridges.
|
|
96
|
+
* @returns {Promise<void>} Resolves when the engine inside the worker signals readiness.
|
|
97
|
+
*/
|
|
98
|
+
async init() {
|
|
99
|
+
checkDestroy(this.#isDestroyed);
|
|
100
|
+
if (this.#worker)
|
|
101
|
+
throw new Error('Worker is already initialized.');
|
|
102
|
+
return new Promise((resolve, reject) => {
|
|
103
|
+
try {
|
|
104
|
+
this.#worker = new Worker(this.#workerUrl, this.#workerOptions);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
this.log('error', 'Failed to instantiate Worker:', error);
|
|
108
|
+
return reject(error);
|
|
109
|
+
}
|
|
110
|
+
this.#messageHandler = (event) => {
|
|
111
|
+
const payload = event.data;
|
|
112
|
+
if (Array.isArray(payload) || typeof payload !== 'object' || payload === null)
|
|
113
|
+
return;
|
|
114
|
+
if (typeof payload.type !== 'string')
|
|
115
|
+
return;
|
|
116
|
+
// Engine Ready signal
|
|
117
|
+
if (payload.type === 'ww:EngineReady') {
|
|
118
|
+
this.#isReady = true;
|
|
119
|
+
super.emit('ww:Started');
|
|
120
|
+
resolve();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const type = payload.type;
|
|
124
|
+
const data = payload.data;
|
|
125
|
+
const correlationId = payload.correlationId;
|
|
126
|
+
const isApi = payload.isApi;
|
|
127
|
+
// 1. API responses coming from the Worker
|
|
128
|
+
if (type === 'ww:ApiResponse') {
|
|
129
|
+
if (typeof correlationId !== 'string')
|
|
130
|
+
return;
|
|
131
|
+
const pending = this.#pendingRequests.get(correlationId);
|
|
132
|
+
if (pending) {
|
|
133
|
+
clearTimeout(pending.timer);
|
|
134
|
+
this.#pendingRequests.delete(correlationId);
|
|
135
|
+
if (payload.error) {
|
|
136
|
+
pending.reject(new Error(payload.error));
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
pending.resolve(data);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// 2. API requests coming from the Worker
|
|
145
|
+
if (isApi === true) {
|
|
146
|
+
if (typeof correlationId !== 'string')
|
|
147
|
+
return;
|
|
148
|
+
const handler = this.#apiHandlers.get(type);
|
|
149
|
+
if (!handler) {
|
|
150
|
+
this.#worker?.postMessage({
|
|
151
|
+
correlationId,
|
|
152
|
+
type: 'ww:ApiResponse',
|
|
153
|
+
error: `No API handler registered in Main Thread for type: ${type}`,
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
/** @param {MessagePayload} [r] */
|
|
159
|
+
const sendResult = (r) => this.#worker?.postMessage({
|
|
160
|
+
correlationId,
|
|
161
|
+
type: 'ww:ApiResponse',
|
|
162
|
+
data: r,
|
|
163
|
+
});
|
|
164
|
+
const result = handler({ data, correlationId });
|
|
165
|
+
if (result instanceof Promise)
|
|
166
|
+
result.then(sendResult).catch((err) => {
|
|
167
|
+
this.#worker?.postMessage({
|
|
168
|
+
correlationId,
|
|
169
|
+
type: 'ww:ApiResponse',
|
|
170
|
+
error: err instanceof Error ? err.message : String(err),
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
else
|
|
174
|
+
sendResult(result);
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
this.#worker?.postMessage({
|
|
178
|
+
correlationId,
|
|
179
|
+
type: 'ww:ApiResponse',
|
|
180
|
+
error: error instanceof Error ? error.message : String(error),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
// 3. Emit standard event to plugins/listeners
|
|
186
|
+
super.emit(type, { data, event });
|
|
187
|
+
};
|
|
188
|
+
this.#errorHandler = (errorEvent) => {
|
|
189
|
+
this.log('error', `Worker Error [${this.#id}]:`, errorEvent.message);
|
|
190
|
+
super.emit('ww:Error', { error: errorEvent });
|
|
191
|
+
// Calling reject() after the promise is already resolved is a no-op,
|
|
192
|
+
// so this is safe for runtime errors that happen after startup.
|
|
193
|
+
reject(new Error(`Web Worker [${this.#id}] failed to start: ${errorEvent.message || 'unknown error'}`));
|
|
194
|
+
};
|
|
195
|
+
this.#worker.addEventListener('message', this.#messageHandler);
|
|
196
|
+
this.#worker.addEventListener('error', this.#errorHandler);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Internal sender method.
|
|
201
|
+
* @param {string} type
|
|
202
|
+
* @param {MessagePayload} [data]
|
|
203
|
+
* @param {boolean} strictMode
|
|
204
|
+
*/
|
|
205
|
+
#emitMessage(type, data, strictMode = false) {
|
|
206
|
+
checkDestroy(this.#isDestroyed);
|
|
207
|
+
if (!this.#worker)
|
|
208
|
+
throw new Error('Worker is not initialized.');
|
|
209
|
+
if (typeof type !== 'string')
|
|
210
|
+
throw new TypeError('Payload.type must be a string.');
|
|
211
|
+
if (typeof data !== 'undefined' &&
|
|
212
|
+
(Array.isArray(data) || typeof data !== 'object' || data === null)) {
|
|
213
|
+
throw new TypeError('Payload.data must be a non-null object.');
|
|
214
|
+
}
|
|
215
|
+
if (strictMode)
|
|
216
|
+
TinyWebWorker.#validateEventType(type);
|
|
217
|
+
this.#worker.postMessage({ type, data });
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Sends a message to the active Web Worker.
|
|
221
|
+
* @param {string} type
|
|
222
|
+
* @param {MessagePayload} [data]
|
|
223
|
+
*/
|
|
224
|
+
emitMessage(type, data) {
|
|
225
|
+
this.#emitMessage(type, data, true);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Registers a handler for API calls coming from the Worker.
|
|
229
|
+
* @param {string} type
|
|
230
|
+
* @param {ApiHandlerCallback} callback
|
|
231
|
+
*/
|
|
232
|
+
onApi(type, callback) {
|
|
233
|
+
if (typeof callback !== 'function')
|
|
234
|
+
throw new TypeError('Callback must be a function.');
|
|
235
|
+
this.#apiHandlers.set(type, callback);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Removes a registered API handler.
|
|
239
|
+
* @param {string} type
|
|
240
|
+
*/
|
|
241
|
+
offApi(type) {
|
|
242
|
+
return this.#apiHandlers.delete(type);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Sends an API request to the Web Worker and waits for the response.
|
|
246
|
+
* @param {string} type - The API call identifier.
|
|
247
|
+
* @param {MessagePayload} [data] - The request payload.
|
|
248
|
+
* @param {number} [timeout=10000] - Maximum waiting time in milliseconds.
|
|
249
|
+
* @returns {Promise<any>}
|
|
250
|
+
*/
|
|
251
|
+
async emitApi(type, data, timeout = 10000) {
|
|
252
|
+
checkDestroy(this.#isDestroyed);
|
|
253
|
+
if (!this.#worker)
|
|
254
|
+
throw new Error('Worker is not initialized.');
|
|
255
|
+
const correlationId = crypto.randomUUID();
|
|
256
|
+
return new Promise((resolve, reject) => {
|
|
257
|
+
const timer = setTimeout(() => {
|
|
258
|
+
if (this.#pendingRequests.has(correlationId)) {
|
|
259
|
+
this.#pendingRequests.delete(correlationId);
|
|
260
|
+
reject(new Error(`API request timeout: ${type} (ID: ${correlationId})`));
|
|
261
|
+
}
|
|
262
|
+
}, timeout);
|
|
263
|
+
this.#pendingRequests.set(correlationId, { resolve, reject, timer });
|
|
264
|
+
this.#worker?.postMessage({
|
|
265
|
+
type,
|
|
266
|
+
data,
|
|
267
|
+
correlationId,
|
|
268
|
+
isApi: true,
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Terminates the Web Worker immediately and cleans up listeners.
|
|
274
|
+
*/
|
|
275
|
+
terminate() {
|
|
276
|
+
if (this.#isDestroyed)
|
|
277
|
+
return;
|
|
278
|
+
if (this.#worker) {
|
|
279
|
+
if (this.#messageHandler)
|
|
280
|
+
this.#worker.removeEventListener('message', this.#messageHandler);
|
|
281
|
+
if (this.#errorHandler)
|
|
282
|
+
this.#worker.removeEventListener('error', this.#errorHandler);
|
|
283
|
+
this.#worker.terminate();
|
|
284
|
+
this.log('info', `Web Worker [${this.#id}] terminated.`);
|
|
285
|
+
}
|
|
286
|
+
this.#worker = null;
|
|
287
|
+
this.#messageHandler = null;
|
|
288
|
+
this.#errorHandler = null;
|
|
289
|
+
this.#isReady = false;
|
|
290
|
+
super.emit('ww:Terminated');
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Hard destroys the instance, clearing all references to avoid memory leaks.
|
|
294
|
+
*/
|
|
295
|
+
destroy() {
|
|
296
|
+
if (this.#isDestroyed)
|
|
297
|
+
return;
|
|
298
|
+
this.terminate();
|
|
299
|
+
this.removeAllListeners();
|
|
300
|
+
this.destroyPlugins();
|
|
301
|
+
this.#isDestroyed = true;
|
|
302
|
+
this.log('info', `[${this.#id}] Destroyed successfully.`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
export default TinyWebWorker;
|