@zappzarapp/browser-utils 1.0.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/LICENSE +21 -0
- package/README.md +220 -0
- package/dist/a11y/AriaUtils.d.ts +11 -0
- package/dist/a11y/AriaUtils.d.ts.map +1 -0
- package/dist/a11y/AriaUtils.js +179 -0
- package/dist/a11y/AriaUtils.js.map +1 -0
- package/dist/a11y/LiveAnnouncer.d.ts +10 -0
- package/dist/a11y/LiveAnnouncer.d.ts.map +1 -0
- package/dist/a11y/LiveAnnouncer.js +54 -0
- package/dist/a11y/LiveAnnouncer.js.map +1 -0
- package/dist/a11y/ReducedMotion.d.ts +6 -0
- package/dist/a11y/ReducedMotion.d.ts.map +1 -0
- package/dist/a11y/ReducedMotion.js +23 -0
- package/dist/a11y/ReducedMotion.js.map +1 -0
- package/dist/a11y/SkipLink.d.ts +10 -0
- package/dist/a11y/SkipLink.d.ts.map +1 -0
- package/dist/a11y/SkipLink.js +73 -0
- package/dist/a11y/SkipLink.js.map +1 -0
- package/dist/a11y/index.d.ts +7 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +5 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/battery/BatteryManager.d.ts +15 -0
- package/dist/battery/BatteryManager.d.ts.map +1 -0
- package/dist/battery/BatteryManager.js +82 -0
- package/dist/battery/BatteryManager.js.map +1 -0
- package/dist/battery/index.d.ts +3 -0
- package/dist/battery/index.d.ts.map +1 -0
- package/dist/battery/index.js +2 -0
- package/dist/battery/index.js.map +1 -0
- package/dist/broadcast/BroadcastManager.d.ts +22 -0
- package/dist/broadcast/BroadcastManager.d.ts.map +1 -0
- package/dist/broadcast/BroadcastManager.js +102 -0
- package/dist/broadcast/BroadcastManager.js.map +1 -0
- package/dist/broadcast/index.d.ts +2 -0
- package/dist/broadcast/index.d.ts.map +1 -0
- package/dist/broadcast/index.js +2 -0
- package/dist/broadcast/index.js.map +1 -0
- package/dist/cache/CacheManager.d.ts +72 -0
- package/dist/cache/CacheManager.d.ts.map +1 -0
- package/dist/cache/CacheManager.js +429 -0
- package/dist/cache/CacheManager.js.map +1 -0
- package/dist/cache/index.d.ts +3 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/clipboard/ClipboardManager.d.ts +14 -0
- package/dist/clipboard/ClipboardManager.d.ts.map +1 -0
- package/dist/clipboard/ClipboardManager.js +136 -0
- package/dist/clipboard/ClipboardManager.js.map +1 -0
- package/dist/clipboard/index.d.ts +2 -0
- package/dist/clipboard/index.d.ts.map +1 -0
- package/dist/clipboard/index.js +2 -0
- package/dist/clipboard/index.js.map +1 -0
- package/dist/cookie/CookieManager.d.ts +16 -0
- package/dist/cookie/CookieManager.d.ts.map +1 -0
- package/dist/cookie/CookieManager.js +119 -0
- package/dist/cookie/CookieManager.js.map +1 -0
- package/dist/cookie/CookieOptions.d.ts +31 -0
- package/dist/cookie/CookieOptions.d.ts.map +1 -0
- package/dist/cookie/CookieOptions.js +94 -0
- package/dist/cookie/CookieOptions.js.map +1 -0
- package/dist/cookie/index.d.ts +4 -0
- package/dist/cookie/index.d.ts.map +1 -0
- package/dist/cookie/index.js +3 -0
- package/dist/cookie/index.js.map +1 -0
- package/dist/core/Debounce.d.ts +13 -0
- package/dist/core/Debounce.d.ts.map +1 -0
- package/dist/core/Debounce.js +121 -0
- package/dist/core/Debounce.js.map +1 -0
- package/dist/core/Throttle.d.ts +12 -0
- package/dist/core/Throttle.d.ts.map +1 -0
- package/dist/core/Throttle.js +81 -0
- package/dist/core/Throttle.js.map +1 -0
- package/dist/core/crypto.d.ts +9 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +32 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/core/errors/BroadcastError.d.ts +11 -0
- package/dist/core/errors/BroadcastError.d.ts.map +1 -0
- package/dist/core/errors/BroadcastError.js +21 -0
- package/dist/core/errors/BroadcastError.js.map +1 -0
- package/dist/core/errors/BrowserUtilsError.d.ts +7 -0
- package/dist/core/errors/BrowserUtilsError.d.ts.map +1 -0
- package/dist/core/errors/BrowserUtilsError.js +13 -0
- package/dist/core/errors/BrowserUtilsError.js.map +1 -0
- package/dist/core/errors/ClipboardError.d.ts +12 -0
- package/dist/core/errors/ClipboardError.d.ts.map +1 -0
- package/dist/core/errors/ClipboardError.js +24 -0
- package/dist/core/errors/ClipboardError.js.map +1 -0
- package/dist/core/errors/CookieError.d.ts +12 -0
- package/dist/core/errors/CookieError.d.ts.map +1 -0
- package/dist/core/errors/CookieError.js +23 -0
- package/dist/core/errors/CookieError.js.map +1 -0
- package/dist/core/errors/CspError.d.ts +8 -0
- package/dist/core/errors/CspError.d.ts.map +1 -0
- package/dist/core/errors/CspError.js +12 -0
- package/dist/core/errors/CspError.js.map +1 -0
- package/dist/core/errors/EncryptionError.d.ts +16 -0
- package/dist/core/errors/EncryptionError.d.ts.map +1 -0
- package/dist/core/errors/EncryptionError.js +38 -0
- package/dist/core/errors/EncryptionError.js.map +1 -0
- package/dist/core/errors/FullscreenError.d.ts +12 -0
- package/dist/core/errors/FullscreenError.d.ts.map +1 -0
- package/dist/core/errors/FullscreenError.js +24 -0
- package/dist/core/errors/FullscreenError.js.map +1 -0
- package/dist/core/errors/GeolocationError.d.ts +12 -0
- package/dist/core/errors/GeolocationError.d.ts.map +1 -0
- package/dist/core/errors/GeolocationError.js +33 -0
- package/dist/core/errors/GeolocationError.js.map +1 -0
- package/dist/core/errors/IndexedDBError.d.ts +14 -0
- package/dist/core/errors/IndexedDBError.d.ts.map +1 -0
- package/dist/core/errors/IndexedDBError.js +30 -0
- package/dist/core/errors/IndexedDBError.js.map +1 -0
- package/dist/core/errors/NetworkError.d.ts +13 -0
- package/dist/core/errors/NetworkError.d.ts.map +1 -0
- package/dist/core/errors/NetworkError.js +26 -0
- package/dist/core/errors/NetworkError.js.map +1 -0
- package/dist/core/errors/NotificationError.d.ts +11 -0
- package/dist/core/errors/NotificationError.d.ts.map +1 -0
- package/dist/core/errors/NotificationError.js +21 -0
- package/dist/core/errors/NotificationError.js.map +1 -0
- package/dist/core/errors/StorageError.d.ts +14 -0
- package/dist/core/errors/StorageError.d.ts.map +1 -0
- package/dist/core/errors/StorageError.js +32 -0
- package/dist/core/errors/StorageError.js.map +1 -0
- package/dist/core/errors/UrlError.d.ts +12 -0
- package/dist/core/errors/UrlError.d.ts.map +1 -0
- package/dist/core/errors/UrlError.js +23 -0
- package/dist/core/errors/UrlError.js.map +1 -0
- package/dist/core/errors/ValidationError.d.ts +17 -0
- package/dist/core/errors/ValidationError.d.ts.map +1 -0
- package/dist/core/errors/ValidationError.js +49 -0
- package/dist/core/errors/ValidationError.js.map +1 -0
- package/dist/core/errors/WebSocketError.d.ts +12 -0
- package/dist/core/errors/WebSocketError.d.ts.map +1 -0
- package/dist/core/errors/WebSocketError.js +24 -0
- package/dist/core/errors/WebSocketError.js.map +1 -0
- package/dist/core/errors/index.d.ts +29 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +16 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +8 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +7 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/result/Result.d.ts +31 -0
- package/dist/core/result/Result.d.ts.map +1 -0
- package/dist/core/result/Result.js +98 -0
- package/dist/core/result/Result.js.map +1 -0
- package/dist/core/result/index.d.ts +3 -0
- package/dist/core/result/index.d.ts.map +1 -0
- package/dist/core/result/index.js +2 -0
- package/dist/core/result/index.js.map +1 -0
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/validation/CacheValidator.d.ts +6 -0
- package/dist/core/validation/CacheValidator.d.ts.map +1 -0
- package/dist/core/validation/CacheValidator.js +24 -0
- package/dist/core/validation/CacheValidator.js.map +1 -0
- package/dist/core/validation/CommonValidator.d.ts +11 -0
- package/dist/core/validation/CommonValidator.d.ts.map +1 -0
- package/dist/core/validation/CommonValidator.js +47 -0
- package/dist/core/validation/CommonValidator.js.map +1 -0
- package/dist/core/validation/CookieValidator.d.ts +8 -0
- package/dist/core/validation/CookieValidator.d.ts.map +1 -0
- package/dist/core/validation/CookieValidator.js +43 -0
- package/dist/core/validation/CookieValidator.js.map +1 -0
- package/dist/core/validation/FilenameValidator.d.ts +9 -0
- package/dist/core/validation/FilenameValidator.d.ts.map +1 -0
- package/dist/core/validation/FilenameValidator.js +84 -0
- package/dist/core/validation/FilenameValidator.js.map +1 -0
- package/dist/core/validation/StorageValidator.d.ts +8 -0
- package/dist/core/validation/StorageValidator.d.ts.map +1 -0
- package/dist/core/validation/StorageValidator.js +48 -0
- package/dist/core/validation/StorageValidator.js.map +1 -0
- package/dist/core/validation/UrlValidator.d.ts +10 -0
- package/dist/core/validation/UrlValidator.d.ts.map +1 -0
- package/dist/core/validation/UrlValidator.js +52 -0
- package/dist/core/validation/UrlValidator.js.map +1 -0
- package/dist/core/validation/Validator.d.ts +33 -0
- package/dist/core/validation/Validator.d.ts.map +1 -0
- package/dist/core/validation/Validator.js +39 -0
- package/dist/core/validation/Validator.js.map +1 -0
- package/dist/core/validation/index.d.ts +8 -0
- package/dist/core/validation/index.d.ts.map +1 -0
- package/dist/core/validation/index.js +8 -0
- package/dist/core/validation/index.js.map +1 -0
- package/dist/csp/CspUtils.d.ts +24 -0
- package/dist/csp/CspUtils.d.ts.map +1 -0
- package/dist/csp/CspUtils.js +181 -0
- package/dist/csp/CspUtils.js.map +1 -0
- package/dist/csp/NonceManager.d.ts +21 -0
- package/dist/csp/NonceManager.d.ts.map +1 -0
- package/dist/csp/NonceManager.js +96 -0
- package/dist/csp/NonceManager.js.map +1 -0
- package/dist/csp/index.d.ts +4 -0
- package/dist/csp/index.d.ts.map +1 -0
- package/dist/csp/index.js +4 -0
- package/dist/csp/index.js.map +1 -0
- package/dist/device/DeviceInfo.d.ts +37 -0
- package/dist/device/DeviceInfo.d.ts.map +1 -0
- package/dist/device/DeviceInfo.js +224 -0
- package/dist/device/DeviceInfo.js.map +1 -0
- package/dist/device/index.d.ts +3 -0
- package/dist/device/index.d.ts.map +1 -0
- package/dist/device/index.js +2 -0
- package/dist/device/index.js.map +1 -0
- package/dist/download/DownloadOptions.d.ts +19 -0
- package/dist/download/DownloadOptions.d.ts.map +1 -0
- package/dist/download/DownloadOptions.js +75 -0
- package/dist/download/DownloadOptions.js.map +1 -0
- package/dist/download/Downloader.d.ts +12 -0
- package/dist/download/Downloader.d.ts.map +1 -0
- package/dist/download/Downloader.js +54 -0
- package/dist/download/Downloader.js.map +1 -0
- package/dist/download/index.d.ts +4 -0
- package/dist/download/index.d.ts.map +1 -0
- package/dist/download/index.js +3 -0
- package/dist/download/index.js.map +1 -0
- package/dist/encryption/EncryptedStorage.d.ts +56 -0
- package/dist/encryption/EncryptedStorage.d.ts.map +1 -0
- package/dist/encryption/EncryptedStorage.js +287 -0
- package/dist/encryption/EncryptedStorage.js.map +1 -0
- package/dist/encryption/index.d.ts +3 -0
- package/dist/encryption/index.d.ts.map +1 -0
- package/dist/encryption/index.js +2 -0
- package/dist/encryption/index.js.map +1 -0
- package/dist/events/Debounce.d.ts +13 -0
- package/dist/events/Debounce.d.ts.map +1 -0
- package/dist/events/Debounce.js +121 -0
- package/dist/events/Debounce.js.map +1 -0
- package/dist/events/EventUtils.d.ts +19 -0
- package/dist/events/EventUtils.d.ts.map +1 -0
- package/dist/events/EventUtils.js +95 -0
- package/dist/events/EventUtils.js.map +1 -0
- package/dist/events/Throttle.d.ts +12 -0
- package/dist/events/Throttle.d.ts.map +1 -0
- package/dist/events/Throttle.js +81 -0
- package/dist/events/Throttle.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -0
- package/dist/events/index.js.map +1 -0
- package/dist/features/FeatureDetect.d.ts +46 -0
- package/dist/features/FeatureDetect.d.ts.map +1 -0
- package/dist/features/FeatureDetect.js +145 -0
- package/dist/features/FeatureDetect.js.map +1 -0
- package/dist/features/index.d.ts +3 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +2 -0
- package/dist/features/index.js.map +1 -0
- package/dist/focus/FocusTrap.d.ts +19 -0
- package/dist/focus/FocusTrap.d.ts.map +1 -0
- package/dist/focus/FocusTrap.js +130 -0
- package/dist/focus/FocusTrap.js.map +1 -0
- package/dist/focus/FocusUtils.d.ts +14 -0
- package/dist/focus/FocusUtils.d.ts.map +1 -0
- package/dist/focus/FocusUtils.js +109 -0
- package/dist/focus/FocusUtils.js.map +1 -0
- package/dist/focus/index.d.ts +4 -0
- package/dist/focus/index.d.ts.map +1 -0
- package/dist/focus/index.js +3 -0
- package/dist/focus/index.js.map +1 -0
- package/dist/form/FormSerializer.d.ts +22 -0
- package/dist/form/FormSerializer.d.ts.map +1 -0
- package/dist/form/FormSerializer.js +216 -0
- package/dist/form/FormSerializer.js.map +1 -0
- package/dist/form/FormUtils.d.ts +14 -0
- package/dist/form/FormUtils.d.ts.map +1 -0
- package/dist/form/FormUtils.js +226 -0
- package/dist/form/FormUtils.js.map +1 -0
- package/dist/form/FormValidator.d.ts +56 -0
- package/dist/form/FormValidator.d.ts.map +1 -0
- package/dist/form/FormValidator.js +428 -0
- package/dist/form/FormValidator.js.map +1 -0
- package/dist/form/index.d.ts +6 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +4 -0
- package/dist/form/index.js.map +1 -0
- package/dist/fullscreen/Fullscreen.d.ts +13 -0
- package/dist/fullscreen/Fullscreen.d.ts.map +1 -0
- package/dist/fullscreen/Fullscreen.js +119 -0
- package/dist/fullscreen/Fullscreen.js.map +1 -0
- package/dist/fullscreen/index.d.ts +2 -0
- package/dist/fullscreen/index.d.ts.map +1 -0
- package/dist/fullscreen/index.js +2 -0
- package/dist/fullscreen/index.js.map +1 -0
- package/dist/geolocation/GeolocationManager.d.ts +14 -0
- package/dist/geolocation/GeolocationManager.d.ts.map +1 -0
- package/dist/geolocation/GeolocationManager.js +47 -0
- package/dist/geolocation/GeolocationManager.js.map +1 -0
- package/dist/geolocation/index.d.ts +3 -0
- package/dist/geolocation/index.d.ts.map +1 -0
- package/dist/geolocation/index.js +2 -0
- package/dist/geolocation/index.js.map +1 -0
- package/dist/html/DomHelper.d.ts +20 -0
- package/dist/html/DomHelper.d.ts.map +1 -0
- package/dist/html/DomHelper.js +88 -0
- package/dist/html/DomHelper.js.map +1 -0
- package/dist/html/HtmlEscaper.d.ts +9 -0
- package/dist/html/HtmlEscaper.d.ts.map +1 -0
- package/dist/html/HtmlEscaper.js +129 -0
- package/dist/html/HtmlEscaper.js.map +1 -0
- package/dist/html/index.d.ts +3 -0
- package/dist/html/index.d.ts.map +1 -0
- package/dist/html/index.js +3 -0
- package/dist/html/index.js.map +1 -0
- package/dist/idle/IdleCallback.d.ts +26 -0
- package/dist/idle/IdleCallback.d.ts.map +1 -0
- package/dist/idle/IdleCallback.js +138 -0
- package/dist/idle/IdleCallback.js.map +1 -0
- package/dist/idle/index.d.ts +2 -0
- package/dist/idle/index.d.ts.map +1 -0
- package/dist/idle/index.js +2 -0
- package/dist/idle/index.js.map +1 -0
- package/dist/index.d.ts +68 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/indexeddb/IndexedDBManager.d.ts +47 -0
- package/dist/indexeddb/IndexedDBManager.d.ts.map +1 -0
- package/dist/indexeddb/IndexedDBManager.js +183 -0
- package/dist/indexeddb/IndexedDBManager.js.map +1 -0
- package/dist/indexeddb/index.d.ts +2 -0
- package/dist/indexeddb/index.d.ts.map +1 -0
- package/dist/indexeddb/index.js +2 -0
- package/dist/indexeddb/index.js.map +1 -0
- package/dist/keyboard/KeyboardShortcut.d.ts +27 -0
- package/dist/keyboard/KeyboardShortcut.d.ts.map +1 -0
- package/dist/keyboard/KeyboardShortcut.js +89 -0
- package/dist/keyboard/KeyboardShortcut.js.map +1 -0
- package/dist/keyboard/ShortcutManager.d.ts +23 -0
- package/dist/keyboard/ShortcutManager.d.ts.map +1 -0
- package/dist/keyboard/ShortcutManager.js +66 -0
- package/dist/keyboard/ShortcutManager.js.map +1 -0
- package/dist/keyboard/index.d.ts +5 -0
- package/dist/keyboard/index.d.ts.map +1 -0
- package/dist/keyboard/index.js +3 -0
- package/dist/keyboard/index.js.map +1 -0
- package/dist/logging/LogLevel.d.ts +10 -0
- package/dist/logging/LogLevel.d.ts.map +1 -0
- package/dist/logging/LogLevel.js +22 -0
- package/dist/logging/LogLevel.js.map +1 -0
- package/dist/logging/Logger.d.ts +32 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +97 -0
- package/dist/logging/Logger.js.map +1 -0
- package/dist/logging/LoggerConfig.d.ts +28 -0
- package/dist/logging/LoggerConfig.d.ts.map +1 -0
- package/dist/logging/LoggerConfig.js +73 -0
- package/dist/logging/LoggerConfig.js.map +1 -0
- package/dist/logging/index.d.ts +6 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +4 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/media/MediaQuery.d.ts +27 -0
- package/dist/media/MediaQuery.d.ts.map +1 -0
- package/dist/media/MediaQuery.js +125 -0
- package/dist/media/MediaQuery.js.map +1 -0
- package/dist/media/index.d.ts +3 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +2 -0
- package/dist/media/index.js.map +1 -0
- package/dist/network/NetworkStatus.d.ts +37 -0
- package/dist/network/NetworkStatus.d.ts.map +1 -0
- package/dist/network/NetworkStatus.js +103 -0
- package/dist/network/NetworkStatus.js.map +1 -0
- package/dist/network/RetryQueue.d.ts +54 -0
- package/dist/network/RetryQueue.d.ts.map +1 -0
- package/dist/network/RetryQueue.js +222 -0
- package/dist/network/RetryQueue.js.map +1 -0
- package/dist/network/index.d.ts +5 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +3 -0
- package/dist/network/index.js.map +1 -0
- package/dist/notification/BrowserNotification.d.ts +20 -0
- package/dist/notification/BrowserNotification.d.ts.map +1 -0
- package/dist/notification/BrowserNotification.js +120 -0
- package/dist/notification/BrowserNotification.js.map +1 -0
- package/dist/notification/index.d.ts +2 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +2 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/observe/IntersectionObserverWrapper.d.ts +21 -0
- package/dist/observe/IntersectionObserverWrapper.d.ts.map +1 -0
- package/dist/observe/IntersectionObserverWrapper.js +134 -0
- package/dist/observe/IntersectionObserverWrapper.js.map +1 -0
- package/dist/observe/MutationObserverWrapper.d.ts +26 -0
- package/dist/observe/MutationObserverWrapper.d.ts.map +1 -0
- package/dist/observe/MutationObserverWrapper.js +122 -0
- package/dist/observe/MutationObserverWrapper.js.map +1 -0
- package/dist/observe/ResizeObserverWrapper.d.ts +23 -0
- package/dist/observe/ResizeObserverWrapper.d.ts.map +1 -0
- package/dist/observe/ResizeObserverWrapper.js +136 -0
- package/dist/observe/ResizeObserverWrapper.js.map +1 -0
- package/dist/observe/index.d.ts +4 -0
- package/dist/observe/index.d.ts.map +1 -0
- package/dist/observe/index.js +4 -0
- package/dist/observe/index.js.map +1 -0
- package/dist/offline/OfflineQueue.d.ts +66 -0
- package/dist/offline/OfflineQueue.d.ts.map +1 -0
- package/dist/offline/OfflineQueue.js +339 -0
- package/dist/offline/OfflineQueue.js.map +1 -0
- package/dist/offline/index.d.ts +2 -0
- package/dist/offline/index.d.ts.map +1 -0
- package/dist/offline/index.js +2 -0
- package/dist/offline/index.js.map +1 -0
- package/dist/performance/PerformanceMonitor.d.ts +29 -0
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -0
- package/dist/performance/PerformanceMonitor.js +259 -0
- package/dist/performance/PerformanceMonitor.js.map +1 -0
- package/dist/performance/index.d.ts +3 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +2 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/request/RequestAuth.d.ts +8 -0
- package/dist/request/RequestAuth.d.ts.map +1 -0
- package/dist/request/RequestAuth.js +53 -0
- package/dist/request/RequestAuth.js.map +1 -0
- package/dist/request/RequestInterceptor.d.ts +103 -0
- package/dist/request/RequestInterceptor.d.ts.map +1 -0
- package/dist/request/RequestInterceptor.js +286 -0
- package/dist/request/RequestInterceptor.js.map +1 -0
- package/dist/request/RequestMiddleware.d.ts +7 -0
- package/dist/request/RequestMiddleware.d.ts.map +1 -0
- package/dist/request/RequestMiddleware.js +50 -0
- package/dist/request/RequestMiddleware.js.map +1 -0
- package/dist/request/RequestValidation.d.ts +4 -0
- package/dist/request/RequestValidation.d.ts.map +1 -0
- package/dist/request/RequestValidation.js +120 -0
- package/dist/request/RequestValidation.js.map +1 -0
- package/dist/request/index.d.ts +3 -0
- package/dist/request/index.d.ts.map +1 -0
- package/dist/request/index.js +2 -0
- package/dist/request/index.js.map +1 -0
- package/dist/sanitize/HtmlSanitizer.d.ts +44 -0
- package/dist/sanitize/HtmlSanitizer.d.ts.map +1 -0
- package/dist/sanitize/HtmlSanitizer.js +146 -0
- package/dist/sanitize/HtmlSanitizer.js.map +1 -0
- package/dist/sanitize/index.d.ts +2 -0
- package/dist/sanitize/index.d.ts.map +1 -0
- package/dist/sanitize/index.js +2 -0
- package/dist/sanitize/index.js.map +1 -0
- package/dist/scroll/ScrollUtils.d.ts +48 -0
- package/dist/scroll/ScrollUtils.d.ts.map +1 -0
- package/dist/scroll/ScrollUtils.js +199 -0
- package/dist/scroll/ScrollUtils.js.map +1 -0
- package/dist/scroll/index.d.ts +3 -0
- package/dist/scroll/index.d.ts.map +1 -0
- package/dist/scroll/index.js +2 -0
- package/dist/scroll/index.js.map +1 -0
- package/dist/session/SessionStorageManager.d.ts +11 -0
- package/dist/session/SessionStorageManager.d.ts.map +1 -0
- package/dist/session/SessionStorageManager.js +22 -0
- package/dist/session/SessionStorageManager.js.map +1 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +2 -0
- package/dist/session/index.js.map +1 -0
- package/dist/storage/BaseStorageManager.d.ts +37 -0
- package/dist/storage/BaseStorageManager.d.ts.map +1 -0
- package/dist/storage/BaseStorageManager.js +245 -0
- package/dist/storage/BaseStorageManager.js.map +1 -0
- package/dist/storage/MemoryStorage.d.ts +23 -0
- package/dist/storage/MemoryStorage.d.ts.map +1 -0
- package/dist/storage/MemoryStorage.js +62 -0
- package/dist/storage/MemoryStorage.js.map +1 -0
- package/dist/storage/StorageConfig.d.ts +25 -0
- package/dist/storage/StorageConfig.d.ts.map +1 -0
- package/dist/storage/StorageConfig.js +60 -0
- package/dist/storage/StorageConfig.js.map +1 -0
- package/dist/storage/StorageManager.d.ts +19 -0
- package/dist/storage/StorageManager.d.ts.map +1 -0
- package/dist/storage/StorageManager.js +58 -0
- package/dist/storage/StorageManager.js.map +1 -0
- package/dist/storage/index.d.ts +9 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +5 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/url/HistoryManager.d.ts +24 -0
- package/dist/url/HistoryManager.d.ts.map +1 -0
- package/dist/url/HistoryManager.js +134 -0
- package/dist/url/HistoryManager.js.map +1 -0
- package/dist/url/QueryParams.d.ts +32 -0
- package/dist/url/QueryParams.d.ts.map +1 -0
- package/dist/url/QueryParams.js +130 -0
- package/dist/url/QueryParams.js.map +1 -0
- package/dist/url/UrlBuilder.d.ts +38 -0
- package/dist/url/UrlBuilder.d.ts.map +1 -0
- package/dist/url/UrlBuilder.js +159 -0
- package/dist/url/UrlBuilder.js.map +1 -0
- package/dist/url/index.d.ts +6 -0
- package/dist/url/index.d.ts.map +1 -0
- package/dist/url/index.js +4 -0
- package/dist/url/index.js.map +1 -0
- package/dist/visibility/VisibilityManager.d.ts +10 -0
- package/dist/visibility/VisibilityManager.d.ts.map +1 -0
- package/dist/visibility/VisibilityManager.js +61 -0
- package/dist/visibility/VisibilityManager.js.map +1 -0
- package/dist/visibility/index.d.ts +2 -0
- package/dist/visibility/index.d.ts.map +1 -0
- package/dist/visibility/index.js +2 -0
- package/dist/visibility/index.js.map +1 -0
- package/dist/websocket/WebSocketManager.d.ts +43 -0
- package/dist/websocket/WebSocketManager.d.ts.map +1 -0
- package/dist/websocket/WebSocketManager.js +250 -0
- package/dist/websocket/WebSocketManager.js.map +1 -0
- package/dist/websocket/index.d.ts +2 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +2 -0
- package/dist/websocket/index.js.map +1 -0
- package/package.json +254 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export { BrowserUtilsError, ValidationError, StorageError, ClipboardError, NetworkError, FullscreenError, NotificationError, CookieError, UrlError, GeolocationError, EncryptionError, CryptoError, CspError, Result, Validator, generateUUID, noopLogger, debounce, throttle, } from './core/index.js';
|
|
2
|
+
export { StorageManager, StorageConfig, MemoryStorage } from './storage/index.js';
|
|
3
|
+
export { SessionStorageManager } from './session/index.js';
|
|
4
|
+
export { Logger, LoggerConfig, LogLevel, logLevelName, createLogger } from './logging/index.js';
|
|
5
|
+
export { Downloader, DownloadOptions } from './download/index.js';
|
|
6
|
+
export { KeyboardShortcut, ShortcutManager, ShortcutGroup } from './keyboard/index.js';
|
|
7
|
+
export { HtmlEscaper, DomHelper } from './html/index.js';
|
|
8
|
+
export { CookieOptions, CookieManager } from './cookie/index.js';
|
|
9
|
+
export { ClipboardManager } from './clipboard/index.js';
|
|
10
|
+
export { UrlBuilder, QueryParams, HistoryManager } from './url/index.js';
|
|
11
|
+
export { EventUtils } from './events/index.js';
|
|
12
|
+
export { FeatureDetect } from './features/index.js';
|
|
13
|
+
export { NetworkStatus, RetryQueue } from './network/index.js';
|
|
14
|
+
export { FocusTrap, FocusUtils } from './focus/index.js';
|
|
15
|
+
export { ScrollUtils } from './scroll/index.js';
|
|
16
|
+
export { FormSerializer, FormValidator, FormUtils } from './form/index.js';
|
|
17
|
+
export { Fullscreen } from './fullscreen/index.js';
|
|
18
|
+
export { MediaQuery } from './media/index.js';
|
|
19
|
+
export { BrowserNotification } from './notification/index.js';
|
|
20
|
+
export { DeviceInfo } from './device/index.js';
|
|
21
|
+
export { IntersectionObserverWrapper, ResizeObserverWrapper, MutationObserverWrapper, } from './observe/index.js';
|
|
22
|
+
export { IdleCallback } from './idle/index.js';
|
|
23
|
+
export { HtmlSanitizer } from './sanitize/index.js';
|
|
24
|
+
export { IndexedDBManager, IndexedDBError } from './indexeddb/index.js';
|
|
25
|
+
export { WebSocketManager, WebSocketError } from './websocket/index.js';
|
|
26
|
+
export { CspUtils, NonceManager } from './csp/index.js';
|
|
27
|
+
export { VisibilityManager } from './visibility/index.js';
|
|
28
|
+
export { GeolocationManager } from './geolocation/index.js';
|
|
29
|
+
export { PerformanceMonitor } from './performance/index.js';
|
|
30
|
+
export { BatteryManager } from './battery/index.js';
|
|
31
|
+
export { BroadcastManager, BroadcastError } from './broadcast/index.js';
|
|
32
|
+
export { OfflineQueue, OfflineQueueError } from './offline/index.js';
|
|
33
|
+
export { RequestInterceptor, RequestError } from './request/index.js';
|
|
34
|
+
export { EncryptedStorage } from './encryption/index.js';
|
|
35
|
+
export { CacheManager, CacheError } from './cache/index.js';
|
|
36
|
+
export { AriaUtils, LiveAnnouncer, ReducedMotion, SkipLink } from './a11y/index.js';
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6DA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAwBzB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUlF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIhG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIlE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIvF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAW/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAU3E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUxE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AASxE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAWxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAS5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQxE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAgBrE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa5D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IndexedDBError, Result, type IndexedDBErrorCode } from '../core';
|
|
2
|
+
export { IndexedDBError };
|
|
3
|
+
export type { IndexedDBErrorCode };
|
|
4
|
+
export interface StoreConfig {
|
|
5
|
+
readonly keyPath?: string | string[];
|
|
6
|
+
readonly autoIncrement?: boolean;
|
|
7
|
+
readonly indexes?: Record<string, {
|
|
8
|
+
keyPath: string | string[];
|
|
9
|
+
unique?: boolean;
|
|
10
|
+
multiEntry?: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
export interface DatabaseConfig {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly version: number;
|
|
16
|
+
readonly stores: Record<string, StoreConfig>;
|
|
17
|
+
}
|
|
18
|
+
export interface TransactionContext {
|
|
19
|
+
get<T>(storeName: string, key: IDBValidKey): Promise<T | undefined>;
|
|
20
|
+
put<T>(storeName: string, value: T, key?: IDBValidKey): Promise<IDBValidKey>;
|
|
21
|
+
add<T>(storeName: string, value: T, key?: IDBValidKey): Promise<IDBValidKey>;
|
|
22
|
+
delete(storeName: string, key: IDBValidKey): Promise<void>;
|
|
23
|
+
clear(storeName: string): Promise<void>;
|
|
24
|
+
getAll<T>(storeName: string): Promise<T[]>;
|
|
25
|
+
count(storeName: string): Promise<number>;
|
|
26
|
+
}
|
|
27
|
+
export interface IndexedDBInstance {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly version: number;
|
|
30
|
+
get<T>(storeName: string, key: IDBValidKey): Promise<T | undefined>;
|
|
31
|
+
put<T>(storeName: string, value: T, key?: IDBValidKey): Promise<IDBValidKey>;
|
|
32
|
+
add<T>(storeName: string, value: T, key?: IDBValidKey): Promise<IDBValidKey>;
|
|
33
|
+
delete(storeName: string, key: IDBValidKey): Promise<void>;
|
|
34
|
+
clear(storeName: string): Promise<void>;
|
|
35
|
+
getAll<T>(storeName: string): Promise<T[]>;
|
|
36
|
+
count(storeName: string): Promise<number>;
|
|
37
|
+
transaction<T>(storeNames: string | string[], mode: IDBTransactionMode, callback: (context: TransactionContext) => Promise<T>): Promise<T>;
|
|
38
|
+
close(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare const IndexedDBManager: {
|
|
41
|
+
readonly isSupported: () => boolean;
|
|
42
|
+
readonly open: (config: DatabaseConfig) => Promise<IndexedDBInstance>;
|
|
43
|
+
readonly openResult: (config: DatabaseConfig) => Promise<Result<IndexedDBInstance, IndexedDBError>>;
|
|
44
|
+
readonly deleteDatabase: (name: string) => Promise<void>;
|
|
45
|
+
readonly createInstance: (db: IDBDatabase) => IndexedDBInstance;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=IndexedDBManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedDBManager.d.ts","sourceRoot":"","sources":["../../src/indexeddb/IndexedDBManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { IndexedDBError, Result } from '../core';
|
|
2
|
+
export { IndexedDBError };
|
|
3
|
+
function promisifyRequest(request) {
|
|
4
|
+
return new Promise((resolve, reject) => {
|
|
5
|
+
request.onsuccess = () => resolve(request.result);
|
|
6
|
+
request.onerror = () => reject(IndexedDBError.operationFailed('request', request.error));
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function createStoreOperations(transaction) {
|
|
10
|
+
return {
|
|
11
|
+
async get(storeName, key) {
|
|
12
|
+
const store = transaction.objectStore(storeName);
|
|
13
|
+
return (await promisifyRequest(store.get(key)));
|
|
14
|
+
},
|
|
15
|
+
async put(storeName, value, key) {
|
|
16
|
+
const store = transaction.objectStore(storeName);
|
|
17
|
+
return promisifyRequest(store.put(value, key));
|
|
18
|
+
},
|
|
19
|
+
async add(storeName, value, key) {
|
|
20
|
+
const store = transaction.objectStore(storeName);
|
|
21
|
+
return promisifyRequest(store.add(value, key));
|
|
22
|
+
},
|
|
23
|
+
async delete(storeName, key) {
|
|
24
|
+
const store = transaction.objectStore(storeName);
|
|
25
|
+
await promisifyRequest(store.delete(key));
|
|
26
|
+
},
|
|
27
|
+
async clear(storeName) {
|
|
28
|
+
const store = transaction.objectStore(storeName);
|
|
29
|
+
await promisifyRequest(store.clear());
|
|
30
|
+
},
|
|
31
|
+
async getAll(storeName) {
|
|
32
|
+
const store = transaction.objectStore(storeName);
|
|
33
|
+
return (await promisifyRequest(store.getAll()));
|
|
34
|
+
},
|
|
35
|
+
async count(storeName) {
|
|
36
|
+
const store = transaction.objectStore(storeName);
|
|
37
|
+
return promisifyRequest(store.count());
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export const IndexedDBManager = {
|
|
42
|
+
isSupported() {
|
|
43
|
+
return typeof indexedDB !== 'undefined';
|
|
44
|
+
},
|
|
45
|
+
async open(config) {
|
|
46
|
+
if (!IndexedDBManager.isSupported()) {
|
|
47
|
+
throw IndexedDBError.notSupported();
|
|
48
|
+
}
|
|
49
|
+
const db = await new Promise((resolve, reject) => {
|
|
50
|
+
const request = indexedDB.open(config.name, config.version);
|
|
51
|
+
request.onerror = () => {
|
|
52
|
+
reject(IndexedDBError.openFailed(config.name, request.error));
|
|
53
|
+
};
|
|
54
|
+
request.onsuccess = () => {
|
|
55
|
+
resolve(request.result);
|
|
56
|
+
};
|
|
57
|
+
request.onupgradeneeded = () => {
|
|
58
|
+
const database = request.result;
|
|
59
|
+
const existingStores = new Set(database.objectStoreNames);
|
|
60
|
+
for (const [storeName, storeConfig] of Object.entries(config.stores)) {
|
|
61
|
+
let store;
|
|
62
|
+
if (existingStores.has(storeName)) {
|
|
63
|
+
store = request.transaction.objectStore(storeName);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
store = database.createObjectStore(storeName, {
|
|
67
|
+
keyPath: storeConfig.keyPath,
|
|
68
|
+
autoIncrement: storeConfig.autoIncrement,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (storeConfig.indexes) {
|
|
72
|
+
for (const [indexName, indexConfig] of Object.entries(storeConfig.indexes)) {
|
|
73
|
+
if (!store.indexNames.contains(indexName)) {
|
|
74
|
+
store.createIndex(indexName, indexConfig.keyPath, {
|
|
75
|
+
unique: indexConfig.unique,
|
|
76
|
+
multiEntry: indexConfig.multiEntry,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
request.onblocked = () => {
|
|
84
|
+
reject(IndexedDBError.blocked());
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
return IndexedDBManager.createInstance(db);
|
|
88
|
+
},
|
|
89
|
+
async openResult(config) {
|
|
90
|
+
try {
|
|
91
|
+
const instance = await IndexedDBManager.open(config);
|
|
92
|
+
return Result.ok(instance);
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
if (e instanceof IndexedDBError) {
|
|
96
|
+
return Result.err(e);
|
|
97
|
+
}
|
|
98
|
+
return Result.err(IndexedDBError.openFailed(config.name, e));
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
async deleteDatabase(name) {
|
|
102
|
+
if (!IndexedDBManager.isSupported()) {
|
|
103
|
+
throw IndexedDBError.notSupported();
|
|
104
|
+
}
|
|
105
|
+
await new Promise((resolve, reject) => {
|
|
106
|
+
const request = indexedDB.deleteDatabase(name);
|
|
107
|
+
request.onsuccess = () => resolve();
|
|
108
|
+
request.onerror = () => reject(IndexedDBError.operationFailed('deleteDatabase', request.error));
|
|
109
|
+
request.onblocked = () => reject(IndexedDBError.blocked());
|
|
110
|
+
});
|
|
111
|
+
},
|
|
112
|
+
createInstance(db) {
|
|
113
|
+
const executeInTransaction = async (storeName, mode, operation) => {
|
|
114
|
+
return new Promise((resolve, reject) => {
|
|
115
|
+
try {
|
|
116
|
+
const transaction = db.transaction(storeName, mode);
|
|
117
|
+
const store = transaction.objectStore(storeName);
|
|
118
|
+
const request = operation(store);
|
|
119
|
+
request.onsuccess = () => resolve(request.result);
|
|
120
|
+
request.onerror = () => reject(IndexedDBError.operationFailed('store operation', request.error));
|
|
121
|
+
transaction.onerror = () => reject(IndexedDBError.transactionFailed(transaction.error));
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
reject(IndexedDBError.operationFailed('store operation', e));
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
return {
|
|
129
|
+
get name() {
|
|
130
|
+
return db.name;
|
|
131
|
+
},
|
|
132
|
+
get version() {
|
|
133
|
+
return db.version;
|
|
134
|
+
},
|
|
135
|
+
async get(storeName, key) {
|
|
136
|
+
return (await executeInTransaction(storeName, 'readonly', (store) => store.get(key)));
|
|
137
|
+
},
|
|
138
|
+
async put(storeName, value, key) {
|
|
139
|
+
return executeInTransaction(storeName, 'readwrite', (store) => store.put(value, key));
|
|
140
|
+
},
|
|
141
|
+
async add(storeName, value, key) {
|
|
142
|
+
return executeInTransaction(storeName, 'readwrite', (store) => store.add(value, key));
|
|
143
|
+
},
|
|
144
|
+
async delete(storeName, key) {
|
|
145
|
+
await executeInTransaction(storeName, 'readwrite', (store) => store.delete(key));
|
|
146
|
+
},
|
|
147
|
+
async clear(storeName) {
|
|
148
|
+
await executeInTransaction(storeName, 'readwrite', (store) => store.clear());
|
|
149
|
+
},
|
|
150
|
+
async getAll(storeName) {
|
|
151
|
+
return (await executeInTransaction(storeName, 'readonly', (store) => store.getAll()));
|
|
152
|
+
},
|
|
153
|
+
async count(storeName) {
|
|
154
|
+
return executeInTransaction(storeName, 'readonly', (store) => store.count());
|
|
155
|
+
},
|
|
156
|
+
async transaction(storeNames, mode, callback) {
|
|
157
|
+
return new Promise((resolve, reject) => {
|
|
158
|
+
try {
|
|
159
|
+
const names = Array.isArray(storeNames) ? storeNames : [storeNames];
|
|
160
|
+
const transaction = db.transaction(names, mode);
|
|
161
|
+
const context = createStoreOperations(transaction);
|
|
162
|
+
callback(context)
|
|
163
|
+
.then((result) => {
|
|
164
|
+
transaction.oncomplete = () => resolve(result);
|
|
165
|
+
})
|
|
166
|
+
.catch((e) => {
|
|
167
|
+
transaction.abort();
|
|
168
|
+
reject(IndexedDBError.transactionFailed(e));
|
|
169
|
+
});
|
|
170
|
+
transaction.onerror = () => reject(IndexedDBError.transactionFailed(transaction.error));
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
reject(IndexedDBError.transactionFailed(e));
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
close() {
|
|
178
|
+
db.close();
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=IndexedDBManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedDBManager.js","sourceRoot":"","sources":["../../src/indexeddb/IndexedDBManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexeddb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/indexeddb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,GAMf,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface ShortcutDefinition {
|
|
2
|
+
readonly key: string;
|
|
3
|
+
readonly ctrlKey?: boolean;
|
|
4
|
+
readonly shiftKey?: boolean;
|
|
5
|
+
readonly altKey?: boolean;
|
|
6
|
+
readonly metaKey?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class KeyboardShortcut {
|
|
9
|
+
readonly key: string;
|
|
10
|
+
readonly ctrlKey: boolean;
|
|
11
|
+
readonly shiftKey: boolean;
|
|
12
|
+
readonly altKey: boolean;
|
|
13
|
+
readonly metaKey: boolean;
|
|
14
|
+
private constructor();
|
|
15
|
+
static create(def: ShortcutDefinition): KeyboardShortcut;
|
|
16
|
+
static key(key: string): KeyboardShortcut;
|
|
17
|
+
static ctrlKey(key: string): KeyboardShortcut;
|
|
18
|
+
static ctrlShift(key: string): KeyboardShortcut;
|
|
19
|
+
static altKey(key: string): KeyboardShortcut;
|
|
20
|
+
static metaKey(key: string): KeyboardShortcut;
|
|
21
|
+
static escape(): KeyboardShortcut;
|
|
22
|
+
static enter(): KeyboardShortcut;
|
|
23
|
+
matches(event: KeyboardEvent): boolean;
|
|
24
|
+
toString(): string;
|
|
25
|
+
toMacString(): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=KeyboardShortcut.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyboardShortcut.d.ts","sourceRoot":"","sources":["../../src/keyboard/KeyboardShortcut.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,OAAO;IAeP,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,gBAAgB;IAaxD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAOzC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAO7C,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAO/C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAO5C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IAO7C,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAOjC,MAAM,CAAC,KAAK,IAAI,gBAAgB;IAWhC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAuBtC,QAAQ,IAAI,MAAM;IAwBlB,WAAW,IAAI,MAAM;CAoBtB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export class KeyboardShortcut {
|
|
2
|
+
key;
|
|
3
|
+
ctrlKey;
|
|
4
|
+
shiftKey;
|
|
5
|
+
altKey;
|
|
6
|
+
metaKey;
|
|
7
|
+
constructor(def) {
|
|
8
|
+
this.key = def.key;
|
|
9
|
+
this.ctrlKey = def.ctrlKey;
|
|
10
|
+
this.shiftKey = def.shiftKey;
|
|
11
|
+
this.altKey = def.altKey;
|
|
12
|
+
this.metaKey = def.metaKey;
|
|
13
|
+
}
|
|
14
|
+
static create(def) {
|
|
15
|
+
return new KeyboardShortcut({
|
|
16
|
+
key: def.key,
|
|
17
|
+
ctrlKey: def.ctrlKey ?? false,
|
|
18
|
+
shiftKey: def.shiftKey ?? false,
|
|
19
|
+
altKey: def.altKey ?? false,
|
|
20
|
+
metaKey: def.metaKey ?? false,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static key(key) {
|
|
24
|
+
return KeyboardShortcut.create({ key });
|
|
25
|
+
}
|
|
26
|
+
static ctrlKey(key) {
|
|
27
|
+
return KeyboardShortcut.create({ key, ctrlKey: true });
|
|
28
|
+
}
|
|
29
|
+
static ctrlShift(key) {
|
|
30
|
+
return KeyboardShortcut.create({ key, ctrlKey: true, shiftKey: true });
|
|
31
|
+
}
|
|
32
|
+
static altKey(key) {
|
|
33
|
+
return KeyboardShortcut.create({ key, altKey: true });
|
|
34
|
+
}
|
|
35
|
+
static metaKey(key) {
|
|
36
|
+
return KeyboardShortcut.create({ key, metaKey: true });
|
|
37
|
+
}
|
|
38
|
+
static escape() {
|
|
39
|
+
return KeyboardShortcut.create({ key: 'Escape' });
|
|
40
|
+
}
|
|
41
|
+
static enter() {
|
|
42
|
+
return KeyboardShortcut.create({ key: 'Enter' });
|
|
43
|
+
}
|
|
44
|
+
matches(event) {
|
|
45
|
+
const keyMatches = event.key.length === 1
|
|
46
|
+
? event.key.toUpperCase() === this.key.toUpperCase()
|
|
47
|
+
: event.key === this.key;
|
|
48
|
+
return (keyMatches &&
|
|
49
|
+
event.ctrlKey === this.ctrlKey &&
|
|
50
|
+
event.shiftKey === this.shiftKey &&
|
|
51
|
+
event.altKey === this.altKey &&
|
|
52
|
+
event.metaKey === this.metaKey);
|
|
53
|
+
}
|
|
54
|
+
toString() {
|
|
55
|
+
const parts = [];
|
|
56
|
+
if (this.ctrlKey) {
|
|
57
|
+
parts.push('Ctrl');
|
|
58
|
+
}
|
|
59
|
+
if (this.altKey) {
|
|
60
|
+
parts.push('Alt');
|
|
61
|
+
}
|
|
62
|
+
if (this.shiftKey) {
|
|
63
|
+
parts.push('Shift');
|
|
64
|
+
}
|
|
65
|
+
if (this.metaKey) {
|
|
66
|
+
parts.push('Cmd');
|
|
67
|
+
}
|
|
68
|
+
parts.push(this.key.length === 1 ? this.key.toUpperCase() : this.key);
|
|
69
|
+
return parts.join('+');
|
|
70
|
+
}
|
|
71
|
+
toMacString() {
|
|
72
|
+
const parts = [];
|
|
73
|
+
if (this.ctrlKey) {
|
|
74
|
+
parts.push('⌃');
|
|
75
|
+
}
|
|
76
|
+
if (this.altKey) {
|
|
77
|
+
parts.push('⌥');
|
|
78
|
+
}
|
|
79
|
+
if (this.shiftKey) {
|
|
80
|
+
parts.push('⇧');
|
|
81
|
+
}
|
|
82
|
+
if (this.metaKey) {
|
|
83
|
+
parts.push('⌘');
|
|
84
|
+
}
|
|
85
|
+
parts.push(this.key.length === 1 ? this.key.toUpperCase() : this.key);
|
|
86
|
+
return parts.join('');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=KeyboardShortcut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../src/keyboard/KeyboardShortcut.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { KeyboardShortcut, type ShortcutDefinition } from './KeyboardShortcut.js';
|
|
2
|
+
export interface ShortcutHandlerOptions {
|
|
3
|
+
readonly preventDefault?: boolean;
|
|
4
|
+
readonly stopPropagation?: boolean;
|
|
5
|
+
readonly stopImmediatePropagation?: boolean;
|
|
6
|
+
readonly capture?: boolean;
|
|
7
|
+
readonly once?: boolean;
|
|
8
|
+
}
|
|
9
|
+
import type { CleanupFn } from '../core';
|
|
10
|
+
export declare const ShortcutManager: {
|
|
11
|
+
on(shortcut: KeyboardShortcut | ShortcutDefinition, handler: () => void, options?: ShortcutHandlerOptions): CleanupFn;
|
|
12
|
+
onEscape(handler: () => void): CleanupFn;
|
|
13
|
+
onEnter(handler: () => void, options?: ShortcutHandlerOptions): CleanupFn;
|
|
14
|
+
createGroup(): ShortcutGroup;
|
|
15
|
+
};
|
|
16
|
+
export declare class ShortcutGroup {
|
|
17
|
+
private readonly cleanups;
|
|
18
|
+
add(shortcut: KeyboardShortcut | ShortcutDefinition, handler: () => void, options?: ShortcutHandlerOptions): this;
|
|
19
|
+
addEscape(handler: () => void): this;
|
|
20
|
+
cleanup(): void;
|
|
21
|
+
get size(): number;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ShortcutManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortcutManager.d.ts","sourceRoot":"","sources":["../../src/keyboard/ShortcutManager.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,MAAM,WAAW,sBAAsB;IAKrC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAMlC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAMnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAM5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAM3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe;iBAUd,gBAAgB,GAAG,kBAAkB,WACtC,MAAM,IAAI,YACV,sBAAsB,GAC9B,SAAS;sBAoDM,MAAM,IAAI,GAAG,SAAS;qBAevB,MAAM,IAAI,YAAW,sBAAsB,GAAQ,SAAS;mBAiB9D,aAAa;CAG7B,CAAC;AAKF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAK5C,GAAG,CACD,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,EAC/C,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI;IAQP,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAQpC,OAAO,IAAI,IAAI;IAUf,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { KeyboardShortcut } from './KeyboardShortcut.js';
|
|
2
|
+
export const ShortcutManager = {
|
|
3
|
+
on(shortcut, handler, options = {}) {
|
|
4
|
+
const kbd = shortcut instanceof KeyboardShortcut ? shortcut : KeyboardShortcut.create(shortcut);
|
|
5
|
+
const { preventDefault = true, stopPropagation = false, stopImmediatePropagation = false, capture = false, once = false, } = options;
|
|
6
|
+
let isActive = true;
|
|
7
|
+
const listener = (event) => {
|
|
8
|
+
if (!isActive || !kbd.matches(event)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (preventDefault) {
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
}
|
|
14
|
+
if (stopPropagation) {
|
|
15
|
+
event.stopPropagation();
|
|
16
|
+
}
|
|
17
|
+
if (stopImmediatePropagation) {
|
|
18
|
+
event.stopImmediatePropagation();
|
|
19
|
+
}
|
|
20
|
+
handler();
|
|
21
|
+
if (once) {
|
|
22
|
+
cleanup();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const cleanup = () => {
|
|
26
|
+
isActive = false;
|
|
27
|
+
document.removeEventListener('keydown', listener, capture);
|
|
28
|
+
};
|
|
29
|
+
document.addEventListener('keydown', listener, capture);
|
|
30
|
+
return cleanup;
|
|
31
|
+
},
|
|
32
|
+
onEscape(handler) {
|
|
33
|
+
return ShortcutManager.on(KeyboardShortcut.escape(), handler, {
|
|
34
|
+
capture: true,
|
|
35
|
+
stopImmediatePropagation: true,
|
|
36
|
+
once: true,
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
onEnter(handler, options = {}) {
|
|
40
|
+
return ShortcutManager.on(KeyboardShortcut.enter(), handler, options);
|
|
41
|
+
},
|
|
42
|
+
createGroup() {
|
|
43
|
+
return new ShortcutGroup();
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export class ShortcutGroup {
|
|
47
|
+
cleanups = [];
|
|
48
|
+
add(shortcut, handler, options) {
|
|
49
|
+
this.cleanups.push(ShortcutManager.on(shortcut, handler, options));
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
addEscape(handler) {
|
|
53
|
+
this.cleanups.push(ShortcutManager.onEscape(handler));
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
cleanup() {
|
|
57
|
+
for (const fn of this.cleanups) {
|
|
58
|
+
fn();
|
|
59
|
+
}
|
|
60
|
+
this.cleanups.length = 0;
|
|
61
|
+
}
|
|
62
|
+
get size() {
|
|
63
|
+
return this.cleanups.length;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=ShortcutManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortcutManager.js","sourceRoot":"","sources":["../../src/keyboard/ShortcutManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { KeyboardShortcut } from './KeyboardShortcut.js';
|
|
2
|
+
export type { ShortcutDefinition } from './KeyboardShortcut.js';
|
|
3
|
+
export { ShortcutManager, ShortcutGroup } from './ShortcutManager.js';
|
|
4
|
+
export type { ShortcutHandlerOptions } from './ShortcutManager.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const LogLevel: {
|
|
2
|
+
readonly Debug: 0;
|
|
3
|
+
readonly Info: 1;
|
|
4
|
+
readonly Warn: 2;
|
|
5
|
+
readonly Error: 3;
|
|
6
|
+
readonly Silent: 4;
|
|
7
|
+
};
|
|
8
|
+
export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
|
|
9
|
+
export declare function logLevelName(level: LogLevel): string;
|
|
10
|
+
//# sourceMappingURL=LogLevel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../src/logging/LogLevel.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,QAAQ;;;;;;CAWX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAKhE,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAapD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const LogLevel = {
|
|
2
|
+
Debug: 0,
|
|
3
|
+
Info: 1,
|
|
4
|
+
Warn: 2,
|
|
5
|
+
Error: 3,
|
|
6
|
+
Silent: 4,
|
|
7
|
+
};
|
|
8
|
+
export function logLevelName(level) {
|
|
9
|
+
switch (level) {
|
|
10
|
+
case LogLevel.Debug:
|
|
11
|
+
return 'DEBUG';
|
|
12
|
+
case LogLevel.Info:
|
|
13
|
+
return 'INFO';
|
|
14
|
+
case LogLevel.Warn:
|
|
15
|
+
return 'WARN';
|
|
16
|
+
case LogLevel.Error:
|
|
17
|
+
return 'ERROR';
|
|
18
|
+
case LogLevel.Silent:
|
|
19
|
+
return 'SILENT';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=LogLevel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["../../src/logging/LogLevel.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,QAAQ,GAAG;IAEtB,KAAK,EAAE,CAAC;IAER,IAAI,EAAE,CAAC;IAEP,IAAI,EAAE,CAAC;IAEP,KAAK,EAAE,CAAC;IAER,MAAM,EAAE,CAAC;CACD,CAAC;AAOX,MAAM,UAAU,YAAY,CAAC,KAAe;IAC1C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { LoggerLike } from '../core';
|
|
2
|
+
import { LogLevel } from './LogLevel.js';
|
|
3
|
+
import { LoggerConfig, type LoggerConfigOptions, type ConsoleAdapter } from './LoggerConfig.js';
|
|
4
|
+
export declare class Logger implements LoggerLike {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private constructor();
|
|
7
|
+
static create(options?: LoggerConfigOptions): Logger;
|
|
8
|
+
static fromConfig(config: LoggerConfig): Logger;
|
|
9
|
+
static development(prefix?: string): Logger;
|
|
10
|
+
static production(prefix?: string): Logger;
|
|
11
|
+
static silent(): Logger;
|
|
12
|
+
get level(): LogLevel;
|
|
13
|
+
get prefix(): string;
|
|
14
|
+
isEnabled(level: LogLevel): boolean;
|
|
15
|
+
withLevel(level: LogLevel): Logger;
|
|
16
|
+
withPrefix(prefix: string): Logger;
|
|
17
|
+
withTimestamps(enabled: boolean): Logger;
|
|
18
|
+
withConsole(console: ConsoleAdapter): Logger;
|
|
19
|
+
debug(...args: unknown[]): void;
|
|
20
|
+
info(...args: unknown[]): void;
|
|
21
|
+
warn(...args: unknown[]): void;
|
|
22
|
+
error(...args: unknown[]): void;
|
|
23
|
+
private log;
|
|
24
|
+
private formatArgs;
|
|
25
|
+
}
|
|
26
|
+
export declare function createLogger(options?: LoggerConfigOptions): {
|
|
27
|
+
debug: (...args: unknown[]) => void;
|
|
28
|
+
info: (...args: unknown[]) => void;
|
|
29
|
+
warn: (...args: unknown[]) => void;
|
|
30
|
+
error: (...args: unknown[]) => void;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=Logger.d.ts.map
|