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,333 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var events = require('events');
|
|
4
|
+
var TinyPromiseQueue = require('./TinyPromiseQueue.cjs');
|
|
5
|
+
var promiseUtils = require('../../basics/promiseUtils.cjs');
|
|
6
|
+
var TinyTimeout = require('../math/TinyTimeout.cjs');
|
|
7
|
+
var tools = require('./tools.cjs');
|
|
8
|
+
|
|
9
|
+
const checkDestroy = tools.createCheckDestroyed('TinyThrottledApi');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @template T
|
|
13
|
+
* @typedef {Promise<T>} QueueResult
|
|
14
|
+
* Represents the eventual result of a queued operation.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Event map for {@link TinyThrottledApi}.
|
|
19
|
+
* @typedef {Object} TinyThrottledApiEvents
|
|
20
|
+
* @property {(id: string) => void} ExecTask - Emitted when a task starts executing.
|
|
21
|
+
* @property {(id: string) => void} TaskEnded - Emitted when a task finishes executing.
|
|
22
|
+
* @property {(id: string) => void} WaitingTask - Emitted when a task is queued and waiting for a slot.
|
|
23
|
+
* @property {() => void} Destroyed - Emitted when the instance is destroyed.
|
|
24
|
+
* @property {(value: number) => void} SetConcurrencyLimit - Emitted when the concurrency limit changes.
|
|
25
|
+
* @property {(value: number) => void} SetTimeoutValue - Emitted when the timeout value changes.
|
|
26
|
+
* @property {(value: number) => void} SetTimeoutLimit - Emitted when the timeout limit changes.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/** @type {new () => import('../../jsdoc/EventEmitter.mjs').ICustomEventEmitter<TinyThrottledApiEvents>} */
|
|
30
|
+
const TypedEventEmitter = /** @type {any} */ (events.EventEmitter);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A client that manages asynchronous requests with a concurrency limit.
|
|
34
|
+
* It uses TinyPromiseQueue to manage waiting tasks and waitForTrue to poll for availability.
|
|
35
|
+
* @template {(...args: any) => Promise<any>} API
|
|
36
|
+
*/
|
|
37
|
+
class TinyThrottledApi extends TypedEventEmitter {
|
|
38
|
+
static TinyTimeout = TinyTimeout;
|
|
39
|
+
/** @type {number} The current number of active asynchronous operations. */
|
|
40
|
+
#activeCount = 0;
|
|
41
|
+
/** @type {number} The maximum number of concurrent operations allowed. */
|
|
42
|
+
#concurrencyLimit;
|
|
43
|
+
/** @type {TinyPromiseQueue} The internal queue used to manage pending tasks. */
|
|
44
|
+
#queue = new TinyPromiseQueue();
|
|
45
|
+
/** @type {API} The target API function to be executed. */
|
|
46
|
+
#api;
|
|
47
|
+
/** @type {TinyTimeout|null} The optional timeout instance to regulate execution frequency. */
|
|
48
|
+
#timeoutInstance;
|
|
49
|
+
/** @type {number} - Base delay multiplier in milliseconds. */
|
|
50
|
+
#timeoutValue = 100;
|
|
51
|
+
/** @type {number|null} - Optional maximum delay cap. */
|
|
52
|
+
#timeoutLimit = 5000;
|
|
53
|
+
/** @type {boolean} Indicates whether the instance has been destroyed. */
|
|
54
|
+
#isDestroyed = false;
|
|
55
|
+
/** @type {boolean} Indicates whether the first execution should be delayed by the timeout. */
|
|
56
|
+
#timeoutFirst = false;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Initializes a new instance of the TinyThrottledApi class.
|
|
60
|
+
*
|
|
61
|
+
* @param {number} concurrencyLimit - The maximum number of simultaneous requests.
|
|
62
|
+
* @param {API} api - The API implementation.
|
|
63
|
+
* @param {TinyTimeout|null} [timeoutInstance=null] - Optional TinyTimeout instance to regulate execution frequency.
|
|
64
|
+
* @throws {TypeError} If concurrencyLimit is not a positive number.
|
|
65
|
+
* @throws {TypeError} If API is not a function.
|
|
66
|
+
*/
|
|
67
|
+
constructor(concurrencyLimit, api, timeoutInstance = null) {
|
|
68
|
+
super();
|
|
69
|
+
if (typeof concurrencyLimit !== 'number' || concurrencyLimit <= 0) {
|
|
70
|
+
throw new TypeError('Concurrency limit must be a positive number.');
|
|
71
|
+
}
|
|
72
|
+
if (typeof api !== 'function') {
|
|
73
|
+
throw new TypeError('API must be a function.');
|
|
74
|
+
}
|
|
75
|
+
if (
|
|
76
|
+
typeof timeoutInstance !== 'undefined' &&
|
|
77
|
+
timeoutInstance !== null &&
|
|
78
|
+
!(timeoutInstance instanceof TinyTimeout)
|
|
79
|
+
) {
|
|
80
|
+
throw new TypeError('timeoutInstance must be a TinyTimeout instance.');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
this.#concurrencyLimit = concurrencyLimit;
|
|
84
|
+
this.#api = api;
|
|
85
|
+
this.#timeoutInstance = timeoutInstance ?? null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Executes an API request, respecting the concurrency limit and optional rate limiting.
|
|
90
|
+
*
|
|
91
|
+
* @param {Parameters<API>} args
|
|
92
|
+
* @returns {QueueResult<ReturnType<API>>} A promise that resolves with the API result.
|
|
93
|
+
* @throws {TypeError} If the internal state is corrupted.
|
|
94
|
+
*/
|
|
95
|
+
async exec(...args) {
|
|
96
|
+
checkDestroy(this.#isDestroyed);
|
|
97
|
+
const id = crypto.randomUUID(); // Using UUID for better collision resistance
|
|
98
|
+
|
|
99
|
+
// If we are under the limit, reserve the slot SYNCHRONOUSLY to prevent race conditions.
|
|
100
|
+
if (this.#activeCount < this.#concurrencyLimit) {
|
|
101
|
+
this.#activeCount++;
|
|
102
|
+
this.emit('ExecTask', id);
|
|
103
|
+
const final = await this.#performRequest(...args);
|
|
104
|
+
this.emit('TaskEnded', id);
|
|
105
|
+
return final;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// If we reached the limit, queue a task that waits for a slot.
|
|
109
|
+
return this.#queue.enqueue(
|
|
110
|
+
async () => {
|
|
111
|
+
this.emit('WaitingTask', id);
|
|
112
|
+
// The task in the queue waits until a slot is available via polling.
|
|
113
|
+
const waitCounter = () => promiseUtils.waitForTrue(() => this.#activeCount < this.#concurrencyLimit);
|
|
114
|
+
|
|
115
|
+
// If a TinyTimeout instance is provided, we wait for its next scheduled "tick".
|
|
116
|
+
// This introduces a dynamic delay that increases as more tasks are processed.
|
|
117
|
+
const waitTimeout = async () => {
|
|
118
|
+
if (this.#timeoutInstance) {
|
|
119
|
+
await new Promise((resolve) => {
|
|
120
|
+
// We use a constant ID so the frequency is tracked across all calls to this instance.
|
|
121
|
+
if (this.#timeoutInstance)
|
|
122
|
+
this.#timeoutInstance.set(
|
|
123
|
+
'api_throttle',
|
|
124
|
+
resolve,
|
|
125
|
+
this.#timeoutValue,
|
|
126
|
+
this.#timeoutLimit,
|
|
127
|
+
);
|
|
128
|
+
else resolve(undefined);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
if (this.#timeoutFirst) {
|
|
134
|
+
await waitTimeout();
|
|
135
|
+
await waitCounter();
|
|
136
|
+
} else {
|
|
137
|
+
await waitCounter();
|
|
138
|
+
await waitTimeout();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Once available and the throttle allows, we reserve the slot.
|
|
142
|
+
this.#activeCount++;
|
|
143
|
+
this.emit('ExecTask', id);
|
|
144
|
+
const final = await this.#performRequest(...args);
|
|
145
|
+
this.emit('TaskEnded', id);
|
|
146
|
+
return final;
|
|
147
|
+
},
|
|
148
|
+
undefined,
|
|
149
|
+
id,
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Cleans up the instance, removing all listeners and stopping pending tasks.
|
|
155
|
+
* @returns {void}
|
|
156
|
+
*/
|
|
157
|
+
destroy() {
|
|
158
|
+
if (this.#isDestroyed) return;
|
|
159
|
+
this.removeAllListeners();
|
|
160
|
+
this.#isDestroyed = true;
|
|
161
|
+
this.emit('Destroyed');
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Internal method to handle the actual execution and counter management.
|
|
166
|
+
*
|
|
167
|
+
* @param {Parameters<API>} args
|
|
168
|
+
* @returns {QueueResult<ReturnType<API>>}
|
|
169
|
+
*/
|
|
170
|
+
async #performRequest(...args) {
|
|
171
|
+
try {
|
|
172
|
+
const apiFunction = this.#api;
|
|
173
|
+
return await apiFunction(...args);
|
|
174
|
+
} finally {
|
|
175
|
+
// The decrement happens here, ensuring the slot is released even on failure.
|
|
176
|
+
this.#activeCount--;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns whether the instance has been destroyed.
|
|
182
|
+
* @returns {boolean}
|
|
183
|
+
*/
|
|
184
|
+
get isDestroyed() {
|
|
185
|
+
return this.#isDestroyed;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Gets the internal task queue.
|
|
190
|
+
* @returns {TinyPromiseQueue} The internal task queue.
|
|
191
|
+
*/
|
|
192
|
+
get queue() {
|
|
193
|
+
checkDestroy(this.#isDestroyed);
|
|
194
|
+
return this.#queue;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Gets the original API function.
|
|
199
|
+
* @returns {API} The original API function.
|
|
200
|
+
*/
|
|
201
|
+
get api() {
|
|
202
|
+
checkDestroy(this.#isDestroyed);
|
|
203
|
+
return this.#api;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Gets the current concurrency limit.
|
|
208
|
+
* @returns {number} The current concurrency limit.
|
|
209
|
+
*/
|
|
210
|
+
get concurrencyLimit() {
|
|
211
|
+
checkDestroy(this.#isDestroyed);
|
|
212
|
+
return this.#concurrencyLimit;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Sets a new concurrency limit.
|
|
217
|
+
* @param {number} value - The new maximum number of simultaneous requests.
|
|
218
|
+
* @throws {TypeError} If value is not a positive number.
|
|
219
|
+
*/
|
|
220
|
+
set concurrencyLimit(value) {
|
|
221
|
+
checkDestroy(this.#isDestroyed);
|
|
222
|
+
if (typeof value !== 'number' || value <= 0) {
|
|
223
|
+
throw new TypeError('Concurrency limit must be a positive number.');
|
|
224
|
+
}
|
|
225
|
+
this.#concurrencyLimit = value;
|
|
226
|
+
this.emit('SetConcurrencyLimit', value);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Gets the current TinyTimeout instance used for rate limiting.
|
|
231
|
+
* @returns {TinyTimeout|null}
|
|
232
|
+
*/
|
|
233
|
+
get timeoutInstance() {
|
|
234
|
+
checkDestroy(this.#isDestroyed);
|
|
235
|
+
return this.#timeoutInstance;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Gets the current base delay multiplier in milliseconds.
|
|
240
|
+
* @returns {number}
|
|
241
|
+
*/
|
|
242
|
+
get timeoutValue() {
|
|
243
|
+
checkDestroy(this.#isDestroyed);
|
|
244
|
+
return this.#timeoutValue;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Sets a new base delay multiplier in milliseconds.
|
|
249
|
+
* @param {number} value - The new base delay multiplier.
|
|
250
|
+
* @throws {TypeError} If the value is not a number.
|
|
251
|
+
* @throws {RangeError} If the value is a negative number.
|
|
252
|
+
*/
|
|
253
|
+
set timeoutValue(value) {
|
|
254
|
+
checkDestroy(this.#isDestroyed);
|
|
255
|
+
if (typeof value !== 'number') {
|
|
256
|
+
throw new TypeError('Timeout value must be a number.');
|
|
257
|
+
}
|
|
258
|
+
if (value < 0) {
|
|
259
|
+
throw new RangeError('Timeout value cannot be negative.');
|
|
260
|
+
}
|
|
261
|
+
this.#timeoutValue = value;
|
|
262
|
+
this.emit('SetTimeoutValue', value);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Gets the current maximum delay cap.
|
|
267
|
+
* @returns {number|null}
|
|
268
|
+
*/
|
|
269
|
+
get timeoutLimit() {
|
|
270
|
+
checkDestroy(this.#isDestroyed);
|
|
271
|
+
return this.#timeoutLimit;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Gets whether the first execution should be delayed by the timeout.
|
|
276
|
+
* @returns {boolean}
|
|
277
|
+
*/
|
|
278
|
+
get timeoutFirst() {
|
|
279
|
+
return this.#timeoutFirst;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Sets whether the first execution should be delayed by the timeout.
|
|
284
|
+
* @param {boolean} value - The new boolean value.
|
|
285
|
+
* @throws {TypeError} If the value is not a boolean.
|
|
286
|
+
*/
|
|
287
|
+
set timeoutFirst(value) {
|
|
288
|
+
if (typeof value !== 'boolean') {
|
|
289
|
+
throw new TypeError('timeoutFirst must be a boolean.');
|
|
290
|
+
}
|
|
291
|
+
this.#timeoutFirst = value;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Sets a new maximum delay cap.
|
|
296
|
+
* @param {number} value - The new maximum delay cap.
|
|
297
|
+
* @throws {TypeError} If the value is not a number.
|
|
298
|
+
* @throws {RangeError} If the value is a negative number.
|
|
299
|
+
*/
|
|
300
|
+
set timeoutLimit(value) {
|
|
301
|
+
checkDestroy(this.#isDestroyed);
|
|
302
|
+
if (typeof value !== 'number') {
|
|
303
|
+
throw new TypeError('Timeout limit must be a number.');
|
|
304
|
+
}
|
|
305
|
+
if (value < 0) {
|
|
306
|
+
throw new RangeError('Timeout limit cannot be negative.');
|
|
307
|
+
}
|
|
308
|
+
this.#timeoutLimit = value;
|
|
309
|
+
this.emit('SetTimeoutLimit', value);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Returns the number of currently active requests.
|
|
314
|
+
*
|
|
315
|
+
* @returns {number}
|
|
316
|
+
*/
|
|
317
|
+
get activeCount() {
|
|
318
|
+
checkDestroy(this.#isDestroyed);
|
|
319
|
+
return this.#activeCount;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Returns the number of tasks waiting in the queue.
|
|
324
|
+
*
|
|
325
|
+
* @returns {number}
|
|
326
|
+
*/
|
|
327
|
+
get queuedCount() {
|
|
328
|
+
checkDestroy(this.#isDestroyed);
|
|
329
|
+
return this.#queue.getQueuedIds().length;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
module.exports = TinyThrottledApi;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import TinyPromiseQueue from './TinyPromiseQueue.mjs';
|
|
2
|
+
import TinyTimeout from '../math/TinyTimeout.mjs';
|
|
3
|
+
export type QueueResult<T> = Promise<T>;
|
|
4
|
+
export type TinyThrottledApiEvents = {
|
|
5
|
+
/**
|
|
6
|
+
* - Emitted when a task starts executing.
|
|
7
|
+
*/
|
|
8
|
+
ExecTask: (id: string) => void;
|
|
9
|
+
/**
|
|
10
|
+
* - Emitted when a task finishes executing.
|
|
11
|
+
*/
|
|
12
|
+
TaskEnded: (id: string) => void;
|
|
13
|
+
/**
|
|
14
|
+
* - Emitted when a task is queued and waiting for a slot.
|
|
15
|
+
*/
|
|
16
|
+
WaitingTask: (id: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* - Emitted when the instance is destroyed.
|
|
19
|
+
*/
|
|
20
|
+
Destroyed: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* - Emitted when the concurrency limit changes.
|
|
23
|
+
*/
|
|
24
|
+
SetConcurrencyLimit: (value: number) => void;
|
|
25
|
+
/**
|
|
26
|
+
* - Emitted when the timeout value changes.
|
|
27
|
+
*/
|
|
28
|
+
SetTimeoutValue: (value: number) => void;
|
|
29
|
+
/**
|
|
30
|
+
* - Emitted when the timeout limit changes.
|
|
31
|
+
*/
|
|
32
|
+
SetTimeoutLimit: (value: number) => void;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* @template T
|
|
36
|
+
* @typedef {Promise<T>} QueueResult
|
|
37
|
+
* Represents the eventual result of a queued operation.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Event map for {@link TinyThrottledApi}.
|
|
41
|
+
* @typedef {Object} TinyThrottledApiEvents
|
|
42
|
+
* @property {(id: string) => void} ExecTask - Emitted when a task starts executing.
|
|
43
|
+
* @property {(id: string) => void} TaskEnded - Emitted when a task finishes executing.
|
|
44
|
+
* @property {(id: string) => void} WaitingTask - Emitted when a task is queued and waiting for a slot.
|
|
45
|
+
* @property {() => void} Destroyed - Emitted when the instance is destroyed.
|
|
46
|
+
* @property {(value: number) => void} SetConcurrencyLimit - Emitted when the concurrency limit changes.
|
|
47
|
+
* @property {(value: number) => void} SetTimeoutValue - Emitted when the timeout value changes.
|
|
48
|
+
* @property {(value: number) => void} SetTimeoutLimit - Emitted when the timeout limit changes.
|
|
49
|
+
*/
|
|
50
|
+
/** @type {new () => import('../../jsdoc/EventEmitter.mjs').ICustomEventEmitter<TinyThrottledApiEvents>} */
|
|
51
|
+
declare const TypedEventEmitter: new () => import('../../jsdoc/EventEmitter.mjs').ICustomEventEmitter<TinyThrottledApiEvents>;
|
|
52
|
+
/**
|
|
53
|
+
* A client that manages asynchronous requests with a concurrency limit.
|
|
54
|
+
* It uses TinyPromiseQueue to manage waiting tasks and waitForTrue to poll for availability.
|
|
55
|
+
* @template {(...args: any) => Promise<any>} API
|
|
56
|
+
*/
|
|
57
|
+
declare class TinyThrottledApi<API extends (...args: any) => Promise<any>> extends TypedEventEmitter {
|
|
58
|
+
#private;
|
|
59
|
+
static TinyTimeout: typeof TinyTimeout;
|
|
60
|
+
/**
|
|
61
|
+
* Initializes a new instance of the TinyThrottledApi class.
|
|
62
|
+
*
|
|
63
|
+
* @param {number} concurrencyLimit - The maximum number of simultaneous requests.
|
|
64
|
+
* @param {API} api - The API implementation.
|
|
65
|
+
* @param {TinyTimeout|null} [timeoutInstance=null] - Optional TinyTimeout instance to regulate execution frequency.
|
|
66
|
+
* @throws {TypeError} If concurrencyLimit is not a positive number.
|
|
67
|
+
* @throws {TypeError} If API is not a function.
|
|
68
|
+
*/
|
|
69
|
+
constructor(concurrencyLimit: number, api: API, timeoutInstance?: TinyTimeout | null);
|
|
70
|
+
/**
|
|
71
|
+
* Executes an API request, respecting the concurrency limit and optional rate limiting.
|
|
72
|
+
*
|
|
73
|
+
* @param {Parameters<API>} args
|
|
74
|
+
* @returns {QueueResult<ReturnType<API>>} A promise that resolves with the API result.
|
|
75
|
+
* @throws {TypeError} If the internal state is corrupted.
|
|
76
|
+
*/
|
|
77
|
+
exec(...args: Parameters<API>): QueueResult<ReturnType<API>>;
|
|
78
|
+
/**
|
|
79
|
+
* Cleans up the instance, removing all listeners and stopping pending tasks.
|
|
80
|
+
* @returns {void}
|
|
81
|
+
*/
|
|
82
|
+
destroy(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Returns whether the instance has been destroyed.
|
|
85
|
+
* @returns {boolean}
|
|
86
|
+
*/
|
|
87
|
+
get isDestroyed(): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Gets the internal task queue.
|
|
90
|
+
* @returns {TinyPromiseQueue} The internal task queue.
|
|
91
|
+
*/
|
|
92
|
+
get queue(): TinyPromiseQueue;
|
|
93
|
+
/**
|
|
94
|
+
* Gets the original API function.
|
|
95
|
+
* @returns {API} The original API function.
|
|
96
|
+
*/
|
|
97
|
+
get api(): API;
|
|
98
|
+
/**
|
|
99
|
+
* Gets the current concurrency limit.
|
|
100
|
+
* @returns {number} The current concurrency limit.
|
|
101
|
+
*/
|
|
102
|
+
get concurrencyLimit(): number;
|
|
103
|
+
/**
|
|
104
|
+
* Sets a new concurrency limit.
|
|
105
|
+
* @param {number} value - The new maximum number of simultaneous requests.
|
|
106
|
+
* @throws {TypeError} If value is not a positive number.
|
|
107
|
+
*/
|
|
108
|
+
set concurrencyLimit(value: number);
|
|
109
|
+
/**
|
|
110
|
+
* Gets the current TinyTimeout instance used for rate limiting.
|
|
111
|
+
* @returns {TinyTimeout|null}
|
|
112
|
+
*/
|
|
113
|
+
get timeoutInstance(): TinyTimeout | null;
|
|
114
|
+
/**
|
|
115
|
+
* Gets the current base delay multiplier in milliseconds.
|
|
116
|
+
* @returns {number}
|
|
117
|
+
*/
|
|
118
|
+
get timeoutValue(): number;
|
|
119
|
+
/**
|
|
120
|
+
* Sets a new base delay multiplier in milliseconds.
|
|
121
|
+
* @param {number} value - The new base delay multiplier.
|
|
122
|
+
* @throws {TypeError} If the value is not a number.
|
|
123
|
+
* @throws {RangeError} If the value is a negative number.
|
|
124
|
+
*/
|
|
125
|
+
set timeoutValue(value: number);
|
|
126
|
+
/**
|
|
127
|
+
* Gets the current maximum delay cap.
|
|
128
|
+
* @returns {number|null}
|
|
129
|
+
*/
|
|
130
|
+
get timeoutLimit(): number | null;
|
|
131
|
+
/**
|
|
132
|
+
* Gets whether the first execution should be delayed by the timeout.
|
|
133
|
+
* @returns {boolean}
|
|
134
|
+
*/
|
|
135
|
+
get timeoutFirst(): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Sets whether the first execution should be delayed by the timeout.
|
|
138
|
+
* @param {boolean} value - The new boolean value.
|
|
139
|
+
* @throws {TypeError} If the value is not a boolean.
|
|
140
|
+
*/
|
|
141
|
+
set timeoutFirst(value: boolean);
|
|
142
|
+
/**
|
|
143
|
+
* Sets a new maximum delay cap.
|
|
144
|
+
* @param {number} value - The new maximum delay cap.
|
|
145
|
+
* @throws {TypeError} If the value is not a number.
|
|
146
|
+
* @throws {RangeError} If the value is a negative number.
|
|
147
|
+
*/
|
|
148
|
+
set timeoutLimit(value: number);
|
|
149
|
+
/**
|
|
150
|
+
* Returns the number of currently active requests.
|
|
151
|
+
*
|
|
152
|
+
* @returns {number}
|
|
153
|
+
*/
|
|
154
|
+
get activeCount(): number;
|
|
155
|
+
/**
|
|
156
|
+
* Returns the number of tasks waiting in the queue.
|
|
157
|
+
*
|
|
158
|
+
* @returns {number}
|
|
159
|
+
*/
|
|
160
|
+
get queuedCount(): number;
|
|
161
|
+
}
|
|
162
|
+
export default TinyThrottledApi;
|
|
163
|
+
//# sourceMappingURL=TinyThrottledApi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TinyThrottledApi.d.mts","sourceRoot":"","sources":["../../../../src/v1/libs/utils/TinyThrottledApi.mjs"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAO/C,YAAsB,WAAW,CADvB,CAAC,IACD,OAAO,CAAC,CAAC,CAAC,CAEtB;AAIE,YAAkB,sBAAsB,GACxC;;;;IAAiC,QAAQ,EAA9B,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAC/B;;;;IAAiC,SAAS,EAA/B,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAC/B;;;;IAAiC,WAAW,EAAjC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAC/B;;;;IAAuB,SAAS,EAArB,MAAM,IAAI,CACrB;;;;IAAoC,mBAAmB,EAA5C,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAClC;;;;IAAoC,eAAe,EAAxC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAClC;;;;IAAoC,eAAe,EAAxC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CACpC;CAAA,CAAA;AAhBD;;;;GAIG;AAEH;;;;;;;;;;GAUG;AAEH,2GAA2G;AAC3G,QAAA,MAAM,iBAAiB,EADZ,UAAU,OAAO,8BAA8B,EAAE,mBAAmB,CAAC,sBAAsB,CAC3C,CAAC;AAE5D;;;;GAIG;AACH,cAAM,gBAAgB,CAFwB,GAAG,SAAnC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAM,CAE1B,SAAQ,iBAAiB;;IAC9C,MAAM,CAAC,WAAW,qBAAe;IAoBjC;;;;;;;;OAQG;IACH,YAAY,gBAAgB,EANjB,MAMiB,EAAE,GAAG,EALtB,GAKsB,EAAE,eAAe,AAJ/C,CACA,EADQ,WAAW,GAAC,IAIkC,EAmBxD;IAED;;;;;;OAMG;IACG,IAAI,CAAC,GAAG,IAAI,EAJP,UAAU,CAAC,GAAG,CAIP,GAHL,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CA2DxC;IAED;;;OAGG;IACH,OAAO,IAFM,IAAI,CAOhB;IAkBD;;;OAGG;IACH,IAAI,WAAW,IAFF,OAAO,CAInB;IAED;;;OAGG;IACH,IAAI,KAAK,IAFI,gBAAgB,CAK5B;IAED;;;OAGG;IACH,IAAI,GAAG,IAFM,GAAG,CAKf;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAFP,MAAM,CAKlB;IAED;;;;OAIG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAHf,MAGe,EAOzB;IAED;;;OAGG;IACH,IAAI,eAAe,IAFN,WAAW,GAAC,IAAI,CAK5B;IAED;;;OAGG;IACH,IAAI,YAAY,IAFH,MAAM,CAKlB;IAED;;;;;OAKG;IACH,IAAI,YAAY,CAAC,KAAK,EAJX,MAIW,EAUrB;IAED;;;OAGG;IACH,IAAI,YAAY,IAFH,MAAM,GAAC,IAAI,CAKvB;IAED;;;OAGG;IACH,IAAI,YAAY,IAFH,OAAO,CAInB;IAED;;;;OAIG;IACH,IAAI,YAAY,CAAC,KAAK,EAHX,OAGW,EAKrB;IAED;;;;;OAKG;IACH,IAAI,YAAY,CAAC,KAAK,EAJX,MAIW,EAUrB;IAED;;;;OAIG;IACH,IAAI,WAAW,IAFF,MAAM,CAKlB;IAED;;;;OAIG;IACH,IAAI,WAAW,IAFF,MAAM,CAKlB;CACF;eAEc,gBAAgB"}
|