@hkdigital/lib-core 0.3.9 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -149
- package/dist/assets/autospuiten/car-paint-picker.d.ts +7 -7
- package/dist/assets/autospuiten/car-paint-picker.js +41 -41
- package/dist/assets/autospuiten/labels.js +7 -7
- package/dist/classes/data/IterableTree.d.ts +15 -24
- package/dist/classes/data/IterableTree.js +242 -243
- package/dist/classes/data/Selector.js +190 -190
- package/dist/classes/data/index.js +2 -2
- package/dist/classes/data/typedef.d.ts +8 -0
- package/dist/classes/data/typedef.js +9 -0
- package/dist/classes/event-emitter/EventEmitter.js +273 -275
- package/dist/classes/event-emitter/index.js +2 -2
- package/dist/classes/index.js +4 -4
- package/dist/classes/promise/HkPromise.d.ts +18 -17
- package/dist/classes/promise/HkPromise.js +384 -377
- package/dist/classes/promise/index.js +1 -1
- package/dist/classes/stores/SubscribersCount.js +107 -107
- package/dist/classes/stores/index.js +1 -1
- package/dist/classes/streams/LogTransformStream.js +19 -19
- package/dist/classes/streams/ServerEventsStore.d.ts +2 -3
- package/dist/classes/streams/ServerEventsStore.js +111 -110
- package/dist/classes/streams/TimeStampSource.js +26 -26
- package/dist/classes/streams/index.js +3 -3
- package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
- package/dist/classes/svelte/finite-state-machine/index.js +1 -1
- package/dist/classes/svelte/index.d.ts +0 -8
- package/dist/classes/svelte/index.js +11 -14
- package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
- package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
- package/dist/classes/svelte/loading-state-machine/index.js +3 -3
- package/dist/config/README.md +196 -0
- package/dist/config/{imagetools-config.js → generators/imagetools.js} +189 -189
- package/dist/config/generators/vite.d.ts +47 -0
- package/dist/config/generators/vite.js +142 -0
- package/dist/config/imagetools.d.ts +72 -72
- package/dist/config/vite.d.ts +1 -0
- package/dist/config/vite.js +5 -0
- package/dist/constants/bases/index.js +13 -13
- package/dist/constants/http/headers.js +6 -6
- package/dist/constants/http/index.js +2 -2
- package/dist/constants/http/methods.js +14 -14
- package/dist/constants/index.js +6 -6
- package/dist/constants/mime/application.js +5 -5
- package/dist/constants/mime/audio.js +13 -13
- package/dist/constants/mime/image.js +3 -3
- package/dist/constants/mime/index.js +4 -4
- package/dist/constants/mime/text.js +2 -2
- package/dist/constants/regexp/README.md +95 -0
- package/dist/constants/regexp/index.d.ts +1 -1
- package/dist/constants/regexp/index.js +31 -31
- package/dist/constants/regexp/inspiratie.js__ +95 -95
- package/dist/constants/regexp/text.d.ts +3 -3
- package/dist/constants/regexp/text.js +49 -49
- package/dist/constants/regexp/url.d.ts +1 -0
- package/dist/constants/regexp/url.js +3 -0
- package/dist/constants/regexp/user.d.ts +0 -1
- package/dist/constants/regexp/user.js +29 -33
- package/dist/constants/states/drag.js +6 -6
- package/dist/constants/states/drop.js +6 -6
- package/dist/constants/states/index.js +4 -4
- package/dist/constants/states/input.js +11 -11
- package/dist/constants/states/submit.js +4 -4
- package/dist/constants/time/index.js +28 -28
- package/dist/css/utilities.css +43 -43
- package/dist/design/README.md +405 -0
- package/dist/design/{design-config.js → config/design-config.js} +73 -73
- package/dist/{util/design-system/tailwind.js → design/generators/index.js} +288 -288
- package/dist/design/index.d.ts +8 -0
- package/dist/design/index.js +97 -0
- package/dist/{util/design-system → design/plugins}/skeleton.js +208 -208
- package/dist/design/tailwind-theme-extend.js +158 -158
- package/dist/design/themes/README.md +103 -0
- package/dist/{themes → design/themes}/hkdev/components/blocks/text-block.css +34 -34
- package/dist/{themes → design/themes}/hkdev/components/boxes/game-box.css +11 -11
- package/dist/{themes → design/themes}/hkdev/components/buttons/button-icon-steeze.css +22 -22
- package/dist/{themes → design/themes}/hkdev/components/buttons/button-text.css +32 -32
- package/dist/{themes → design/themes}/hkdev/components/buttons/button.css +146 -146
- package/dist/{themes → design/themes}/hkdev/components/buttons/skip-button.css +5 -5
- package/dist/{themes → design/themes}/hkdev/components/drag-drop/draggable.css +73 -73
- package/dist/{themes → design/themes}/hkdev/components/drag-drop/drop-zone.css +58 -58
- package/dist/{themes → design/themes}/hkdev/components/icons/icon-steeze.css +15 -15
- package/dist/{themes → design/themes}/hkdev/components/inputs/text-input.css +102 -102
- package/dist/{themes → design/themes}/hkdev/components/panels/panel.css +25 -25
- package/dist/{themes → design/themes}/hkdev/components/rows/panel-grid-row.css +4 -4
- package/dist/{themes → design/themes}/hkdev/components/rows/panel-row-2.css +5 -5
- package/dist/{themes → design/themes}/hkdev/components.css +29 -29
- package/dist/design/themes/hkdev/debug.css +2 -0
- package/dist/{themes → design/themes}/hkdev/global/layout.css +32 -32
- package/dist/{themes → design/themes}/hkdev/global/on-colors.css +32 -32
- package/dist/{themes → design/themes}/hkdev/globals.css +3 -3
- package/dist/{themes → design/themes}/hkdev/responsive.css +12 -12
- package/dist/{themes → design/themes}/hkdev/theme-ext.js +12 -12
- package/dist/{themes → design/themes}/hkdev/theme.css +218 -218
- package/dist/{util/design-system/css → design/utils}/clamp.js +66 -66
- package/dist/{util/design-system/css/root-design-vars.d.ts → design/utils/root-vars.d.ts} +2 -2
- package/dist/{util/design-system/css/root-design-vars.js → design/utils/root-vars.js} +102 -102
- package/dist/{util/design-system/layout → design/utils}/scaling.js +228 -228
- package/dist/{util/design-system/components → design/utils}/states.js +22 -22
- package/dist/errors/api.js +9 -9
- package/dist/errors/generic.js +20 -20
- package/dist/errors/http.js +16 -16
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.js +5 -4
- package/dist/errors/jwt.js +5 -5
- package/dist/errors/promise.d.ts +27 -0
- package/dist/errors/promise.js +26 -0
- package/dist/logging/index.js +7 -7
- package/dist/logging/internal/adapters/console.js +114 -114
- package/dist/logging/internal/adapters/index.js +2 -2
- package/dist/logging/internal/adapters/pino.d.ts +1 -0
- package/dist/logging/internal/adapters/pino.js +142 -115
- package/dist/logging/internal/adapters/typedef.d.ts +24 -0
- package/dist/logging/internal/adapters/typedef.js +10 -0
- package/dist/logging/internal/factories/client.js +21 -21
- package/dist/logging/internal/factories/server.js +22 -22
- package/dist/logging/internal/factories/universal.js +22 -22
- package/dist/logging/internal/unified-logger/Logger.js +217 -217
- package/dist/logging/internal/unified-logger/constants.js +22 -22
- package/dist/logging/internal/unified-logger/index.js +6 -6
- package/dist/logging/internal/unified-logger/typedef.js +17 -17
- package/dist/network/README.md +173 -0
- package/dist/{classes → network}/cache/IndexedDbCache.js +1407 -1407
- package/dist/{classes → network}/cache/MemoryResponseCache.js +138 -138
- package/dist/{classes → network}/cache/index.js +5 -5
- package/dist/{classes → network}/cache/typedef.js +41 -41
- package/dist/network/cache.d.ts +3 -0
- package/dist/network/cache.js +4 -0
- package/dist/{util → network}/http/caching.js +261 -263
- package/dist/{util → network}/http/errors.js +97 -97
- package/dist/{util → network}/http/headers.js +75 -75
- package/dist/{util → network}/http/http-request.js +578 -578
- package/dist/{util → network}/http/index.js +22 -22
- package/dist/{util → network}/http/json-request.js +224 -224
- package/dist/{util → network}/http/mocks.js +65 -65
- package/dist/{util → network}/http/response.js +318 -318
- package/dist/{util → network}/http/typedef.js +93 -93
- package/dist/{util → network}/http/url.js +52 -52
- package/dist/network/http.d.ts +6 -0
- package/dist/network/http.js +6 -0
- package/dist/network/loaders/README.md +255 -0
- package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.d.ts +1 -1
- package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.js +58 -58
- package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.js +324 -324
- package/dist/{classes/svelte → network/loaders}/audio/mocks.js +35 -35
- package/dist/network/loaders/audio.d.ts +2 -0
- package/dist/network/loaders/audio.js +2 -0
- package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.d.ts +3 -6
- package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.js +44 -45
- package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.d.ts +5 -7
- package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.js +248 -249
- package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.d.ts +4 -4
- package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.js +150 -152
- package/dist/{classes/svelte → network/loaders}/image/index.js +4 -4
- package/dist/{classes/svelte → network/loaders}/image/mocks.js +35 -35
- package/dist/{classes/svelte → network/loaders}/image/typedef.js +8 -8
- package/dist/{util/image → network/loaders/image/utils}/index.d.ts +2 -2
- package/dist/{util/image → network/loaders/image/utils}/index.js +86 -86
- package/dist/network/loaders/image.d.ts +5 -0
- package/dist/network/loaders/image.js +8 -0
- package/dist/{typedef/image.js → network/loaders/typedef.js} +38 -38
- package/dist/network/loaders.d.ts +2 -0
- package/dist/network/loaders.js +2 -0
- package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.d.ts +1 -1
- package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.js +338 -338
- package/dist/{classes/svelte/network-loader → network/states}/constants.js +3 -3
- package/dist/{classes/svelte/network-loader → network/states}/index.js +3 -3
- package/dist/{classes/svelte/network-loader → network/states}/mocks.js +30 -30
- package/dist/{classes/svelte/network-loader → network/states}/typedef.js +8 -8
- package/dist/network/typedef.d.ts +4 -0
- package/dist/network/typedef.js +10 -0
- package/dist/services/index.js +1 -1
- package/dist/services/internal/index.js +8 -8
- package/dist/services/internal/service-base/ServiceBase.js +462 -462
- package/dist/services/internal/service-base/constants.js +110 -110
- package/dist/services/internal/service-base/index.js +3 -3
- package/dist/services/internal/service-base/typedef.js +101 -101
- package/dist/services/internal/service-manager/ServiceManager.d.ts +2 -35
- package/dist/services/internal/service-manager/ServiceManager.js +608 -614
- package/dist/services/internal/service-manager/constants.js +6 -6
- package/dist/services/internal/service-manager/typedef.js +90 -90
- package/dist/states/index.js +1 -1
- package/dist/states/navigation.svelte.js +55 -55
- package/dist/stores/index.js +1 -1
- package/dist/stores/theme.js +80 -80
- package/dist/typedef/context.js +6 -6
- package/dist/typedef/drag.js +25 -25
- package/dist/typedef/drop.js +12 -12
- package/dist/typedef/index.d.ts +0 -1
- package/dist/typedef/index.js +4 -4
- package/dist/{components → ui/components}/button-group/ButtonGroup.svelte +82 -82
- package/dist/{components → ui/components}/button-group/typedef.js +10 -10
- package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte +179 -179
- package/dist/{components → ui/components}/compare-left-right/index.js +1 -1
- package/dist/{components → ui/components}/game-box/GameBox.svelte +577 -577
- package/dist/{components → ui/components}/game-box/gamebox.util.js +83 -83
- package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +6 -0
- package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
- package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte +251 -251
- package/dist/{components → ui/components}/image-box/ImageBox.svelte +210 -210
- package/dist/{components → ui/components}/image-box/ImageBox.svelte.d.ts +6 -6
- package/dist/ui/components/image-box/index.js +5 -0
- package/dist/{components → ui/components}/image-box/typedef.js +32 -32
- package/dist/{components → ui/components}/index.js +23 -23
- package/dist/{components → ui/components}/presenter/ImageSlide.svelte +64 -64
- package/dist/{components → ui/components}/presenter/ImageSlide.svelte.d.ts +2 -2
- package/dist/{components → ui/components}/presenter/Presenter.state.svelte.d.ts +1 -1
- package/dist/{components → ui/components}/presenter/Presenter.state.svelte.js +638 -638
- package/dist/{components → ui/components}/presenter/Presenter.svelte +142 -142
- package/dist/{components → ui/components}/presenter/constants.js +7 -7
- package/dist/{components → ui/components}/presenter/index.js +10 -10
- package/dist/{components → ui/components}/presenter/typedef.js +106 -106
- package/dist/{components → ui/components}/presenter/util.js +210 -210
- package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte +196 -196
- package/dist/{primitives → ui/primitives}/area/HkArea.svelte +49 -49
- package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte +77 -77
- package/dist/{primitives → ui/primitives}/area/index.js +2 -2
- package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte +82 -82
- package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte.d.ts +1 -1
- package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
- package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte +21 -21
- package/dist/{primitives → ui/primitives}/buttons/index.js +3 -3
- package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
- package/dist/{primitives → ui/primitives}/debug/index.js +1 -1
- package/dist/{primitives → ui/primitives}/drag-drop/DragController.js +44 -44
- package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte +111 -111
- package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte.d.ts +1 -1
- package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte +519 -519
- package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte.d.ts +1 -1
- package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte +258 -258
- package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte.d.ts +3 -3
- package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte +119 -119
- package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte.d.ts +3 -3
- package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte +125 -125
- package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte.d.ts +3 -3
- package/dist/{primitives → ui/primitives}/drag-drop/actions.js +26 -26
- package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.d.ts +11 -11
- package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.js +322 -322
- package/dist/{primitives → ui/primitives}/drag-drop/index.js +7 -7
- package/dist/{primitives → ui/primitives}/drag-drop/util.js +85 -85
- package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte +46 -46
- package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte +62 -62
- package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte +86 -86
- package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte +116 -116
- package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte +97 -97
- package/dist/{primitives → ui/primitives}/icons/index.js +6 -6
- package/dist/{primitives → ui/primitives}/icons/typedef.js +16 -16
- package/dist/{primitives → ui/primitives}/index.js +2 -2
- package/dist/{primitives → ui/primitives}/inputs/index.js +1 -1
- package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte +223 -223
- package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte +14 -14
- package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte +12 -12
- package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte +63 -63
- package/dist/{primitives → ui/primitives}/layout/grid-layers/util.js +74 -74
- package/dist/{primitives → ui/primitives}/layout/index.js +1 -1
- package/dist/{primitives → ui/primitives}/panels/index.js +1 -1
- package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte +43 -43
- package/dist/{primitives → ui/primitives}/rows/index.js +3 -3
- package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte +104 -104
- package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte +40 -40
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.d.ts +3 -3
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.js +149 -149
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte +74 -74
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.d.ts +3 -3
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
- package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte +49 -49
- package/dist/{primitives → ui/primitives}/tab-bar/index.js +17 -17
- package/dist/{primitives → ui/primitives}/tab-bar/typedef.js +11 -11
- package/dist/util/array/index.js +436 -436
- package/dist/util/bases/base58.js +262 -262
- package/dist/util/bases/index.js +1 -1
- package/dist/util/compare/index.js +247 -247
- package/dist/util/css/css-vars.js +83 -83
- package/dist/util/css/index.js +1 -1
- package/dist/util/env/index.js +9 -9
- package/dist/util/exceptions/index.js +23 -23
- package/dist/util/expect/arrays.js +47 -47
- package/dist/util/expect/index.js +259 -259
- package/dist/util/expect/primitives.js +55 -55
- package/dist/util/expect/url.d.ts +6 -6
- package/dist/util/expect/url.js +60 -60
- package/dist/util/function/index.js +218 -218
- package/dist/util/geo/index.js +26 -26
- package/dist/util/index.d.ts +3 -1
- package/dist/util/index.js +7 -3
- package/dist/util/is/index.d.ts +15 -14
- package/dist/util/is/index.js +147 -140
- package/dist/util/iterate/index.d.ts +37 -69
- package/dist/util/iterate/index.js +204 -234
- package/dist/util/object/index.d.ts +38 -57
- package/dist/util/object/index.js +1345 -1361
- package/dist/util/singleton/index.js +97 -97
- package/dist/util/string/array-path.js +75 -75
- package/dist/util/string/convert.js +54 -54
- package/dist/util/string/fs.js +226 -226
- package/dist/util/string/index.js +5 -5
- package/dist/util/string/interpolate.js +61 -61
- package/dist/util/string/pad.js +10 -10
- package/dist/util/svelte/index.js +4 -4
- package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
- package/dist/util/svelte/observe/index.js +49 -49
- package/dist/util/svelte/state-context/index.js +117 -117
- package/dist/util/svelte/wait/index.js +38 -38
- package/dist/util/sveltekit/index.js +1 -1
- package/dist/util/sveltekit/route-folders/index.js +101 -101
- package/dist/util/time/index.js +328 -323
- package/dist/util/unique/index.js +231 -249
- package/dist/valibot/README.md +50 -0
- package/dist/valibot/index.d.ts +4 -4
- package/dist/valibot/index.js +8 -9
- package/dist/valibot/{url.d.ts → parsers/url.d.ts} +13 -5
- package/dist/valibot/{url.js → parsers/url.js} +111 -95
- package/dist/valibot/{user.js → parsers/user.js} +23 -23
- package/dist/valibot/parsers.d.ts +2 -0
- package/dist/valibot/parsers.js +4 -0
- package/package.json +131 -133
- package/dist/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +0 -6
- package/dist/components/image-box/index.js +0 -5
- package/dist/constants/regexp/web.d.ts +0 -1
- package/dist/constants/regexp/web.js +0 -3
- package/dist/primitives/inputs/text-input/TestTextInput.svelte__ +0 -102
- package/dist/primitives/inputs/text-input/TextInput.svelte___ +0 -83
- package/dist/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +0 -372
- package/dist/schemas/index.d.ts +0 -1
- package/dist/schemas/index.js +0 -1
- package/dist/schemas/validate-url.d.ts +0 -30
- package/dist/schemas/validate-url.js +0 -180
- package/dist/themes/hkdev/debug.css +0 -2
- package/dist/themes/index.d.ts +0 -1
- package/dist/themes/index.js +0 -1
- package/dist/util/design-system/index.d.ts +0 -5
- package/dist/util/design-system/index.js +0 -5
- package/dist/util/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
- package/dist/valibot/date.js__ +0 -10
- package/dist/zod/all.d.ts +0 -6
- package/dist/zod/all.js +0 -33
- package/dist/zod/generic.d.ts +0 -6
- package/dist/zod/generic.js +0 -11
- package/dist/zod/javascript.d.ts +0 -8
- package/dist/zod/javascript.js +0 -32
- package/dist/zod/user.d.ts +0 -9
- package/dist/zod/user.js +0 -16
- package/dist/zod/web.d.ts +0 -21
- package/dist/zod/web.js +0 -52
- /package/dist/config/{imagetools-config.d.ts → generators/imagetools.d.ts} +0 -0
- /package/dist/design/{design-config.d.ts → config/design-config.d.ts} +0 -0
- /package/dist/{util/design-system/tailwind.d.ts → design/generators/index.d.ts} +0 -0
- /package/dist/{util/design-system → design/plugins}/skeleton.d.ts +0 -0
- /package/dist/{themes → design/themes}/hkdev/theme-ext.d.ts +0 -0
- /package/dist/{util/design-system/css → design/utils}/clamp.d.ts +0 -0
- /package/dist/{util/design-system/layout → design/utils}/scaling.d.ts +0 -0
- /package/dist/{util/design-system/components → design/utils}/states.d.ts +0 -0
- /package/dist/{classes → network}/cache/IndexedDbCache.d.ts +0 -0
- /package/dist/{classes → network}/cache/MemoryResponseCache.d.ts +0 -0
- /package/dist/{classes → network}/cache/index.d.ts +0 -0
- /package/dist/{classes → network}/cache/typedef.d.ts +0 -0
- /package/dist/{util → network}/http/caching.d.ts +0 -0
- /package/dist/{util → network}/http/errors.d.ts +0 -0
- /package/dist/{util → network}/http/headers.d.ts +0 -0
- /package/dist/{util → network}/http/http-request.d.ts +0 -0
- /package/dist/{util → network}/http/index.d.ts +0 -0
- /package/dist/{util → network}/http/json-request.d.ts +0 -0
- /package/dist/{util → network}/http/mocks.d.ts +0 -0
- /package/dist/{util → network}/http/response.d.ts +0 -0
- /package/dist/{util → network}/http/typedef.d.ts +0 -0
- /package/dist/{util → network}/http/url.d.ts +0 -0
- /package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.d.ts +0 -0
- /package/dist/{classes/svelte → network/loaders}/audio/mocks.d.ts +0 -0
- /package/dist/{classes/svelte → network/loaders}/image/index.d.ts +0 -0
- /package/dist/{classes/svelte → network/loaders}/image/mocks.d.ts +0 -0
- /package/dist/{classes/svelte → network/loaders}/image/typedef.d.ts +0 -0
- /package/dist/{typedef/image.d.ts → network/loaders/typedef.d.ts} +0 -0
- /package/dist/{classes/svelte/network-loader → network/states}/constants.d.ts +0 -0
- /package/dist/{classes/svelte/network-loader → network/states}/index.d.ts +0 -0
- /package/dist/{classes/svelte/network-loader → network/states}/mocks.d.ts +0 -0
- /package/dist/{classes/svelte/network-loader → network/states}/typedef.d.ts +0 -0
- /package/dist/{components → ui/components}/button-group/ButtonGroup.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/button-group/typedef.d.ts +0 -0
- /package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/compare-left-right/index.d.ts +0 -0
- /package/dist/{components → ui/components}/game-box/GameBox.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/game-box/gamebox.util.d.ts +0 -0
- /package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/image-box/index.d.ts +0 -0
- /package/dist/{components → ui/components}/image-box/typedef.d.ts +0 -0
- /package/dist/{components → ui/components}/index.d.ts +0 -0
- /package/dist/{components → ui/components}/presenter/Presenter.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/presenter/constants.d.ts +0 -0
- /package/dist/{components → ui/components}/presenter/index.d.ts +0 -0
- /package/dist/{components → ui/components}/presenter/typedef.d.ts +0 -0
- /package/dist/{components → ui/components}/presenter/util.d.ts +0 -0
- /package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/area/HkArea.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/area/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/buttons/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/debug/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/drag-drop/DragController.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/drag-drop/actions.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/drag-drop/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/drag-drop/util.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/icons/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/icons/typedef.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/inputs/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/layout/grid-layers/util.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/layout/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/panels/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/rows/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/tab-bar/index.d.ts +0 -0
- /package/dist/{primitives → ui/primitives}/tab-bar/typedef.d.ts +0 -0
- /package/dist/valibot/{user.d.ts → parsers/user.d.ts} +0 -0
|
@@ -1,249 +1,231 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* unique.js
|
|
3
|
-
*
|
|
4
|
-
* @description
|
|
5
|
-
* This file contains functionality to generate unique data
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
*
|
|
9
|
-
* import { generateLocalId } from './unqiue.js';
|
|
10
|
-
*
|
|
11
|
-
* async function test()
|
|
12
|
-
* {
|
|
13
|
-
* console.log( `Id 1 [${generateLocalId()}]` );
|
|
14
|
-
* console.log( `Id 2 [${generateLocalId()}]` );
|
|
15
|
-
* }
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/* ------------------------------------------------------------------ Imports */
|
|
19
|
-
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{
|
|
66
|
-
return randomString(
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Create a string that contains random characters from a for human's not
|
|
71
|
-
* ambiguous alphabet
|
|
72
|
-
*
|
|
73
|
-
* @param {number} [length=48]
|
|
74
|
-
*
|
|
75
|
-
* @returns {string} a human friendly encoded random string
|
|
76
|
-
*/
|
|
77
|
-
export function randomStringBaseHuman(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
* @param {
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
let
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
*
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
timeBasedValue58 =
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
//
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
*
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
* @returns {string} time based value
|
|
233
|
-
*/
|
|
234
|
-
export function getTwoChar10ms( timeMs )
|
|
235
|
-
{
|
|
236
|
-
const now = timeMs || Date.now();
|
|
237
|
-
|
|
238
|
-
// @note
|
|
239
|
-
// do not use bitwise shift since it only works on 32 bit numbers
|
|
240
|
-
const num = Math.floor( now / 10 ) % 3364;
|
|
241
|
-
|
|
242
|
-
if( num >= 58 )
|
|
243
|
-
{
|
|
244
|
-
return base58fromNumber( num );
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
return '1' + base58fromNumber( num );
|
|
248
|
-
}
|
|
249
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* unique.js
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* This file contains functionality to generate unique data
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
* import { generateLocalId } from './unqiue.js';
|
|
10
|
+
*
|
|
11
|
+
* async function test()
|
|
12
|
+
* {
|
|
13
|
+
* console.log( `Id 1 [${generateLocalId()}]` );
|
|
14
|
+
* console.log( `Id 2 [${generateLocalId()}]` );
|
|
15
|
+
* }
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* ------------------------------------------------------------------ Imports */
|
|
19
|
+
|
|
20
|
+
import {
|
|
21
|
+
ALPHABET_BASE_HUMAN,
|
|
22
|
+
ALPHABET_BASE_58
|
|
23
|
+
} from '../../constants/bases/index.js';
|
|
24
|
+
|
|
25
|
+
import { base58fromNumber } from '../bases';
|
|
26
|
+
|
|
27
|
+
import { TIME_2025_01_01 } from '../../constants/time';
|
|
28
|
+
|
|
29
|
+
import { sinceMs } from '../time';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @type {{
|
|
33
|
+
* bootTimePrefix?:string,
|
|
34
|
+
* lastTimeBasedNumber?: number,
|
|
35
|
+
* lastTimeBasedValue58?: string,
|
|
36
|
+
* lastCountBasedNumber?: number
|
|
37
|
+
* }}
|
|
38
|
+
*/
|
|
39
|
+
var vars = {}; /* @note use 'var declaration' for hoisting */
|
|
40
|
+
|
|
41
|
+
export const BOOT_STAMP = (Date.now() - TIME_2025_01_01).toString(36);
|
|
42
|
+
|
|
43
|
+
/* ------------------------------------------------------------------ Exports */
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Returns a three character prefix that is calculated at boot
|
|
47
|
+
*
|
|
48
|
+
* @returns {string} boot time prefix
|
|
49
|
+
*/
|
|
50
|
+
export function bootTimePrefix() {
|
|
51
|
+
if (!vars.bootTimePrefix) {
|
|
52
|
+
vars.bootTimePrefix = '3' + getTwoChar10ms();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return vars.bootTimePrefix;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Create a string that contains random characters from the base58 alphabet
|
|
60
|
+
*
|
|
61
|
+
* @param {number} [length=48]
|
|
62
|
+
*
|
|
63
|
+
* @returns {string} a base 58 encoded random string
|
|
64
|
+
*/
|
|
65
|
+
export function randomStringBase58(length = 48) {
|
|
66
|
+
return randomString(length, ALPHABET_BASE_58);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Create a string that contains random characters from a for human's not
|
|
71
|
+
* ambiguous alphabet
|
|
72
|
+
*
|
|
73
|
+
* @param {number} [length=48]
|
|
74
|
+
*
|
|
75
|
+
* @returns {string} a human friendly encoded random string
|
|
76
|
+
*/
|
|
77
|
+
export function randomStringBaseHuman(length = 48) {
|
|
78
|
+
return randomString(length, ALPHABET_BASE_HUMAN);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Create a string that contains random characters from the specified alphabet
|
|
83
|
+
*
|
|
84
|
+
* @param {number} [length=48]
|
|
85
|
+
* @param {string} [ALPHABET=ALPHABET_BASE_58]
|
|
86
|
+
*
|
|
87
|
+
* @returns {string} a base 58 encoded random string
|
|
88
|
+
*/
|
|
89
|
+
export function randomString(length = 48, ALPHABET = ALPHABET_BASE_58) {
|
|
90
|
+
if (typeof length !== 'number' || length < 1) {
|
|
91
|
+
throw new Error('Invalid parameter [length]');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (typeof ALPHABET !== 'string' || !ALPHABET.length) {
|
|
95
|
+
throw new Error('Invalid parameter [ALPHABET]');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let str = '';
|
|
99
|
+
|
|
100
|
+
const n = ALPHABET.length;
|
|
101
|
+
|
|
102
|
+
for (let j = length; j > 0; j = j - 1) {
|
|
103
|
+
const num = (n * Math.random()) & -1; // number [0...n-1]
|
|
104
|
+
str += ALPHABET[num];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return str;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Create an access code: a string that contains 48 random characters from the
|
|
112
|
+
* base58 alphabet
|
|
113
|
+
*
|
|
114
|
+
* @returns {string} a base 58 encoded random string of length 48
|
|
115
|
+
*/
|
|
116
|
+
export function randomAccessCode() {
|
|
117
|
+
return randomStringBase58(48);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Generate client session id
|
|
122
|
+
*
|
|
123
|
+
* @returns {string} a base 58 encoded random string of length 48
|
|
124
|
+
*/
|
|
125
|
+
export function generateClientSessionId() {
|
|
126
|
+
return randomStringBase58(48);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Generates and returns a new unique local id
|
|
131
|
+
* - The generated id is garanteed to be unique on the currently running
|
|
132
|
+
* local system
|
|
133
|
+
*
|
|
134
|
+
* @param {number} [timeMs]
|
|
135
|
+
* Custom time value to be used instead of Date.now()
|
|
136
|
+
*
|
|
137
|
+
* @returns {string} local id
|
|
138
|
+
*/
|
|
139
|
+
export function generateLocalId(timeMs) {
|
|
140
|
+
const timeBasedNumber = getTimeBasedNumber30s(timeMs);
|
|
141
|
+
|
|
142
|
+
let timeBasedValue58;
|
|
143
|
+
|
|
144
|
+
let countBasedNumber;
|
|
145
|
+
|
|
146
|
+
if (vars.lastTimeBasedNumber !== timeBasedNumber) {
|
|
147
|
+
// -- Time stamp based number changed -> reset counter to zero
|
|
148
|
+
|
|
149
|
+
countBasedNumber = vars.lastCountBasedNumber = 0;
|
|
150
|
+
|
|
151
|
+
// -- Calculate timeBasedValue58 and update cache
|
|
152
|
+
|
|
153
|
+
vars.lastTimeBasedNumber = timeBasedNumber;
|
|
154
|
+
|
|
155
|
+
// cache string representation
|
|
156
|
+
timeBasedValue58 = vars.lastTimeBasedValue58 =
|
|
157
|
+
base58fromNumber(timeBasedNumber);
|
|
158
|
+
} else {
|
|
159
|
+
// -- Same time stamp based number -> increment counter
|
|
160
|
+
|
|
161
|
+
countBasedNumber = vars.lastCountBasedNumber =
|
|
162
|
+
vars.lastCountBasedNumber + 1;
|
|
163
|
+
|
|
164
|
+
// -- Use cached lastTimeBasedNumber
|
|
165
|
+
|
|
166
|
+
timeBasedValue58 = vars.lastTimeBasedValue58;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const countBasedValue58 = base58fromNumber(countBasedNumber);
|
|
170
|
+
|
|
171
|
+
// Combine parts into single identifier string
|
|
172
|
+
//
|
|
173
|
+
// @note ALPHABET_BASE_58 is used because it is faster than
|
|
174
|
+
// base58fromNumber for single character encoding
|
|
175
|
+
//
|
|
176
|
+
const id =
|
|
177
|
+
// idFormatPrefix
|
|
178
|
+
bootTimePrefix() +
|
|
179
|
+
ALPHABET_BASE_58[timeBasedValue58.length] +
|
|
180
|
+
timeBasedValue58 +
|
|
181
|
+
countBasedValue58;
|
|
182
|
+
|
|
183
|
+
// std.debug( id );
|
|
184
|
+
|
|
185
|
+
return id;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Returns a time based number that changes every 30 seconds
|
|
190
|
+
*
|
|
191
|
+
* @param {number} [timeMs=sinceMs()]
|
|
192
|
+
* Custom time value to be used instead of sinceMs()
|
|
193
|
+
*
|
|
194
|
+
* @returns {number} time based numerical that changes every 30 seconds
|
|
195
|
+
*/
|
|
196
|
+
export function getTimeBasedNumber30s(timeMs) {
|
|
197
|
+
if (!timeMs) {
|
|
198
|
+
timeMs = sinceMs();
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// @note do not use bitwise shift since it only works on 32 bit numbers!
|
|
202
|
+
return Math.floor(timeMs / 30000);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Returns two character base58 encoded string that changes every 10
|
|
207
|
+
* milliseconds
|
|
208
|
+
*
|
|
209
|
+
* - The function output changes every 9 milliseconds
|
|
210
|
+
* - Returns a two character string
|
|
211
|
+
* - The string is base58 encoded
|
|
212
|
+
* - After 58 * 58 * 10ms = 33,6 seconds, the function output repeats
|
|
213
|
+
*
|
|
214
|
+
* @param {number} [timeMs]
|
|
215
|
+
* Custom time value to be used instead of Date.now()
|
|
216
|
+
*
|
|
217
|
+
* @returns {string} time based value
|
|
218
|
+
*/
|
|
219
|
+
export function getTwoChar10ms(timeMs) {
|
|
220
|
+
const now = timeMs || Date.now();
|
|
221
|
+
|
|
222
|
+
// @note
|
|
223
|
+
// do not use bitwise shift since it only works on 32 bit numbers
|
|
224
|
+
const num = Math.floor(now / 10) % 3364;
|
|
225
|
+
|
|
226
|
+
if (num >= 58) {
|
|
227
|
+
return base58fromNumber(num);
|
|
228
|
+
} else {
|
|
229
|
+
return '1' + base58fromNumber(num);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Valibot Parsers
|
|
2
|
+
|
|
3
|
+
Collection of Valibot validation parsers for common data types and formats.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This module provides pre-configured Valibot parsers for validating and transforming common data types like URLs and user information.
|
|
8
|
+
|
|
9
|
+
## Parsers
|
|
10
|
+
|
|
11
|
+
### URL Parsers
|
|
12
|
+
|
|
13
|
+
- `UrlOrEmptyString` - Validates URL or allows empty string
|
|
14
|
+
- `HumanUrl` - Validates URL with automatic `https://` prefix for protocol-less URLs
|
|
15
|
+
- `UrlPath` - Extracts and validates URL pathname
|
|
16
|
+
- `RelativeUrl` - Validates relative URLs with path, search, and hash
|
|
17
|
+
- `AbsOrRelUrl` - Validates absolute or relative URLs
|
|
18
|
+
|
|
19
|
+
### User Parsers
|
|
20
|
+
|
|
21
|
+
- `Name` - Validates user names
|
|
22
|
+
- `Fullname` - Validates full names
|
|
23
|
+
- `Username` - Validates usernames
|
|
24
|
+
- `Surname` - Validates surnames
|
|
25
|
+
- `PhoneNumber` - Validates phone numbers
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
import { v, HumanUrl, Name } from '$lib/valibot/index.js';
|
|
31
|
+
|
|
32
|
+
// Validates and transforms URL (throws error if invalid)
|
|
33
|
+
const result = v.parse(HumanUrl, 'example.com'); // Returns 'https://example.com'
|
|
34
|
+
|
|
35
|
+
// Validates name (throws error if invalid)
|
|
36
|
+
const nameResult = v.parse(Name, 'John');
|
|
37
|
+
|
|
38
|
+
// Use safeParse to avoid exceptions
|
|
39
|
+
const safeResult = v.safeParse(HumanUrl, 'invalid-url');
|
|
40
|
+
if (safeResult.success) {
|
|
41
|
+
console.log(safeResult.output);
|
|
42
|
+
} else {
|
|
43
|
+
console.log(safeResult.issues); // Array of issue objects
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## References
|
|
48
|
+
|
|
49
|
+
- [SafeParseResult API](https://valibot.dev/api/SafeParseResult/)
|
|
50
|
+
- [BaseIssue API](https://valibot.dev/api/BaseIssue/)
|
package/dist/valibot/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export
|
|
3
|
-
export default
|
|
4
|
-
import * as
|
|
1
|
+
export * from "./parsers.js";
|
|
2
|
+
export { valibot as v };
|
|
3
|
+
export default valibot;
|
|
4
|
+
import * as valibot from 'valibot';
|
package/dist/valibot/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
// export * from './date.js';
|
|
4
|
-
|
|
5
|
-
export * from './
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
export default v;
|
|
1
|
+
import * as valibot from 'valibot';
|
|
2
|
+
|
|
3
|
+
// export * from './date.js';
|
|
4
|
+
|
|
5
|
+
export * from './parsers.js';
|
|
6
|
+
|
|
7
|
+
export { valibot as v };
|
|
8
|
+
export default valibot;
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Parser for URL or empty string.
|
|
3
3
|
*/
|
|
4
4
|
export const UrlOrEmptyString: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, v.UnionSchema<[v.LiteralSchema<"", undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>], undefined>]>;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Parser for URL that may miss the protocol part
|
|
7
7
|
*
|
|
8
8
|
* @note an empty string is not allowed!
|
|
9
9
|
*/
|
|
10
10
|
export const HumanUrl: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.TransformAction<string, string>, v.UrlAction<string, undefined>]>;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Parser for URL path, without a search and hash part
|
|
13
13
|
*/
|
|
14
14
|
export const UrlPath: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, URL>, v.CustomSchema<URL, "Invalid URL pathname">, v.TransformAction<URL, string>]>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Parser for URL path, which consists of
|
|
17
17
|
* a path and optionally search and hash parts
|
|
18
18
|
*/
|
|
19
19
|
export const RelativeUrl: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, URL>, v.CustomSchema<URL, "Invalid URL pathname or search part">, v.TransformAction<URL, string>]>;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Parser for absolute or relative URL
|
|
22
22
|
*
|
|
23
23
|
* @note an empty string is not allowed!
|
|
24
24
|
*/
|
|
25
25
|
export const AbsOrRelUrl: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, URL>, v.CustomSchema<URL, "Invalid URL pathname or search part">, v.TransformAction<URL, string>]>]>], undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Parser for URL slug (e.g., "my-blog-post", "user-123")
|
|
28
|
+
*
|
|
29
|
+
* @note Must start and end with Latin characters or numbers
|
|
30
|
+
* @note Hyphens are allowed between character groups
|
|
31
|
+
* @note Automatically converts to lowercase
|
|
32
|
+
*/
|
|
33
|
+
export const Slug: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.RegexAction<string, "Must be a valid URL slug">]>;
|
|
26
34
|
import * as v from 'valibot';
|