@apple-pie/slice 0.1.9 → 0.1.11
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/dist/cjs/chunks/{Avatar-Czt-12Ih.js → Avatar-CUaQ3kN1.js} +5 -5
- package/dist/cjs/chunks/{AvatarGroup-CGH2zY7a.js → AvatarGroup-B3M7o4Hh.js} +23 -20
- package/dist/cjs/chunks/{Button-mVVfNCqC.js → Button-ID8wGXIa.js} +12 -11
- package/dist/cjs/chunks/{ButtonBar-CFAb4bfQ.js → ButtonBar-BZ6sme27.js} +7 -7
- package/dist/cjs/chunks/{Camera-BGV_tNUP.js → Camera-rVC4KI4v.js} +1 -1
- package/dist/cjs/chunks/{CheckBox-DyOgP15i.js → CheckBox-DQRLqTAK.js} +1 -1
- package/dist/cjs/chunks/{Chip-Z8erRdWG.js → Chip-CflUNqhY.js} +11 -10
- package/dist/cjs/chunks/{DivInput-DdZA8S1k.js → DivInput-DrwFMexA.js} +4 -4
- package/dist/cjs/chunks/{DropDown-Ce8aU2va.js → DropDown-C3AZ5b_b.js} +49 -50
- package/dist/cjs/chunks/{ErrorSummary-By4CjJ9a.js → ErrorSummary-BTgAd3sK.js} +47 -25
- package/dist/cjs/chunks/{FileList-CCAtVNDo.js → FileList-BHwBIics.js} +4 -4
- package/dist/cjs/chunks/{Grouper-BbovOSYw.js → Grouper-D4yyHHkM.js} +1 -1
- package/dist/cjs/chunks/{Icon-N0YJuKQf.js → Icon-D1EB8S5r.js} +6 -5
- package/dist/cjs/chunks/{IconButton-BXotgG2u.js → IconButton-B07Ttxbr.js} +11 -11
- package/dist/cjs/chunks/{IndexedDB-BxQn7aHU.js → IndexedDB-BaVmQgkK.js} +12 -10
- package/dist/cjs/chunks/Label-CTzvGcds.js +102 -0
- package/dist/cjs/chunks/{Pager-Da9AqSFN.js → Pager-BN37VYEC.js} +1 -1
- package/dist/cjs/chunks/{ProgressIndicator-CyFcr6Dk.js → ProgressIndicator-BGqIwycX.js} +1 -1
- package/dist/cjs/chunks/{PromptInput-B-Wlfnhx.js → PromptInput-D0aehf9X.js} +1 -1
- package/dist/cjs/chunks/{RadioButton-B8GIKGm-.js → RadioButton-DuIsM4lu.js} +21 -17
- package/dist/cjs/chunks/{RadioButtonList-3o1IvhdC.js → RadioButtonList-bu11ILyw.js} +20 -13
- package/dist/cjs/chunks/{Switch-BiTshVLM.js → Switch-Cbn0ql3B.js} +15 -11
- package/dist/cjs/chunks/{TabBar-DZ2y7owf.js → TabBar-Bcq_n4Mk.js} +8 -8
- package/dist/cjs/chunks/{TextArea-D7E8loob.js → TextArea-CEwhpWXT.js} +17 -24
- package/dist/cjs/chunks/{TextField-BAcYBHb1.js → TextField-Dl9sTcC4.js} +50 -70
- package/dist/cjs/chunks/{Tip-59T3TUN4.js → Tip-BTIo1xG2.js} +7 -6
- package/dist/cjs/chunks/{Toast-skIBuJ3b.js → Toast-CZzAWG0S.js} +1 -1
- package/dist/cjs/chunks/{UploadArea-Bfrwzo4O.js → UploadArea-z9-1YjIV.js} +6 -6
- package/dist/cjs/chunks/localDBStore-zyDhaEiP.js +289 -0
- package/dist/cjs/components/Avatar/index.js +1 -1
- package/dist/cjs/components/AvatarGroup/index.js +2 -2
- package/dist/cjs/components/Button/index.js +3 -3
- package/dist/cjs/components/ButtonBar/index.js +2 -2
- package/dist/cjs/components/Camera/index.js +3 -3
- package/dist/cjs/components/CheckBox/index.js +2 -2
- package/dist/cjs/components/Chip/index.js +2 -2
- package/dist/cjs/components/DivInput/index.js +1 -1
- package/dist/cjs/components/DropDown/index.js +2 -2
- package/dist/cjs/components/ErrorSummary/index.js +6 -2
- package/dist/cjs/components/FileList/index.js +3 -3
- package/dist/cjs/components/Grouper/index.js +2 -2
- package/dist/cjs/components/Icon/index.js +1 -1
- package/dist/cjs/components/IconButton/index.js +2 -2
- package/dist/cjs/components/Label/index.js +7 -5
- package/dist/cjs/components/Pager/index.js +1 -1
- package/dist/cjs/components/Progress/index.js +2 -2
- package/dist/cjs/components/PromptInput/index.js +5 -5
- package/dist/cjs/components/RadioButton/index.js +2 -2
- package/dist/cjs/components/RadioButtonList/index.js +3 -3
- package/dist/cjs/components/Switch/index.js +1 -1
- package/dist/cjs/components/TabBar/index.js +3 -3
- package/dist/cjs/components/TextArea/index.js +4 -4
- package/dist/cjs/components/Textfield/index.js +5 -6
- package/dist/cjs/components/Tip/index.js +1 -1
- package/dist/cjs/components/Toast/index.js +2 -2
- package/dist/cjs/components/UploadArea/index.js +7 -8
- package/dist/cjs/index.js +8 -3
- package/dist/cjs/stores/LocalDB.js +6 -5
- package/dist/cjs/stores.js +7 -7
- package/dist/cjs/utils/index.js +1 -1
- package/dist/cjs/utils/objects/index.js +1 -1
- package/dist/css/flexBox.module.css +85 -0
- package/dist/css/type.module.css +206 -0
- package/dist/esm/chunks/{Avatar-DCCbj2eA.mjs → Avatar-CSLVUF_y.mjs} +5 -5
- package/dist/esm/chunks/{AvatarGroup-BaD2Xmda.mjs → AvatarGroup--ELW-bO1.mjs} +23 -20
- package/dist/esm/chunks/{Button-m0XAJsq5.mjs → Button-D24zg6UY.mjs} +13 -12
- package/dist/esm/chunks/{ButtonBar-CNQHRn77.mjs → ButtonBar-DXK8meQq.mjs} +7 -7
- package/dist/esm/chunks/{Camera-7TuowjX_.mjs → Camera-BqmVsVKy.mjs} +2 -2
- package/dist/esm/chunks/{CheckBox-DO9hTdv8.mjs → CheckBox-BsaYFNC6.mjs} +1 -1
- package/dist/esm/chunks/{Chip-BqneFUOR.mjs → Chip-DdgYV-Ct.mjs} +11 -10
- package/dist/esm/chunks/{DivInput-Ch9XjfWd.mjs → DivInput-B7sawFbK.mjs} +4 -4
- package/dist/esm/chunks/{DropDown-Cvf2d_3u.mjs → DropDown-DOJvg96J.mjs} +48 -51
- package/dist/esm/chunks/{ErrorSummary-S0shes-m.mjs → ErrorSummary-CHLkvdHk.mjs} +52 -27
- package/dist/esm/chunks/{FileList-Ckix8gUY.mjs → FileList-5LElsgoE.mjs} +5 -5
- package/dist/esm/chunks/{Grouper-B_FutfjV.mjs → Grouper-DR14qDXP.mjs} +1 -1
- package/dist/esm/chunks/{Icon-C92f63Ib.mjs → Icon-CUSQtytG.mjs} +6 -5
- package/dist/esm/chunks/{IconButton-4O5S9S9G.mjs → IconButton-DG69Vlhj.mjs} +11 -11
- package/dist/esm/chunks/{IndexedDB-CNOziQ6p.mjs → IndexedDB-CJgzPHPB.mjs} +12 -10
- package/dist/esm/chunks/Label-CRsE7o3D.mjs +115 -0
- package/dist/esm/chunks/{Pager-BlLYeA2F.mjs → Pager-BYT7_mCb.mjs} +1 -1
- package/dist/esm/chunks/{ProgressIndicator-CfM2c4ty.mjs → ProgressIndicator-D7paCpgY.mjs} +1 -1
- package/dist/esm/chunks/{PromptInput-Cmist_vy.mjs → PromptInput-yf2ir2-x.mjs} +3 -3
- package/dist/esm/chunks/{RadioButton-COEnChNW.mjs → RadioButton-B5ZF5oJ_.mjs} +22 -18
- package/dist/esm/chunks/{RadioButtonList-De3rbLQb.mjs → RadioButtonList-D9ZAZgkK.mjs} +22 -13
- package/dist/esm/chunks/{Switch-Cv6LABsW.mjs → Switch-BhCOo5Lu.mjs} +15 -11
- package/dist/esm/chunks/{TabBar-qiozE5zA.mjs → TabBar-BK7OcjPl.mjs} +9 -9
- package/dist/esm/chunks/{TextArea-Ff5hxF1H.mjs → TextArea-CWmzQA0V.mjs} +18 -25
- package/dist/esm/chunks/{TextField-CGOR6507.mjs → TextField-6Aq-AT47.mjs} +54 -72
- package/dist/esm/chunks/{Tip-CroDIKO4.mjs → Tip-DfmcLbBf.mjs} +7 -6
- package/dist/esm/chunks/{Toast-CM493gMR.mjs → Toast-DPHLwDES.mjs} +1 -1
- package/dist/esm/chunks/{UploadArea-6z-mVZs3.mjs → UploadArea-igD1l2Ht.mjs} +9 -9
- package/dist/esm/chunks/localDBStore-B4jkR5Jx.mjs +297 -0
- package/dist/esm/components/Avatar/index.mjs +1 -1
- package/dist/esm/components/AvatarGroup/index.mjs +2 -2
- package/dist/esm/components/Button/index.mjs +3 -3
- package/dist/esm/components/ButtonBar/index.mjs +2 -2
- package/dist/esm/components/Camera/index.mjs +3 -3
- package/dist/esm/components/CheckBox/index.mjs +2 -2
- package/dist/esm/components/Chip/index.mjs +2 -2
- package/dist/esm/components/DivInput/index.mjs +1 -1
- package/dist/esm/components/DropDown/index.mjs +5 -5
- package/dist/esm/components/ErrorSummary/index.mjs +21 -1
- package/dist/esm/components/FileList/index.mjs +3 -3
- package/dist/esm/components/Grouper/index.mjs +2 -2
- package/dist/esm/components/Icon/index.mjs +1 -1
- package/dist/esm/components/IconButton/index.mjs +2 -2
- package/dist/esm/components/Label/index.mjs +1 -19
- package/dist/esm/components/Pager/index.mjs +1 -1
- package/dist/esm/components/Progress/index.mjs +2 -2
- package/dist/esm/components/PromptInput/index.mjs +5 -5
- package/dist/esm/components/RadioButton/index.mjs +2 -2
- package/dist/esm/components/RadioButtonList/index.mjs +4 -4
- package/dist/esm/components/Switch/index.mjs +1 -1
- package/dist/esm/components/TabBar/index.mjs +3 -3
- package/dist/esm/components/TextArea/index.mjs +4 -4
- package/dist/esm/components/Textfield/index.mjs +7 -7
- package/dist/esm/components/Tip/index.mjs +1 -1
- package/dist/esm/components/Toast/index.mjs +2 -2
- package/dist/esm/components/UploadArea/index.mjs +7 -7
- package/dist/esm/index.mjs +27 -27
- package/dist/esm/stores/LocalDB.mjs +6 -2
- package/dist/esm/stores.mjs +6 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/objects/index.mjs +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +3 -0
- package/dist/types/components/Avatar/_types.d.ts +25 -0
- package/dist/types/components/Avatar/index.d.ts +2 -0
- package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +3 -0
- package/dist/types/components/AvatarGroup/_types.d.ts +28 -0
- package/dist/types/components/AvatarGroup/index.d.ts +2 -0
- package/dist/types/components/Badge/Badge.d.ts +3 -0
- package/dist/types/components/Badge/_types.d.ts +8 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Button/Button.d.ts +80 -0
- package/dist/types/components/Button/_types.d.ts +47 -0
- package/dist/types/components/Button/index.d.ts +2 -0
- package/dist/types/components/ButtonBar/ButtonBar.d.ts +17 -0
- package/dist/types/components/ButtonBar/_types.d.ts +31 -0
- package/dist/types/components/ButtonBar/index.d.ts +2 -0
- package/dist/types/components/Camera/Camera.d.ts +11 -0
- package/dist/types/components/Camera/_types.d.ts +79 -0
- package/dist/types/components/Camera/index.d.ts +2 -0
- package/dist/types/components/CheckBox/CheckBox.d.ts +3 -0
- package/dist/types/components/CheckBox/_types.d.ts +11 -0
- package/dist/types/components/CheckBox/index.d.ts +2 -0
- package/dist/types/components/Chip/Chip.d.ts +3 -0
- package/dist/types/components/Chip/_types.d.ts +35 -0
- package/dist/types/components/Chip/index.d.ts +3 -0
- package/dist/types/components/DivInput/DivInput.d.ts +3 -0
- package/dist/types/components/DivInput/_types.d.ts +25 -0
- package/dist/types/components/DivInput/index.d.ts +2 -0
- package/dist/types/components/Dot/Dot.d.ts +3 -0
- package/dist/types/components/Dot/_types.d.ts +19 -0
- package/dist/types/components/Dot/index.d.ts +2 -0
- package/dist/types/components/DraggablePanel/DrggablePanel.d.ts +44 -0
- package/dist/types/components/DraggablePanel/_types.d.ts +5 -0
- package/dist/types/components/DraggablePanel/index.d.ts +1 -0
- package/dist/types/components/DropDown/DropDown.d.ts +3 -0
- package/dist/types/components/DropDown/_types.d.ts +40 -0
- package/dist/types/components/DropDown/index.d.ts +2 -0
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +3 -0
- package/dist/types/components/ErrorSummary/_types.d.ts +15 -0
- package/dist/types/components/ErrorSummary/index.d.ts +2 -0
- package/dist/types/components/FileIcon/FileIcon.d.ts +3 -0
- package/dist/types/components/FileIcon/_types.d.ts +27 -0
- package/dist/types/components/FileIcon/fileIconRegistry.d.ts +4 -0
- package/dist/types/components/FileIcon/index.d.ts +3 -0
- package/dist/types/components/FileList/FileList.d.ts +3 -0
- package/dist/types/components/FileList/_types.d.ts +25 -0
- package/dist/types/components/FileList/index.d.ts +2 -0
- package/dist/types/components/FlexDiv/FlexDiv.d.ts +60 -0
- package/dist/types/components/FlexDiv/_types.d.ts +34 -0
- package/dist/types/components/FlexDiv/index.d.ts +2 -0
- package/dist/types/components/Grouper/Grouper.d.ts +3 -0
- package/dist/types/components/Grouper/_types.d.ts +20 -0
- package/dist/types/components/Grouper/index.d.ts +2 -0
- package/dist/types/components/Icon/Icon.d.ts +3 -0
- package/dist/types/components/Icon/_types.d.ts +131 -0
- package/dist/types/components/Icon/iconRegistry.d.ts +17 -0
- package/dist/types/components/Icon/index.d.ts +2 -0
- package/dist/types/components/IconButton/IconButton.d.ts +3 -0
- package/dist/types/components/IconButton/_types.d.ts +37 -0
- package/dist/types/components/IconButton/index.d.ts +2 -0
- package/dist/types/components/Label/Label.d.ts +2 -0
- package/dist/types/components/Label/_types.d.ts +26 -0
- package/dist/types/components/Label/index.d.ts +3 -0
- package/dist/types/components/Overlay/Overlay.d.ts +3 -0
- package/dist/types/components/Overlay/_types.d.ts +12 -0
- package/dist/types/components/Overlay/index.d.ts +2 -0
- package/dist/types/components/Pager/Pager.d.ts +3 -0
- package/dist/types/components/Pager/_types.d.ts +13 -0
- package/dist/types/components/Pager/index.d.ts +2 -0
- package/dist/types/components/Progress/DoneCheck/DoneCheck.d.ts +3 -0
- package/dist/types/components/Progress/DoneCheck/_types.d.ts +13 -0
- package/dist/types/components/Progress/ProgressIndicator/ProgressIndicator.d.ts +3 -0
- package/dist/types/components/Progress/ProgressIndicator/_types.d.ts +14 -0
- package/dist/types/components/Progress/index.d.ts +4 -0
- package/dist/types/components/PromptInput/PromptInput.d.ts +63 -0
- package/dist/types/components/PromptInput/_types.d.ts +35 -0
- package/dist/types/components/PromptInput/index.d.ts +2 -0
- package/dist/types/components/RadioButton/RadioButton.d.ts +3 -0
- package/dist/types/components/RadioButton/_types.d.ts +27 -0
- package/dist/types/components/RadioButton/index.d.ts +2 -0
- package/dist/types/components/RadioButtonList/RadioButtonList.d.ts +3 -0
- package/dist/types/components/RadioButtonList/_types.d.ts +26 -0
- package/dist/types/components/RadioButtonList/index.d.ts +2 -0
- package/dist/types/components/Slider/Slider.d.ts +3 -0
- package/dist/types/components/Slider/_types.d.ts +18 -0
- package/dist/types/components/Slider/index.d.ts +2 -0
- package/dist/types/components/Spacer/Spacer.d.ts +3 -0
- package/dist/types/components/Spacer/_types.d.ts +6 -0
- package/dist/types/components/Spacer/index.d.ts +2 -0
- package/dist/types/components/Switch/Switch.d.ts +3 -0
- package/dist/types/components/Switch/Switch.stories.d.ts +5 -0
- package/dist/types/components/Switch/_types.d.ts +17 -0
- package/dist/types/components/Switch/index.d.ts +2 -0
- package/dist/types/components/TabBar/TabBar.d.ts +3 -0
- package/dist/types/components/TabBar/_types.d.ts +52 -0
- package/dist/types/components/TabBar/index.d.ts +2 -0
- package/dist/types/components/TextArea/TextArea.d.ts +3 -0
- package/dist/types/components/TextArea/_types.d.ts +40 -0
- package/dist/types/components/TextArea/index.d.ts +2 -0
- package/dist/types/components/Textfield/TextField.d.ts +3 -0
- package/dist/types/components/Textfield/_types.d.ts +73 -0
- package/dist/types/components/Textfield/index.d.ts +2 -0
- package/dist/types/components/Tip/Tip.d.ts +3 -0
- package/dist/types/components/Tip/_types.d.ts +31 -0
- package/dist/types/components/Tip/index.d.ts +2 -0
- package/dist/types/components/Toast/Toast.d.ts +3 -0
- package/dist/types/components/Toast/_types.d.ts +24 -0
- package/dist/types/components/Toast/index.d.ts +2 -0
- package/dist/types/components/UploadArea/UploadArea.d.ts +62 -0
- package/dist/types/components/UploadArea/_types.d.ts +50 -0
- package/dist/types/components/UploadArea/index.d.ts +3 -0
- package/dist/types/components/playHelpers.d.ts +35 -0
- package/dist/types/components/sharedTypes.d.ts +21 -0
- package/dist/types/hooks/index.d.ts +9 -0
- package/dist/types/hooks/useDoubleClick/useDoubleClick.d.ts +1 -0
- package/dist/types/hooks/useKeyboardShortcuts/useKeyboardShortcuts.d.ts +9 -0
- package/dist/types/hooks/useLastUpdated/useLastUpdated.d.ts +4 -0
- package/dist/types/hooks/useLocalStore/useLocalStore.d.ts +1 -0
- package/dist/types/hooks/useObserveResize/useObserveResize.d.ts +9 -0
- package/dist/types/hooks/useObserveTheme/useObserveTheme.d.ts +2 -0
- package/dist/types/hooks/useTheme/useTheme.d.ts +47 -0
- package/dist/types/hooks/useToolTip/useToolTip.d.ts +6 -0
- package/dist/types/hooks/useTrackRenders/useTrackRenders.d.ts +5 -0
- package/dist/types/hooks/useWindow/useWindow.d.ts +43 -0
- package/dist/types/index.d.ts +75 -0
- package/dist/types/providers/ThemeProvider.d.ts +13 -0
- package/dist/types/providers/index.d.ts +1 -0
- package/dist/types/stores/LocalDB/_types.d.ts +43 -0
- package/dist/types/stores/LocalDB/index.d.ts +2 -0
- package/dist/types/stores/LocalDB/localDBStore.d.ts +18 -0
- package/dist/types/stores/SSE/_types.d.ts +17 -0
- package/dist/types/stores/SSE/index.d.ts +2 -0
- package/dist/types/stores/SSE/sseStore.d.ts +28 -0
- package/dist/types/stores/WS/_types.d.ts +17 -0
- package/dist/types/stores/WS/index.d.ts +2 -0
- package/dist/types/stores/WS/wsStore.d.ts +19 -0
- package/dist/types/stores/index.d.ts +6 -0
- package/dist/types/stores/tip/_types.d.ts +8 -0
- package/dist/types/stores/tip/index.d.ts +2 -0
- package/dist/types/stores/tip/tipStore.d.ts +12 -0
- package/dist/types/stores/toast/_types.d.ts +14 -0
- package/dist/types/stores/toast/index.d.ts +2 -0
- package/dist/types/stores/toast/toastStore.d.ts +12 -0
- package/dist/types/stores/uploads/_types.d.ts +16 -0
- package/dist/types/stores/uploads/index.d.ts +2 -0
- package/dist/types/stores/uploads/uploadsStore.d.ts +22 -0
- package/dist/types/stores/window/_types.d.ts +33 -0
- package/dist/types/stores/window/index.d.ts +3 -0
- package/dist/types/stores/window/windowStore.d.ts +25 -0
- package/dist/types/theme/colors/colors.d.ts +6 -0
- package/dist/types/theme/colors/types.d.ts +174 -0
- package/dist/types/theme/corners/corners.d.ts +2 -0
- package/dist/types/theme/corners/types.d.ts +10 -0
- package/dist/types/theme/elevations/_types.d.ts +10 -0
- package/dist/types/theme/elevations/elevations.d.ts +5 -0
- package/dist/types/theme/index.d.ts +9 -0
- package/dist/types/theme/motion/_types.d.ts +8 -0
- package/dist/types/theme/motion/motion.d.ts +5 -0
- package/dist/types/theme/themes.d.ts +16 -0
- package/dist/types/theme/type/type.d.ts +5 -0
- package/dist/types/theme/type/types.d.ts +25 -0
- package/dist/types/utils/functions/colors.d.ts +8 -0
- package/dist/types/utils/functions/debounce.d.ts +9 -0
- package/dist/types/utils/functions/files.d.ts +15 -0
- package/dist/types/utils/functions/misc.d.ts +61 -0
- package/dist/types/utils/index.d.ts +5 -0
- package/dist/types/utils/objects/IndexedDB/IndexedDB.d.ts +62 -0
- package/dist/types/utils/objects/SSEConnection/SSEConnection.d.ts +187 -0
- package/dist/types/utils/objects/WSConnection/WSConnection.d.ts +159 -0
- package/dist/types/utils/objects/index.d.ts +6 -0
- package/dist/types/workers/uploads/uploads-worker.d.ts +129 -0
- package/dist/types/workers/uploads/uploads.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/chunks/Label-CZvJbATa.js +0 -118
- package/dist/cjs/chunks/localDBStore-Cl1YFPIe.js +0 -182
- package/dist/esm/chunks/Label-7ezP3eHw.mjs +0 -131
- package/dist/esm/chunks/localDBStore-CbCoeN66.mjs +0 -186
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface DebouncedFunction<T extends (...args: any[]) => any> {
|
|
2
|
+
(...args: Parameters<T>): void;
|
|
3
|
+
cancel: () => void;
|
|
4
|
+
flush: () => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Delay a function call until activity stops, with cancel and flush helpers.
|
|
8
|
+
*/
|
|
9
|
+
export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number): DebouncedFunction<T>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split a file name into its display name and extension.
|
|
3
|
+
*/
|
|
4
|
+
export declare function nameAndExtension(fileName: string): {
|
|
5
|
+
name: string;
|
|
6
|
+
ext: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Map a file extension to the corresponding file icon name.
|
|
10
|
+
*/
|
|
11
|
+
export declare function fileIconName(extension: string): "other" | "text" | "sheet" | "image" | "video" | "audio" | "code" | "md" | "preso" | "pdf" | "clipboard";
|
|
12
|
+
/**
|
|
13
|
+
* Create a clipboard-text file with a guaranteed `.clipboard` extension.
|
|
14
|
+
*/
|
|
15
|
+
export declare function clipboardTextToFile(content: string, fileName?: string): File;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Convert a numeric or string size into a CSS-ready size value.
|
|
4
|
+
*/
|
|
5
|
+
export declare function setSizeStyle(size: string | number | undefined): string;
|
|
6
|
+
/**
|
|
7
|
+
* Remove scripts, invisible characters, and optional HTML tags from a string.
|
|
8
|
+
*/
|
|
9
|
+
export declare function cleanString(input: string, removeInvisible?: boolean, removeHtml?: boolean): string;
|
|
10
|
+
/**
|
|
11
|
+
* Check whether the active document theme is currently dark.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isDarkMode(): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Log mount, unmount, and prop-change reasons for debug render tracking.
|
|
16
|
+
*/
|
|
17
|
+
export declare function debug(previous: any, updated: any, name?: string): {
|
|
18
|
+
props: any;
|
|
19
|
+
mount: boolean;
|
|
20
|
+
unmount: boolean;
|
|
21
|
+
} | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Build a readable list of prop changes between two prop snapshots.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createPropChangeArray(props: any, updated: any): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Capture props and lifecycle flags for the render debug helpers.
|
|
28
|
+
*/
|
|
29
|
+
export declare function setProps(props: any, mount?: boolean, unmount?: boolean): {
|
|
30
|
+
props: any;
|
|
31
|
+
mount: boolean;
|
|
32
|
+
unmount: boolean;
|
|
33
|
+
} | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Convert a hex color into an RGB string literal.
|
|
36
|
+
*/
|
|
37
|
+
export declare const hexToRgb: (hex: string | undefined) => string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Trigger a click-like callback when one of the configured keys is pressed.
|
|
40
|
+
*/
|
|
41
|
+
export declare function accessibleKeyDown(e: React.KeyboardEvent<any>, clickFunction: () => void, keys?: string[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Read the horizontal pointer position from a mouse or touch event.
|
|
44
|
+
*/
|
|
45
|
+
export declare function pointerPosition(e: MouseEvent | TouchEvent): number;
|
|
46
|
+
/**
|
|
47
|
+
* Remove empty class names and join the remainder into one class string.
|
|
48
|
+
*/
|
|
49
|
+
export declare function filterClasses(classNames: string[]): string;
|
|
50
|
+
/**
|
|
51
|
+
* Normalize a style value or fallback into a CSS-ready string.
|
|
52
|
+
*/
|
|
53
|
+
export declare function setStyle(value: string | number | undefined, defaultVal?: number | string | undefined): string;
|
|
54
|
+
/**
|
|
55
|
+
* Copy text to the clipboard using a temporary hidden textarea.
|
|
56
|
+
*/
|
|
57
|
+
export declare const copyToClipboard: (rawContent: string) => Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* Convert numeric or string percentage input into a normalized number.
|
|
60
|
+
*/
|
|
61
|
+
export declare function normalizedPercent(value: number | string): number;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { copyToClipboard, hexToRgb } from './functions/misc';
|
|
2
|
+
export { debounce } from './functions/debounce';
|
|
3
|
+
export * from './functions/colors';
|
|
4
|
+
export { IndexedDB, SSEConnection, WSConnection } from './objects';
|
|
5
|
+
export type { IndexedDBOptions, SSECustomEvent, SSEConnectionCloseOption, SSEConnectionOptions, SSEEventMap, SSEUnifiedBuiltInMessage, SSEUnifiedCustomMessage, SSEUnifiedMessage, UnifiedMessageEvent, WSConnectionOptions, } from './objects';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export interface IndexedDBOptions {
|
|
2
|
+
databaseName?: string;
|
|
3
|
+
version?: number;
|
|
4
|
+
key?: string;
|
|
5
|
+
autoIncrement?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class IndexedDB<T> {
|
|
8
|
+
private readonly databaseName;
|
|
9
|
+
private readonly storeName;
|
|
10
|
+
private readonly version;
|
|
11
|
+
private readonly key?;
|
|
12
|
+
private readonly autoIncrement;
|
|
13
|
+
private db;
|
|
14
|
+
constructor(storeName: string, options?: IndexedDBOptions);
|
|
15
|
+
/**
|
|
16
|
+
* Initialize the IndexedDB connection.
|
|
17
|
+
*/
|
|
18
|
+
initialize(create?: boolean): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Get a single DB value by key.
|
|
21
|
+
*/
|
|
22
|
+
get(key: IDBValidKey): Promise<T | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Get all the values in the store.
|
|
25
|
+
*/
|
|
26
|
+
getAll(): Promise<T[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Get all keys in the store.
|
|
29
|
+
*/
|
|
30
|
+
getAllKeys(): Promise<IDBValidKey[]>;
|
|
31
|
+
set(key: IDBValidKey, value: T): Promise<IDBValidKey>;
|
|
32
|
+
/**
|
|
33
|
+
* Adds a new value to the store with or without a key.
|
|
34
|
+
* If a key already exists it will error.
|
|
35
|
+
*/
|
|
36
|
+
add(value: T, key?: IDBValidKey): Promise<IDBValidKey>;
|
|
37
|
+
/**
|
|
38
|
+
* Updates a value by key. This uses IndexedDB put semantics.
|
|
39
|
+
*/
|
|
40
|
+
update(key: IDBValidKey, value: T): Promise<IDBValidKey>;
|
|
41
|
+
/**
|
|
42
|
+
* Removes a value from the store by key.
|
|
43
|
+
*/
|
|
44
|
+
remove(key: IDBValidKey): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Clear all the store values
|
|
47
|
+
*/
|
|
48
|
+
clear(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Cleanly close the IndexedDB connection.
|
|
51
|
+
*/
|
|
52
|
+
close(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Deletes an indexedDB database.
|
|
55
|
+
*/
|
|
56
|
+
destroy(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Private executor of request of the indexedDB
|
|
59
|
+
* Returns the result of the indexedDB request including the error if there is one
|
|
60
|
+
*/
|
|
61
|
+
private runRequest;
|
|
62
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps each custom SSE event name to the payload type that event emits.
|
|
3
|
+
*/
|
|
4
|
+
export type SSEEventMap = Record<string, unknown>;
|
|
5
|
+
/**
|
|
6
|
+
* Parsed SSE payloads can still be raw strings when the event data is not JSON.
|
|
7
|
+
*/
|
|
8
|
+
type SSEParsedData<T> = T | string;
|
|
9
|
+
/**
|
|
10
|
+
* Restricts custom event names to string keys so they can be used with
|
|
11
|
+
* `addEventListener`.
|
|
12
|
+
*/
|
|
13
|
+
type SSEEventName<TCustomEvents extends SSEEventMap> = Extract<keyof TCustomEvents, string>;
|
|
14
|
+
/**
|
|
15
|
+
* Built-in EventSource events represented in unified callback mode.
|
|
16
|
+
*/
|
|
17
|
+
export type SSEUnifiedBuiltInMessage<TMessage> = {
|
|
18
|
+
type: 'message';
|
|
19
|
+
data: SSEParsedData<TMessage>;
|
|
20
|
+
event: MessageEvent;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'error';
|
|
23
|
+
event: Event;
|
|
24
|
+
} | {
|
|
25
|
+
type: 'open';
|
|
26
|
+
event: Event;
|
|
27
|
+
} | {
|
|
28
|
+
type: 'close';
|
|
29
|
+
event: Event;
|
|
30
|
+
};
|
|
31
|
+
export interface SSEConnectionCloseOption<TCustomEvents extends SSEEventMap = Record<string, never>> {
|
|
32
|
+
event?: SSEEventName<TCustomEvents>;
|
|
33
|
+
message?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A custom event in unified callback mode. The `type` determines the shape of
|
|
37
|
+
* `data`.
|
|
38
|
+
*/
|
|
39
|
+
export type SSEUnifiedCustomMessage<TCustomEvents extends SSEEventMap, TName extends SSEEventName<TCustomEvents> = SSEEventName<TCustomEvents>> = {
|
|
40
|
+
type: TName;
|
|
41
|
+
data: SSEParsedData<TCustomEvents[TName]>;
|
|
42
|
+
event: MessageEvent;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* All messages that can flow through the single unified callback.
|
|
46
|
+
*/
|
|
47
|
+
export type SSEUnifiedMessage<TMessage, TCustomEvents extends SSEEventMap> = SSEUnifiedBuiltInMessage<TMessage> | SSEUnifiedCustomMessage<TCustomEvents>;
|
|
48
|
+
/**
|
|
49
|
+
* Callback signature for standard mode, where only the default `message`
|
|
50
|
+
* event is routed to `onMessageCallback`.
|
|
51
|
+
*/
|
|
52
|
+
type SSEStandardMessageCallback<TMessage> = (data: SSEParsedData<TMessage>) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Callback signature for unified mode, where built-in and custom events are
|
|
55
|
+
* all routed through a discriminated object.
|
|
56
|
+
*/
|
|
57
|
+
type SSEUnifiedMessageCallback<TMessage, TCustomEvents extends SSEEventMap> = (message: SSEUnifiedMessage<TMessage, TCustomEvents>) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Declares one custom SSE event. `name` selects a key from the event map, and
|
|
60
|
+
* `handler` is typed to that event's payload when provided.
|
|
61
|
+
*/
|
|
62
|
+
export interface SSECustomEvent<TCustomEvents extends SSEEventMap, TName extends SSEEventName<TCustomEvents> = SSEEventName<TCustomEvents>> {
|
|
63
|
+
name: TName;
|
|
64
|
+
handler?: (data: TCustomEvents[TName]) => void;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Options shared by both standard and unified message modes.
|
|
68
|
+
*/
|
|
69
|
+
interface SSEConnectionOptionsBase<TCustomEvents extends SSEEventMap = Record<string, never>> {
|
|
70
|
+
url?: string;
|
|
71
|
+
options?: EventSourceInit;
|
|
72
|
+
connectionClose?: SSEConnectionCloseOption<TCustomEvents>;
|
|
73
|
+
onErrorCallback?: (event: Event) => void;
|
|
74
|
+
onOpenCallback?: (event: Event) => void;
|
|
75
|
+
onCloseCallback?: (event: Event) => void;
|
|
76
|
+
customEvents?: SSECustomEvent<TCustomEvents> | SSECustomEvent<TCustomEvents>[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Options for unified mode. When enabled, every built-in and custom event is
|
|
80
|
+
* emitted through `onMessageCallback`.
|
|
81
|
+
*/
|
|
82
|
+
interface SSEConnectionUnifiedOptions<TMessage = unknown, TCustomEvents extends SSEEventMap = Record<string, never>> extends SSEConnectionOptionsBase<TCustomEvents> {
|
|
83
|
+
unifiedOnMessage: true;
|
|
84
|
+
onMessageCallback?: SSEUnifiedMessageCallback<TMessage, TCustomEvents>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Options for standard mode. Only the default `message` event payload is sent
|
|
88
|
+
* to `onMessageCallback`.
|
|
89
|
+
*/
|
|
90
|
+
interface SSEConnectionStandardOptions<TMessage = unknown, TCustomEvents extends SSEEventMap = Record<string, never>> extends SSEConnectionOptionsBase<TCustomEvents> {
|
|
91
|
+
unifiedOnMessage?: false;
|
|
92
|
+
onMessageCallback?: SSEStandardMessageCallback<TMessage>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Public connection options. The `unifiedOnMessage` flag selects which
|
|
96
|
+
* callback signature is valid.
|
|
97
|
+
*/
|
|
98
|
+
export type SSEConnectionOptions<TMessage = unknown, TCustomEvents extends SSEEventMap = Record<string, never>> = SSEConnectionStandardOptions<TMessage, TCustomEvents> | SSEConnectionUnifiedOptions<TMessage, TCustomEvents>;
|
|
99
|
+
/**
|
|
100
|
+
* Manage an EventSource connection with optional unified callbacks and typed custom events.
|
|
101
|
+
*/
|
|
102
|
+
export declare class SSEConnection<TMessage = unknown, TCustomEvents extends SSEEventMap = Record<string, never>> {
|
|
103
|
+
private readonly url;
|
|
104
|
+
private readonly options;
|
|
105
|
+
private sseConnection;
|
|
106
|
+
private readonly onMessageCallback?;
|
|
107
|
+
private readonly onErrorCallback?;
|
|
108
|
+
private readonly onOpenCallback?;
|
|
109
|
+
private readonly onCloseCallback?;
|
|
110
|
+
private readonly connectionClose?;
|
|
111
|
+
private readonly customEvents;
|
|
112
|
+
private readonly customEventHandlers;
|
|
113
|
+
private readonly unifiedOnMessage;
|
|
114
|
+
/**
|
|
115
|
+
* Whether the underlying EventSource is currently open.
|
|
116
|
+
*/
|
|
117
|
+
get connected(): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Direct access to the underlying EventSource instance.
|
|
120
|
+
*/
|
|
121
|
+
get connection(): EventSource | null;
|
|
122
|
+
/**
|
|
123
|
+
* Create the EventSource connection and attach its initial listeners.
|
|
124
|
+
*/
|
|
125
|
+
constructor(options?: SSEConnectionOptions<TMessage, TCustomEvents>);
|
|
126
|
+
/**
|
|
127
|
+
* Safely parse SSE event data. Falls back to the raw string when the payload is not JSON.
|
|
128
|
+
*/
|
|
129
|
+
private parseEventData;
|
|
130
|
+
/**
|
|
131
|
+
* Attach the default EventSource listeners for message, error, and open events.
|
|
132
|
+
*/
|
|
133
|
+
private attachDefaultEventListeners;
|
|
134
|
+
/**
|
|
135
|
+
* Emit parsed message data when standard callback mode is enabled.
|
|
136
|
+
*/
|
|
137
|
+
private emitParsedMessage;
|
|
138
|
+
/**
|
|
139
|
+
* Emit a unified message object when unified callback mode is enabled.
|
|
140
|
+
*/
|
|
141
|
+
private emitUnifiedMessage;
|
|
142
|
+
/**
|
|
143
|
+
* Emit the close callback and unified close event.
|
|
144
|
+
*/
|
|
145
|
+
private emitCloseEvent;
|
|
146
|
+
/**
|
|
147
|
+
* Close the connection in response to an SSE-level close condition.
|
|
148
|
+
*/
|
|
149
|
+
private closeFromConnectionEvent;
|
|
150
|
+
/**
|
|
151
|
+
* Check whether an incoming message should close the connection.
|
|
152
|
+
*/
|
|
153
|
+
private shouldCloseFromMessage;
|
|
154
|
+
/**
|
|
155
|
+
* Emit one custom event through unified callback mode.
|
|
156
|
+
*/
|
|
157
|
+
private emitUnifiedCustomMessage;
|
|
158
|
+
/**
|
|
159
|
+
* Attach one typed custom event listener to the SSE connection.
|
|
160
|
+
*/
|
|
161
|
+
private attachCustomEventListener;
|
|
162
|
+
/**
|
|
163
|
+
* Attach all configured custom event listeners to the SSE connection.
|
|
164
|
+
*/
|
|
165
|
+
private attachCustomEventListeners;
|
|
166
|
+
/**
|
|
167
|
+
* Detach every default and custom listener from the current EventSource.
|
|
168
|
+
*/
|
|
169
|
+
private detachAllEventListeners;
|
|
170
|
+
/**
|
|
171
|
+
* Parse and emit the default `message` event payload.
|
|
172
|
+
*/
|
|
173
|
+
onMessage: (event: MessageEvent) => void;
|
|
174
|
+
/**
|
|
175
|
+
* Forward EventSource errors through the configured callbacks.
|
|
176
|
+
*/
|
|
177
|
+
onError: (event: Event) => void;
|
|
178
|
+
/**
|
|
179
|
+
* Forward EventSource open events through the configured callbacks.
|
|
180
|
+
*/
|
|
181
|
+
onOpen: (event: Event) => void;
|
|
182
|
+
/**
|
|
183
|
+
* Close the SSE connection and release resources.
|
|
184
|
+
*/
|
|
185
|
+
close: () => void;
|
|
186
|
+
}
|
|
187
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
type WSRawData = string | Blob | ArrayBuffer;
|
|
2
|
+
type WSParsedData<TMessage> = TMessage | WSRawData;
|
|
3
|
+
export type UnifiedMessageEvent<TMessage> = {
|
|
4
|
+
type: 'message';
|
|
5
|
+
data: WSParsedData<TMessage>;
|
|
6
|
+
event: MessageEvent;
|
|
7
|
+
} | {
|
|
8
|
+
type: 'open';
|
|
9
|
+
event: Event;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'close';
|
|
12
|
+
event: CloseEvent;
|
|
13
|
+
} | {
|
|
14
|
+
type: 'error';
|
|
15
|
+
event: ErrorEvent;
|
|
16
|
+
};
|
|
17
|
+
type WSStandardMessageCallback<TMessage> = (data: WSParsedData<TMessage>) => void;
|
|
18
|
+
type WSUnifiedMessageCallback<TMessage> = (message: UnifiedMessageEvent<TMessage>) => void;
|
|
19
|
+
interface WSConnectionOptionsBase {
|
|
20
|
+
url: string;
|
|
21
|
+
autoReconnect?: boolean;
|
|
22
|
+
reconnectInterval?: number;
|
|
23
|
+
reconnectAttempts?: number;
|
|
24
|
+
reconnectFalloff?: boolean;
|
|
25
|
+
keepAlive?: boolean;
|
|
26
|
+
keepAliveInterval?: number;
|
|
27
|
+
token?: string | (() => Promise<string>);
|
|
28
|
+
onOpenCallback?: (event: Event) => void;
|
|
29
|
+
onCloseCallback?: (event: CloseEvent) => void;
|
|
30
|
+
onErrorCallback?: (error: ErrorEvent) => void;
|
|
31
|
+
}
|
|
32
|
+
interface WSConnectionUnifiedOptions<TMessage = unknown> extends WSConnectionOptionsBase {
|
|
33
|
+
unifiedMessages: true;
|
|
34
|
+
onMessageCallback?: WSUnifiedMessageCallback<TMessage>;
|
|
35
|
+
}
|
|
36
|
+
interface WSConnectionStandardOptions<TMessage = unknown> extends WSConnectionOptionsBase {
|
|
37
|
+
unifiedMessages?: false;
|
|
38
|
+
onMessageCallback?: WSStandardMessageCallback<TMessage>;
|
|
39
|
+
}
|
|
40
|
+
export type WSConnectionOptions<TMessage = unknown> = WSConnectionStandardOptions<TMessage> | WSConnectionUnifiedOptions<TMessage>;
|
|
41
|
+
/**
|
|
42
|
+
* Manage a WebSocket connection with optional unified events, retries, and keep-alive pings.
|
|
43
|
+
*/
|
|
44
|
+
export declare class WSConnection<TMessage = unknown> {
|
|
45
|
+
private readonly url;
|
|
46
|
+
private readonly autoReconnect;
|
|
47
|
+
private readonly reconnectInterval;
|
|
48
|
+
private readonly reconnectAttempts;
|
|
49
|
+
private readonly reconnectFalloff;
|
|
50
|
+
private readonly keepAlive;
|
|
51
|
+
private readonly keepAliveInterval;
|
|
52
|
+
private readonly unifiedMessages;
|
|
53
|
+
private readonly token;
|
|
54
|
+
private readonly onMessageCallback?;
|
|
55
|
+
private readonly onOpenCallback?;
|
|
56
|
+
private readonly onCloseCallback?;
|
|
57
|
+
private readonly onErrorCallback?;
|
|
58
|
+
private socket;
|
|
59
|
+
private keepAliveTimer;
|
|
60
|
+
private reconnectIntervalTimer;
|
|
61
|
+
private reconnectAttemptsCount;
|
|
62
|
+
private manuallyClosed;
|
|
63
|
+
/**
|
|
64
|
+
* Report whether the underlying socket is currently open.
|
|
65
|
+
*/
|
|
66
|
+
get connected(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Expose the underlying WebSocket instance.
|
|
69
|
+
*/
|
|
70
|
+
get connection(): WebSocket | null;
|
|
71
|
+
/**
|
|
72
|
+
* Initialize the socket connection and configure its runtime options.
|
|
73
|
+
*/
|
|
74
|
+
constructor(options: WSConnectionOptions<TMessage>);
|
|
75
|
+
/**
|
|
76
|
+
* Send a string or JSON-serializable payload through the socket.
|
|
77
|
+
*/
|
|
78
|
+
send(message: unknown): void;
|
|
79
|
+
/**
|
|
80
|
+
* Close the socket intentionally and stop any reconnect attempts.
|
|
81
|
+
*/
|
|
82
|
+
close(closeEvent: {
|
|
83
|
+
code: number;
|
|
84
|
+
reason: string;
|
|
85
|
+
}): void;
|
|
86
|
+
/**
|
|
87
|
+
* Emit parsed message data when standard callback mode is enabled.
|
|
88
|
+
*/
|
|
89
|
+
private emitParsedMessage;
|
|
90
|
+
/**
|
|
91
|
+
* Emit a unified event object when unified callback mode is enabled.
|
|
92
|
+
*/
|
|
93
|
+
private emitUnifiedMessage;
|
|
94
|
+
/**
|
|
95
|
+
* Forward an error event through both direct and unified callbacks.
|
|
96
|
+
*/
|
|
97
|
+
private emitErrorEvent;
|
|
98
|
+
/**
|
|
99
|
+
* Parse incoming message data, falling back to raw socket payloads when needed.
|
|
100
|
+
*/
|
|
101
|
+
private parseEventData;
|
|
102
|
+
/**
|
|
103
|
+
* Initialize connection state after the socket opens.
|
|
104
|
+
*/
|
|
105
|
+
private readonly onOpen;
|
|
106
|
+
/**
|
|
107
|
+
* Parse and emit each incoming socket message.
|
|
108
|
+
*/
|
|
109
|
+
private readonly onMessage;
|
|
110
|
+
/**
|
|
111
|
+
* Clean up the socket and trigger reconnect logic after unexpected closes.
|
|
112
|
+
*/
|
|
113
|
+
private readonly onClose;
|
|
114
|
+
/**
|
|
115
|
+
* Normalize socket errors before forwarding them to consumers.
|
|
116
|
+
*/
|
|
117
|
+
private readonly onError;
|
|
118
|
+
/**
|
|
119
|
+
* Attach the connection lifecycle listeners to the current socket.
|
|
120
|
+
*/
|
|
121
|
+
private attachEventListeners;
|
|
122
|
+
/**
|
|
123
|
+
* Start periodic ping messages to keep the socket active.
|
|
124
|
+
*/
|
|
125
|
+
private setKeepAlive;
|
|
126
|
+
/**
|
|
127
|
+
* Stop the active keep-alive timer if one is running.
|
|
128
|
+
*/
|
|
129
|
+
private clearKeepAliveTimer;
|
|
130
|
+
/**
|
|
131
|
+
* Stop the active reconnect timer if one is running.
|
|
132
|
+
*/
|
|
133
|
+
private clearReconnectTimer;
|
|
134
|
+
/**
|
|
135
|
+
* Detach all lifecycle listeners from the current socket.
|
|
136
|
+
*/
|
|
137
|
+
private detachEventListeners;
|
|
138
|
+
/**
|
|
139
|
+
* Open a new socket connection when one is not already active.
|
|
140
|
+
*/
|
|
141
|
+
private connect;
|
|
142
|
+
/**
|
|
143
|
+
* Schedule the next reconnect attempt when reconnects are allowed.
|
|
144
|
+
*/
|
|
145
|
+
private reconnect;
|
|
146
|
+
/**
|
|
147
|
+
* Calculate the reconnect delay, optionally using exponential backoff.
|
|
148
|
+
*/
|
|
149
|
+
private getReconnectDelay;
|
|
150
|
+
/**
|
|
151
|
+
* Decide whether a close event should trigger a reconnect attempt.
|
|
152
|
+
*/
|
|
153
|
+
private shouldReconnect;
|
|
154
|
+
/**
|
|
155
|
+
* Close the current socket instance and release its timers and listeners.
|
|
156
|
+
*/
|
|
157
|
+
private closeSocket;
|
|
158
|
+
}
|
|
159
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { IndexedDB } from './IndexedDB/IndexedDB';
|
|
2
|
+
export type { IndexedDBOptions } from './IndexedDB/IndexedDB';
|
|
3
|
+
export { SSEConnection } from './SSEConnection/SSEConnection';
|
|
4
|
+
export { WSConnection } from './WSConnection/WSConnection';
|
|
5
|
+
export type { SSECustomEvent, SSEConnectionCloseOption, SSEConnectionOptions, SSEEventMap, SSEUnifiedBuiltInMessage, SSEUnifiedCustomMessage, SSEUnifiedMessage, } from './SSEConnection/SSEConnection';
|
|
6
|
+
export type { UnifiedMessageEvent, WSConnectionOptions, } from './WSConnection/WSConnection';
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export declare enum FileUploadStatus {
|
|
2
|
+
queued = "pending",
|
|
3
|
+
uploading = "uploading",
|
|
4
|
+
completed = "completed",
|
|
5
|
+
failed = "failed"
|
|
6
|
+
}
|
|
7
|
+
export declare enum UploadError {
|
|
8
|
+
SizeExceedsLimit = "size exceed limit",
|
|
9
|
+
TypeNotAllowed = "file type not allowed",
|
|
10
|
+
UploadFailed = "upload failed",
|
|
11
|
+
UploadURLNotFound = "invalid upload url",
|
|
12
|
+
AccessForbidden = "upload access forbidden",
|
|
13
|
+
NotAuthorized = "upload not authorized on server",
|
|
14
|
+
TooLarge = "payload too large for server",
|
|
15
|
+
MediaNotSupported = "server does not supported file type",
|
|
16
|
+
InternalError = "Internal server error",
|
|
17
|
+
Other = "Other server error"
|
|
18
|
+
}
|
|
19
|
+
export type Upload = {
|
|
20
|
+
id: string;
|
|
21
|
+
file: File;
|
|
22
|
+
uploadURL?: string;
|
|
23
|
+
status: FileUploadStatus;
|
|
24
|
+
error?: UploadError;
|
|
25
|
+
progress?: number;
|
|
26
|
+
};
|
|
27
|
+
export type UploadInput = {
|
|
28
|
+
file: File;
|
|
29
|
+
uploadURL?: string;
|
|
30
|
+
};
|
|
31
|
+
export type ConfigurationOptions = {
|
|
32
|
+
uploadURL: string;
|
|
33
|
+
maxQueueSize?: number;
|
|
34
|
+
maxFileSize?: number;
|
|
35
|
+
accepted?: string[];
|
|
36
|
+
maxConcurrentUploads?: number;
|
|
37
|
+
};
|
|
38
|
+
export type UploadStatusMessage = {
|
|
39
|
+
type: 'status';
|
|
40
|
+
uploads: Upload[];
|
|
41
|
+
workerStatus: WorkerStatus;
|
|
42
|
+
};
|
|
43
|
+
export type UploadWorkerErrorMessage = {
|
|
44
|
+
type: 'error';
|
|
45
|
+
message: string;
|
|
46
|
+
};
|
|
47
|
+
export type UploadWorkerMessage = {
|
|
48
|
+
type: 'initialize';
|
|
49
|
+
options: ConfigurationOptions;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'add-files';
|
|
52
|
+
files: UploadInput[];
|
|
53
|
+
} | {
|
|
54
|
+
type: 'clear-uploads';
|
|
55
|
+
};
|
|
56
|
+
export type UploadWorkerResponse = UploadStatusMessage | UploadWorkerErrorMessage;
|
|
57
|
+
export interface UploadWorkerBridge {
|
|
58
|
+
updateStatus(status: Upload[]): void;
|
|
59
|
+
}
|
|
60
|
+
export declare enum WorkerStatus {
|
|
61
|
+
Idle = "idle",
|
|
62
|
+
Busy = "busy"
|
|
63
|
+
}
|
|
64
|
+
export declare class UploadWorkerClient implements UploadWorkerBridge {
|
|
65
|
+
private readonly target;
|
|
66
|
+
private readonly getWorkerStatus;
|
|
67
|
+
constructor(target: {
|
|
68
|
+
postMessage: (message: UploadWorkerResponse) => void;
|
|
69
|
+
}, getWorkerStatus: () => WorkerStatus);
|
|
70
|
+
updateStatus(status: Upload[]): void;
|
|
71
|
+
}
|
|
72
|
+
type UploadWorkerTarget = {
|
|
73
|
+
onmessage: ((event: MessageEvent<UploadWorkerMessage>) => void) | null;
|
|
74
|
+
postMessage: (message: UploadWorkerResponse) => void;
|
|
75
|
+
};
|
|
76
|
+
export declare class UploadsWorker {
|
|
77
|
+
private readonly uploadURL;
|
|
78
|
+
private readonly maxQueueSize;
|
|
79
|
+
private readonly maxFileSize;
|
|
80
|
+
private readonly accepted;
|
|
81
|
+
private readonly maxConcurrentUploads;
|
|
82
|
+
private readonly worker;
|
|
83
|
+
private readonly queue;
|
|
84
|
+
private readonly active;
|
|
85
|
+
private readonly completed;
|
|
86
|
+
private readonly failed;
|
|
87
|
+
private workerStatus;
|
|
88
|
+
constructor(options: ConfigurationOptions, worker?: UploadWorkerBridge);
|
|
89
|
+
/**
|
|
90
|
+
* Add new files to the upload queue
|
|
91
|
+
*/
|
|
92
|
+
addFiles(file: UploadInput | File | Array<UploadInput | File>): void;
|
|
93
|
+
/**
|
|
94
|
+
* Stop activity and flush all maps / data
|
|
95
|
+
*/
|
|
96
|
+
clearUploads(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Start the processing files in the upload queue
|
|
99
|
+
*/
|
|
100
|
+
process(): void;
|
|
101
|
+
get status(): WorkerStatus;
|
|
102
|
+
private startUpload;
|
|
103
|
+
/**
|
|
104
|
+
* perform the actual upload
|
|
105
|
+
*/
|
|
106
|
+
private uploadFile;
|
|
107
|
+
/**
|
|
108
|
+
* Update the active upload with new data
|
|
109
|
+
*/
|
|
110
|
+
private updateUploadStatus;
|
|
111
|
+
/**
|
|
112
|
+
* Create array with the current state of all uploads
|
|
113
|
+
*/
|
|
114
|
+
private currentStatus;
|
|
115
|
+
/**
|
|
116
|
+
* Push status updates to the web worker
|
|
117
|
+
*/
|
|
118
|
+
private notifyStatus;
|
|
119
|
+
}
|
|
120
|
+
export declare class UploadsWorkerRuntime {
|
|
121
|
+
private readonly target;
|
|
122
|
+
private uploads;
|
|
123
|
+
constructor(target: UploadWorkerTarget);
|
|
124
|
+
private handleMessage;
|
|
125
|
+
private getWorkerStatus;
|
|
126
|
+
private postError;
|
|
127
|
+
}
|
|
128
|
+
export declare function registerUploadsWorker(target?: UploadWorkerTarget): UploadsWorkerRuntime;
|
|
129
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|