@pinnacle0/web-ui 0.5.83 → 0.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/AdminApp/Default/NavigatorSide/index.js +14 -50
- package/admin/AdminApp/Default/NavigatorSide/index.js.map +1 -1
- package/admin/AdminApp/Default/SoundSwitch.js +15 -34
- package/admin/AdminApp/Default/SoundSwitch.js.map +1 -1
- package/admin/AdminApp/Default/SquareLogo/index.js +8 -29
- package/admin/AdminApp/Default/SquareLogo/index.js.map +1 -1
- package/admin/AdminApp/Menu.js +40 -82
- package/admin/AdminApp/Menu.js.map +1 -1
- package/admin/AdminApp/Navigator.js +57 -83
- package/admin/AdminApp/Navigator.js.map +1 -1
- package/admin/AdminApp/NotFound.js +8 -30
- package/admin/AdminApp/NotFound.js.map +1 -1
- package/admin/AdminApp/RouteSwitch.js +21 -53
- package/admin/AdminApp/RouteSwitch.js.map +1 -1
- package/admin/AdminApp/WithErrorBoundary.js +13 -33
- package/admin/AdminApp/WithErrorBoundary.js.map +1 -1
- package/admin/AdminApp/context.js +3 -3
- package/admin/AdminApp/context.js.map +1 -1
- package/admin/AdminApp/index.js +26 -43
- package/admin/AdminApp/index.js.map +1 -1
- package/admin/AdminPage/Filter.js +20 -38
- package/admin/AdminPage/Filter.js.map +1 -1
- package/admin/AdminPage/Result.js +15 -62
- package/admin/AdminPage/Result.js.map +1 -1
- package/admin/AdminPage/SaveBar.js +7 -28
- package/admin/AdminPage/SaveBar.js.map +1 -1
- package/admin/AdminPage/Summary.js +6 -27
- package/admin/AdminPage/Summary.js.map +1 -1
- package/admin/AdminPage/TopBar.js +6 -27
- package/admin/AdminPage/TopBar.js.map +1 -1
- package/admin/AdminPage/index.js +11 -32
- package/admin/AdminPage/index.js.map +1 -1
- package/admin/AdminPermissionSelector.js +147 -195
- package/admin/AdminPermissionSelector.js.map +1 -1
- package/core/Amount/AmountPercentage.js +7 -50
- package/core/Amount/AmountPercentage.js.map +1 -1
- package/core/Amount/index.js +15 -36
- package/core/Amount/index.js.map +1 -1
- package/core/AmountConditionInput.js +27 -74
- package/core/AmountConditionInput.js.map +1 -1
- package/core/AmountRangeInput.js +17 -75
- package/core/AmountRangeInput.js.map +1 -1
- package/core/Animated/AnimatePresence.js +35 -87
- package/core/Animated/AnimatePresence.js.map +1 -1
- package/core/Animated/createAnimatedComponent.js +28 -50
- package/core/Animated/createAnimatedComponent.js.map +1 -1
- package/core/Animated/index.js +5 -5
- package/core/Animated/index.js.map +1 -1
- package/core/AuthenticationCodeInput/index.js +48 -136
- package/core/AuthenticationCodeInput/index.js.map +1 -1
- package/core/AutoCompleteInput.js +6 -38
- package/core/AutoCompleteInput.js.map +1 -1
- package/core/Badge.js +2 -13
- package/core/Badge.js.map +1 -1
- package/core/BoolRadio.js +16 -64
- package/core/BoolRadio.js.map +1 -1
- package/core/BoolSelect.js +16 -63
- package/core/BoolSelect.js.map +1 -1
- package/core/BoolSwitch.js +16 -48
- package/core/BoolSwitch.js.map +1 -1
- package/core/Breadcrumb/index.js +18 -66
- package/core/Breadcrumb/index.js.map +1 -1
- package/core/Button.js +2 -25
- package/core/Button.js.map +1 -1
- package/core/Card.js +6 -38
- package/core/Card.js.map +1 -1
- package/core/Carousel.js +6 -49
- package/core/Carousel.js.map +1 -1
- package/core/Carousel3D/index.js +64 -83
- package/core/Carousel3D/index.js.map +1 -1
- package/core/Cascader/InitialNullable.js +7 -50
- package/core/Cascader/InitialNullable.js.map +1 -1
- package/core/Cascader/Nullable.js +11 -81
- package/core/Cascader/Nullable.js.map +1 -1
- package/core/Cascader/index.js +38 -109
- package/core/Cascader/index.js.map +1 -1
- package/core/Checkbox.js +9 -67
- package/core/Checkbox.js.map +1 -1
- package/core/Collapse.js +5 -37
- package/core/Collapse.js.map +1 -1
- package/core/Countdown/SlidingDigit.js +12 -32
- package/core/Countdown/SlidingDigit.js.map +1 -1
- package/core/Countdown/index.js +56 -74
- package/core/Countdown/index.js.map +1 -1
- package/core/DarkOverlay/index.js +6 -27
- package/core/DarkOverlay/index.js.map +1 -1
- package/core/DateCalendar.js +48 -96
- package/core/DateCalendar.js.map +1 -1
- package/core/DatePicker.js +26 -73
- package/core/DatePicker.js.map +1 -1
- package/core/DateRangePicker.js +44 -64
- package/core/DateRangePicker.js.map +1 -1
- package/core/DateTimePicker.js +30 -78
- package/core/DateTimePicker.js.map +1 -1
- package/core/DateTimeRangePicker/index.js +48 -68
- package/core/DateTimeRangePicker/index.js.map +1 -1
- package/core/Descriptions/index.js +11 -69
- package/core/Descriptions/index.js.map +1 -1
- package/core/DocumentTitle.js +25 -43
- package/core/DocumentTitle.js.map +1 -1
- package/core/Drawer.js +4 -36
- package/core/Drawer.js.map +1 -1
- package/core/Dropdown.js +3 -7
- package/core/Dropdown.js.map +1 -1
- package/core/EnumCheckboxGroup/Map.js +8 -51
- package/core/EnumCheckboxGroup/Map.js.map +1 -1
- package/core/EnumCheckboxGroup/index.js +8 -29
- package/core/EnumCheckboxGroup/index.js.map +1 -1
- package/core/EnumRadio/InitialNullable.js +9 -78
- package/core/EnumRadio/InitialNullable.js.map +1 -1
- package/core/EnumRadio/Map.js +8 -51
- package/core/EnumRadio/Map.js.map +1 -1
- package/core/EnumRadio/Nullable.js +13 -83
- package/core/EnumRadio/Nullable.js.map +1 -1
- package/core/EnumRadio/index.js +16 -63
- package/core/EnumRadio/index.js.map +1 -1
- package/core/EnumSelect/InitialNullable.js +7 -50
- package/core/EnumSelect/InitialNullable.js.map +1 -1
- package/core/EnumSelect/Map.js +8 -51
- package/core/EnumSelect/Map.js.map +1 -1
- package/core/EnumSelect/Nullable.js +13 -83
- package/core/EnumSelect/Nullable.js.map +1 -1
- package/core/EnumSelect/index.js +37 -86
- package/core/EnumSelect/index.js.map +1 -1
- package/core/FlatList/Content/Footer/index.js +5 -6
- package/core/FlatList/Content/Footer/index.js.map +1 -1
- package/core/FlatList/Content/index.js +28 -51
- package/core/FlatList/Content/index.js.map +1 -1
- package/core/FlatList/FloatingLoader/index.js +2 -3
- package/core/FlatList/FloatingLoader/index.js.map +1 -1
- package/core/FlatList/Refresh/index.js +2 -3
- package/core/FlatList/Refresh/index.js.map +1 -1
- package/core/FlatList/hook/useRefreshing.js +7 -23
- package/core/FlatList/hook/useRefreshing.js.map +1 -1
- package/core/FlatList/hook/useScrollListSwipe.js +22 -40
- package/core/FlatList/hook/useScrollListSwipe.js.map +1 -1
- package/core/FlatList/index.js +19 -52
- package/core/FlatList/index.js.map +1 -1
- package/core/FlatList/shared/Loader/index.js +1 -1
- package/core/FlatList/shared/Loader/index.js.map +1 -1
- package/core/Form/Item.js +31 -91
- package/core/Form/Item.js.map +1 -1
- package/core/Form/context.js +4 -4
- package/core/Form/context.js.map +1 -1
- package/core/Form/index.js +52 -124
- package/core/Form/index.js.map +1 -1
- package/core/Grid.js +2 -2
- package/core/Grid.js.map +1 -1
- package/core/HTMLContent/index.js +6 -27
- package/core/HTMLContent/index.js.map +1 -1
- package/core/Image.js +5 -37
- package/core/Image.js.map +1 -1
- package/core/ImageUploader/index.js +44 -156
- package/core/ImageUploader/index.js.map +1 -1
- package/core/Input.js +34 -120
- package/core/Input.js.map +1 -1
- package/core/LabelledSelect.js +6 -38
- package/core/LabelledSelect.js.map +1 -1
- package/core/Link.js +7 -28
- package/core/Link.js.map +1 -1
- package/core/LocalImporter.js +22 -84
- package/core/LocalImporter.js.map +1 -1
- package/core/LocaleSelect.js +17 -64
- package/core/LocaleSelect.js.map +1 -1
- package/core/Markdown/index.js +30 -78
- package/core/Markdown/index.js.map +1 -1
- package/core/Modal/index.js +11 -54
- package/core/Modal/index.js.map +1 -1
- package/core/MultipleCascader/index.js +55 -135
- package/core/MultipleCascader/index.js.map +1 -1
- package/core/MultipleEnumSelect.js +13 -60
- package/core/MultipleEnumSelect.js.map +1 -1
- package/core/MultipleSelector/TablePopover.js +37 -85
- package/core/MultipleSelector/TablePopover.js.map +1 -1
- package/core/MultipleSelector/index.js +41 -88
- package/core/MultipleSelector/index.js.map +1 -1
- package/core/MutableTable/index.js +71 -125
- package/core/MutableTable/index.js.map +1 -1
- package/core/NumberInput/NumberInputPercentage.js +24 -93
- package/core/NumberInput/NumberInputPercentage.js.map +1 -1
- package/core/NumberInput/index.js +80 -115
- package/core/NumberInput/index.js.map +1 -1
- package/core/NumberInput/util.js +9 -9
- package/core/NumberInput/util.js.map +1 -1
- package/core/OrientationContext.js +4 -21
- package/core/OrientationContext.js.map +1 -1
- package/core/OverflowableText/index.js +19 -49
- package/core/OverflowableText/index.js.map +1 -1
- package/core/PagedList/index.js +18 -35
- package/core/PagedList/index.js.map +1 -1
- package/core/Pagination/index.js +19 -66
- package/core/Pagination/index.js.map +1 -1
- package/core/Popover/index.js +7 -29
- package/core/Popover/index.js.map +1 -1
- package/core/Progress/index.js +5 -37
- package/core/Progress/index.js.map +1 -1
- package/core/Progress.js +5 -37
- package/core/Progress.js.map +1 -1
- package/core/Radio.d.ts +2 -2
- package/core/Radio.js +7 -39
- package/core/Radio.js.map +1 -1
- package/core/RelativeTime.js +27 -45
- package/core/RelativeTime.js.map +1 -1
- package/core/Resizable/Resizer.js +4 -16
- package/core/Resizable/Resizer.js.map +1 -1
- package/core/Resizable/index.js +32 -55
- package/core/Resizable/index.js.map +1 -1
- package/core/SearchableSelect.js +6 -38
- package/core/SearchableSelect.js.map +1 -1
- package/core/Select.js +7 -39
- package/core/Select.js.map +1 -1
- package/core/SignedAmountInput.js +23 -70
- package/core/SignedAmountInput.js.map +1 -1
- package/core/Skeleton.js +6 -49
- package/core/Skeleton.js.map +1 -1
- package/core/Slider/RangeSlider.js +6 -49
- package/core/Slider/RangeSlider.js.map +1 -1
- package/core/Slider/index.js +24 -94
- package/core/Slider/index.js.map +1 -1
- package/core/Space.js +6 -38
- package/core/Space.js.map +1 -1
- package/core/Spin.js +6 -49
- package/core/Spin.js.map +1 -1
- package/core/StepFormContainer/index.js +17 -64
- package/core/StepFormContainer/index.js.map +1 -1
- package/core/Steps.js +5 -37
- package/core/Steps.js.map +1 -1
- package/core/Table.js +83 -116
- package/core/Table.js.map +1 -1
- package/core/Tabs/Single.js +6 -49
- package/core/Tabs/Single.js.map +1 -1
- package/core/Tabs/index.js +29 -100
- package/core/Tabs/index.js.map +1 -1
- package/core/Tag.js +5 -37
- package/core/Tag.js.map +1 -1
- package/core/TagInput/index.js +50 -95
- package/core/TagInput/index.js.map +1 -1
- package/core/Tags.js +13 -60
- package/core/Tags.js.map +1 -1
- package/core/TimePicker.js +17 -64
- package/core/TimePicker.js.map +1 -1
- package/core/TimeRangePicker.js +28 -47
- package/core/TimeRangePicker.js.map +1 -1
- package/core/Tooltip.js +7 -29
- package/core/Tooltip.js.map +1 -1
- package/core/TypedTabs/index.js +13 -75
- package/core/TypedTabs/index.js.map +1 -1
- package/core/UIProvider.js +4 -27
- package/core/UIProvider.js.map +1 -1
- package/core/Uploader.js +54 -85
- package/core/Uploader.js.map +1 -1
- package/core/VerticalMarquee/index.js +18 -35
- package/core/VerticalMarquee/index.js.map +1 -1
- package/core/VirtualList/index.js +19 -20
- package/core/VirtualList/index.js.map +1 -1
- package/core/VirtualTable/TableHeader.js +7 -9
- package/core/VirtualTable/TableHeader.js.map +1 -1
- package/core/VirtualTable/TableRow.js +12 -13
- package/core/VirtualTable/TableRow.js.map +1 -1
- package/core/VirtualTable/hooks/useColumnWidths.js +20 -36
- package/core/VirtualTable/hooks/useColumnWidths.js.map +1 -1
- package/core/VirtualTable/hooks/useColumnsStickyPosition.js +9 -9
- package/core/VirtualTable/hooks/useColumnsStickyPosition.js.map +1 -1
- package/core/VirtualTable/hooks/useRowSelection.js +28 -54
- package/core/VirtualTable/hooks/useRowSelection.js.map +1 -1
- package/core/VirtualTable/hooks/useScroll.js +13 -29
- package/core/VirtualTable/hooks/useScroll.js.map +1 -1
- package/core/VirtualTable/hooks/useScrollBarSize.js +6 -22
- package/core/VirtualTable/hooks/useScrollBarSize.js.map +1 -1
- package/core/VirtualTable/index.js +24 -25
- package/core/VirtualTable/index.js.map +1 -1
- package/core/WithExplanation/index.js +11 -32
- package/core/WithExplanation/index.js.map +1 -1
- package/core/WithTooltipList.js +17 -66
- package/core/WithTooltipList.js.map +1 -1
- package/core/YearMonthSelector.js +28 -76
- package/core/YearMonthSelector.js.map +1 -1
- package/hooks/useAPI.js +8 -44
- package/hooks/useAPI.js.map +1 -1
- package/hooks/useBool.js +4 -21
- package/hooks/useBool.js.map +1 -1
- package/hooks/useCompositeRef.js +4 -8
- package/hooks/useCompositeRef.js.map +1 -1
- package/hooks/useDebounce.js +6 -35
- package/hooks/useDebounce.js.map +1 -1
- package/hooks/useDelayed.js +7 -8
- package/hooks/useDelayed.js.map +1 -1
- package/hooks/useDidMountEffect.js +1 -1
- package/hooks/useDidMountEffect.js.map +1 -1
- package/hooks/useDraggable/DragController.js +37 -45
- package/hooks/useDraggable/DragController.js.map +1 -1
- package/hooks/useDraggable/index.js +25 -53
- package/hooks/useDraggable/index.js.map +1 -1
- package/hooks/useDraggable/useDrag.js +5 -5
- package/hooks/useDraggable/useDrag.js.map +1 -1
- package/hooks/useExtended.js +8 -8
- package/hooks/useExtended.js.map +1 -1
- package/hooks/useForceUpdate.js +2 -18
- package/hooks/useForceUpdate.js.map +1 -1
- package/hooks/useOrientation.js +2 -18
- package/hooks/useOrientation.js.map +1 -1
- package/hooks/usePrevious.js +1 -1
- package/hooks/usePrevious.js.map +1 -1
- package/hooks/useResizeObserver.js +7 -9
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useSwipe/controller.js +68 -75
- package/hooks/useSwipe/controller.js.map +1 -1
- package/hooks/useSwipe/index.js +6 -14
- package/hooks/useSwipe/index.js.map +1 -1
- package/hooks/useThunk.js +9 -36
- package/hooks/useThunk.js.map +1 -1
- package/hooks/useTransform.js +18 -30
- package/hooks/useTransform.js.map +1 -1
- package/hooks/useWhyDidYouUpdate.js +10 -19
- package/hooks/useWhyDidYouUpdate.js.map +1 -1
- package/hooks/useWillUnmountEffect.js +1 -1
- package/hooks/useWillUnmountEffect.js.map +1 -1
- package/internal/ArrayUtil.js +13 -38
- package/internal/ArrayUtil.js.map +1 -1
- package/internal/ExpirableLocalStorage.js +70 -74
- package/internal/ExpirableLocalStorage.js.map +1 -1
- package/internal/NumberUtil.js +11 -11
- package/internal/NumberUtil.js.map +1 -1
- package/internal/StorageHelper.js +62 -65
- package/internal/StorageHelper.js.map +1 -1
- package/internal/TextUtil.js +6 -10
- package/internal/TextUtil.js.map +1 -1
- package/internal/i18n/admin/en.js +1 -1
- package/internal/i18n/admin/en.js.map +1 -1
- package/internal/i18n/admin/index.js +3 -3
- package/internal/i18n/admin/index.js.map +1 -1
- package/internal/i18n/admin/zh.js +1 -1
- package/internal/i18n/admin/zh.js.map +1 -1
- package/internal/i18n/core/en.js +1 -1
- package/internal/i18n/core/en.js.map +1 -1
- package/internal/i18n/core/index.js +3 -3
- package/internal/i18n/core/index.js.map +1 -1
- package/internal/i18n/core/zh.js +1 -1
- package/internal/i18n/core/zh.js.map +1 -1
- package/internal/i18n/util/en.js +1 -1
- package/internal/i18n/util/en.js.map +1 -1
- package/internal/i18n/util/index.js +3 -3
- package/internal/i18n/util/index.js.map +1 -1
- package/internal/i18n/util/zh.js +1 -1
- package/internal/i18n/util/zh.js.map +1 -1
- package/package.json +6 -6
- package/util/AdminNavigationUtil.js +22 -64
- package/util/AdminNavigationUtil.js.map +1 -1
- package/util/BrowserBookmarkUtil.js +5 -5
- package/util/BrowserBookmarkUtil.js.map +1 -1
- package/util/BrowserUtil/index.d.ts +0 -1
- package/util/BrowserUtil/index.js +29 -80
- package/util/BrowserUtil/index.js.map +1 -1
- package/util/CanvasUtil.js +22 -61
- package/util/CanvasUtil.js.map +1 -1
- package/util/Clipboard.js +25 -85
- package/util/Clipboard.js.map +1 -1
- package/util/ExpirableLocalStorageUtil.js +1 -1
- package/util/ExpirableLocalStorageUtil.js.map +1 -1
- package/util/ExportUtil.js +13 -13
- package/util/ExportUtil.js.map +1 -1
- package/util/ImportUtil.js +34 -86
- package/util/ImportUtil.js.map +1 -1
- package/util/LocalStorageUtil.js +1 -1
- package/util/LocalStorageUtil.js.map +1 -1
- package/util/LocaleUtil.js +16 -19
- package/util/LocaleUtil.js.map +1 -1
- package/util/MediaUtil/index.js +15 -15
- package/util/MediaUtil/index.js.map +1 -1
- package/util/MessageUtil.js +5 -16
- package/util/MessageUtil.js.map +1 -1
- package/util/ModalUtil/index.js +46 -68
- package/util/ModalUtil/index.js.map +1 -1
- package/util/NotificationUtil.js +8 -24
- package/util/NotificationUtil.js.map +1 -1
- package/util/OrientationUtil.js +8 -8
- package/util/OrientationUtil.js.map +1 -1
- package/util/PromptUtil/PromptBody.js +24 -88
- package/util/PromptUtil/PromptBody.js.map +1 -1
- package/util/PromptUtil/index.js +20 -33
- package/util/PromptUtil/index.js.map +1 -1
- package/util/ReactUtil.js +20 -54
- package/util/ReactUtil.js.map +1 -1
- package/util/RecentUsedStorageUtil/index.js +14 -15
- package/util/RecentUsedStorageUtil/index.js.map +1 -1
- package/util/RecentUsedStorageUtil/pushToList.js +3 -28
- package/util/RecentUsedStorageUtil/pushToList.js.map +1 -1
- package/util/SessionStorageUtil.js +1 -1
- package/util/SessionStorageUtil.js.map +1 -1
- package/util/SwipeUtil.js +9 -9
- package/util/SwipeUtil.js.map +1 -1
- package/util/UploadUtil/index.js +29 -30
- package/util/UploadUtil/index.js.map +1 -1
package/hooks/useTransform.js
CHANGED
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import React from "react";
|
|
13
|
-
export
|
|
14
|
-
|
|
2
|
+
export const useTransform = (ref, option) => {
|
|
3
|
+
const initialOptionRef = React.useRef(option);
|
|
15
4
|
initialOptionRef.current = option;
|
|
16
|
-
|
|
5
|
+
const clearTransition = React.useCallback((el) => {
|
|
17
6
|
el.style.transitionDuration = "";
|
|
18
7
|
el.style.transitionProperty = "";
|
|
19
8
|
el.style.transitionTimingFunction = "";
|
|
20
9
|
el.style.transitionDuration = "";
|
|
21
10
|
}, []);
|
|
22
|
-
|
|
11
|
+
const setTransition = React.useCallback((el, option) => {
|
|
23
12
|
if (option) {
|
|
24
|
-
|
|
13
|
+
const { delay, duration, property, timingFunction } = option;
|
|
25
14
|
delay && (el.style.transitionDelay = delay + "ms");
|
|
26
15
|
duration && (el.style.transitionDuration = duration + "ms");
|
|
27
16
|
property && (el.style.transitionProperty = property);
|
|
@@ -31,32 +20,31 @@ export var useTransform = function (ref, option) {
|
|
|
31
20
|
clearTransition(el);
|
|
32
21
|
}
|
|
33
22
|
}, [clearTransition]);
|
|
34
|
-
|
|
23
|
+
const to = React.useCallback((option) => {
|
|
35
24
|
if (ref.current) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
requestAnimationFrame(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
option.immediate ? clearTransition(el_1) : setTransition(el_1, __assign(__assign({}, ((_a = initialOptionRef.current) !== null && _a !== void 0 ? _a : {})), option));
|
|
25
|
+
const format = (value) => (value ? (typeof value === "number" ? `${value}px` : value) : "0px");
|
|
26
|
+
const el = ref.current;
|
|
27
|
+
requestAnimationFrame(() => {
|
|
28
|
+
el.style.transform = `translate3d(${format(option.x)}, ${format(option.y)}, ${format(option.z)}) `;
|
|
29
|
+
option.immediate ? clearTransition(el) : setTransition(el, { ...(initialOptionRef.current ?? {}), ...option });
|
|
42
30
|
});
|
|
43
31
|
}
|
|
44
32
|
}, [ref, setTransition, clearTransition]);
|
|
45
|
-
|
|
33
|
+
const clear = React.useCallback(() => {
|
|
46
34
|
if (ref.current) {
|
|
47
|
-
|
|
48
|
-
requestAnimationFrame(
|
|
49
|
-
|
|
50
|
-
setTransition(
|
|
35
|
+
const el = ref.current;
|
|
36
|
+
requestAnimationFrame(() => {
|
|
37
|
+
el.style.transform = "";
|
|
38
|
+
setTransition(el, initialOptionRef.current);
|
|
51
39
|
});
|
|
52
40
|
}
|
|
53
41
|
}, [ref, setTransition]);
|
|
54
|
-
React.useEffect(
|
|
42
|
+
React.useEffect(() => {
|
|
55
43
|
if (initialOptionRef.current) {
|
|
56
44
|
to(initialOptionRef.current);
|
|
57
45
|
}
|
|
58
46
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- only run on mount
|
|
59
47
|
}, []);
|
|
60
|
-
return { to
|
|
48
|
+
return { to, clear };
|
|
61
49
|
};
|
|
62
50
|
//# sourceMappingURL=useTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTransform.js","sourceRoot":"","sources":["../../src/hooks/useTransform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTransform.js","sourceRoot":"","sources":["../../src/hooks/useTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import React from "react";
|
|
13
|
-
export
|
|
2
|
+
export const useWhyDidYouUpdate = "_self" in React.createElement("div") ? () => { } : _useWhyDidYouUpdate;
|
|
14
3
|
/**
|
|
15
4
|
* Logs in console the diff in props between renders.
|
|
16
5
|
* For debugging use only. Remove before production.
|
|
@@ -31,21 +20,23 @@ export var useWhyDidYouUpdate = "_self" in React.createElement("div") ? function
|
|
|
31
20
|
*/
|
|
32
21
|
function _useWhyDidYouUpdate(name, props) {
|
|
33
22
|
// Get a mutable ref object where we can store props for comparison next time this hook runs.
|
|
34
|
-
|
|
35
|
-
React.
|
|
23
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks -- special naming for _useWhyDidYouUpdate
|
|
24
|
+
const prevProps = React.useRef();
|
|
25
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks -- special naming for _useWhyDidYouUpdate
|
|
26
|
+
React.useEffect(() => {
|
|
36
27
|
if (prevProps.current) {
|
|
37
28
|
// Use changesObj to keep track of changed props
|
|
38
|
-
|
|
29
|
+
const changesObj = {};
|
|
39
30
|
// Iterate through all keys from previous and current props
|
|
40
|
-
Object.keys(
|
|
31
|
+
Object.keys({ ...prevProps.current, ...props }).forEach(key => {
|
|
41
32
|
// Add to changesObj if previous is different from current
|
|
42
33
|
if (prevProps.current[key] !== props[key]) {
|
|
43
|
-
|
|
34
|
+
changesObj[key] = { from: prevProps.current[key], to: props[key] };
|
|
44
35
|
}
|
|
45
36
|
});
|
|
46
37
|
// If changesObj not empty then output to console
|
|
47
|
-
if (Object.keys(
|
|
48
|
-
console.info(
|
|
38
|
+
if (Object.keys(changesObj).length) {
|
|
39
|
+
console.info(`%c[%cwhy-did-you-update%c] %c${name}`, "color: inherit", "color: #e36eec", "color: inherit", "color: #f38b54", changesObj);
|
|
49
40
|
}
|
|
50
41
|
}
|
|
51
42
|
// Update previousProps with current props for next hook call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWhyDidYouUpdate.js","sourceRoot":"","sources":["../../src/hooks/useWhyDidYouUpdate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useWhyDidYouUpdate.js","sourceRoot":"","sources":["../../src/hooks/useWhyDidYouUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAA+B,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAErI;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,mBAAmB,CAAmB,IAAY,EAAE,KAAQ;IACjE,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAK,CAAC;IAEpC,gGAAgG;IAChG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,gDAAgD;YAChD,MAAM,UAAU,GAAsD,EAAE,CAAC;YACzE,2DAA2D;YAC1D,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,SAAS,CAAC,OAAQ,EAAE,GAAG,KAAK,EAAC,CAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7E,0DAA0D;gBAC1D,IAAI,SAAS,CAAC,OAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,EAAE,SAAS,CAAC,OAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAC,CAAC;gBACtE,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,iDAAiD;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,gCAAgC,IAAI,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAC7I,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export function useWillUnmountEffect(willUnmount) {
|
|
3
|
-
React.useEffect(
|
|
3
|
+
React.useEffect(() => {
|
|
4
4
|
return willUnmount;
|
|
5
5
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- this is intentional to emulate the behavior of componentWillUnmount
|
|
6
6
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWillUnmountEffect.js","sourceRoot":"","sources":["../../src/hooks/useWillUnmountEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,oBAAoB,CAAC,WAAuB;IACxD,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useWillUnmountEffect.js","sourceRoot":"","sources":["../../src/hooks/useWillUnmountEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,oBAAoB,CAAC,WAAuB;IACxD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,WAAW,CAAC;QACnB,8HAA8H;IAClI,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
|
package/internal/ArrayUtil.js
CHANGED
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
-
if (ar || !(i in from)) {
|
|
20
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
-
ar[i] = from[i];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
-
};
|
|
26
1
|
/**
|
|
27
2
|
* Return b's the occurrence percentage in a.
|
|
28
3
|
* The ordering of a & b matters.
|
|
@@ -31,12 +6,12 @@ function intersectionPercentage(a, b) {
|
|
|
31
6
|
if (a.length === 0) {
|
|
32
7
|
return 0;
|
|
33
8
|
}
|
|
34
|
-
return (a.filter(
|
|
9
|
+
return (a.filter(_ => b.includes(_)).length / a.length) * 100;
|
|
35
10
|
}
|
|
36
11
|
function toObject(array, mapperCallback) {
|
|
37
|
-
|
|
38
|
-
array.forEach(
|
|
39
|
-
|
|
12
|
+
const result = {};
|
|
13
|
+
array.forEach((item, index) => {
|
|
14
|
+
const mappedKV = mapperCallback(item, index);
|
|
40
15
|
result[mappedKV[0]] = mappedKV[1];
|
|
41
16
|
});
|
|
42
17
|
return result;
|
|
@@ -50,27 +25,27 @@ function toObject(array, mapperCallback) {
|
|
|
50
25
|
* @param callback Callback to transform item
|
|
51
26
|
*/
|
|
52
27
|
function compactMap(array, callback) {
|
|
53
|
-
return array.map(callback).filter(
|
|
28
|
+
return array.map(callback).filter(_ => _ !== null && _ !== undefined && (typeof _ !== "number" || !Number.isNaN(_)));
|
|
54
29
|
}
|
|
55
30
|
/**
|
|
56
31
|
* If element exists in array, it will return a new array without this element.
|
|
57
32
|
* If element not exists in array, it will return a new array with this element in the last.
|
|
58
33
|
*/
|
|
59
34
|
function toggleElement(array, element) {
|
|
60
|
-
|
|
35
|
+
const index = array.indexOf(element);
|
|
61
36
|
if (index >= 0) {
|
|
62
|
-
|
|
37
|
+
const clonedArray = [...array];
|
|
63
38
|
clonedArray.splice(index, 1);
|
|
64
39
|
return clonedArray;
|
|
65
40
|
}
|
|
66
41
|
else {
|
|
67
|
-
return
|
|
42
|
+
return [...array, element];
|
|
68
43
|
}
|
|
69
44
|
}
|
|
70
|
-
export
|
|
71
|
-
intersectionPercentage
|
|
72
|
-
toObject
|
|
73
|
-
compactMap
|
|
74
|
-
toggleElement
|
|
45
|
+
export const ArrayUtil = Object.freeze({
|
|
46
|
+
intersectionPercentage,
|
|
47
|
+
toObject,
|
|
48
|
+
compactMap,
|
|
49
|
+
toggleElement,
|
|
75
50
|
});
|
|
76
51
|
//# sourceMappingURL=ArrayUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/internal/ArrayUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/internal/ArrayUtil.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,SAAS,sBAAsB,CAAI,CAAM,EAAE,CAAM;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,QAAQ,CAAO,KAAuB,EAAE,cAAuD;IACpG,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAO,KAAuB,EAAE,QAAuC;IACtF,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAA0B,CAAC;AAClJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAI,KAAuB,EAAE,OAAU;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,sBAAsB;IACtB,QAAQ;IACR,UAAU;IACV,aAAa;CAChB,CAAC,CAAC"}
|
|
@@ -1,69 +1,68 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* an expirable local storage (Singleton)
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
4
|
+
export class ExpirableLocalStorage {
|
|
5
|
+
static PREFIX = "@@EXPIRABLE/";
|
|
6
|
+
static TRUE = "TRUE";
|
|
7
|
+
static FALSE = "FALSE";
|
|
8
|
+
static DEFAULT_DATA_VALUE = { expiryTimestamp: 0, value: null };
|
|
9
|
+
static instance;
|
|
10
|
+
storage = window.localStorage;
|
|
12
11
|
/**
|
|
13
12
|
* get the ExpirableStorage instance
|
|
14
13
|
*/
|
|
15
|
-
|
|
14
|
+
static getInstance() {
|
|
16
15
|
if (!ExpirableLocalStorage.instance) {
|
|
17
16
|
ExpirableLocalStorage.instance = new ExpirableLocalStorage();
|
|
18
17
|
}
|
|
19
18
|
return ExpirableLocalStorage.instance;
|
|
20
|
-
}
|
|
19
|
+
}
|
|
21
20
|
/**
|
|
22
21
|
* set boolean value
|
|
23
22
|
* @param key storage key
|
|
24
23
|
* @param value boolean value
|
|
25
24
|
* @param expiryTimestamp expiry timestamp
|
|
26
25
|
*/
|
|
27
|
-
|
|
26
|
+
setBool(key, value, expiryTimestamp) {
|
|
28
27
|
this.set(key, value ? ExpirableLocalStorage.TRUE : ExpirableLocalStorage.FALSE, expiryTimestamp);
|
|
29
|
-
}
|
|
28
|
+
}
|
|
30
29
|
/**
|
|
31
30
|
* set string
|
|
32
31
|
* @param key storage key
|
|
33
32
|
* @param value string value
|
|
34
33
|
* @param expiryTimestamp expiry timestamp
|
|
35
34
|
*/
|
|
36
|
-
|
|
35
|
+
setString(key, value, expiryTimestamp) {
|
|
37
36
|
this.set(key, value, expiryTimestamp);
|
|
38
|
-
}
|
|
37
|
+
}
|
|
39
38
|
/**
|
|
40
39
|
* set number
|
|
41
40
|
* @param key storage key
|
|
42
41
|
* @param value number value
|
|
43
42
|
* @param expiryTimestamp expiry timestamp
|
|
44
43
|
*/
|
|
45
|
-
|
|
44
|
+
setNumber(key, value, expiryTimestamp) {
|
|
46
45
|
this.set(key, value.toString(), expiryTimestamp);
|
|
47
|
-
}
|
|
46
|
+
}
|
|
48
47
|
/**
|
|
49
48
|
* set object
|
|
50
49
|
* @param key storage key
|
|
51
50
|
* @param item object
|
|
52
51
|
* @param expiryTimestamp expiry timestamp
|
|
53
52
|
*/
|
|
54
|
-
|
|
53
|
+
setObject(key, item, expiryTimestamp) {
|
|
55
54
|
this.set(key, JSON.stringify(item), expiryTimestamp);
|
|
56
|
-
}
|
|
55
|
+
}
|
|
57
56
|
/**
|
|
58
57
|
* get boolean value
|
|
59
58
|
* @param key storage key
|
|
60
59
|
* @param defaultValue default value
|
|
61
60
|
* @returns boolean value
|
|
62
61
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
getBool(key, defaultValue) {
|
|
63
|
+
const transformer = (_) => (_ === ExpirableLocalStorage.TRUE ? true : _ === ExpirableLocalStorage.FALSE ? false : null);
|
|
65
64
|
return this.get(key, defaultValue, transformer);
|
|
66
|
-
}
|
|
65
|
+
}
|
|
67
66
|
/**
|
|
68
67
|
* get string value
|
|
69
68
|
* @param key storage key
|
|
@@ -71,13 +70,13 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
71
70
|
* @param validValues valid values
|
|
72
71
|
* @returns string value
|
|
73
72
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
getString(key, defaultValue, validValues) {
|
|
74
|
+
const transformer = (_) => {
|
|
75
|
+
const typedValue = _;
|
|
77
76
|
return validValues ? (validValues.includes(typedValue) ? typedValue : null) : typedValue;
|
|
78
77
|
};
|
|
79
78
|
return this.get(key, defaultValue, transformer);
|
|
80
|
-
}
|
|
79
|
+
}
|
|
81
80
|
/**
|
|
82
81
|
* get number value
|
|
83
82
|
* @param key storage key
|
|
@@ -85,9 +84,9 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
85
84
|
* @param validator validator
|
|
86
85
|
* @returns number value
|
|
87
86
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
getNumber(key, defaultValue, validator) {
|
|
88
|
+
const transformer = (_) => {
|
|
89
|
+
const numberedData = Number(_);
|
|
91
90
|
if (Number.isFinite(numberedData)) {
|
|
92
91
|
if (validator === undefined) {
|
|
93
92
|
return numberedData;
|
|
@@ -106,7 +105,7 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
106
105
|
return null;
|
|
107
106
|
};
|
|
108
107
|
return this.get(key, defaultValue, transformer);
|
|
109
|
-
}
|
|
108
|
+
}
|
|
110
109
|
/**
|
|
111
110
|
* get object value
|
|
112
111
|
* @param key storage key
|
|
@@ -114,10 +113,10 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
114
113
|
* @param validator validator
|
|
115
114
|
* @returns object value
|
|
116
115
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
getObject(key, defaultValue, validator) {
|
|
117
|
+
const transformer = (_) => {
|
|
119
118
|
try {
|
|
120
|
-
|
|
119
|
+
const obj = JSON.parse(_);
|
|
121
120
|
if (validator(obj)) {
|
|
122
121
|
return obj;
|
|
123
122
|
}
|
|
@@ -125,32 +124,37 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
125
124
|
return null;
|
|
126
125
|
}
|
|
127
126
|
}
|
|
128
|
-
catch
|
|
127
|
+
catch {
|
|
129
128
|
return null;
|
|
130
129
|
}
|
|
131
130
|
};
|
|
132
131
|
return this.get(key, defaultValue, transformer);
|
|
133
|
-
}
|
|
132
|
+
}
|
|
134
133
|
/**
|
|
135
134
|
* get the raw localstorage data
|
|
136
135
|
* @param key storage key
|
|
137
136
|
* @returns raw data
|
|
138
137
|
*/
|
|
139
|
-
|
|
138
|
+
getRaw(key) {
|
|
140
139
|
try {
|
|
141
140
|
return this.storage.getItem(this.canonicalKey(key));
|
|
142
141
|
}
|
|
143
|
-
catch
|
|
142
|
+
catch {
|
|
144
143
|
return null;
|
|
145
144
|
}
|
|
146
|
-
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* The ExpirableStorage's constructor should always be private to prevent direct
|
|
148
|
+
* construction calls with the `new` operator.
|
|
149
|
+
*/
|
|
150
|
+
constructor() { }
|
|
147
151
|
/**
|
|
148
152
|
* get current timestamp
|
|
149
153
|
* @returns current timestamp
|
|
150
154
|
*/
|
|
151
|
-
|
|
155
|
+
now() {
|
|
152
156
|
return new Date().getTime();
|
|
153
|
-
}
|
|
157
|
+
}
|
|
154
158
|
/**
|
|
155
159
|
* get value
|
|
156
160
|
* @param key storage key
|
|
@@ -158,88 +162,80 @@ var ExpirableLocalStorage = /** @class */ (function () {
|
|
|
158
162
|
* @param transformer
|
|
159
163
|
* @returns
|
|
160
164
|
*/
|
|
161
|
-
|
|
165
|
+
get(key, defaultValue, transformer) {
|
|
162
166
|
try {
|
|
163
167
|
this.prune();
|
|
164
|
-
|
|
168
|
+
const { value } = this.getData(this.canonicalKey(key));
|
|
165
169
|
if (value !== null) {
|
|
166
170
|
return transformer(value) || defaultValue;
|
|
167
171
|
}
|
|
168
172
|
return defaultValue;
|
|
169
173
|
}
|
|
170
|
-
catch
|
|
174
|
+
catch {
|
|
171
175
|
return defaultValue;
|
|
172
176
|
}
|
|
173
|
-
}
|
|
177
|
+
}
|
|
174
178
|
/**
|
|
175
179
|
* set value
|
|
176
180
|
* @param key storage key
|
|
177
181
|
* @param value storage value
|
|
178
182
|
* @param expiryTimestamp The "expiryTimestamp" (expiration time) claim identifies the expiration time on or after which the value MUST NOT be accepted for processing. The processing of the "expiryTimestamp" claim requires that the current date/time MUST be before the expiration date/time listed in the "expiryTimestamp" claim.
|
|
179
183
|
*/
|
|
180
|
-
|
|
184
|
+
set(key, value, expiryTimestamp) {
|
|
181
185
|
try {
|
|
182
186
|
this.setData(this.canonicalKey(key), {
|
|
183
|
-
value
|
|
184
|
-
expiryTimestamp
|
|
187
|
+
value,
|
|
188
|
+
expiryTimestamp,
|
|
185
189
|
});
|
|
186
190
|
}
|
|
187
|
-
catch
|
|
191
|
+
catch {
|
|
188
192
|
// Do nothing
|
|
189
193
|
}
|
|
190
|
-
}
|
|
194
|
+
}
|
|
191
195
|
/**
|
|
192
196
|
*
|
|
193
197
|
* @param key storage key
|
|
194
198
|
* @returns the original localstorage canonical key with prefix like "@@EXPIRABLE/key"
|
|
195
199
|
*/
|
|
196
|
-
|
|
197
|
-
return
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
+
canonicalKey(key) {
|
|
201
|
+
return `${ExpirableLocalStorage.PREFIX}${key}`;
|
|
202
|
+
}
|
|
203
|
+
getData(key) {
|
|
200
204
|
return JSON.parse(this.storage.getItem(key) || JSON.stringify(ExpirableLocalStorage.DEFAULT_DATA_VALUE));
|
|
201
|
-
}
|
|
205
|
+
}
|
|
202
206
|
/**
|
|
203
207
|
* set Data
|
|
204
208
|
* @param key storage key
|
|
205
209
|
* @param data storage value
|
|
206
210
|
*/
|
|
207
|
-
|
|
211
|
+
setData(key, data) {
|
|
208
212
|
this.storage.setItem(key, JSON.stringify(data));
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
var _this = this;
|
|
213
|
+
}
|
|
214
|
+
clear(keys) {
|
|
212
215
|
try {
|
|
213
|
-
keys.forEach(
|
|
216
|
+
keys.forEach(key => this.storage.removeItem(key));
|
|
214
217
|
}
|
|
215
|
-
catch
|
|
218
|
+
catch {
|
|
216
219
|
// Do nothing
|
|
217
220
|
}
|
|
218
|
-
}
|
|
221
|
+
}
|
|
219
222
|
/**
|
|
220
223
|
* delete the expired keys
|
|
221
224
|
*/
|
|
222
|
-
|
|
223
|
-
var _this = this;
|
|
225
|
+
prune() {
|
|
224
226
|
try {
|
|
225
|
-
|
|
227
|
+
const expiredKeys = Object.keys(this.storage).filter(key => {
|
|
226
228
|
if (!key.startsWith(ExpirableLocalStorage.PREFIX)) {
|
|
227
229
|
return false;
|
|
228
230
|
}
|
|
229
|
-
|
|
230
|
-
return
|
|
231
|
+
const { expiryTimestamp } = this.getData(key);
|
|
232
|
+
return this.now() > expiryTimestamp;
|
|
231
233
|
});
|
|
232
234
|
this.clear(expiredKeys);
|
|
233
235
|
}
|
|
234
|
-
catch
|
|
236
|
+
catch {
|
|
235
237
|
// Do nothing
|
|
236
238
|
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
ExpirableLocalStorage.TRUE = "TRUE";
|
|
240
|
-
ExpirableLocalStorage.FALSE = "FALSE";
|
|
241
|
-
ExpirableLocalStorage.DEFAULT_DATA_VALUE = { expiryTimestamp: 0, value: null };
|
|
242
|
-
return ExpirableLocalStorage;
|
|
243
|
-
}());
|
|
244
|
-
export { ExpirableLocalStorage };
|
|
239
|
+
}
|
|
240
|
+
}
|
|
245
241
|
//# sourceMappingURL=ExpirableLocalStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpirableLocalStorage.js","sourceRoot":"","sources":["../../src/internal/ExpirableLocalStorage.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"ExpirableLocalStorage.js","sourceRoot":"","sources":["../../src/internal/ExpirableLocalStorage.ts"],"names":[],"mappings":"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"}
|
package/internal/NumberUtil.js
CHANGED
|
@@ -17,14 +17,14 @@ function rounding(value, algorithm, maxScale) {
|
|
|
17
17
|
* In the end, we divide this number by 10^maxScale to obtained the final answer, i.e. 498 / 10^2 = 4.98 (assume algorithm is "round").
|
|
18
18
|
*/
|
|
19
19
|
// for passing exponential notation string to it
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const func = Math[algorithm];
|
|
21
|
+
const precision = maxScale == null ? 0 : maxScale >= 0 ? Math.min(maxScale, 292) : Math.max(maxScale, -292);
|
|
22
22
|
if (precision) {
|
|
23
23
|
// Shift with exponential notation to avoid floating-point issues.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
pair =
|
|
27
|
-
return
|
|
24
|
+
let pair = `${value}e`.split("e");
|
|
25
|
+
const roundedValue = func(`${pair[0]}e${+pair[1] + precision}`);
|
|
26
|
+
pair = `${roundedValue}e`.split("e");
|
|
27
|
+
return +`${pair[0]}e${+pair[1] - precision}`;
|
|
28
28
|
}
|
|
29
29
|
return func(value);
|
|
30
30
|
}
|
|
@@ -33,13 +33,13 @@ function roundingToString(value, algorithm, scale) {
|
|
|
33
33
|
}
|
|
34
34
|
function clamp(value, min, max) {
|
|
35
35
|
if (min > max) {
|
|
36
|
-
throw new Error(
|
|
36
|
+
throw new Error(`[util] NumberUtil.clamp min(${min}) must be <= max(${max})`);
|
|
37
37
|
}
|
|
38
38
|
return Math.max(min, Math.min(max, value));
|
|
39
39
|
}
|
|
40
|
-
export
|
|
41
|
-
rounding
|
|
42
|
-
roundingToString
|
|
43
|
-
clamp
|
|
40
|
+
export const NumberUtil = Object.freeze({
|
|
41
|
+
rounding,
|
|
42
|
+
roundingToString,
|
|
43
|
+
clamp,
|
|
44
44
|
});
|
|
45
45
|
//# sourceMappingURL=NumberUtil.js.map
|