@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,275 +1,273 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Simple event emitter implementation to support event-based architecture
|
|
3
|
-
* in service management and other parts of the application.
|
|
4
|
-
*
|
|
5
|
-
* This implementation provides standard event publishing and subscription methods
|
|
6
|
-
* with support for namespaced events, wildcard listeners, and callback removal.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // Basic usage
|
|
10
|
-
* import { EventEmitter } from './EventEmitter.js';
|
|
11
|
-
*
|
|
12
|
-
* // Create an emitter
|
|
13
|
-
* const events = new EventEmitter();
|
|
14
|
-
*
|
|
15
|
-
* // Subscribe to events
|
|
16
|
-
* const unsubscribe = events.on('data-loaded', (data) => {
|
|
17
|
-
* console.log('Data loaded:', data);
|
|
18
|
-
* });
|
|
19
|
-
*
|
|
20
|
-
* // Subscribe to all events with a specific prefix
|
|
21
|
-
* events.on('database:*', ({ event, data }) => {
|
|
22
|
-
* console.log(`Database event ${event}:`, data);
|
|
23
|
-
* });
|
|
24
|
-
*
|
|
25
|
-
* // Emit events
|
|
26
|
-
* events.emit('data-loaded', { items: [1, 2, 3] });
|
|
27
|
-
* events.emit('database:connected', { connectionId: 'abc123' });
|
|
28
|
-
*
|
|
29
|
-
* // Clean up when done
|
|
30
|
-
* unsubscribe();
|
|
31
|
-
*
|
|
32
|
-
* // Or remove all listeners
|
|
33
|
-
* events.removeAllListeners();
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* EventEmitter class for event-based programming
|
|
38
|
-
*/
|
|
39
|
-
export default class EventEmitter {
|
|
40
|
-
/**
|
|
41
|
-
* Create a new EventEmitter instance
|
|
42
|
-
*/
|
|
43
|
-
constructor() {
|
|
44
|
-
/**
|
|
45
|
-
* Map to store event handlers
|
|
46
|
-
* @type {Map<string, Set<Function>>}
|
|
47
|
-
* @private
|
|
48
|
-
*/
|
|
49
|
-
this.eventHandlers = new Map();
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Map to store wildcard event handlers (events ending with *)
|
|
53
|
-
* @type {Map<string, Set<Function>>}
|
|
54
|
-
* @private
|
|
55
|
-
*/
|
|
56
|
-
this.wildcardHandlers = new Map();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Register an event handler
|
|
61
|
-
*
|
|
62
|
-
* @param {string} eventName - Event name to listen for. Can use wildcard (*)
|
|
63
|
-
* at the end to listen to all events with a specific prefix.
|
|
64
|
-
* @param {Function} handler - Handler function to call when event is emitted
|
|
65
|
-
* @returns {Function} Function to remove this specific handler
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* // Listen for a specific event
|
|
69
|
-
* emitter.on('userLoggedIn', (user) => {
|
|
70
|
-
* console.log(`User logged in: ${user.name}`);
|
|
71
|
-
* });
|
|
72
|
-
*
|
|
73
|
-
* // Listen for all events with a prefix
|
|
74
|
-
* emitter.on('api:*', ({ event, data }) => {
|
|
75
|
-
* console.log(`API event ${event}:`, data);
|
|
76
|
-
* });
|
|
77
|
-
*/
|
|
78
|
-
on(eventName, handler) {
|
|
79
|
-
if (typeof handler !== 'function') {
|
|
80
|
-
throw new TypeError('Event handler must be a function');
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Handle wildcard listeners
|
|
84
|
-
if (eventName.endsWith('*')) {
|
|
85
|
-
const prefix = eventName.slice(0, -1);
|
|
86
|
-
|
|
87
|
-
if (!this.wildcardHandlers.has(prefix)) {
|
|
88
|
-
this.wildcardHandlers.set(prefix, new Set());
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
this.wildcardHandlers.get(prefix).add(handler);
|
|
92
|
-
|
|
93
|
-
return () => this.off(eventName, handler);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Handle normal listeners
|
|
97
|
-
if (!this.eventHandlers.has(eventName)) {
|
|
98
|
-
this.eventHandlers.set(eventName, new Set());
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
this.eventHandlers.get(eventName).add(handler);
|
|
102
|
-
|
|
103
|
-
return () => this.off(eventName, handler);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Register a one-time event handler that will be removed after first execution
|
|
108
|
-
*
|
|
109
|
-
* @param {string} eventName - Event name to listen for
|
|
110
|
-
* @param {Function} handler - Handler function to call when event is emitted
|
|
111
|
-
* @returns {Function} Function to remove this specific handler
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* emitter.once('initialization', () => {
|
|
115
|
-
* console.log('Initialization happened');
|
|
116
|
-
* });
|
|
117
|
-
*/
|
|
118
|
-
once(eventName, handler) {
|
|
119
|
-
if (typeof handler !== 'function') {
|
|
120
|
-
throw new TypeError('Event handler must be a function');
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const wrapper = (...args) => {
|
|
124
|
-
this.off(eventName, wrapper);
|
|
125
|
-
handler(...args);
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
return this.on(eventName, wrapper);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Remove an event handler
|
|
133
|
-
*
|
|
134
|
-
* @param {string} eventName - Event name the handler was registered for
|
|
135
|
-
* @param {Function} handler - Handler function to remove
|
|
136
|
-
* @returns {boolean} True if the handler was removed, false otherwise
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* const handler = (data) => console.log(data);
|
|
140
|
-
* emitter.on('data', handler);
|
|
141
|
-
* emitter.off('data', handler);
|
|
142
|
-
*/
|
|
143
|
-
off(eventName, handler) {
|
|
144
|
-
// Handle wildcard listeners
|
|
145
|
-
if (eventName.endsWith('*')) {
|
|
146
|
-
const prefix = eventName.slice(0, -1);
|
|
147
|
-
const handlers = this.wildcardHandlers.get(prefix);
|
|
148
|
-
|
|
149
|
-
if (handlers) {
|
|
150
|
-
return handlers.delete(handler);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Handle normal listeners
|
|
157
|
-
const handlers = this.eventHandlers.get(eventName);
|
|
158
|
-
|
|
159
|
-
if (handlers) {
|
|
160
|
-
return handlers.delete(handler);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Remove all event handlers for a specific event
|
|
168
|
-
*
|
|
169
|
-
* @param {string} [eventName] - Event name to remove handlers for.
|
|
170
|
-
* If not provided, removes all handlers for all events.
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* // Remove all 'data' event handlers
|
|
174
|
-
* emitter.removeAllListeners('data');
|
|
175
|
-
*
|
|
176
|
-
* // Remove all event handlers
|
|
177
|
-
* emitter.removeAllListeners();
|
|
178
|
-
*/
|
|
179
|
-
removeAllListeners(eventName) {
|
|
180
|
-
if (eventName) {
|
|
181
|
-
// Handle wildcard listeners
|
|
182
|
-
if (eventName.endsWith('*')) {
|
|
183
|
-
const prefix = eventName.slice(0, -1);
|
|
184
|
-
this.wildcardHandlers.delete(prefix);
|
|
185
|
-
} else {
|
|
186
|
-
this.eventHandlers.delete(eventName);
|
|
187
|
-
}
|
|
188
|
-
} else {
|
|
189
|
-
// Clear all handlers
|
|
190
|
-
this.eventHandlers.clear();
|
|
191
|
-
this.wildcardHandlers.clear();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Emit an event
|
|
197
|
-
*
|
|
198
|
-
* @param {string} eventName - Name of the event to emit
|
|
199
|
-
* @param {*} data - Data to pass to event handlers
|
|
200
|
-
* @returns {boolean} True if there were handlers for this event, false otherwise
|
|
201
|
-
*
|
|
202
|
-
* @example
|
|
203
|
-
* emitter.emit('dataLoaded', { users: [...] });
|
|
204
|
-
*/
|
|
205
|
-
emit(eventName, data) {
|
|
206
|
-
let handled = false;
|
|
207
|
-
|
|
208
|
-
// Call specific event handlers
|
|
209
|
-
const handlers = this.eventHandlers.get(eventName);
|
|
210
|
-
if (handlers && handlers.size > 0) {
|
|
211
|
-
handlers.forEach(handler => handler(data));
|
|
212
|
-
handled = true;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
// Call matching wildcard handlers
|
|
216
|
-
this.wildcardHandlers.forEach((handlers, prefix) => {
|
|
217
|
-
if (eventName.startsWith(prefix)) {
|
|
218
|
-
handlers.forEach(handler =>
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
* @
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
* @
|
|
261
|
-
*
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
}
|
|
275
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Simple event emitter implementation to support event-based architecture
|
|
3
|
+
* in service management and other parts of the application.
|
|
4
|
+
*
|
|
5
|
+
* This implementation provides standard event publishing and subscription methods
|
|
6
|
+
* with support for namespaced events, wildcard listeners, and callback removal.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // Basic usage
|
|
10
|
+
* import { EventEmitter } from './EventEmitter.js';
|
|
11
|
+
*
|
|
12
|
+
* // Create an emitter
|
|
13
|
+
* const events = new EventEmitter();
|
|
14
|
+
*
|
|
15
|
+
* // Subscribe to events
|
|
16
|
+
* const unsubscribe = events.on('data-loaded', (data) => {
|
|
17
|
+
* console.log('Data loaded:', data);
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Subscribe to all events with a specific prefix
|
|
21
|
+
* events.on('database:*', ({ event, data }) => {
|
|
22
|
+
* console.log(`Database event ${event}:`, data);
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Emit events
|
|
26
|
+
* events.emit('data-loaded', { items: [1, 2, 3] });
|
|
27
|
+
* events.emit('database:connected', { connectionId: 'abc123' });
|
|
28
|
+
*
|
|
29
|
+
* // Clean up when done
|
|
30
|
+
* unsubscribe();
|
|
31
|
+
*
|
|
32
|
+
* // Or remove all listeners
|
|
33
|
+
* events.removeAllListeners();
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* EventEmitter class for event-based programming
|
|
38
|
+
*/
|
|
39
|
+
export default class EventEmitter {
|
|
40
|
+
/**
|
|
41
|
+
* Create a new EventEmitter instance
|
|
42
|
+
*/
|
|
43
|
+
constructor() {
|
|
44
|
+
/**
|
|
45
|
+
* Map to store event handlers
|
|
46
|
+
* @type {Map<string, Set<Function>>}
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
this.eventHandlers = new Map();
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Map to store wildcard event handlers (events ending with *)
|
|
53
|
+
* @type {Map<string, Set<Function>>}
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
this.wildcardHandlers = new Map();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Register an event handler
|
|
61
|
+
*
|
|
62
|
+
* @param {string} eventName - Event name to listen for. Can use wildcard (*)
|
|
63
|
+
* at the end to listen to all events with a specific prefix.
|
|
64
|
+
* @param {Function} handler - Handler function to call when event is emitted
|
|
65
|
+
* @returns {Function} Function to remove this specific handler
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* // Listen for a specific event
|
|
69
|
+
* emitter.on('userLoggedIn', (user) => {
|
|
70
|
+
* console.log(`User logged in: ${user.name}`);
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* // Listen for all events with a prefix
|
|
74
|
+
* emitter.on('api:*', ({ event, data }) => {
|
|
75
|
+
* console.log(`API event ${event}:`, data);
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
on(eventName, handler) {
|
|
79
|
+
if (typeof handler !== 'function') {
|
|
80
|
+
throw new TypeError('Event handler must be a function');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Handle wildcard listeners
|
|
84
|
+
if (eventName.endsWith('*')) {
|
|
85
|
+
const prefix = eventName.slice(0, -1);
|
|
86
|
+
|
|
87
|
+
if (!this.wildcardHandlers.has(prefix)) {
|
|
88
|
+
this.wildcardHandlers.set(prefix, new Set());
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
this.wildcardHandlers.get(prefix).add(handler);
|
|
92
|
+
|
|
93
|
+
return () => this.off(eventName, handler);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Handle normal listeners
|
|
97
|
+
if (!this.eventHandlers.has(eventName)) {
|
|
98
|
+
this.eventHandlers.set(eventName, new Set());
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
this.eventHandlers.get(eventName).add(handler);
|
|
102
|
+
|
|
103
|
+
return () => this.off(eventName, handler);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Register a one-time event handler that will be removed after first execution
|
|
108
|
+
*
|
|
109
|
+
* @param {string} eventName - Event name to listen for
|
|
110
|
+
* @param {Function} handler - Handler function to call when event is emitted
|
|
111
|
+
* @returns {Function} Function to remove this specific handler
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* emitter.once('initialization', () => {
|
|
115
|
+
* console.log('Initialization happened');
|
|
116
|
+
* });
|
|
117
|
+
*/
|
|
118
|
+
once(eventName, handler) {
|
|
119
|
+
if (typeof handler !== 'function') {
|
|
120
|
+
throw new TypeError('Event handler must be a function');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const wrapper = (...args) => {
|
|
124
|
+
this.off(eventName, wrapper);
|
|
125
|
+
handler(...args);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
return this.on(eventName, wrapper);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Remove an event handler
|
|
133
|
+
*
|
|
134
|
+
* @param {string} eventName - Event name the handler was registered for
|
|
135
|
+
* @param {Function} handler - Handler function to remove
|
|
136
|
+
* @returns {boolean} True if the handler was removed, false otherwise
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* const handler = (data) => console.log(data);
|
|
140
|
+
* emitter.on('data', handler);
|
|
141
|
+
* emitter.off('data', handler);
|
|
142
|
+
*/
|
|
143
|
+
off(eventName, handler) {
|
|
144
|
+
// Handle wildcard listeners
|
|
145
|
+
if (eventName.endsWith('*')) {
|
|
146
|
+
const prefix = eventName.slice(0, -1);
|
|
147
|
+
const handlers = this.wildcardHandlers.get(prefix);
|
|
148
|
+
|
|
149
|
+
if (handlers) {
|
|
150
|
+
return handlers.delete(handler);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Handle normal listeners
|
|
157
|
+
const handlers = this.eventHandlers.get(eventName);
|
|
158
|
+
|
|
159
|
+
if (handlers) {
|
|
160
|
+
return handlers.delete(handler);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Remove all event handlers for a specific event
|
|
168
|
+
*
|
|
169
|
+
* @param {string} [eventName] - Event name to remove handlers for.
|
|
170
|
+
* If not provided, removes all handlers for all events.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* // Remove all 'data' event handlers
|
|
174
|
+
* emitter.removeAllListeners('data');
|
|
175
|
+
*
|
|
176
|
+
* // Remove all event handlers
|
|
177
|
+
* emitter.removeAllListeners();
|
|
178
|
+
*/
|
|
179
|
+
removeAllListeners(eventName) {
|
|
180
|
+
if (eventName) {
|
|
181
|
+
// Handle wildcard listeners
|
|
182
|
+
if (eventName.endsWith('*')) {
|
|
183
|
+
const prefix = eventName.slice(0, -1);
|
|
184
|
+
this.wildcardHandlers.delete(prefix);
|
|
185
|
+
} else {
|
|
186
|
+
this.eventHandlers.delete(eventName);
|
|
187
|
+
}
|
|
188
|
+
} else {
|
|
189
|
+
// Clear all handlers
|
|
190
|
+
this.eventHandlers.clear();
|
|
191
|
+
this.wildcardHandlers.clear();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Emit an event
|
|
197
|
+
*
|
|
198
|
+
* @param {string} eventName - Name of the event to emit
|
|
199
|
+
* @param {*} data - Data to pass to event handlers
|
|
200
|
+
* @returns {boolean} True if there were handlers for this event, false otherwise
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* emitter.emit('dataLoaded', { users: [...] });
|
|
204
|
+
*/
|
|
205
|
+
emit(eventName, data) {
|
|
206
|
+
let handled = false;
|
|
207
|
+
|
|
208
|
+
// Call specific event handlers
|
|
209
|
+
const handlers = this.eventHandlers.get(eventName);
|
|
210
|
+
if (handlers && handlers.size > 0) {
|
|
211
|
+
handlers.forEach((handler) => handler(data));
|
|
212
|
+
handled = true;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// Call matching wildcard handlers
|
|
216
|
+
this.wildcardHandlers.forEach((handlers, prefix) => {
|
|
217
|
+
if (eventName.startsWith(prefix)) {
|
|
218
|
+
handlers.forEach((handler) => handler({ event: eventName, data }));
|
|
219
|
+
handled = true;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
return handled;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Get the number of listeners for a specific event
|
|
228
|
+
*
|
|
229
|
+
* @param {string} eventName - Event name to count listeners for
|
|
230
|
+
* @returns {number} Number of listeners for this event
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* const count = emitter.listenerCount('data');
|
|
234
|
+
* console.log(`There are ${count} data event listeners`);
|
|
235
|
+
*/
|
|
236
|
+
listenerCount(eventName) {
|
|
237
|
+
let count = 0;
|
|
238
|
+
|
|
239
|
+
// Count specific event handlers
|
|
240
|
+
const handlers = this.eventHandlers.get(eventName);
|
|
241
|
+
if (handlers) {
|
|
242
|
+
count += handlers.size;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// Count matching wildcard handlers
|
|
246
|
+
this.wildcardHandlers.forEach((handlers, prefix) => {
|
|
247
|
+
if (eventName.startsWith(prefix)) {
|
|
248
|
+
count += handlers.size;
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
return count;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Get all registered event names
|
|
257
|
+
*
|
|
258
|
+
* @returns {string[]} Array of event names that have listeners
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* console.log('Events with listeners:', emitter.eventNames());
|
|
262
|
+
*/
|
|
263
|
+
eventNames() {
|
|
264
|
+
const events = [...this.eventHandlers.keys()];
|
|
265
|
+
|
|
266
|
+
// Add wildcard events
|
|
267
|
+
this.wildcardHandlers.forEach((_, prefix) => {
|
|
268
|
+
events.push(`${prefix}*`);
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
return events;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export { default as EventEmitter } from './EventEmitter.js';
|
|
1
|
+
|
|
2
|
+
export { default as EventEmitter } from './EventEmitter.js';
|
package/dist/classes/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * as data from './data/index.js';
|
|
2
|
-
export * as streams from './streams/index.js';
|
|
3
|
-
export * as stores from './stores/index.js';
|
|
4
|
-
export * as svelte from './svelte/index.js';
|
|
1
|
+
export * as data from './data/index.js';
|
|
2
|
+
export * as streams from './streams/index.js';
|
|
3
|
+
export * as stores from './stores/index.js';
|
|
4
|
+
export * as svelte from './svelte/index.js';
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export default class HkPromise extends Promise<any> {
|
|
7
7
|
/**
|
|
8
|
-
* @param {()=>void} [initFn]
|
|
8
|
+
* @param {(resolveFn?:function, rejectFn?:function)=>void} [initFn]
|
|
9
9
|
*/
|
|
10
|
-
constructor(initFn?: () => void);
|
|
10
|
+
constructor(initFn?: (resolveFn?: Function, rejectFn?: Function) => void);
|
|
11
11
|
/**
|
|
12
12
|
* Get value of property [resolved]
|
|
13
13
|
*
|
|
@@ -41,7 +41,7 @@ export default class HkPromise extends Promise<any> {
|
|
|
41
41
|
/**
|
|
42
42
|
* Resolve the promise
|
|
43
43
|
*
|
|
44
|
-
* @param {any}
|
|
44
|
+
* @param {...any} args - Values to pass to the "then" callbacks
|
|
45
45
|
*
|
|
46
46
|
* @returns {object} this
|
|
47
47
|
*/
|
|
@@ -49,7 +49,7 @@ export default class HkPromise extends Promise<any> {
|
|
|
49
49
|
/**
|
|
50
50
|
* Resolve the promise if the promise is still pending
|
|
51
51
|
*
|
|
52
|
-
* @param {any}
|
|
52
|
+
* @param {...any} args - Values to pass to the "then" callbacks
|
|
53
53
|
*
|
|
54
54
|
* @returns {object} this
|
|
55
55
|
*/
|
|
@@ -57,8 +57,8 @@ export default class HkPromise extends Promise<any> {
|
|
|
57
57
|
/**
|
|
58
58
|
* Reject the promise
|
|
59
59
|
*
|
|
60
|
-
* @param {
|
|
61
|
-
*
|
|
60
|
+
* @param {...any} args
|
|
61
|
+
* Objects to pass to the "catch" callbacks, usually an Error object or details
|
|
62
62
|
*
|
|
63
63
|
* @returns {object} this
|
|
64
64
|
*/
|
|
@@ -66,8 +66,8 @@ export default class HkPromise extends Promise<any> {
|
|
|
66
66
|
/**
|
|
67
67
|
* Reject the promise if the promise is still pending
|
|
68
68
|
*
|
|
69
|
-
* @param {
|
|
70
|
-
*
|
|
69
|
+
* @param {...any} args
|
|
70
|
+
* Objects to pass to the "catch" callbacks, usually an Error object or details
|
|
71
71
|
*
|
|
72
72
|
* @returns {object} this
|
|
73
73
|
*/
|
|
@@ -75,21 +75,21 @@ export default class HkPromise extends Promise<any> {
|
|
|
75
75
|
/**
|
|
76
76
|
* Reject the promise and set this.cancelled=true
|
|
77
77
|
*
|
|
78
|
-
* @param {
|
|
79
|
-
*
|
|
78
|
+
* @param {Error|*} [errorOrDetails]
|
|
79
|
+
* Error object or details to pass to the "catch" callbacks
|
|
80
80
|
*
|
|
81
81
|
* @returns {object} this
|
|
82
82
|
*/
|
|
83
|
-
cancel(
|
|
83
|
+
cancel(errorOrDetails?: Error | any): object;
|
|
84
84
|
/**
|
|
85
|
-
* Reject the promise and set this.cancelled=true
|
|
85
|
+
* Reject the promise and set this.cancelled=true if still pending
|
|
86
86
|
*
|
|
87
|
-
* @param {
|
|
88
|
-
*
|
|
87
|
+
* @param {Error|*} [errorOrDetails]
|
|
88
|
+
* Error object or details to pass to the "catch" callbacks
|
|
89
89
|
*
|
|
90
90
|
* @returns {object} this
|
|
91
91
|
*/
|
|
92
|
-
tryCancel(
|
|
92
|
+
tryCancel(errorOrDetails?: Error | any): object;
|
|
93
93
|
/**
|
|
94
94
|
* Specify the number of milliseconds until the promise should time out.
|
|
95
95
|
* - When a timeout occurs: the promise is cancelled and the following
|
|
@@ -108,14 +108,15 @@ export default class HkPromise extends Promise<any> {
|
|
|
108
108
|
/**
|
|
109
109
|
* Register a callback that is called when the promise resolves
|
|
110
110
|
*
|
|
111
|
-
* @param {
|
|
111
|
+
* @param {...any} args - Callback functions and options
|
|
112
112
|
*/
|
|
113
113
|
then(...args: any[]): Promise<any>;
|
|
114
114
|
/**
|
|
115
115
|
* Register a callback that is called when the promise rejects, is
|
|
116
116
|
* cancelled or times out
|
|
117
117
|
*
|
|
118
|
-
* @param {
|
|
118
|
+
* @param {...any} args - Callback functions and options
|
|
119
119
|
*/
|
|
120
120
|
catch(...args: any[]): Promise<any>;
|
|
121
|
+
#private;
|
|
121
122
|
}
|