tiny-essentials 1.28.19 → 1.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/changelog/1/28/19.md +24 -0
- package/changelog/1/29/0.md +58 -0
- package/changelog/1/29/1.md +11 -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/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 +30 -4
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +5 -2
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -1
- package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +29 -5
- 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 +101 -0
- package/docs/v1/README.md +113 -15
- 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 +565 -0
- package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +19 -7
- 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 +340 -22
- package/types/EventEmitter.d.ts +48 -0
- package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
export type TableValue = IDBValidKey | IDBKeyRange;
|
|
2
|
+
export type TinyTableDbRecord<Key extends TableValue, Value extends any> = {
|
|
3
|
+
/**
|
|
4
|
+
* - The record key.
|
|
5
|
+
*/
|
|
6
|
+
key: Key;
|
|
7
|
+
/**
|
|
8
|
+
* - The record value.
|
|
9
|
+
*/
|
|
10
|
+
value: Value;
|
|
11
|
+
/**
|
|
12
|
+
* - Unix timestamp (in milliseconds).
|
|
13
|
+
*/
|
|
14
|
+
timestamp: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* A single persisted record.
|
|
18
|
+
* @template {TableValue} Key
|
|
19
|
+
* @template {*} Value
|
|
20
|
+
* @typedef {Object} TinyTableDbRecord
|
|
21
|
+
* @property {Key} key - The record key.
|
|
22
|
+
* @property {Value} value - The record value.
|
|
23
|
+
* @property {number} timestamp - Unix timestamp (in milliseconds).
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Shared IndexedDB plumbing for {@link TinySetDb} and {@link TinyMapDb}.
|
|
27
|
+
*
|
|
28
|
+
* This class owns the connection, the write queue, the action queue and the
|
|
29
|
+
* hydration lifecycle. Subclasses only implement the in-memory cache and the
|
|
30
|
+
* public API, which keeps both collections perfectly consistent.
|
|
31
|
+
*/
|
|
32
|
+
declare class TinyTableDb {
|
|
33
|
+
#private;
|
|
34
|
+
/**
|
|
35
|
+
* @param {{ storeName: string, openDatabase: () => Promise<IDBDatabase> }} options - Table options.
|
|
36
|
+
* @throws {TypeError} If `storeName` is not a non-empty string.
|
|
37
|
+
* @throws {TypeError} If `openDatabase` is not a function.
|
|
38
|
+
*/
|
|
39
|
+
constructor({ storeName, openDatabase }: {
|
|
40
|
+
storeName: string;
|
|
41
|
+
openDatabase: () => Promise<IDBDatabase>;
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Name of the object store that backs this table.
|
|
45
|
+
* @returns {string}
|
|
46
|
+
*/
|
|
47
|
+
get storeName(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the in-memory cache was already hydrated from IndexedDB.
|
|
50
|
+
* @returns {boolean}
|
|
51
|
+
*/
|
|
52
|
+
get isReady(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Tag used by `Object.prototype.toString`.
|
|
55
|
+
* @returns {string}
|
|
56
|
+
*/
|
|
57
|
+
get [Symbol.toStringTag](): string;
|
|
58
|
+
/**
|
|
59
|
+
* Loads every persisted value into the in-memory cache.
|
|
60
|
+
* Safe to call multiple times, the work happens only once.
|
|
61
|
+
* @returns {Promise<void>}
|
|
62
|
+
*/
|
|
63
|
+
hydrate(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Runs an operation with exclusive access to the in-memory cache.
|
|
66
|
+
* @param {() => Promise<void>} operation - The operation to run.
|
|
67
|
+
* @returns {Promise<void>}
|
|
68
|
+
*/
|
|
69
|
+
_action(operation: () => Promise<void>): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Runs a write operation with exclusive access to the object store.
|
|
72
|
+
* @param {() => Promise<void>} operation - The operation to run.
|
|
73
|
+
* @returns {Promise<void>}
|
|
74
|
+
*/
|
|
75
|
+
_write(operation: () => Promise<void>): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Persists a single record.
|
|
78
|
+
* @param {TinyTableDbRecord<TableValue, unknown>|TinySetDbRecord<TableValue>} record - The record to persist.
|
|
79
|
+
* @returns {Promise<void>}
|
|
80
|
+
*/
|
|
81
|
+
_persist(record: TinyTableDbRecord<TableValue, unknown> | TinySetDbRecord<TableValue>): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Deletes a single record by its key.
|
|
84
|
+
* @param {TableValue} key - The key to delete.
|
|
85
|
+
* @returns {Promise<void>}
|
|
86
|
+
*/
|
|
87
|
+
_remove(key: TableValue): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Deletes every record from the object store.
|
|
90
|
+
* @returns {Promise<void>}
|
|
91
|
+
*/
|
|
92
|
+
_clear(): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Populates the in-memory cache from the persisted records.
|
|
95
|
+
* @abstract
|
|
96
|
+
* @param {(TinyTableDbRecord<TableValue, unknown>|TinySetDbRecord<TableValue>)[]} records - The persisted records.
|
|
97
|
+
* @returns {void}
|
|
98
|
+
*/
|
|
99
|
+
_load(records: (TinyTableDbRecord<TableValue, unknown> | TinySetDbRecord<TableValue>)[]): void;
|
|
100
|
+
}
|
|
101
|
+
export type TinySetDbRecord<Value extends TableValue> = {
|
|
102
|
+
/**
|
|
103
|
+
* - The unique value that was stored.
|
|
104
|
+
*/
|
|
105
|
+
value: Value;
|
|
106
|
+
/**
|
|
107
|
+
* - Unix timestamp (in milliseconds) of the first detection.
|
|
108
|
+
*/
|
|
109
|
+
timestamp: number;
|
|
110
|
+
};
|
|
111
|
+
export type TinySetDbValidator<Value extends TableValue> = (value: Value) => boolean;
|
|
112
|
+
export type TinySetDbOptions<Value extends TableValue> = {
|
|
113
|
+
/**
|
|
114
|
+
* - Name of the object store (table) that backs this set.
|
|
115
|
+
*/
|
|
116
|
+
storeName: string;
|
|
117
|
+
/**
|
|
118
|
+
* - Resolves with the shared connection.
|
|
119
|
+
*/
|
|
120
|
+
openDatabase: () => Promise<IDBDatabase>;
|
|
121
|
+
/**
|
|
122
|
+
* - Optional predicate applied to every value.
|
|
123
|
+
*/
|
|
124
|
+
validate?: TinySetDbValidator<Value> | null;
|
|
125
|
+
};
|
|
126
|
+
export type TinySetDbSource<Value extends TableValue> = TinySetDb<Value> | Set<Value> | Value[];
|
|
127
|
+
export type TinySetDbForEachCallback<Value extends TableValue> = (value: Value, sameValue: Value, set: TinySetDb<Value>) => void;
|
|
128
|
+
/**
|
|
129
|
+
* A single persisted value entry.
|
|
130
|
+
* @template {TableValue} Value
|
|
131
|
+
* @typedef {Object} TinySetDbRecord
|
|
132
|
+
* @property {Value} value - The unique value that was stored.
|
|
133
|
+
* @property {number} timestamp - Unix timestamp (in milliseconds) of the first detection.
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* Predicate used to reject values that must never reach a table.
|
|
137
|
+
* @template {TableValue} Value
|
|
138
|
+
* @callback TinySetDbValidator
|
|
139
|
+
* @param {Value} value - The candidate value.
|
|
140
|
+
* @returns {boolean} A truthy value when the value is accepted.
|
|
141
|
+
*/
|
|
142
|
+
/**
|
|
143
|
+
* @template {TableValue} Value
|
|
144
|
+
* @typedef {Object} TinySetDbOptions
|
|
145
|
+
* @property {string} storeName - Name of the object store (table) that backs this set.
|
|
146
|
+
* @property {() => Promise<IDBDatabase>} openDatabase - Resolves with the shared connection.
|
|
147
|
+
* @property {TinySetDbValidator<Value>|null} [validate] - Optional predicate applied to every value.
|
|
148
|
+
*/
|
|
149
|
+
/**
|
|
150
|
+
* A source of values accepted by the set operations.
|
|
151
|
+
* @template {TableValue} Value
|
|
152
|
+
* @typedef {TinySetDb<Value>|Set<Value>|Value[]} TinySetDbSource
|
|
153
|
+
*/
|
|
154
|
+
/**
|
|
155
|
+
* Callback invoked by {@link TinySetDb#forEach}.
|
|
156
|
+
* @template {TableValue} Value
|
|
157
|
+
* @callback TinySetDbForEachCallback
|
|
158
|
+
* @param {Value} value - The current value.
|
|
159
|
+
* @param {Value} sameValue - The same value, mirroring `Set.prototype.forEach`.
|
|
160
|
+
* @param {TinySetDb<Value>} set - The set being iterated.
|
|
161
|
+
* @returns {void}
|
|
162
|
+
*/
|
|
163
|
+
/**
|
|
164
|
+
* @template {TableValue} Value
|
|
165
|
+
* @extends {TinyTableDb}
|
|
166
|
+
* Persistent set of values backed by a single IndexedDB object store.
|
|
167
|
+
*/
|
|
168
|
+
declare class TinySetDb<Value extends TableValue> extends TinyTableDb {
|
|
169
|
+
#private;
|
|
170
|
+
/**
|
|
171
|
+
* @param {TinySetDbOptions<Value>} options - Table options.
|
|
172
|
+
* @throws {TypeError} If `validate` is neither a function nor `null`.
|
|
173
|
+
*/
|
|
174
|
+
constructor({ storeName, openDatabase, validate }: TinySetDbOptions<Value>);
|
|
175
|
+
/**
|
|
176
|
+
* Number of values currently held in the in-memory cache.
|
|
177
|
+
* @returns {number}
|
|
178
|
+
*/
|
|
179
|
+
get size(): number;
|
|
180
|
+
/**
|
|
181
|
+
* Checks whether the given value is already stored.
|
|
182
|
+
* @param {Value} value - The value to look up.
|
|
183
|
+
* @returns {Promise<boolean>} `true` when the value was already logged.
|
|
184
|
+
* @throws {TypeError} If `value` is not a non-empty string.
|
|
185
|
+
* @throws {TypeError} If the table validator rejects the value.
|
|
186
|
+
*/
|
|
187
|
+
has(value: Value): Promise<boolean>;
|
|
188
|
+
/**
|
|
189
|
+
* Adds a value to the cache and persists it.
|
|
190
|
+
* @param {Value} value - The value to store.
|
|
191
|
+
* @returns {Promise<boolean>} `true` when the value was added, `false` when it already existed.
|
|
192
|
+
* @throws {TypeError} If `value` is not a non-empty string.
|
|
193
|
+
* @throws {TypeError} If the table validator rejects the value.
|
|
194
|
+
*/
|
|
195
|
+
add(value: Value): Promise<boolean>;
|
|
196
|
+
/**
|
|
197
|
+
* Removes a value from the cache and from the object store.
|
|
198
|
+
* @param {Value} value - The value to remove.
|
|
199
|
+
* @returns {Promise<boolean>} `true` when the value existed and was removed.
|
|
200
|
+
* @throws {TypeError} If `value` is not a non-empty string.
|
|
201
|
+
* @throws {TypeError} If the table validator rejects the value.
|
|
202
|
+
*/
|
|
203
|
+
delete(value: Value): Promise<boolean>;
|
|
204
|
+
/**
|
|
205
|
+
* Removes every value from both the cache and the object store.
|
|
206
|
+
* @returns {Promise<void>}
|
|
207
|
+
*/
|
|
208
|
+
clear(): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* Returns a snapshot of every stored value.
|
|
211
|
+
* @returns {Promise<Value[]>} A new array with the current values.
|
|
212
|
+
*/
|
|
213
|
+
toArray(): Promise<Value[]>;
|
|
214
|
+
/**
|
|
215
|
+
* Serialization hook used by `JSON.stringify`.
|
|
216
|
+
* @returns {Promise<Value[]>} A new array with the current values.
|
|
217
|
+
*/
|
|
218
|
+
toJSON(): Promise<Value[]>;
|
|
219
|
+
/**
|
|
220
|
+
* Iterates over the stored values.
|
|
221
|
+
* @returns {AsyncGenerator<Value, void, void>} An async generator of values.
|
|
222
|
+
*/
|
|
223
|
+
values(): AsyncGenerator<Value, void, void>;
|
|
224
|
+
/**
|
|
225
|
+
* Alias of {@link TinySetDb#values}, mirroring `Set.prototype.keys`.
|
|
226
|
+
* @returns {AsyncGenerator<Value, void, void>} An async generator of values.
|
|
227
|
+
*/
|
|
228
|
+
keys(): AsyncGenerator<Value, void, void>;
|
|
229
|
+
/**
|
|
230
|
+
* Iterates over `[value, value]` pairs, mirroring `Set.prototype.entries`.
|
|
231
|
+
* @returns {AsyncGenerator<[Value, Value], void, void>} An async generator of pairs.
|
|
232
|
+
*/
|
|
233
|
+
entries(): AsyncGenerator<[Value, Value], void, void>;
|
|
234
|
+
/**
|
|
235
|
+
* Iterates over the stored values.
|
|
236
|
+
* @returns {AsyncGenerator<Value, void, void>} An async generator of values.
|
|
237
|
+
*/
|
|
238
|
+
[Symbol.asyncIterator](): AsyncGenerator<Value, void, void>;
|
|
239
|
+
/**
|
|
240
|
+
* Runs a callback for every stored value.
|
|
241
|
+
* @param {TinySetDbForEachCallback<Value>} callbackFn - Callback invoked per value.
|
|
242
|
+
* @param {unknown} [thisArg] - Value used as `this` inside the callback.
|
|
243
|
+
* @returns {Promise<void>}
|
|
244
|
+
* @throws {TypeError} If `callbackFn` is not a function.
|
|
245
|
+
*/
|
|
246
|
+
forEach(callbackFn: TinySetDbForEachCallback<Value>, thisArg?: unknown): Promise<void>;
|
|
247
|
+
/**
|
|
248
|
+
* Returns a new native `Set` with the values of this set and every source.
|
|
249
|
+
* @param {...TinySetDbSource<Value>} sources - Extra value sources.
|
|
250
|
+
* @returns {Promise<Set<Value>>} A new native `Set`.
|
|
251
|
+
*/
|
|
252
|
+
union(...sources: TinySetDbSource<Value>[]): Promise<Set<Value>>;
|
|
253
|
+
/**
|
|
254
|
+
* Returns a new native `Set` with the values present in both sets.
|
|
255
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
256
|
+
* @returns {Promise<Set<Value>>} A new native `Set`.
|
|
257
|
+
*/
|
|
258
|
+
intersection(other: TinySetDbSource<Value>): Promise<Set<Value>>;
|
|
259
|
+
/**
|
|
260
|
+
* Returns a new native `Set` with the values of this set that are not in `other`.
|
|
261
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
262
|
+
* @returns {Promise<Set<Value>>} A new native `Set`.
|
|
263
|
+
*/
|
|
264
|
+
difference(other: TinySetDbSource<Value>): Promise<Set<Value>>;
|
|
265
|
+
/**
|
|
266
|
+
* Returns a new native `Set` with the values present in only one of the sets.
|
|
267
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
268
|
+
* @returns {Promise<Set<Value>>} A new native `Set`.
|
|
269
|
+
*/
|
|
270
|
+
symmetricDifference(other: TinySetDbSource<Value>): Promise<Set<Value>>;
|
|
271
|
+
/**
|
|
272
|
+
* Checks whether every value of this set exists in `other`.
|
|
273
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
274
|
+
* @returns {Promise<boolean>} `true` when this set is a subset of `other`.
|
|
275
|
+
*/
|
|
276
|
+
isSubsetOf(other: TinySetDbSource<Value>): Promise<boolean>;
|
|
277
|
+
/**
|
|
278
|
+
* Checks whether every value of `other` exists in this set.
|
|
279
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
280
|
+
* @returns {Promise<boolean>} `true` when this set is a superset of `other`.
|
|
281
|
+
*/
|
|
282
|
+
isSupersetOf(other: TinySetDbSource<Value>): Promise<boolean>;
|
|
283
|
+
/**
|
|
284
|
+
* Checks whether this set and `other` share no values.
|
|
285
|
+
* @param {TinySetDbSource<Value>} other - The other value source.
|
|
286
|
+
* @returns {Promise<boolean>} `true` when the sets are disjoint.
|
|
287
|
+
*/
|
|
288
|
+
isDisjointFrom(other: TinySetDbSource<Value>): Promise<boolean>;
|
|
289
|
+
/**
|
|
290
|
+
* Populates the in-memory cache from the persisted records.
|
|
291
|
+
* @param {TinySetDbRecord<Value>[]} records - The persisted records.
|
|
292
|
+
* @returns {void}
|
|
293
|
+
*/
|
|
294
|
+
_load(records: TinySetDbRecord<Value>[]): void;
|
|
295
|
+
}
|
|
296
|
+
export type TinyMapDbRecord<Key extends TableValue, Value extends any> = {
|
|
297
|
+
/**
|
|
298
|
+
* - The unique key that was stored.
|
|
299
|
+
*/
|
|
300
|
+
key: Key;
|
|
301
|
+
/**
|
|
302
|
+
* - The value bound to the key.
|
|
303
|
+
*/
|
|
304
|
+
value: Value;
|
|
305
|
+
/**
|
|
306
|
+
* - Unix timestamp (in milliseconds) of the last write.
|
|
307
|
+
*/
|
|
308
|
+
timestamp: number;
|
|
309
|
+
};
|
|
310
|
+
export type TinyMapDbValidator<Key extends TableValue, Value extends any> = (key: Key, value: Value) => boolean;
|
|
311
|
+
export type TinyMapDbOptions<Key extends TableValue, Value extends any> = {
|
|
312
|
+
/**
|
|
313
|
+
* - Name of the object store (table) that backs this map.
|
|
314
|
+
*/
|
|
315
|
+
storeName: string;
|
|
316
|
+
/**
|
|
317
|
+
* - Resolves with the shared connection.
|
|
318
|
+
*/
|
|
319
|
+
openDatabase: () => Promise<IDBDatabase>;
|
|
320
|
+
/**
|
|
321
|
+
* - Optional predicate applied to every entry.
|
|
322
|
+
*/
|
|
323
|
+
validate?: TinyMapDbValidator<Key, Value> | null;
|
|
324
|
+
};
|
|
325
|
+
export type TinyMapDbForEachCallback<Key extends TableValue, Value extends any> = (value: Value, key: Key, map: TinyMapDb<Key, Value>) => void;
|
|
326
|
+
/**
|
|
327
|
+
* A single persisted entry.
|
|
328
|
+
* @template {TableValue} Key
|
|
329
|
+
* @template {*} Value
|
|
330
|
+
* @typedef {Object} TinyMapDbRecord
|
|
331
|
+
* @property {Key} key - The unique key that was stored.
|
|
332
|
+
* @property {Value} value - The value bound to the key.
|
|
333
|
+
* @property {number} timestamp - Unix timestamp (in milliseconds) of the last write.
|
|
334
|
+
*/
|
|
335
|
+
/**
|
|
336
|
+
* Predicate used to reject entries that must never reach a table.
|
|
337
|
+
* @template {TableValue} Key
|
|
338
|
+
* @template {*} Value
|
|
339
|
+
* @callback TinyMapDbValidator
|
|
340
|
+
* @param {Key} key - The candidate key.
|
|
341
|
+
* @param {Value} value - The candidate value.
|
|
342
|
+
* @returns {boolean} A truthy value when the entry is accepted.
|
|
343
|
+
*/
|
|
344
|
+
/**
|
|
345
|
+
* @template {TableValue} Key
|
|
346
|
+
* @template {*} Value
|
|
347
|
+
* @typedef {Object} TinyMapDbOptions
|
|
348
|
+
* @property {string} storeName - Name of the object store (table) that backs this map.
|
|
349
|
+
* @property {() => Promise<IDBDatabase>} openDatabase - Resolves with the shared connection.
|
|
350
|
+
* @property {TinyMapDbValidator<Key, Value>|null} [validate] - Optional predicate applied to every entry.
|
|
351
|
+
*/
|
|
352
|
+
/**
|
|
353
|
+
* Callback invoked by {@link TinyMapDb#forEach}.
|
|
354
|
+
* @template {TableValue} Key
|
|
355
|
+
* @template {*} Value
|
|
356
|
+
* @callback TinyMapDbForEachCallback
|
|
357
|
+
* @param {Value} value - The current value.
|
|
358
|
+
* @param {Key} key - The current key.
|
|
359
|
+
* @param {TinyMapDb<Key, Value>} map - The map being iterated.
|
|
360
|
+
* @returns {void}
|
|
361
|
+
*/
|
|
362
|
+
/**
|
|
363
|
+
* @template {TableValue} Key
|
|
364
|
+
* @template {*} Value
|
|
365
|
+
* @extends {TinyTableDb}
|
|
366
|
+
* Persistent key/value map backed by a single IndexedDB object store.
|
|
367
|
+
*
|
|
368
|
+
* The class keeps a synchronous in-memory cache so it can be queried from
|
|
369
|
+
* synchronous code while every write is mirrored to IndexedDB, so the data
|
|
370
|
+
* survives a service worker restart.
|
|
371
|
+
*/
|
|
372
|
+
declare class TinyMapDb<Key extends TableValue, Value extends any> extends TinyTableDb {
|
|
373
|
+
#private;
|
|
374
|
+
/**
|
|
375
|
+
* @param {TinyMapDbOptions<Key, Value>} options - Table options.
|
|
376
|
+
* @throws {TypeError} If `validate` is neither a function nor `null`.
|
|
377
|
+
*/
|
|
378
|
+
constructor({ storeName, openDatabase, validate }: TinyMapDbOptions<Key, Value>);
|
|
379
|
+
/**
|
|
380
|
+
* Number of entries currently held in the in-memory cache.
|
|
381
|
+
* @returns {number}
|
|
382
|
+
*/
|
|
383
|
+
get size(): number;
|
|
384
|
+
/**
|
|
385
|
+
* Checks whether the given key is already stored.
|
|
386
|
+
* @param {Key} key - The key to look up.
|
|
387
|
+
* @returns {Promise<boolean>} `true` when the key exists.
|
|
388
|
+
* @throws {TypeError} If `key` is not a non-empty string.
|
|
389
|
+
*/
|
|
390
|
+
has(key: Key): Promise<boolean>;
|
|
391
|
+
/**
|
|
392
|
+
* Reads the value bound to the given key.
|
|
393
|
+
* @param {Key} key - The key to look up.
|
|
394
|
+
* @returns {Promise<Value|undefined>} The stored value, or `undefined` when absent.
|
|
395
|
+
* @throws {TypeError} If `key` is not a non-empty string.
|
|
396
|
+
*/
|
|
397
|
+
get(key: Key): Promise<Value | undefined>;
|
|
398
|
+
/**
|
|
399
|
+
* Binds a value to a key, in the cache and in the object store.
|
|
400
|
+
* @param {Key} key - The key to write.
|
|
401
|
+
* @param {Value} value - The value to bind.
|
|
402
|
+
* @returns {Promise<this>} The same instance, allowing chained calls.
|
|
403
|
+
* @throws {TypeError} If `key` is not a non-empty string.
|
|
404
|
+
* @throws {TypeError} If the table validator rejects the entry.
|
|
405
|
+
*/
|
|
406
|
+
set(key: Key, value: Value): Promise<this>;
|
|
407
|
+
/**
|
|
408
|
+
* Removes an entry from the cache and from the object store.
|
|
409
|
+
* @param {Key} key - The key to remove.
|
|
410
|
+
* @returns {Promise<boolean>} `true` when the key existed and was removed.
|
|
411
|
+
* @throws {TypeError} If `key` is not a non-empty string.
|
|
412
|
+
*/
|
|
413
|
+
delete(key: Key): Promise<boolean>;
|
|
414
|
+
/**
|
|
415
|
+
* Removes every entry from both the cache and the object store.
|
|
416
|
+
* @returns {Promise<void>}
|
|
417
|
+
*/
|
|
418
|
+
clear(): Promise<void>;
|
|
419
|
+
/**
|
|
420
|
+
* Returns a snapshot of every stored entry.
|
|
421
|
+
* @returns {Promise<Array<[Key, Value]>>} A new array with the current entries.
|
|
422
|
+
*/
|
|
423
|
+
toArray(): Promise<Array<[Key, Value]>>;
|
|
424
|
+
/**
|
|
425
|
+
* Serialization hook used by `JSON.stringify`.
|
|
426
|
+
* @returns {Promise<Array<[Key, Value]>>} A new array with the current entries.
|
|
427
|
+
*/
|
|
428
|
+
toJSON(): Promise<Array<[Key, Value]>>;
|
|
429
|
+
/**
|
|
430
|
+
* Iterates over the stored keys.
|
|
431
|
+
* @returns {AsyncGenerator<Key, void, void>} An async generator of keys.
|
|
432
|
+
*/
|
|
433
|
+
keys(): AsyncGenerator<Key, void, void>;
|
|
434
|
+
/**
|
|
435
|
+
* Iterates over the stored values.
|
|
436
|
+
* @returns {AsyncGenerator<Value, void, void>} An async generator of values.
|
|
437
|
+
*/
|
|
438
|
+
values(): AsyncGenerator<Value, void, void>;
|
|
439
|
+
/**
|
|
440
|
+
* Iterates over the stored entries.
|
|
441
|
+
* @returns {AsyncGenerator<[Key, Value], void, void>} An async generator of entries.
|
|
442
|
+
*/
|
|
443
|
+
entries(): AsyncGenerator<[Key, Value], void, void>;
|
|
444
|
+
/**
|
|
445
|
+
* Iterates over the stored entries.
|
|
446
|
+
* @returns {AsyncGenerator<[Key, Value], void, void>} An async generator of entries.
|
|
447
|
+
*/
|
|
448
|
+
[Symbol.asyncIterator](): AsyncGenerator<[Key, Value], void, void>;
|
|
449
|
+
/**
|
|
450
|
+
* Runs a callback for every stored entry.
|
|
451
|
+
* @param {TinyMapDbForEachCallback<Key, Value>} callbackFn - Callback invoked per entry.
|
|
452
|
+
* @param {unknown} [thisArg] - Value used as `this` inside the callback.
|
|
453
|
+
* @returns {Promise<void>}
|
|
454
|
+
* @throws {TypeError} If `callbackFn` is not a function.
|
|
455
|
+
*/
|
|
456
|
+
forEach(callbackFn: TinyMapDbForEachCallback<Key, Value>, thisArg?: unknown): Promise<void>;
|
|
457
|
+
/**
|
|
458
|
+
* Populates the in-memory cache from the persisted records.
|
|
459
|
+
* @param {TinyMapDbRecord<Key, Value>[]} records - The persisted records.
|
|
460
|
+
* @returns {void}
|
|
461
|
+
*/
|
|
462
|
+
_load(records: TinyMapDbRecord<Key, Value>[]): void;
|
|
463
|
+
}
|
|
464
|
+
export type TinyDatabaseTableConfig = {
|
|
465
|
+
/**
|
|
466
|
+
* - Name of the object store.
|
|
467
|
+
*/
|
|
468
|
+
name: string;
|
|
469
|
+
/**
|
|
470
|
+
* - Kind of table.
|
|
471
|
+
*/
|
|
472
|
+
type: 'set' | 'map';
|
|
473
|
+
/**
|
|
474
|
+
* - Optional predicate, read from the latest migration that creates the table.
|
|
475
|
+
*/
|
|
476
|
+
validate?: ((...args: any[]) => boolean) | null;
|
|
477
|
+
};
|
|
478
|
+
export type TinyDatabaseTableDefinition = string | TinyDatabaseTableConfig;
|
|
479
|
+
export type TinyDatabaseMigration = {
|
|
480
|
+
/**
|
|
481
|
+
* - Tables created by this version.
|
|
482
|
+
*/
|
|
483
|
+
create?: TinyDatabaseTableDefinition[];
|
|
484
|
+
/**
|
|
485
|
+
* - Names of the tables dropped by this version.
|
|
486
|
+
*/
|
|
487
|
+
delete?: string[];
|
|
488
|
+
};
|
|
489
|
+
export type TinyDatabaseNormalizedMigration = {
|
|
490
|
+
/**
|
|
491
|
+
* - Tables created by this version.
|
|
492
|
+
*/
|
|
493
|
+
create: Required<TinyDatabaseTableConfig>[];
|
|
494
|
+
/**
|
|
495
|
+
* - Names of the tables dropped by this version.
|
|
496
|
+
*/
|
|
497
|
+
delete: string[];
|
|
498
|
+
};
|
|
499
|
+
/**
|
|
500
|
+
* A single table definition.
|
|
501
|
+
* @typedef {Object} TinyDatabaseTableConfig
|
|
502
|
+
* @property {string} name - Name of the object store.
|
|
503
|
+
* @property {'set'|'map'} type - Kind of table.
|
|
504
|
+
* @property {((...args: any[]) => boolean)|null} [validate] - Optional predicate, read from the latest migration that creates the table.
|
|
505
|
+
*/
|
|
506
|
+
/**
|
|
507
|
+
* A table can be declared by name or with a full configuration object.
|
|
508
|
+
* @typedef {string|TinyDatabaseTableConfig} TinyDatabaseTableDefinition
|
|
509
|
+
*/
|
|
510
|
+
/**
|
|
511
|
+
* A single schema migration.
|
|
512
|
+
*
|
|
513
|
+
* The version number of a migration is its 1-based position in the array, so
|
|
514
|
+
* the first entry is version 1, the second is version 2, and so on. Dropping a
|
|
515
|
+
* table and creating it again inside the same entry is the supported way of
|
|
516
|
+
* changing a key path.
|
|
517
|
+
*
|
|
518
|
+
* @typedef {Object} TinyDatabaseMigration
|
|
519
|
+
* @property {TinyDatabaseTableDefinition[]} [create] - Tables created by this version.
|
|
520
|
+
* @property {string[]} [delete] - Names of the tables dropped by this version.
|
|
521
|
+
*/
|
|
522
|
+
/**
|
|
523
|
+
* A migration whose table definitions were already normalized.
|
|
524
|
+
*
|
|
525
|
+
* Unlike {@link TinyDatabaseMigration}, every property is present and every
|
|
526
|
+
* table is a full configuration object, so the upgrade handler can read
|
|
527
|
+
* `name` and `type` without narrowing the union first.
|
|
528
|
+
*
|
|
529
|
+
* @typedef {Object} TinyDatabaseNormalizedMigration
|
|
530
|
+
* @property {Required<TinyDatabaseTableConfig>[]} create - Tables created by this version.
|
|
531
|
+
* @property {string[]} delete - Names of the tables dropped by this version.
|
|
532
|
+
*/
|
|
533
|
+
/**
|
|
534
|
+
* A single IndexedDB database that owns several {@link TinySetDb} and
|
|
535
|
+
* {@link TinyMapDb} tables.
|
|
536
|
+
*
|
|
537
|
+
* The migration array is the single source of truth: the schema is the result
|
|
538
|
+
* of replaying every entry, and the database version is the array length. Every
|
|
539
|
+
* table is an object store inside the same database, so a service worker only
|
|
540
|
+
* ever opens one connection.
|
|
541
|
+
*/
|
|
542
|
+
declare class TinySetMapDatabase {
|
|
543
|
+
#private;
|
|
544
|
+
/**
|
|
545
|
+
* @param {string} name - Name of the IndexedDB database.
|
|
546
|
+
* @param {TinyDatabaseMigration[]} migrations - Ordered schema history, one entry per version.
|
|
547
|
+
* @throws {TypeError} If `name` is not a non-empty string.
|
|
548
|
+
* @throws {TypeError} If `migrations` is not a non-empty array.
|
|
549
|
+
* @throws {TypeError} If a migration is invalid.
|
|
550
|
+
* @throws {Error} If a table is created twice without being dropped in between.
|
|
551
|
+
*/
|
|
552
|
+
constructor(name: string, migrations: TinyDatabaseMigration[]);
|
|
553
|
+
/**
|
|
554
|
+
* Name of the IndexedDB database in use.
|
|
555
|
+
* @returns {string}
|
|
556
|
+
*/
|
|
557
|
+
get name(): string;
|
|
558
|
+
/**
|
|
559
|
+
* Schema version of the IndexedDB database in use.
|
|
560
|
+
* @returns {number}
|
|
561
|
+
*/
|
|
562
|
+
get version(): number;
|
|
563
|
+
/**
|
|
564
|
+
* Names of every table exposed by this database.
|
|
565
|
+
* @returns {string[]}
|
|
566
|
+
*/
|
|
567
|
+
get tableNames(): string[];
|
|
568
|
+
/**
|
|
569
|
+
* Resolves once the connection is open and every table is hydrated.
|
|
570
|
+
* @returns {Promise<void>}
|
|
571
|
+
*/
|
|
572
|
+
get ready(): Promise<void>;
|
|
573
|
+
/**
|
|
574
|
+
* Returns a Set instance of table by name.
|
|
575
|
+
* @param {string} tableName - Name of the table.
|
|
576
|
+
* @returns {TinySetDb<any>} The requested table.
|
|
577
|
+
* @throws {TypeError} If `tableName` is not a non-empty string.
|
|
578
|
+
* @throws {RangeError} If the table was not declared in the constructor.
|
|
579
|
+
*/
|
|
580
|
+
tableSet(tableName: string): TinySetDb<any>;
|
|
581
|
+
/**
|
|
582
|
+
* Returns a Map instance of table by name.
|
|
583
|
+
* @param {string} tableName - Name of the table.
|
|
584
|
+
* @returns {TinyMapDb<any, any>} The requested table.
|
|
585
|
+
* @throws {TypeError} If `tableName` is not a non-empty string.
|
|
586
|
+
* @throws {RangeError} If the table was not declared in the constructor.
|
|
587
|
+
*/
|
|
588
|
+
tableMap(tableName: string): TinyMapDb<any, any>;
|
|
589
|
+
/**
|
|
590
|
+
* Checks whether a table was declared in the constructor.
|
|
591
|
+
* @param {string} tableName - Name of the table.
|
|
592
|
+
* @returns {boolean} `true` when the table exists.
|
|
593
|
+
* @throws {TypeError} If `tableName` is not a non-empty string.
|
|
594
|
+
*/
|
|
595
|
+
has(tableName: string): boolean;
|
|
596
|
+
/**
|
|
597
|
+
* Closes the underlying connection.
|
|
598
|
+
* @returns {Promise<void>}
|
|
599
|
+
*/
|
|
600
|
+
close(): Promise<void>;
|
|
601
|
+
}
|
|
602
|
+
export { TinySetMapDatabase, TinySetDb, TinyMapDb, TinyTableDb };
|
|
603
|
+
//# sourceMappingURL=TinySetMapDatabase.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TinySetMapDatabase.d.mts","sourceRoot":"","sources":["../../../../src/v1/libs/storage/TinySetMapDatabase.mjs"],"names":[],"mappings":"AAIG,YAAqC,UAAU,GAArC,WAAW,GAAG,WAAW,CAAY;AAoB/C,YAAkB,iBAAiB,CAFZ,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,IAEnB;;;;IAAgB,GAAG,EAAR,GAAG,CACd;;;;IAAkB,KAAK,EAAZ,KAAK,CAChB;;;;IAAmB,SAAS,EAAjB,MAAM,CACnB;CAAA,CAAA;AARD;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,cAAM,WAAW;;IAmBf;;;;OAIG;IACH,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,EAJ5B;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;KAIjC,EAOtC;IAED;;;OAGG;IACH,IAAI,SAAS,IAFA,MAAM,CAIlB;IAED;;;OAGG;IACH,IAAI,OAAO,IAFE,OAAO,CAInB;IAED;;;OAGG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAFX,MAAM,CAIlB;IAED;;;;OAIG;IACH,OAAO,IAFM,OAAO,CAAC,IAAI,CAAC,CAKzB;IAED;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAHN,MAAM,OAAO,CAAC,IAAI,CAGZ,GAFJ,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAHL,MAAM,OAAO,CAAC,IAAI,CAGb,GAFH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAHV,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,GAAC,eAAe,CAAC,UAAU,CAGvD,GAFR,OAAO,CAAC,IAAI,CAAC,CAUzB;IAED;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAHN,UAGM,GAFJ,OAAO,CAAC,IAAI,CAAC,CAUzB;IAED;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,IAAI,CAAC,CAUzB;IAaD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAHF,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,GAAC,eAAe,CAAC,UAAU,CAAC,CAAC,EAGlE,GAFA,IAAI,CAIhB;CAgBF;AAKE,YAAkB,eAAe,CADV,KAAK,SAAjB,UAAiB,IAE5B;;;;IAAkB,KAAK,EAAZ,KAAK,CAChB;;;;IAAmB,SAAS,EAAjB,MAAM,CACnB;CAAA,CAAA;AAKE,YAAU,kBAAkB,CADL,KAAK,SAAjB,UAAiB,IAE5B,CAAe,KAAK,EAAZ,KACR,KAAU,OACZ,CAAA;AAIE,YAAkB,gBAAgB,CADX,KAAK,SAAjB,UAAiB,IAE5B;;;;IAAmB,SAAS,EAAjB,MAAM,CACjB;;;;IAAuC,YAAY,EAAxC,MAAM,OAAO,CAAC,WAAW,CAAC,CACrC;;;;IAA4C,QAAQ,AAApD,CACF,EADa,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAC3C;CAAA,CAAA;AAKE,YAA+C,eAAe,CADvC,KAAK,SAAjB,UAAiB,IAClB,SAAS,CAAC,KAAK,CAAC,GAAC,GAAG,CAAC,KAAK,CAAC,GAAC,KAAK,EAAE,CAAiB;AAM9D,YAAU,wBAAwB,CADX,KAAK,SAAjB,UAAiB,IAE5B,CAAe,KAAK,EAAZ,KACR,EAAe,SAAS,EAAhB,KACR,EAA0B,GAAG,EAArB,SAAS,CAAC,KAAK,CACvB,KAAU,IACZ,CAAA;AAtCD;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,cAAM,SAAS,CAJW,KAAK,SAAjB,UAAiB,CAIf,SAAQ,WAAW;;IAOjC;;;OAGG;IACH,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAe,EAAE,EAH7C,gBAAgB,CAAC,KAAK,CAGuB,EAMvD;IAED;;;OAGG;IACH,IAAI,IAAI,IAFK,MAAM,CAIlB;IAED;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EALJ,KAKI,GAJF,OAAO,CAAC,OAAO,CAAC,CAa5B;IAED;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EALJ,KAKI,GAJF,OAAO,CAAC,OAAO,CAAC,CAgB5B;IAED;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EALP,KAKO,GAJL,OAAO,CAAC,OAAO,CAAC,CAgB5B;IAED;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAQzB;IAED;;;OAGG;IACG,OAAO,IAFA,OAAO,CAAC,KAAK,EAAE,CAAC,CAK5B;IAED;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,KAAK,EAAE,CAAC,CAI5B;IAED;;;OAGG;IACI,MAAM,IAFA,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAO7C;IAED;;;OAGG;IACH,IAAI,IAFS,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAI7C;IAED;;;OAGG;IACI,OAAO,IAFD,cAAc,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAMtD;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAFT,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAI7C;IAED;;;;;;OAMG;IACG,OAAO,CAAC,UAAU,EALb,wBAAwB,CAAC,KAAK,CAKjB,EAAE,OAAO,AAJ9B,CACA,EADQ,OAIsB,GAHpB,OAAO,CAAC,IAAI,CAAC,CAWzB;IAED;;;;OAIG;IACG,KAAK,CAAC,GAAG,OAAO,EAHR,eAAe,CAAC,KAAK,CAAC,EAGd,GAFT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAU/B;IAED;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAHb,eAAe,CAAC,KAAK,CAGR,GAFX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAU/B;IAED;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAHX,eAAe,CAAC,KAAK,CAGV,GAFT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAU/B;IAED;;;;OAIG;IACG,mBAAmB,CAAC,KAAK,EAHpB,eAAe,CAAC,KAAK,CAGD,GAFlB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAa/B;IAED;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAHX,eAAe,CAAC,KAAK,CAGV,GAFT,OAAO,CAAC,OAAO,CAAC,CAS5B;IAED;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAHb,eAAe,CAAC,KAAK,CAGR,GAFX,OAAO,CAAC,OAAO,CAAC,CAS5B;IAED;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAHf,eAAe,CAAC,KAAK,CAGN,GAFb,OAAO,CAAC,OAAO,CAAC,CAS5B;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAHF,eAAe,CAAC,KAAK,CAAC,EAGpB,GAFA,IAAI,CAMhB;CAkCF;AAME,YAAkB,eAAe,CAFV,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,IAEnB;;;;IAAgB,GAAG,EAAR,GAAG,CACd;;;;IAAkB,KAAK,EAAZ,KAAK,CAChB;;;;IAAmB,SAAS,EAAjB,MAAM,CACnB;CAAA,CAAA;AAME,YAAU,kBAAkB,CAFL,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,IAEnB,CAAa,GAAG,EAAR,GACR,EAAe,KAAK,EAAZ,KACR,KAAU,OACZ,CAAA;AAKE,YAAkB,gBAAgB,CAFX,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,IAEnB;;;;IAAmB,SAAS,EAAjB,MAAM,CACjB;;;;IAAuC,YAAY,EAAxC,MAAM,OAAO,CAAC,WAAW,CAAC,CACrC;;;;IAAiD,QAAQ,AAAzD,CACF,EADa,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAC,IAAI,CAChD;CAAA,CAAA;AAME,YAAU,wBAAwB,CAFX,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,IAEnB,CAAe,KAAK,EAAZ,KACR,EAAa,GAAG,EAAR,GACR,EAA+B,GAAG,EAA1B,SAAS,CAAC,GAAG,EAAE,KAAK,CAC5B,KAAU,IACZ,CAAA;AAtCD;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AACH,cAAM,SAAS,CATW,GAAG,SAAf,UAAe,EACZ,KAAK,YAAA,CAQN,SAAQ,WAAW;;IAOjC;;;OAGG;IACH,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAe,EAAE,EAH7C,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAGkB,EAMvD;IAED;;;OAGG;IACH,IAAI,IAAI,IAFK,MAAM,CAIlB;IAED;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAJF,GAIE,GAHA,OAAO,CAAC,OAAO,CAAC,CAW5B;IAED;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAJF,GAIE,GAHA,OAAO,CAAC,KAAK,GAAC,SAAS,CAAC,CAWpC;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,GAAG,EANF,GAME,EAAE,KAAK,EALT,KAKS,GAJP,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAJL,GAIK,GAHH,OAAO,CAAC,OAAO,CAAC,CAc5B;IAED;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAQzB;IAED;;;OAGG;IACG,OAAO,IAFA,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAKxC;IAED;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAIxC;IAED;;;OAGG;IACI,IAAI,IAFE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAO3C;IAED;;;OAGG;IACI,MAAM,IAFA,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAO7C;IAED;;;OAGG;IACI,OAAO,IAFD,cAAc,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAOpD;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAFT,cAAc,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAIpD;IAED;;;;;;OAMG;IACG,OAAO,CAAC,UAAU,EALb,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAKtB,EAAE,OAAO,AAJ9B,CACA,EADQ,OAIsB,GAHpB,OAAO,CAAC,IAAI,CAAC,CAWzB;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAHF,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,EAGzB,GAFA,IAAI,CAMhB;CAeF;AAIE,YAAkB,uBAAuB,GACzC;;;;IAAmB,IAAI,EAAZ,MAAM,CACjB;;;;IAAwB,IAAI,EAAjB,KAAK,GAAC,KAAK,CACtB;;;;IAAgD,QAAQ,AAAxD,CACF,EADa,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAC,IAAI,CAC/C;CAAA,CAAA;AAIE,YAA0C,2BAA2B,GAA3D,MAAM,GAAC,uBAAuB,CAA6B;AAWrE,YAAkB,qBAAqB,GACvC;;;;IAA2C,MAAM,AAAjD,CACA,EADW,2BAA2B,EAAE,CACxC;;;;IAAsB,MAAM,AAA5B,CACF,EADa,MAAM,EAAE,CACrB;CAAA,CAAA;AASE,YAAkB,+BAA+B,GACjD;;;;IAAgD,MAAM,EAA3C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAC9C;;;;IAAqB,MAAM,EAAhB,MAAM,EAAE,CACrB;CAAA,CAAA;AApCD;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AACH,cAAM,kBAAkB;;IAgBtB;;;;;;;OAOG;IACH,YAAY,IAAI,EAPL,MAOK,EAAE,UAAU,EANjB,qBAAqB,EAMJ,EAkC3B;IAED;;;OAGG;IACH,IAAI,IAAI,IAFK,MAAM,CAIlB;IAED;;;OAGG;IACH,IAAI,OAAO,IAFE,MAAM,CAIlB;IAED;;;OAGG;IACH,IAAI,UAAU,IAFD,MAAM,EAAE,CAIpB;IAED;;;OAGG;IACH,IAAI,KAAK,IAFI,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EALP,MAKO,GAJL,SAAS,CAAC,GAAG,CAAC,CAa1B;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EALP,MAKO,GAJL,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAa/B;IAED;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAJF,MAIE,GAHA,OAAO,CAMnB;IAED;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAKzB;CA0IF;AAED,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC"}
|