@hkdigital/lib-core 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -0
- package/dist/assets/autospuiten/car-paint-picker/army-green.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/electric-blue.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/lemon-yellow.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/opaque-purple.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/rusty.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/sunset-orange.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker/tomato-red.jpg +0 -0
- package/dist/assets/autospuiten/car-paint-picker.d.ts +17 -0
- package/dist/assets/autospuiten/car-paint-picker.js +41 -0
- package/dist/assets/autospuiten/labels.d.ts +7 -0
- package/dist/assets/autospuiten/labels.js +7 -0
- package/dist/classes/cache/IndexedDbCache.d.ts +216 -0
- package/dist/classes/cache/IndexedDbCache.js +1407 -0
- package/dist/classes/cache/MemoryResponseCache.d.ts +106 -0
- package/dist/classes/cache/MemoryResponseCache.js +138 -0
- package/dist/classes/cache/index.d.ts +3 -0
- package/dist/classes/cache/index.js +5 -0
- package/dist/classes/cache/typedef.d.ts +67 -0
- package/dist/classes/cache/typedef.js +41 -0
- package/dist/classes/data/IterableTree.d.ts +51 -0
- package/dist/classes/data/IterableTree.js +243 -0
- package/dist/classes/data/Selector.d.ts +30 -0
- package/dist/classes/data/Selector.js +190 -0
- package/dist/classes/data/index.d.ts +2 -0
- package/dist/classes/data/index.js +2 -0
- package/dist/classes/events/EventEmitter.d.ts +142 -0
- package/dist/classes/events/EventEmitter.js +275 -0
- package/dist/classes/events/index.d.ts +1 -0
- package/dist/classes/events/index.js +2 -0
- package/dist/classes/index.d.ts +4 -0
- package/dist/classes/index.js +4 -0
- package/dist/classes/logging/Logger.d.ts +78 -0
- package/dist/classes/logging/Logger.js +210 -0
- package/dist/classes/logging/constants.d.ts +12 -0
- package/dist/classes/logging/constants.js +16 -0
- package/dist/classes/logging/index.d.ts +2 -0
- package/dist/classes/logging/index.js +4 -0
- package/dist/classes/logging/typedef.d.ts +34 -0
- package/dist/classes/logging/typedef.js +17 -0
- package/dist/classes/promise/HkPromise.d.ts +121 -0
- package/dist/classes/promise/HkPromise.js +377 -0
- package/dist/classes/promise/index.d.ts +1 -0
- package/dist/classes/promise/index.js +1 -0
- package/dist/classes/services/ServiceBase.d.ts +163 -0
- package/dist/classes/services/ServiceBase.js +463 -0
- package/dist/classes/services/ServiceManager.d.ts +179 -0
- package/dist/classes/services/ServiceManager.js +614 -0
- package/dist/classes/services/index.d.ts +4 -0
- package/dist/classes/services/index.js +5 -0
- package/dist/classes/services/service-states.d.ts +159 -0
- package/dist/classes/services/service-states.js +205 -0
- package/dist/classes/services/typedef.d.ts +247 -0
- package/dist/classes/services/typedef.js +179 -0
- package/dist/classes/stores/SubscribersCount.d.ts +39 -0
- package/dist/classes/stores/SubscribersCount.js +107 -0
- package/dist/classes/stores/index.d.ts +1 -0
- package/dist/classes/stores/index.js +1 -0
- package/dist/classes/streams/LogTransformStream.d.ts +4 -0
- package/dist/classes/streams/LogTransformStream.js +19 -0
- package/dist/classes/streams/ServerEventsStore.d.ts +22 -0
- package/dist/classes/streams/ServerEventsStore.js +110 -0
- package/dist/classes/streams/TimeStampSource.d.ts +13 -0
- package/dist/classes/streams/TimeStampSource.js +26 -0
- package/dist/classes/streams/index.d.ts +3 -0
- package/dist/classes/streams/index.js +3 -0
- package/dist/classes/svelte/audio/AudioLoader.svelte.d.ts +30 -0
- package/dist/classes/svelte/audio/AudioLoader.svelte.js +58 -0
- package/dist/classes/svelte/audio/AudioScene.svelte.d.ts +74 -0
- package/dist/classes/svelte/audio/AudioScene.svelte.js +324 -0
- package/dist/classes/svelte/audio/mocks.d.ts +7 -0
- package/dist/classes/svelte/audio/mocks.js +35 -0
- package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.d.ts +50 -0
- package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -0
- package/dist/classes/svelte/finite-state-machine/index.d.ts +1 -0
- package/dist/classes/svelte/finite-state-machine/index.js +1 -0
- package/dist/classes/svelte/image/ImageLoader.svelte.d.ts +19 -0
- package/dist/classes/svelte/image/ImageLoader.svelte.js +45 -0
- package/dist/classes/svelte/image/ImageScene.svelte.d.ts +78 -0
- package/dist/classes/svelte/image/ImageScene.svelte.js +249 -0
- package/dist/classes/svelte/image/ImageVariantsLoader.svelte.d.ts +43 -0
- package/dist/classes/svelte/image/ImageVariantsLoader.svelte.js +152 -0
- package/dist/classes/svelte/image/index.d.ts +2 -0
- package/dist/classes/svelte/image/index.js +4 -0
- package/dist/classes/svelte/image/mocks.d.ts +7 -0
- package/dist/classes/svelte/image/mocks.js +35 -0
- package/dist/classes/svelte/image/typedef.d.ts +16 -0
- package/dist/classes/svelte/image/typedef.js +8 -0
- package/dist/classes/svelte/index.d.ts +9 -0
- package/dist/classes/svelte/index.js +14 -0
- package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.d.ts +12 -0
- package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -0
- package/dist/classes/svelte/loading-state-machine/constants.d.ts +12 -0
- package/dist/classes/svelte/loading-state-machine/constants.js +16 -0
- package/dist/classes/svelte/loading-state-machine/index.d.ts +2 -0
- package/dist/classes/svelte/loading-state-machine/index.js +3 -0
- package/dist/classes/svelte/network-loader/NetworkLoader.svelte.d.ts +91 -0
- package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +338 -0
- package/dist/classes/svelte/network-loader/constants.d.ts +2 -0
- package/dist/classes/svelte/network-loader/constants.js +3 -0
- package/dist/classes/svelte/network-loader/index.d.ts +2 -0
- package/dist/classes/svelte/network-loader/index.js +3 -0
- package/dist/classes/svelte/network-loader/mocks.d.ts +7 -0
- package/dist/classes/svelte/network-loader/mocks.js +30 -0
- package/dist/classes/svelte/network-loader/typedef.d.ts +7 -0
- package/dist/classes/svelte/network-loader/typedef.js +8 -0
- package/dist/components/area/HkArea.svelte +49 -0
- package/dist/components/area/HkArea.svelte.d.ts +26 -0
- package/dist/components/area/HkGridArea.svelte +77 -0
- package/dist/components/area/HkGridArea.svelte.d.ts +42 -0
- package/dist/components/area/index.d.ts +2 -0
- package/dist/components/area/index.js +2 -0
- package/dist/components/buttons/button/Button.svelte +82 -0
- package/dist/components/buttons/button/Button.svelte.d.ts +44 -0
- package/dist/components/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -0
- package/dist/components/buttons/button-icon-steeze/SteezeIconButton.svelte.d.ts +16 -0
- package/dist/components/buttons/button-text/TextButton.svelte +21 -0
- package/dist/components/buttons/button-text/TextButton.svelte.d.ts +12 -0
- package/dist/components/buttons/index.d.ts +3 -0
- package/dist/components/buttons/index.js +3 -0
- package/dist/components/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -0
- package/dist/components/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte.d.ts +6 -0
- package/dist/components/debug/index.d.ts +1 -0
- package/dist/components/debug/index.js +1 -0
- package/dist/components/drag-drop/DragController.d.ts +20 -0
- package/dist/components/drag-drop/DragController.js +44 -0
- package/dist/components/drag-drop/DragDropContext.svelte +111 -0
- package/dist/components/drag-drop/DragDropContext.svelte.d.ts +18 -0
- package/dist/components/drag-drop/Draggable.svelte +519 -0
- package/dist/components/drag-drop/Draggable.svelte.d.ts +95 -0
- package/dist/components/drag-drop/DropZone.svelte +258 -0
- package/dist/components/drag-drop/DropZone.svelte.d.ts +96 -0
- package/dist/components/drag-drop/DropZoneArea.svelte +119 -0
- package/dist/components/drag-drop/DropZoneArea.svelte.d.ts +90 -0
- package/dist/components/drag-drop/DropZoneList.svelte +125 -0
- package/dist/components/drag-drop/DropZoneList.svelte.d.ts +92 -0
- package/dist/components/drag-drop/actions.d.ts +9 -0
- package/dist/components/drag-drop/actions.js +26 -0
- package/dist/components/drag-drop/drag-state.svelte.d.ts +97 -0
- package/dist/components/drag-drop/drag-state.svelte.js +322 -0
- package/dist/components/drag-drop/index.d.ts +6 -0
- package/dist/components/drag-drop/index.js +7 -0
- package/dist/components/drag-drop/util.d.ts +0 -0
- package/dist/components/drag-drop/util.js +85 -0
- package/dist/components/hkdev/blocks/TextBlock.svelte +47 -0
- package/dist/components/hkdev/blocks/TextBlock.svelte.d.ts +24 -0
- package/dist/components/hkdev/buttons/CheckButton.svelte +63 -0
- package/dist/components/hkdev/buttons/CheckButton.svelte.d.ts +34 -0
- package/dist/components/icons/HkIcon.svelte +86 -0
- package/dist/components/icons/HkIcon.svelte.d.ts +22 -0
- package/dist/components/icons/HkTabIcon.svelte +116 -0
- package/dist/components/icons/HkTabIcon.svelte.d.ts +40 -0
- package/dist/components/icons/SteezeIcon.svelte +97 -0
- package/dist/components/icons/SteezeIcon.svelte.d.ts +22 -0
- package/dist/components/icons/index.d.ts +4 -0
- package/dist/components/icons/index.js +6 -0
- package/dist/components/icons/typedef.d.ts +13 -0
- package/dist/components/icons/typedef.js +16 -0
- package/dist/components/index.d.ts +0 -0
- package/dist/components/index.js +2 -0
- package/dist/components/inputs/index.d.ts +1 -0
- package/dist/components/inputs/index.js +1 -0
- package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -0
- package/dist/components/inputs/text-input/TextInput.svelte +223 -0
- package/dist/components/inputs/text-input/TextInput.svelte.d.ts +56 -0
- package/dist/components/inputs/text-input/TextInput.svelte___ +83 -0
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -0
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte.d.ts +26 -0
- package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -0
- package/dist/components/inputs/text-input/assets/IconValid.svelte.d.ts +26 -0
- package/dist/components/layout/grid-layers/GridLayers.svelte +63 -0
- package/dist/components/layout/grid-layers/GridLayers.svelte.d.ts +26 -0
- package/dist/components/layout/grid-layers/GridLayers.svelte__heightFrom__ +372 -0
- package/dist/components/layout/grid-layers/util.d.ts +19 -0
- package/dist/components/layout/grid-layers/util.js +74 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/index.js +1 -0
- package/dist/components/panels/index.d.ts +1 -0
- package/dist/components/panels/index.js +1 -0
- package/dist/components/panels/panel/Panel.svelte +43 -0
- package/dist/components/panels/panel/Panel.svelte.d.ts +24 -0
- package/dist/components/rows/index.d.ts +2 -0
- package/dist/components/rows/index.js +3 -0
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -0
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte.d.ts +26 -0
- package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -0
- package/dist/components/rows/panel-row-2/PanelRow2.svelte.d.ts +26 -0
- package/dist/components/tab-bar/HkTabBar.state.svelte.d.ts +54 -0
- package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -0
- package/dist/components/tab-bar/HkTabBar.svelte +74 -0
- package/dist/components/tab-bar/HkTabBar.svelte.d.ts +34 -0
- package/dist/components/tab-bar/HkTabBarSelector.state.svelte.d.ts +19 -0
- package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -0
- package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -0
- package/dist/components/tab-bar/HkTabBarSelector.svelte.d.ts +36 -0
- package/dist/components/tab-bar/index.d.ts +5 -0
- package/dist/components/tab-bar/index.js +17 -0
- package/dist/components/tab-bar/typedef.d.ts +8 -0
- package/dist/components/tab-bar/typedef.js +11 -0
- package/dist/config/imagetools-config.d.ts +26 -0
- package/dist/config/imagetools-config.js +189 -0
- package/dist/config/imagetools.d.ts +72 -0
- package/dist/constants/bases.d.ts +10 -0
- package/dist/constants/bases.js +13 -0
- package/dist/constants/errors/api.d.ts +10 -0
- package/dist/constants/errors/api.js +9 -0
- package/dist/constants/errors/generic.d.ts +20 -0
- package/dist/constants/errors/generic.js +20 -0
- package/dist/constants/errors/http.d.ts +16 -0
- package/dist/constants/errors/http.js +16 -0
- package/dist/constants/errors/index.d.ts +4 -0
- package/dist/constants/errors/index.js +4 -0
- package/dist/constants/errors/jwt.d.ts +8 -0
- package/dist/constants/errors/jwt.js +5 -0
- package/dist/constants/http/headers.d.ts +5 -0
- package/dist/constants/http/headers.js +6 -0
- package/dist/constants/http/index.d.ts +2 -0
- package/dist/constants/http/index.js +2 -0
- package/dist/constants/http/methods.d.ts +7 -0
- package/dist/constants/http/methods.js +14 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/mime/application.d.ts +3 -0
- package/dist/constants/mime/application.js +5 -0
- package/dist/constants/mime/audio.d.ts +10 -0
- package/dist/constants/mime/audio.js +13 -0
- package/dist/constants/mime/image.d.ts +3 -0
- package/dist/constants/mime/image.js +3 -0
- package/dist/constants/mime/index.d.ts +4 -0
- package/dist/constants/mime/index.js +4 -0
- package/dist/constants/mime/text.d.ts +2 -0
- package/dist/constants/mime/text.js +2 -0
- package/dist/constants/regexp/index.d.ts +3 -0
- package/dist/constants/regexp/index.js +31 -0
- package/dist/constants/regexp/inspiratie.js__ +95 -0
- package/dist/constants/regexp/text.d.ts +47 -0
- package/dist/constants/regexp/text.js +49 -0
- package/dist/constants/regexp/user.d.ts +6 -0
- package/dist/constants/regexp/user.js +33 -0
- package/dist/constants/regexp/web.d.ts +1 -0
- package/dist/constants/regexp/web.js +3 -0
- package/dist/constants/state-labels/drag-states.d.ts +5 -0
- package/dist/constants/state-labels/drag-states.js +6 -0
- package/dist/constants/state-labels/drop-states.d.ts +4 -0
- package/dist/constants/state-labels/drop-states.js +6 -0
- package/dist/constants/state-labels/input-states.d.ts +8 -0
- package/dist/constants/state-labels/input-states.js +11 -0
- package/dist/constants/state-labels/submit-states.d.ts +4 -0
- package/dist/constants/state-labels/submit-states.js +4 -0
- package/dist/constants/time.d.ts +18 -0
- package/dist/constants/time.js +28 -0
- package/dist/css/utilities.css +43 -0
- package/dist/design/design-config.d.ts +157 -0
- package/dist/design/design-config.js +73 -0
- package/dist/design/tailwind-theme-extend.d.ts +23 -0
- package/dist/design/tailwind-theme-extend.js +158 -0
- package/dist/features/button-group/ButtonGroup.svelte +82 -0
- package/dist/features/button-group/ButtonGroup.svelte.d.ts +34 -0
- package/dist/features/button-group/typedef.d.ts +7 -0
- package/dist/features/button-group/typedef.js +10 -0
- package/dist/features/compare-left-right/CompareLeftRight.svelte +179 -0
- package/dist/features/compare-left-right/CompareLeftRight.svelte.d.ts +18 -0
- package/dist/features/compare-left-right/index.d.ts +1 -0
- package/dist/features/compare-left-right/index.js +1 -0
- package/dist/features/game-box/GameBox.svelte +577 -0
- package/dist/features/game-box/GameBox.svelte.d.ts +140 -0
- package/dist/features/game-box/gamebox.util.d.ts +32 -0
- package/dist/features/game-box/gamebox.util.js +83 -0
- package/dist/features/hk-app-layout/HkAppLayout.state.svelte.d.ts +6 -0
- package/dist/features/hk-app-layout/HkAppLayout.state.svelte.js +25 -0
- package/dist/features/hk-app-layout/HkAppLayout.svelte +251 -0
- package/dist/features/hk-app-layout/HkAppLayout.svelte.d.ts +19 -0
- package/dist/features/image-box/ImageBox.svelte +210 -0
- package/dist/features/image-box/ImageBox.svelte.d.ts +38 -0
- package/dist/features/image-box/index.d.ts +4 -0
- package/dist/features/image-box/index.js +5 -0
- package/dist/features/image-box/typedef.d.ts +4 -0
- package/dist/features/image-box/typedef.js +32 -0
- package/dist/features/index.d.ts +11 -0
- package/dist/features/index.js +23 -0
- package/dist/features/presenter/ImageSlide.svelte +64 -0
- package/dist/features/presenter/ImageSlide.svelte.d.ts +36 -0
- package/dist/features/presenter/Presenter.state.svelte.d.ts +74 -0
- package/dist/features/presenter/Presenter.state.svelte.js +638 -0
- package/dist/features/presenter/Presenter.svelte +142 -0
- package/dist/features/presenter/Presenter.svelte.d.ts +18 -0
- package/dist/features/presenter/constants.d.ts +5 -0
- package/dist/features/presenter/constants.js +7 -0
- package/dist/features/presenter/index.d.ts +6 -0
- package/dist/features/presenter/index.js +10 -0
- package/dist/features/presenter/typedef.d.ts +92 -0
- package/dist/features/presenter/typedef.js +106 -0
- package/dist/features/presenter/util.d.ts +63 -0
- package/dist/features/presenter/util.js +210 -0
- package/dist/features/virtual-viewport/VirtualViewport.svelte +196 -0
- package/dist/features/virtual-viewport/VirtualViewport.svelte.d.ts +42 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/logging/adapters/console.d.ts +48 -0
- package/dist/logging/adapters/console.js +114 -0
- package/dist/logging/adapters/pino.d.ts +25 -0
- package/dist/logging/adapters/pino.js +60 -0
- package/dist/logging/constants.d.ts +1 -0
- package/dist/logging/constants.js +1 -0
- package/dist/logging/factories/client.d.ts +10 -0
- package/dist/logging/factories/client.js +21 -0
- package/dist/logging/factories/server.d.ts +10 -0
- package/dist/logging/factories/server.js +22 -0
- package/dist/logging/factories/universal.d.ts +9 -0
- package/dist/logging/factories/universal.js +23 -0
- package/dist/logging/index.d.ts +5 -0
- package/dist/logging/index.js +8 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/validate-url.d.ts +30 -0
- package/dist/schemas/validate-url.js +180 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/logger.d.ts +25 -0
- package/dist/server/logger.js +94 -0
- package/dist/states/index.d.ts +1 -0
- package/dist/states/index.js +1 -0
- package/dist/states/navigation.svelte.d.ts +23 -0
- package/dist/states/navigation.svelte.js +55 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.js +1 -0
- package/dist/stores/theme.d.ts +28 -0
- package/dist/stores/theme.js +80 -0
- package/dist/themes/hkdev/components/blocks/text-block.css +34 -0
- package/dist/themes/hkdev/components/boxes/game-box.css +11 -0
- package/dist/themes/hkdev/components/buttons/button-icon-steeze.css +22 -0
- package/dist/themes/hkdev/components/buttons/button-text.css +32 -0
- package/dist/themes/hkdev/components/buttons/button.css +146 -0
- package/dist/themes/hkdev/components/buttons/skip-button.css +5 -0
- package/dist/themes/hkdev/components/drag-drop/draggable.css +73 -0
- package/dist/themes/hkdev/components/drag-drop/drop-zone.css +58 -0
- package/dist/themes/hkdev/components/icons/icon-steeze.css +16 -0
- package/dist/themes/hkdev/components/inputs/text-input.css +102 -0
- package/dist/themes/hkdev/components/panels/panel.css +25 -0
- package/dist/themes/hkdev/components/rows/panel-grid-row.css +4 -0
- package/dist/themes/hkdev/components/rows/panel-row-2.css +5 -0
- package/dist/themes/hkdev/components.css +29 -0
- package/dist/themes/hkdev/debug.css +2 -0
- package/dist/themes/hkdev/global/layout.css +32 -0
- package/dist/themes/hkdev/global/on-colors.css +32 -0
- package/dist/themes/hkdev/globals.css +4 -0
- package/dist/themes/hkdev/responsive.css +12 -0
- package/dist/themes/hkdev/theme-ext.d.ts +4 -0
- package/dist/themes/hkdev/theme-ext.js +12 -0
- package/dist/themes/hkdev/theme.css +219 -0
- package/dist/themes/index.d.ts +1 -0
- package/dist/themes/index.js +1 -0
- package/dist/typedef/context.d.ts +3 -0
- package/dist/typedef/context.js +6 -0
- package/dist/typedef/drag.d.ts +29 -0
- package/dist/typedef/drag.js +25 -0
- package/dist/typedef/drop.d.ts +15 -0
- package/dist/typedef/drop.js +12 -0
- package/dist/typedef/image.d.ts +12 -0
- package/dist/typedef/image.js +38 -0
- package/dist/typedef/index.d.ts +4 -0
- package/dist/typedef/index.js +4 -0
- package/dist/util/array/index.d.ts +183 -0
- package/dist/util/array/index.js +436 -0
- package/dist/util/bases/base58.d.ts +58 -0
- package/dist/util/bases/base58.js +262 -0
- package/dist/util/bases/index.d.ts +1 -0
- package/dist/util/bases/index.js +1 -0
- package/dist/util/compare/index.d.ts +68 -0
- package/dist/util/compare/index.js +247 -0
- package/dist/util/css/css-vars.d.ts +24 -0
- package/dist/util/css/css-vars.js +83 -0
- package/dist/util/css/index.d.ts +1 -0
- package/dist/util/css/index.js +1 -0
- package/dist/util/design-system/components/states.d.ts +15 -0
- package/dist/util/design-system/components/states.js +22 -0
- package/dist/util/design-system/css/clamp.d.ts +17 -0
- package/dist/util/design-system/css/clamp.js +66 -0
- package/dist/util/design-system/css/root-design-vars.d.ts +77 -0
- package/dist/util/design-system/css/root-design-vars.js +102 -0
- package/dist/util/design-system/index.d.ts +5 -0
- package/dist/util/design-system/index.js +5 -0
- package/dist/util/design-system/layout/scaling.d.ts +98 -0
- package/dist/util/design-system/layout/scaling.js +228 -0
- package/dist/util/design-system/skeleton.d.ts +41 -0
- package/dist/util/design-system/skeleton.js +208 -0
- package/dist/util/design-system/tailwind.d.ts +183 -0
- package/dist/util/design-system/tailwind.js +288 -0
- package/dist/util/env/index.d.ts +1 -0
- package/dist/util/env/index.js +9 -0
- package/dist/util/exceptions/index.d.ts +15 -0
- package/dist/util/exceptions/index.js +23 -0
- package/dist/util/expect/arrays.d.ts +30 -0
- package/dist/util/expect/arrays.js +47 -0
- package/dist/util/expect/index.d.ts +103 -0
- package/dist/util/expect/index.js +259 -0
- package/dist/util/expect/primitives.d.ts +30 -0
- package/dist/util/expect/primitives.js +55 -0
- package/dist/util/expect/url.d.ts +32 -0
- package/dist/util/expect/url.js +60 -0
- package/dist/util/function/index.d.ts +34 -0
- package/dist/util/function/index.js +218 -0
- package/dist/util/geo/index.d.ts +10 -0
- package/dist/util/geo/index.js +26 -0
- package/dist/util/http/caching.d.ts +28 -0
- package/dist/util/http/caching.js +263 -0
- package/dist/util/http/errors.d.ts +18 -0
- package/dist/util/http/errors.js +97 -0
- package/dist/util/http/headers.d.ts +40 -0
- package/dist/util/http/headers.js +75 -0
- package/dist/util/http/http-request.d.ts +267 -0
- package/dist/util/http/http-request.js +578 -0
- package/dist/util/http/index.d.ts +6 -0
- package/dist/util/http/index.js +22 -0
- package/dist/util/http/json-request.d.ts +84 -0
- package/dist/util/http/json-request.js +224 -0
- package/dist/util/http/mocks.d.ts +20 -0
- package/dist/util/http/mocks.js +65 -0
- package/dist/util/http/response.d.ts +125 -0
- package/dist/util/http/response.js +294 -0
- package/dist/util/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
- package/dist/util/http/typedef.d.ts +184 -0
- package/dist/util/http/typedef.js +93 -0
- package/dist/util/http/url.d.ts +25 -0
- package/dist/util/http/url.js +52 -0
- package/dist/util/image/index.d.ts +25 -0
- package/dist/util/image/index.js +86 -0
- package/dist/util/index.d.ts +3 -0
- package/dist/util/index.js +3 -0
- package/dist/util/is/index.d.ts +68 -0
- package/dist/util/is/index.js +140 -0
- package/dist/util/iterate/index.d.ts +131 -0
- package/dist/util/iterate/index.js +234 -0
- package/dist/util/object/index.d.ts +326 -0
- package/dist/util/object/index.js +1361 -0
- package/dist/util/singleton/index.d.ts +34 -0
- package/dist/util/singleton/index.js +97 -0
- package/dist/util/string/array-path.d.ts +15 -0
- package/dist/util/string/array-path.js +75 -0
- package/dist/util/string/convert.d.ts +22 -0
- package/dist/util/string/convert.js +54 -0
- package/dist/util/string/fs.d.ts +55 -0
- package/dist/util/string/fs.js +226 -0
- package/dist/util/string/index.d.ts +5 -0
- package/dist/util/string/index.js +5 -0
- package/dist/util/string/interpolate.d.ts +22 -0
- package/dist/util/string/interpolate.js +61 -0
- package/dist/util/string/pad.d.ts +8 -0
- package/dist/util/string/pad.js +10 -0
- package/dist/util/svelte/index.d.ts +3 -0
- package/dist/util/svelte/index.js +4 -0
- package/dist/util/svelte/loading/loading-tracker.svelte.d.ts +31 -0
- package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -0
- package/dist/util/svelte/observe/index.d.ts +10 -0
- package/dist/util/svelte/observe/index.js +49 -0
- package/dist/util/svelte/state-context/index.d.ts +18 -0
- package/dist/util/svelte/state-context/index.js +117 -0
- package/dist/util/svelte/wait/index.d.ts +15 -0
- package/dist/util/svelte/wait/index.js +38 -0
- package/dist/util/sveltekit/index.d.ts +1 -0
- package/dist/util/sveltekit/index.js +1 -0
- package/dist/util/sveltekit/route-folders/index.d.ts +28 -0
- package/dist/util/sveltekit/route-folders/index.js +101 -0
- package/dist/util/time/index.d.ts +108 -0
- package/dist/util/time/index.js +323 -0
- package/dist/util/unique/index.d.ts +81 -0
- package/dist/util/unique/index.js +249 -0
- package/dist/valibot/date.js__ +10 -0
- package/dist/valibot/index.d.ts +4 -0
- package/dist/valibot/index.js +9 -0
- package/dist/valibot/url.d.ts +26 -0
- package/dist/valibot/url.js +95 -0
- package/dist/valibot/user.d.ts +6 -0
- package/dist/valibot/user.js +23 -0
- package/dist/zod/all.d.ts +6 -0
- package/dist/zod/all.js +33 -0
- package/dist/zod/generic.d.ts +6 -0
- package/dist/zod/generic.js +11 -0
- package/dist/zod/javascript.d.ts +8 -0
- package/dist/zod/javascript.js +32 -0
- package/dist/zod/user.d.ts +9 -0
- package/dist/zod/user.js +16 -0
- package/dist/zod/web.d.ts +21 -0
- package/dist/zod/web.js +52 -0
- package/package.json +133 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* base-58.js
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* This file contains code for working with base 58 encoding
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
* import { base58fromNumber } from "./base-58.js";
|
|
10
|
+
*
|
|
11
|
+
* console.log( base58fromNumber( 1234513245 ) ) // base 58 encoded string
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* ------------------------------------------------------------------ Imports */
|
|
15
|
+
|
|
16
|
+
import * as expect from '../expect';
|
|
17
|
+
|
|
18
|
+
/* ------------------------------------------------------------------ Exports */
|
|
19
|
+
|
|
20
|
+
// Base 58 helper functions
|
|
21
|
+
//
|
|
22
|
+
// Inspired by
|
|
23
|
+
// https://github.com/jimeh/node-base58/blob/master/src/base58.js
|
|
24
|
+
//
|
|
25
|
+
// @note
|
|
26
|
+
// Two different commonly used alphabets exist
|
|
27
|
+
//
|
|
28
|
+
// Bitcoin, IPFS (respects default sort order):
|
|
29
|
+
// 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
|
|
30
|
+
//
|
|
31
|
+
// Short URLs for Flickr
|
|
32
|
+
// 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ
|
|
33
|
+
//
|
|
34
|
+
// @see https://en.wikipedia.org/wiki/StdBase58Helper
|
|
35
|
+
//
|
|
36
|
+
|
|
37
|
+
export const ALPHABET_BASE_58 =
|
|
38
|
+
'123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
39
|
+
|
|
40
|
+
//export
|
|
41
|
+
const BASE_SIZE = BigInt(ALPHABET_BASE_58.length);
|
|
42
|
+
|
|
43
|
+
// Create a lookup table to fetch character index
|
|
44
|
+
|
|
45
|
+
export const ALPHABET_BASE_58_MAP =
|
|
46
|
+
new Map( [...ALPHABET_BASE_58].map( ( char, index ) => [ char, index ] ) );
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Convert a number to a base 58 encoded string
|
|
50
|
+
*
|
|
51
|
+
* @param {number|BigInt} num - Number to encode
|
|
52
|
+
*
|
|
53
|
+
* @returns {string} string encoded using base 58
|
|
54
|
+
*/
|
|
55
|
+
export function base58fromNumber( num )
|
|
56
|
+
{
|
|
57
|
+
let str = '';
|
|
58
|
+
|
|
59
|
+
if( typeof num !== 'bigint' )
|
|
60
|
+
{
|
|
61
|
+
if( Number.isNaN( num ) ||
|
|
62
|
+
num < 0 ||
|
|
63
|
+
num > Number.MAX_SAFE_INTEGER ||
|
|
64
|
+
Math.floor( num ) !== num )
|
|
65
|
+
{
|
|
66
|
+
throw new Error(
|
|
67
|
+
'Invalid parameter [num], expected not negative safe integer');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
num = BigInt(num);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
while( num >= BASE_SIZE )
|
|
74
|
+
{
|
|
75
|
+
const mod = Number(num % BASE_SIZE);
|
|
76
|
+
|
|
77
|
+
str = ALPHABET_BASE_58[ mod ] + str;
|
|
78
|
+
|
|
79
|
+
// num = Math.floor( num / BASE_SIZE );
|
|
80
|
+
//
|
|
81
|
+
num = num / BASE_SIZE; // BigInts are integers, automatically rounded down
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return ALPHABET_BASE_58[ Number(num) ] + str;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Returns true if the specified string only contains base 58 characters
|
|
89
|
+
*
|
|
90
|
+
* @param {string} str [description]
|
|
91
|
+
*
|
|
92
|
+
* @returns {boolean} true if the string only contains base 58 characters
|
|
93
|
+
*/
|
|
94
|
+
export function isBase58( str )
|
|
95
|
+
{
|
|
96
|
+
expect.string( str );
|
|
97
|
+
|
|
98
|
+
for( let j = 0, n = str.length; j < n; j = j + 1 )
|
|
99
|
+
{
|
|
100
|
+
const char = str.charAt(j);
|
|
101
|
+
if( !ALPHABET_BASE_58_MAP.has( char ) )
|
|
102
|
+
{
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
} // end for
|
|
106
|
+
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// -----------------------------------------------------------------------------
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Convert a string encoded as base 58 to a number (BigInt)
|
|
114
|
+
*
|
|
115
|
+
* @param {string} str - String to decode
|
|
116
|
+
*
|
|
117
|
+
* @param {number} [exceptionValue]
|
|
118
|
+
* If specified, the exceptionValue will be returned instead of
|
|
119
|
+
* throwing an exception
|
|
120
|
+
*
|
|
121
|
+
* @returns {number} decoded decimal numerical representation
|
|
122
|
+
*/
|
|
123
|
+
export function base58toNumber( str, exceptionValue )
|
|
124
|
+
{
|
|
125
|
+
expect.string( str, 'Missing or invalid parameter [str]' );
|
|
126
|
+
|
|
127
|
+
let num = BigInt(0);
|
|
128
|
+
|
|
129
|
+
const n = str.length;
|
|
130
|
+
const n_1 = n - 1;
|
|
131
|
+
|
|
132
|
+
for( let j = 0; j < n; j = j + 1 )
|
|
133
|
+
{
|
|
134
|
+
const char = str.charAt(j);
|
|
135
|
+
const value = ALPHABET_BASE_58_MAP.get( char );
|
|
136
|
+
|
|
137
|
+
if( value === undefined )
|
|
138
|
+
{
|
|
139
|
+
if( 1 === arguments.length )
|
|
140
|
+
{
|
|
141
|
+
throw new Error(
|
|
142
|
+
`Invalid character [${char}] found in string (expected base58`);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
return exceptionValue;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
num = num + BigInt(value) * BigInt(58) ** BigInt( n_1 - j );
|
|
150
|
+
|
|
151
|
+
// console.log("num", num );
|
|
152
|
+
|
|
153
|
+
} // end for
|
|
154
|
+
|
|
155
|
+
return num;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// -----------------------------------------------------------------------------
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Convert a base58 encoded string to an Uint8Array (bytes)
|
|
162
|
+
* - A base58 encoded string actually represents a (potentially very big)
|
|
163
|
+
* number. This method converts that number into a bytes representation
|
|
164
|
+
* - A byte can hold 256 values, a base58 character only 58, so there will be
|
|
165
|
+
* less bytes needed to encode the value of the base58 encoded string
|
|
166
|
+
*
|
|
167
|
+
* @param {string} str - String to convert
|
|
168
|
+
*
|
|
169
|
+
* @returns {Uint8Array} bytes that represent the base58 encoded string value
|
|
170
|
+
*/
|
|
171
|
+
export function base58toBytes( str )
|
|
172
|
+
{
|
|
173
|
+
const num = base58toNumber( str );
|
|
174
|
+
|
|
175
|
+
let numBase16 = num.toString(16);
|
|
176
|
+
|
|
177
|
+
if( 1 === numBase16.length % 2 )
|
|
178
|
+
{
|
|
179
|
+
//
|
|
180
|
+
// String contains inpair number of characters -> prefix a "0"
|
|
181
|
+
//
|
|
182
|
+
numBase16 = '0' + numBase16;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const n = numBase16.length;
|
|
186
|
+
|
|
187
|
+
const out = new Uint8Array( numBase16.length >> 1 );
|
|
188
|
+
|
|
189
|
+
for( let j = n - 1; j > 0; j = j - 2 )
|
|
190
|
+
{
|
|
191
|
+
const low16 = parseInt( numBase16[ j ], 16 );
|
|
192
|
+
const high16 = parseInt( numBase16[ j - 1 ], 16 );
|
|
193
|
+
|
|
194
|
+
// // const low16 = (j < n_1) ? parseInt(numBase16[ j + 1 ], 10) : 0;
|
|
195
|
+
|
|
196
|
+
// const low16 = (j < n_1) ? parseInt( numBase16[ j + 1 ], 16 ) : 0;
|
|
197
|
+
|
|
198
|
+
const value256 = (high16 << 4) + low16;
|
|
199
|
+
|
|
200
|
+
out[ j >> 1 ] = value256;
|
|
201
|
+
|
|
202
|
+
// console.log(
|
|
203
|
+
// {
|
|
204
|
+
// numBase16,
|
|
205
|
+
// n,
|
|
206
|
+
// j,
|
|
207
|
+
// high16,
|
|
208
|
+
// low16,
|
|
209
|
+
// value256,
|
|
210
|
+
// out
|
|
211
|
+
// } );
|
|
212
|
+
|
|
213
|
+
} // end for
|
|
214
|
+
|
|
215
|
+
return out;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// -----------------------------------------------------------------------------
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Convert a base58 encoded string to a (base256) byte string
|
|
222
|
+
*
|
|
223
|
+
* @param {string} str
|
|
224
|
+
*
|
|
225
|
+
* @returns {string} byte string
|
|
226
|
+
*/
|
|
227
|
+
export function base58toByteString( str )
|
|
228
|
+
{
|
|
229
|
+
return new TextDecoder().decode( base58toBytes( str ) );
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// -----------------------------------------------------------------------------
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Convert bytes to number
|
|
236
|
+
*
|
|
237
|
+
* @param {Uint8Array} bytes
|
|
238
|
+
*
|
|
239
|
+
* @returns {BigInt} numeric value
|
|
240
|
+
*/
|
|
241
|
+
export function bytesToNumber( bytes )
|
|
242
|
+
{
|
|
243
|
+
let sum = BigInt(0);
|
|
244
|
+
|
|
245
|
+
// console.log( "check", bytes.length );
|
|
246
|
+
|
|
247
|
+
for( let j = 0, n = bytes.length; j < n; j = j + 1 )
|
|
248
|
+
{
|
|
249
|
+
const base = BigInt(256) ** BigInt( n - 1 - j );
|
|
250
|
+
const value = bytes[ j ];
|
|
251
|
+
|
|
252
|
+
// console.log(
|
|
253
|
+
// {
|
|
254
|
+
// base,
|
|
255
|
+
// value
|
|
256
|
+
// } );
|
|
257
|
+
|
|
258
|
+
sum = sum + base * BigInt( value );
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return sum;
|
|
262
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./base58.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './base58.js';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the values of two variables should be considered the same
|
|
3
|
+
*
|
|
4
|
+
* @param {any} value1 - First value for comparison
|
|
5
|
+
* @param {any} value2 - Second value for comparison
|
|
6
|
+
*
|
|
7
|
+
* @return {boolean} true if the two values can be considered the same
|
|
8
|
+
*/
|
|
9
|
+
export function equals(value1: any, value2: any, _pendingComparisons: any): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if x is greater than y
|
|
12
|
+
*
|
|
13
|
+
* @param {any} x - First value
|
|
14
|
+
* @param {any} y - Second value
|
|
15
|
+
*/
|
|
16
|
+
export function isGreaterThan(x: any, y: any): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if x is less than y
|
|
19
|
+
*
|
|
20
|
+
* @param {any} x - First value
|
|
21
|
+
* @param {any} y - Second value
|
|
22
|
+
*/
|
|
23
|
+
export function isLessThan(x: any, y: any): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Compare function that can be used for sorting smallest values first
|
|
26
|
+
* - undefined values are placed at the ...???FIXME???... of the sorted array
|
|
27
|
+
*
|
|
28
|
+
* @param {any} x - First value
|
|
29
|
+
* @param {any} y - Second value
|
|
30
|
+
*
|
|
31
|
+
* @returns {number} 0 = keep original order,
|
|
32
|
+
* 1 = sort x after y,
|
|
33
|
+
* -1 = sort x before y
|
|
34
|
+
*/
|
|
35
|
+
export function smallestFirst(x: any, y: any): number;
|
|
36
|
+
/**
|
|
37
|
+
* Compare function that can be used for sorting largest values first
|
|
38
|
+
* - undefined values are placed at the ...???FIXME???... of the sorted array
|
|
39
|
+
*
|
|
40
|
+
* @param {any} x - First value
|
|
41
|
+
* @param {any} y - Second value
|
|
42
|
+
*
|
|
43
|
+
* @returns {number} 0 = keep original order,
|
|
44
|
+
* 1 = sort x after y,
|
|
45
|
+
* -1 = sort x before y
|
|
46
|
+
*/
|
|
47
|
+
export function largestFirst(x: any, y: any): number;
|
|
48
|
+
/**
|
|
49
|
+
* Comparator that can be used for sorting using an object path
|
|
50
|
+
*
|
|
51
|
+
* @param {function} compareFn - Function to use to compare the values
|
|
52
|
+
*
|
|
53
|
+
* @param {any} a - First value
|
|
54
|
+
* @param {any} b - Second value
|
|
55
|
+
*
|
|
56
|
+
* @param {string|string[]} path - Object path
|
|
57
|
+
*/
|
|
58
|
+
export function compareUsingPath(compareFn: Function, a: any, b: any, path: string | string[]): any;
|
|
59
|
+
/**
|
|
60
|
+
* Comparator that can be used for sorting using an object key
|
|
61
|
+
*
|
|
62
|
+
* @param {function} compareFn - Function to use to compare the values
|
|
63
|
+
* @param {string|string[]} path - Object path
|
|
64
|
+
*
|
|
65
|
+
* @param {any} x - First value
|
|
66
|
+
* @param {any} y - Second value
|
|
67
|
+
*/
|
|
68
|
+
export function compareUsingKey(compareFn: Function, key: any, a: any, b: any): any;
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/* ------------------------------------------------------------------ Imports */
|
|
2
|
+
|
|
3
|
+
import { objectGet } from '../object/index.js';
|
|
4
|
+
|
|
5
|
+
/* ------------------------------------------------------------------ Exports */
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Check if the values of two variables should be considered the same
|
|
9
|
+
*
|
|
10
|
+
* @param {any} value1 - First value for comparison
|
|
11
|
+
* @param {any} value2 - Second value for comparison
|
|
12
|
+
*
|
|
13
|
+
* @return {boolean} true if the two values can be considered the same
|
|
14
|
+
*/
|
|
15
|
+
export function equals(value1, value2, _pendingComparisons) {
|
|
16
|
+
// -- Basic sameness comparisons
|
|
17
|
+
|
|
18
|
+
if (typeof value1 !== typeof value2) {
|
|
19
|
+
// Not the same [type]
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (!(value1 instanceof Object) && value1 !== value2) {
|
|
24
|
+
// [Not an object] and [not the same value]
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (value1 === value2) {
|
|
29
|
+
// [same value or same object reference]
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (value1 === null || value2 === null) {
|
|
34
|
+
// [one of the values is null, the other an object]
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// -- Check if variables are already being compared
|
|
39
|
+
|
|
40
|
+
if (!_pendingComparisons) {
|
|
41
|
+
_pendingComparisons = { value1: [], value2: [] };
|
|
42
|
+
} else {
|
|
43
|
+
const values1 = _pendingComparisons.value1;
|
|
44
|
+
const values2 = _pendingComparisons.value2;
|
|
45
|
+
|
|
46
|
+
if (values1.length > 0) {
|
|
47
|
+
const foundIndex = values1.indexOf(value1);
|
|
48
|
+
|
|
49
|
+
if (-1 !== foundIndex && values2[foundIndex] === value2) {
|
|
50
|
+
// Objects comparison in progress (it's safe to return true),
|
|
51
|
+
// since equals will fail on other place if objects differ
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// -- Compare special objects
|
|
58
|
+
|
|
59
|
+
switch (value1.constructor) {
|
|
60
|
+
// Implement other special objects here.
|
|
61
|
+
|
|
62
|
+
case RegExp:
|
|
63
|
+
if (value1.toString() === value2.toString()) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
|
|
68
|
+
case Date:
|
|
69
|
+
if (value1.getTime() === value2.getTime()) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// -- Check if both objects have the same properties
|
|
76
|
+
|
|
77
|
+
for (const prop in value1) {
|
|
78
|
+
if (undefined === value2[prop] && undefined !== value1[prop]) {
|
|
79
|
+
// (defined) property found in value1 that is undefined in value2
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
for (const prop in value2) {
|
|
85
|
+
if (undefined === value1[prop] && undefined !== value2[prop]) {
|
|
86
|
+
// (defined) property found in value2 that is undefined in value1
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// -- Check each property for sameness
|
|
92
|
+
|
|
93
|
+
_pendingComparisons.value1.push(value1);
|
|
94
|
+
_pendingComparisons.value2.push(value2);
|
|
95
|
+
|
|
96
|
+
for (const prop in value1) {
|
|
97
|
+
if (false === equals(value1[prop], value2[prop], _pendingComparisons)) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// ---------------------------------------------------------------------- Method
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Returns true if x is greater than y
|
|
109
|
+
*
|
|
110
|
+
* @param {any} x - First value
|
|
111
|
+
* @param {any} y - Second value
|
|
112
|
+
*/
|
|
113
|
+
export function isGreaterThan(x, y) {
|
|
114
|
+
if (typeof x === 'undefined') {
|
|
115
|
+
if (typeof y === 'undefined') {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (typeof y === 'undefined') {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return x > y;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// ---------------------------------------------------------------------- Method
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Returns true if x is less than y
|
|
133
|
+
*
|
|
134
|
+
* @param {any} x - First value
|
|
135
|
+
* @param {any} y - Second value
|
|
136
|
+
*/
|
|
137
|
+
export function isLessThan(x, y) {
|
|
138
|
+
if (typeof x === 'undefined') {
|
|
139
|
+
if (typeof y === 'undefined') {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if (typeof y === 'undefined') {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return x < y;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// ---------------------------------------------------------------------- Method
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Compare function that can be used for sorting smallest values first
|
|
157
|
+
* - undefined values are placed at the ...???FIXME???... of the sorted array
|
|
158
|
+
*
|
|
159
|
+
* @param {any} x - First value
|
|
160
|
+
* @param {any} y - Second value
|
|
161
|
+
*
|
|
162
|
+
* @returns {number} 0 = keep original order,
|
|
163
|
+
* 1 = sort x after y,
|
|
164
|
+
* -1 = sort x before y
|
|
165
|
+
*/
|
|
166
|
+
export function smallestFirst(x, y) {
|
|
167
|
+
if (x === undefined) {
|
|
168
|
+
if (y === undefined) {
|
|
169
|
+
return 0;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return 1;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (y === undefined) {
|
|
176
|
+
return -1;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return x < y ? -1 : x > y ? 1 : 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// ---------------------------------------------------------------------- Method
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Compare function that can be used for sorting largest values first
|
|
186
|
+
* - undefined values are placed at the ...???FIXME???... of the sorted array
|
|
187
|
+
*
|
|
188
|
+
* @param {any} x - First value
|
|
189
|
+
* @param {any} y - Second value
|
|
190
|
+
*
|
|
191
|
+
* @returns {number} 0 = keep original order,
|
|
192
|
+
* 1 = sort x after y,
|
|
193
|
+
* -1 = sort x before y
|
|
194
|
+
*/
|
|
195
|
+
export function largestFirst(x, y) {
|
|
196
|
+
if (x === undefined) {
|
|
197
|
+
if (y === undefined) {
|
|
198
|
+
return 0;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return 1;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (y === undefined) {
|
|
205
|
+
return -1;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return x < y ? 1 : x > y ? -1 : 0;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// ---------------------------------------------------------------------- Method
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Comparator that can be used for sorting using an object path
|
|
215
|
+
*
|
|
216
|
+
* @param {function} compareFn - Function to use to compare the values
|
|
217
|
+
*
|
|
218
|
+
* @param {any} a - First value
|
|
219
|
+
* @param {any} b - Second value
|
|
220
|
+
*
|
|
221
|
+
* @param {string|string[]} path - Object path
|
|
222
|
+
*/
|
|
223
|
+
export function compareUsingPath(compareFn, a, b, path) {
|
|
224
|
+
// @note assume a and b are objects
|
|
225
|
+
|
|
226
|
+
const valueA = objectGet(a, path);
|
|
227
|
+
const valueB = objectGet(b, path);
|
|
228
|
+
|
|
229
|
+
return compareFn(valueA, valueB);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// ---------------------------------------------------------------------- Method
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Comparator that can be used for sorting using an object key
|
|
236
|
+
*
|
|
237
|
+
* @param {function} compareFn - Function to use to compare the values
|
|
238
|
+
* @param {string|string[]} path - Object path
|
|
239
|
+
*
|
|
240
|
+
* @param {any} x - First value
|
|
241
|
+
* @param {any} y - Second value
|
|
242
|
+
*/
|
|
243
|
+
export function compareUsingKey(compareFn, key, a, b) {
|
|
244
|
+
// @note assume a and b are objects
|
|
245
|
+
|
|
246
|
+
return compareFn(a[key], b[key]);
|
|
247
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes a CSS variable name to ensure it has the -- prefix
|
|
3
|
+
*
|
|
4
|
+
* @param {string} varName - The CSS variable name
|
|
5
|
+
* @returns {string} Normalized variable name with -- prefix
|
|
6
|
+
*/
|
|
7
|
+
export function normalizeCssVarName(varName: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Extract a CSS variable value from document root
|
|
10
|
+
*
|
|
11
|
+
* @param {string} varName - CSS variable name without '--'
|
|
12
|
+
* @param {boolean} [useCache=false]
|
|
13
|
+
*
|
|
14
|
+
* @returns {any} Parsed value or default
|
|
15
|
+
*/
|
|
16
|
+
export function getRootCssVar(varName: string, useCache?: boolean): any;
|
|
17
|
+
/**
|
|
18
|
+
* Sets a CSS variable in :root to a new value
|
|
19
|
+
*
|
|
20
|
+
* @param {string} varName - The CSS variable name (with or without --)
|
|
21
|
+
* @param {string|number} value - The new value to set
|
|
22
|
+
* @returns {boolean} True if successful, false otherwise
|
|
23
|
+
*/
|
|
24
|
+
export function setRootCssVar(varName: string, value: string | number): boolean;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
let cssVarCache = {};
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes a CSS variable name to ensure it has the -- prefix
|
|
5
|
+
*
|
|
6
|
+
* @param {string} varName - The CSS variable name
|
|
7
|
+
* @returns {string} Normalized variable name with -- prefix
|
|
8
|
+
*/
|
|
9
|
+
export function normalizeCssVarName(varName) {
|
|
10
|
+
if (typeof varName !== 'string') {
|
|
11
|
+
throw new Error('Variable name must be a string');
|
|
12
|
+
}
|
|
13
|
+
return varName.startsWith('--') ? varName : `--${varName}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Extract a CSS variable value from document root
|
|
18
|
+
*
|
|
19
|
+
* @param {string} varName - CSS variable name without '--'
|
|
20
|
+
* @param {boolean} [useCache=false]
|
|
21
|
+
*
|
|
22
|
+
* @returns {any} Parsed value or default
|
|
23
|
+
*/
|
|
24
|
+
export function getRootCssVar(varName, useCache = false) {
|
|
25
|
+
if (cssVarCache[varName] !== undefined && useCache) {
|
|
26
|
+
return cssVarCache[varName];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Get computed style from document root
|
|
30
|
+
const rootStyle = getComputedStyle(document.documentElement);
|
|
31
|
+
const declaration = rootStyle.getPropertyValue(`--${varName}`).trim();
|
|
32
|
+
|
|
33
|
+
if (!declaration) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let result;
|
|
38
|
+
|
|
39
|
+
// Try to parse as number
|
|
40
|
+
if (!isNaN(parseFloat(declaration))) {
|
|
41
|
+
result = parseFloat(declaration);
|
|
42
|
+
} else {
|
|
43
|
+
// Return string value
|
|
44
|
+
result = declaration;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Cache the result
|
|
48
|
+
cssVarCache[varName] = result;
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Sets a CSS variable in :root to a new value
|
|
54
|
+
*
|
|
55
|
+
* @param {string} varName - The CSS variable name (with or without --)
|
|
56
|
+
* @param {string|number} value - The new value to set
|
|
57
|
+
* @returns {boolean} True if successful, false otherwise
|
|
58
|
+
*/
|
|
59
|
+
export function setRootCssVar(varName, value) {
|
|
60
|
+
try {
|
|
61
|
+
if (varName === undefined || varName === null) {
|
|
62
|
+
throw new Error('Variable name cannot be null or undefined');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (value === undefined || value === null) {
|
|
66
|
+
throw new Error('Value cannot be null or undefined');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const normalizedName = normalizeCssVarName(varName);
|
|
70
|
+
|
|
71
|
+
// Convert to string if numeric
|
|
72
|
+
const formattedValue = typeof value === 'number' ? `${value}` : value;
|
|
73
|
+
|
|
74
|
+
document.documentElement.style.setProperty(normalizedName, formattedValue);
|
|
75
|
+
|
|
76
|
+
delete cssVarCache[varName];
|
|
77
|
+
|
|
78
|
+
return true;
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error(`Error setting CSS variable ${varName}:`, error);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./css-vars.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './css-vars.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates state classes from an object of state variables
|
|
3
|
+
*
|
|
4
|
+
* @param {Object.<string, boolean>} stateObject
|
|
5
|
+
* Object with state names as keys and boolean values
|
|
6
|
+
*
|
|
7
|
+
* @returns {string} Space-separated string of state classes
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // Returns "state-selected state-error"
|
|
11
|
+
* toStateClasses({ selected: true, loading: false, error: true });
|
|
12
|
+
*/
|
|
13
|
+
export function toStateClasses(stateObject: {
|
|
14
|
+
[x: string]: boolean;
|
|
15
|
+
}): string;
|