@hkdigital/lib-core 0.3.11 → 0.3.13
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 +173 -149
- package/dist/assets/autospuiten/car-paint-picker.js +41 -41
- package/dist/assets/autospuiten/labels.js +7 -7
- package/dist/classes/data/IterableTree.js +242 -242
- package/dist/classes/data/Selector.js +190 -190
- package/dist/classes/data/index.js +2 -2
- package/dist/classes/data/typedef.js +9 -9
- package/dist/classes/event-emitter/EventEmitter.js +273 -273
- package/dist/classes/event-emitter/index.js +2 -2
- package/dist/classes/index.js +4 -4
- package/dist/classes/promise/HkPromise.js +384 -384
- 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.js +111 -111
- 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.js +1 -11
- 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 +197 -196
- package/dist/config/generators/imagetools.js +189 -189
- package/dist/config/generators/vite.js +148 -142
- package/dist/config/imagetools.d.ts +72 -72
- package/dist/config/vite.js +4 -4
- 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 +96 -95
- package/dist/constants/regexp/index.js +31 -31
- package/dist/constants/regexp/inspiratie.js__ +95 -95
- package/dist/constants/regexp/text.d.ts +4 -4
- package/dist/constants/regexp/text.js +49 -49
- package/dist/constants/regexp/url.js +3 -3
- package/dist/constants/regexp/user.js +29 -29
- 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 -405
- package/dist/design/config/design-config.js +73 -73
- package/dist/design/generators/index.js +288 -288
- package/dist/design/index.js +96 -96
- package/dist/design/plugins/skeleton.js +208 -208
- package/dist/design/tailwind-theme-extend.js +158 -158
- package/dist/design/themes/README.md +102 -102
- package/dist/design/themes/hkdev/components/blocks/text-block.css +34 -34
- package/dist/design/themes/hkdev/components/boxes/game-box.css +11 -11
- package/dist/design/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
- package/dist/design/themes/hkdev/components/buttons/button-text.css +32 -32
- package/dist/design/themes/hkdev/components/buttons/button.css +146 -146
- package/dist/design/themes/hkdev/components/buttons/skip-button.css +5 -5
- package/dist/design/themes/hkdev/components/drag-drop/draggable.css +73 -73
- package/dist/design/themes/hkdev/components/drag-drop/drop-zone.css +58 -58
- package/dist/design/themes/hkdev/components/icons/icon-steeze.css +15 -15
- package/dist/design/themes/hkdev/components/inputs/text-input.css +102 -102
- package/dist/design/themes/hkdev/components/panels/panel.css +25 -25
- package/dist/design/themes/hkdev/components/rows/panel-grid-row.css +4 -4
- package/dist/design/themes/hkdev/components/rows/panel-row-2.css +5 -5
- package/dist/design/themes/hkdev/components.css +29 -29
- package/dist/design/themes/hkdev/debug.css +1 -1
- package/dist/design/themes/hkdev/global/layout.css +32 -32
- package/dist/design/themes/hkdev/global/on-colors.css +32 -32
- package/dist/design/themes/hkdev/globals.css +3 -3
- package/dist/design/themes/hkdev/responsive.css +12 -12
- package/dist/design/themes/hkdev/theme-ext.js +12 -12
- package/dist/design/themes/hkdev/theme.css +218 -218
- package/dist/design/utils/clamp.js +66 -66
- package/dist/design/utils/root-vars.js +102 -102
- package/dist/design/utils/scaling.js +228 -228
- package/dist/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.js +5 -5
- package/dist/errors/jwt.js +5 -5
- package/dist/errors/promise.js +25 -25
- package/dist/logging/README.md +158 -0
- package/dist/logging/index.d.ts +3 -1
- package/dist/logging/index.js +11 -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.js +160 -142
- package/dist/logging/internal/adapters/typedef.js +10 -10
- package/dist/logging/internal/{unified-logger/constants.js → constants.js} +22 -22
- package/dist/logging/internal/factories/client.d.ts +1 -1
- package/dist/logging/internal/factories/client.js +21 -21
- package/dist/logging/internal/factories/server.d.ts +1 -1
- package/dist/logging/internal/factories/server.js +22 -22
- package/dist/logging/internal/factories/universal.d.ts +2 -2
- package/dist/logging/internal/factories/universal.js +22 -22
- package/dist/logging/internal/{unified-logger → logger}/Logger.d.ts +2 -2
- package/dist/logging/internal/{unified-logger → logger}/Logger.js +217 -217
- package/dist/logging/internal/logger/index.d.ts +1 -0
- package/dist/logging/internal/logger/index.js +1 -0
- package/dist/logging/internal/{unified-logger/typedef.d.ts → typedef.d.ts} +2 -1
- package/dist/logging/internal/{unified-logger/typedef.js → typedef.js} +21 -17
- package/dist/network/README.md +172 -172
- package/dist/network/cache/IndexedDbCache.js +1407 -1407
- package/dist/network/cache/MemoryResponseCache.js +138 -138
- package/dist/network/cache/index.js +5 -5
- package/dist/network/cache/typedef.js +41 -41
- package/dist/network/cache.js +3 -3
- package/dist/network/http/caching.js +261 -261
- package/dist/network/http/errors.js +97 -97
- package/dist/network/http/headers.js +75 -75
- package/dist/network/http/http-request.js +578 -578
- package/dist/network/http/index.js +22 -22
- package/dist/network/http/json-request.js +224 -224
- package/dist/network/http/mocks.js +65 -65
- package/dist/network/http/response.js +318 -318
- package/dist/network/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
- package/dist/network/http/typedef.js +93 -93
- package/dist/network/http/url.js +52 -52
- package/dist/network/http.js +5 -5
- package/dist/network/loaders/README.md +254 -254
- package/dist/network/loaders/audio/AudioLoader.svelte.js +58 -58
- package/dist/network/loaders/audio/AudioScene.svelte.js +324 -324
- package/dist/network/loaders/audio/mocks.js +35 -35
- package/dist/network/loaders/audio.js +1 -1
- package/dist/network/loaders/image/ImageLoader.svelte.js +44 -44
- package/dist/network/loaders/image/ImageScene.svelte.js +248 -248
- package/dist/network/loaders/image/ImageVariantsLoader.svelte.js +150 -150
- package/dist/network/loaders/image/index.js +4 -4
- package/dist/network/loaders/image/mocks.js +35 -35
- package/dist/network/loaders/image/typedef.js +8 -8
- package/dist/network/loaders/image/utils/index.js +86 -86
- package/dist/network/loaders/image.js +7 -7
- package/dist/network/loaders/typedef.js +38 -38
- package/dist/network/loaders.js +2 -2
- package/dist/network/states/NetworkLoader.svelte.js +338 -338
- package/dist/network/states/constants.js +3 -3
- package/dist/network/states/index.js +3 -3
- package/dist/network/states/mocks.js +30 -30
- package/dist/network/states/typedef.js +8 -8
- package/dist/network/typedef.js +9 -9
- package/dist/services/README.md +200 -0
- package/dist/services/index.d.ts +6 -1
- package/dist/services/index.js +8 -1
- package/dist/services/{internal/service-base → service-base}/ServiceBase.d.ts +2 -2
- package/dist/services/{internal/service-base → service-base}/ServiceBase.js +462 -462
- package/dist/services/{internal/service-base → service-base}/constants.d.ts +0 -12
- package/dist/services/{internal/service-base → service-base}/constants.js +98 -110
- package/dist/services/{internal/service-base → service-base}/index.js +3 -3
- package/dist/services/{internal/service-base → service-base}/typedef.d.ts +1 -1
- package/dist/services/{internal/service-base → service-base}/typedef.js +101 -101
- package/dist/services/{internal/service-manager → service-manager}/ServiceManager.d.ts +2 -2
- package/dist/services/{internal/service-manager → service-manager}/ServiceManager.js +608 -608
- package/dist/services/{internal/service-manager → service-manager}/constants.js +6 -6
- package/dist/services/{internal/service-manager → 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 +1 -0
- package/dist/typedef/index.js +4 -4
- package/dist/ui/components/button-group/ButtonGroup.svelte +82 -82
- package/dist/ui/components/button-group/typedef.js +10 -10
- package/dist/ui/components/compare-left-right/CompareLeftRight.svelte +179 -179
- package/dist/ui/components/compare-left-right/index.js +1 -1
- package/dist/ui/components/game-box/GameBox.svelte +577 -577
- package/dist/ui/components/game-box/gamebox.util.js +83 -83
- package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
- package/dist/ui/components/hk-app-layout/HkAppLayout.svelte +251 -251
- package/dist/ui/components/image-box/ImageBox.svelte +210 -210
- package/dist/ui/components/image-box/index.js +5 -5
- package/dist/ui/components/image-box/typedef.js +32 -32
- package/dist/ui/components/index.js +23 -23
- package/dist/ui/components/presenter/ImageSlide.svelte +64 -64
- package/dist/ui/components/presenter/Presenter.state.svelte.js +638 -638
- package/dist/ui/components/presenter/Presenter.svelte +142 -142
- package/dist/ui/components/presenter/constants.js +7 -7
- package/dist/ui/components/presenter/index.js +10 -10
- package/dist/ui/components/presenter/typedef.js +106 -106
- package/dist/ui/components/presenter/util.js +210 -210
- package/dist/ui/components/virtual-viewport/VirtualViewport.svelte +196 -196
- package/dist/ui/primitives/area/HkArea.svelte +49 -49
- package/dist/ui/primitives/area/HkGridArea.svelte +77 -77
- package/dist/ui/primitives/area/index.js +2 -2
- package/dist/ui/primitives/buttons/button/Button.svelte +82 -82
- package/dist/ui/primitives/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
- package/dist/ui/primitives/buttons/button-text/TextButton.svelte +21 -21
- package/dist/ui/primitives/buttons/index.js +3 -3
- package/dist/ui/primitives/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
- package/dist/ui/primitives/debug/index.js +1 -1
- package/dist/ui/primitives/drag-drop/DragController.js +44 -44
- package/dist/ui/primitives/drag-drop/DragDropContext.svelte +111 -111
- package/dist/ui/primitives/drag-drop/Draggable.svelte +519 -519
- package/dist/ui/primitives/drag-drop/DropZone.svelte +258 -258
- package/dist/ui/primitives/drag-drop/DropZoneArea.svelte +119 -119
- package/dist/ui/primitives/drag-drop/DropZoneList.svelte +125 -125
- package/dist/ui/primitives/drag-drop/actions.js +26 -26
- package/dist/ui/primitives/drag-drop/drag-state.svelte.js +322 -322
- package/dist/ui/primitives/drag-drop/index.js +7 -7
- package/dist/ui/primitives/drag-drop/util.js +85 -85
- package/dist/ui/primitives/hkdev/blocks/TextBlock.svelte +46 -46
- package/dist/ui/primitives/hkdev/buttons/CheckButton.svelte +62 -62
- package/dist/ui/primitives/icons/HkIcon.svelte +86 -86
- package/dist/ui/primitives/icons/HkTabIcon.svelte +116 -116
- package/dist/ui/primitives/icons/SteezeIcon.svelte +97 -97
- package/dist/ui/primitives/icons/index.js +6 -6
- package/dist/ui/primitives/icons/typedef.js +16 -16
- package/dist/ui/primitives/index.js +2 -2
- package/dist/ui/primitives/inputs/index.js +1 -1
- package/dist/ui/primitives/inputs/text-input/TestTextInput.svelte__ +102 -0
- package/dist/ui/primitives/inputs/text-input/TextInput.svelte +223 -223
- package/dist/ui/primitives/inputs/text-input/TextInput.svelte___ +83 -0
- package/dist/ui/primitives/inputs/text-input/assets/IconInvalid.svelte +14 -14
- package/dist/ui/primitives/inputs/text-input/assets/IconValid.svelte +12 -12
- package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte +63 -63
- package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +372 -0
- package/dist/ui/primitives/layout/grid-layers/util.js +74 -74
- package/dist/ui/primitives/layout/index.js +1 -1
- package/dist/ui/primitives/panels/index.js +1 -1
- package/dist/ui/primitives/panels/panel/Panel.svelte +43 -43
- package/dist/ui/primitives/rows/index.js +3 -3
- package/dist/ui/primitives/rows/panel-grid-row/PanelGridRow.svelte +104 -104
- package/dist/ui/primitives/rows/panel-row-2/PanelRow2.svelte +40 -40
- package/dist/ui/primitives/tab-bar/HkTabBar.state.svelte.js +149 -149
- package/dist/ui/primitives/tab-bar/HkTabBar.svelte +74 -74
- package/dist/ui/primitives/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
- package/dist/ui/primitives/tab-bar/HkTabBarSelector.svelte +49 -49
- package/dist/ui/primitives/tab-bar/index.js +17 -17
- package/dist/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.d.ts +4 -3
- package/dist/util/exceptions/index.js +26 -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.js +60 -60
- package/dist/util/function/index.js +218 -218
- package/dist/util/geo/index.js +26 -26
- package/dist/util/index.js +7 -7
- package/dist/util/is/index.js +147 -147
- package/dist/util/iterate/index.js +204 -204
- package/dist/util/object/index.js +1345 -1345
- 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 -328
- package/dist/util/unique/index.js +231 -231
- package/dist/valibot/README.md +61 -50
- package/dist/valibot/index.js +8 -8
- package/dist/valibot/parsers/date.js__ +10 -0
- package/dist/valibot/parsers/email.d.ts +12 -0
- package/dist/valibot/parsers/email.js +34 -0
- package/dist/valibot/parsers/url.js +110 -110
- package/dist/valibot/parsers/user.js +23 -23
- package/dist/valibot/parsers.js +3 -3
- package/package.json +131 -131
- package/dist/logging/internal/unified-logger/index.d.ts +0 -3
- package/dist/logging/internal/unified-logger/index.js +0 -6
- package/dist/services/internal/index.d.ts +0 -6
- package/dist/services/internal/index.js +0 -8
- /package/dist/logging/internal/{unified-logger/constants.d.ts → constants.d.ts} +0 -0
- /package/dist/services/{internal/service-base → service-base}/index.d.ts +0 -0
- /package/dist/services/{internal/service-manager → service-manager}/constants.d.ts +0 -0
- /package/dist/services/{internal/service-manager → service-manager}/typedef.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
// Log event names
|
|
3
|
-
export const SERVICE_STATE_CHANGED = 'service:state-changed';
|
|
4
|
-
export const SERVICE_HEALTH_CHANGED = 'service:health-changed';
|
|
5
|
-
export const SERVICE_ERROR = 'service:error';
|
|
6
|
-
export const SERVICE_LOG = 'service:log';
|
|
1
|
+
|
|
2
|
+
// Log event names
|
|
3
|
+
export const SERVICE_STATE_CHANGED = 'service:state-changed';
|
|
4
|
+
export const SERVICE_HEALTH_CHANGED = 'service:health-changed';
|
|
5
|
+
export const SERVICE_ERROR = 'service:error';
|
|
6
|
+
export const SERVICE_LOG = 'service:log';
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Type definitions for ServiceManager class.
|
|
3
|
-
*
|
|
4
|
-
* This file contains all TypeScript/JSDoc type definitions used by
|
|
5
|
-
* the ServiceManager class and service registration.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* // When using ServiceManager
|
|
9
|
-
* import { ServiceManager } from './ServiceManager.js';
|
|
10
|
-
*
|
|
11
|
-
* // @ typedef {import('./typedef-service-manager.js').ServiceManagerConfig} ServiceManagerConfig
|
|
12
|
-
* // @ typedef {import('./typedef-service-manager.js').ServiceRegistrationOptions} ServiceRegistrationOptions
|
|
13
|
-
*
|
|
14
|
-
* const config = {
|
|
15
|
-
* environment: 'development',
|
|
16
|
-
* stopTimeout: 5000
|
|
17
|
-
* };
|
|
18
|
-
*
|
|
19
|
-
* const manager = new ServiceManager(config);
|
|
20
|
-
*
|
|
21
|
-
* const options = {
|
|
22
|
-
* dependencies: ['database'],
|
|
23
|
-
* tags: ['critical']
|
|
24
|
-
* };
|
|
25
|
-
*
|
|
26
|
-
* manager.register('auth', AuthService, {}, options);
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
// ============================================================================
|
|
30
|
-
// PUBLIC TYPES
|
|
31
|
-
// ============================================================================
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Options for registering a service
|
|
35
|
-
*
|
|
36
|
-
* @typedef {Object} ServiceRegistrationOptions
|
|
37
|
-
* @property {string[]} [dependencies=[]] - Services this service depends on
|
|
38
|
-
* @property {string[]} [tags=[]] - Tags for grouping services
|
|
39
|
-
* @property {number} [priority=0] - Startup priority (higher starts first)
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Configuration for ServiceManager
|
|
44
|
-
*
|
|
45
|
-
* @typedef {Object} ServiceManagerConfig
|
|
46
|
-
* @property {boolean} [debug=false] - Debug mode switch
|
|
47
|
-
* @property {boolean} [autoStart=false] - Auto-start services on registration
|
|
48
|
-
* @property {number} [stopTimeout=10000] - Default timeout for stopping services
|
|
49
|
-
* @property {string} [logLevel] - Initial log level for ServiceManager
|
|
50
|
-
* @property {LogConfig} [logConfig={}] - Logging configuration
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Logging configuration
|
|
55
|
-
*
|
|
56
|
-
* @typedef {Object} LogConfig
|
|
57
|
-
* @property {string} [defaultLevel] - Default log level for services
|
|
58
|
-
* @property {string} [globalLevel] - Override level for all services
|
|
59
|
-
* @property {Object<string, string>} [serviceLevels] - Per-service log levels
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Result of health check for all services
|
|
64
|
-
* @typedef {Object<string, HealthStatus>} HealthCheckResult
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Service class constructor type
|
|
69
|
-
*
|
|
70
|
-
* @typedef {new (name: string, options?: ServiceOptions) => ServiceInstance} ServiceConstructor
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
// ============================================================================
|
|
74
|
-
// INTERNAL TYPES
|
|
75
|
-
// ============================================================================
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Internal service registry entry
|
|
79
|
-
*
|
|
80
|
-
* @typedef {Object} ServiceEntry
|
|
81
|
-
* @property {ServiceConstructor} ServiceClass - Service class constructor
|
|
82
|
-
* @property {ServiceInstance|null} instance - Service instance (lazy-created)
|
|
83
|
-
* @property {*} config - Service configuration
|
|
84
|
-
* @property {string[]} dependencies - Service dependencies
|
|
85
|
-
* @property {Set<string>} dependents - Services that depend on this one
|
|
86
|
-
* @property {string[]} tags - Service tags
|
|
87
|
-
* @property {number} priority - Startup priority
|
|
88
|
-
*/
|
|
89
|
-
|
|
90
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Type definitions for ServiceManager class.
|
|
3
|
+
*
|
|
4
|
+
* This file contains all TypeScript/JSDoc type definitions used by
|
|
5
|
+
* the ServiceManager class and service registration.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // When using ServiceManager
|
|
9
|
+
* import { ServiceManager } from './ServiceManager.js';
|
|
10
|
+
*
|
|
11
|
+
* // @ typedef {import('./typedef-service-manager.js').ServiceManagerConfig} ServiceManagerConfig
|
|
12
|
+
* // @ typedef {import('./typedef-service-manager.js').ServiceRegistrationOptions} ServiceRegistrationOptions
|
|
13
|
+
*
|
|
14
|
+
* const config = {
|
|
15
|
+
* environment: 'development',
|
|
16
|
+
* stopTimeout: 5000
|
|
17
|
+
* };
|
|
18
|
+
*
|
|
19
|
+
* const manager = new ServiceManager(config);
|
|
20
|
+
*
|
|
21
|
+
* const options = {
|
|
22
|
+
* dependencies: ['database'],
|
|
23
|
+
* tags: ['critical']
|
|
24
|
+
* };
|
|
25
|
+
*
|
|
26
|
+
* manager.register('auth', AuthService, {}, options);
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// PUBLIC TYPES
|
|
31
|
+
// ============================================================================
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Options for registering a service
|
|
35
|
+
*
|
|
36
|
+
* @typedef {Object} ServiceRegistrationOptions
|
|
37
|
+
* @property {string[]} [dependencies=[]] - Services this service depends on
|
|
38
|
+
* @property {string[]} [tags=[]] - Tags for grouping services
|
|
39
|
+
* @property {number} [priority=0] - Startup priority (higher starts first)
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Configuration for ServiceManager
|
|
44
|
+
*
|
|
45
|
+
* @typedef {Object} ServiceManagerConfig
|
|
46
|
+
* @property {boolean} [debug=false] - Debug mode switch
|
|
47
|
+
* @property {boolean} [autoStart=false] - Auto-start services on registration
|
|
48
|
+
* @property {number} [stopTimeout=10000] - Default timeout for stopping services
|
|
49
|
+
* @property {string} [logLevel] - Initial log level for ServiceManager
|
|
50
|
+
* @property {LogConfig} [logConfig={}] - Logging configuration
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Logging configuration
|
|
55
|
+
*
|
|
56
|
+
* @typedef {Object} LogConfig
|
|
57
|
+
* @property {string} [defaultLevel] - Default log level for services
|
|
58
|
+
* @property {string} [globalLevel] - Override level for all services
|
|
59
|
+
* @property {Object<string, string>} [serviceLevels] - Per-service log levels
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Result of health check for all services
|
|
64
|
+
* @typedef {Object<string, HealthStatus>} HealthCheckResult
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Service class constructor type
|
|
69
|
+
*
|
|
70
|
+
* @typedef {new (name: string, options?: ServiceOptions) => ServiceInstance} ServiceConstructor
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
// ============================================================================
|
|
74
|
+
// INTERNAL TYPES
|
|
75
|
+
// ============================================================================
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Internal service registry entry
|
|
79
|
+
*
|
|
80
|
+
* @typedef {Object} ServiceEntry
|
|
81
|
+
* @property {ServiceConstructor} ServiceClass - Service class constructor
|
|
82
|
+
* @property {ServiceInstance|null} instance - Service instance (lazy-created)
|
|
83
|
+
* @property {*} config - Service configuration
|
|
84
|
+
* @property {string[]} dependencies - Service dependencies
|
|
85
|
+
* @property {Set<string>} dependents - Services that depend on this one
|
|
86
|
+
* @property {string[]} tags - Service tags
|
|
87
|
+
* @property {number} priority - Startup priority
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
export {};
|
package/dist/states/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './navigation.svelte.js';
|
|
1
|
+
export * from './navigation.svelte.js';
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { onMount } from 'svelte';
|
|
2
|
-
|
|
3
|
-
import { lazySingleton } from '../util/singleton/index.js';
|
|
4
|
-
|
|
5
|
-
import { beforeNavigate, onNavigate, afterNavigate } from '$app/navigation';
|
|
6
|
-
|
|
7
|
-
import { page } from '$app/stores';
|
|
8
|
-
import { get } from 'svelte/store';
|
|
9
|
-
|
|
10
|
-
class Navigation {
|
|
11
|
-
// TODO: complete page type
|
|
12
|
-
|
|
13
|
-
/** @type {{ url: { pathname: string } }} */
|
|
14
|
-
page = $state(get(page));
|
|
15
|
-
|
|
16
|
-
/** @type {string} */
|
|
17
|
-
pathname = $derived(this.page.url.pathname);
|
|
18
|
-
|
|
19
|
-
stage = $state.raw({ before: false, navigating: true, after: false });
|
|
20
|
-
|
|
21
|
-
constructor() {
|
|
22
|
-
beforeNavigate(() => {
|
|
23
|
-
this.stage = { before: true, navigating: false, after: false };
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
onNavigate(() => {
|
|
27
|
-
this.stage = { before: false, navigating: true, after: false };
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
// onNavigate(async () => {
|
|
31
|
-
// console.log('onNavigate can be used to perform async page transitions');
|
|
32
|
-
// return new Promise((resolve) => {
|
|
33
|
-
// setTimeout(resolve, 1000);
|
|
34
|
-
// });
|
|
35
|
-
// });
|
|
36
|
-
|
|
37
|
-
afterNavigate(() => {
|
|
38
|
-
this.stage = { before: false, navigating: false, after: true };
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
onMount(() => {
|
|
42
|
-
return page.subscribe((value) => {
|
|
43
|
-
// console.log('***update page url');
|
|
44
|
-
this.page = value;
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
} // end constructor
|
|
48
|
-
|
|
49
|
-
init() {}
|
|
50
|
-
} // end class
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @note call nav.init() during component initialization phase
|
|
54
|
-
*/
|
|
55
|
-
export const nav = lazySingleton({ class: Navigation });
|
|
1
|
+
import { onMount } from 'svelte';
|
|
2
|
+
|
|
3
|
+
import { lazySingleton } from '../util/singleton/index.js';
|
|
4
|
+
|
|
5
|
+
import { beforeNavigate, onNavigate, afterNavigate } from '$app/navigation';
|
|
6
|
+
|
|
7
|
+
import { page } from '$app/stores';
|
|
8
|
+
import { get } from 'svelte/store';
|
|
9
|
+
|
|
10
|
+
class Navigation {
|
|
11
|
+
// TODO: complete page type
|
|
12
|
+
|
|
13
|
+
/** @type {{ url: { pathname: string } }} */
|
|
14
|
+
page = $state(get(page));
|
|
15
|
+
|
|
16
|
+
/** @type {string} */
|
|
17
|
+
pathname = $derived(this.page.url.pathname);
|
|
18
|
+
|
|
19
|
+
stage = $state.raw({ before: false, navigating: true, after: false });
|
|
20
|
+
|
|
21
|
+
constructor() {
|
|
22
|
+
beforeNavigate(() => {
|
|
23
|
+
this.stage = { before: true, navigating: false, after: false };
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
onNavigate(() => {
|
|
27
|
+
this.stage = { before: false, navigating: true, after: false };
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// onNavigate(async () => {
|
|
31
|
+
// console.log('onNavigate can be used to perform async page transitions');
|
|
32
|
+
// return new Promise((resolve) => {
|
|
33
|
+
// setTimeout(resolve, 1000);
|
|
34
|
+
// });
|
|
35
|
+
// });
|
|
36
|
+
|
|
37
|
+
afterNavigate(() => {
|
|
38
|
+
this.stage = { before: false, navigating: false, after: true };
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
onMount(() => {
|
|
42
|
+
return page.subscribe((value) => {
|
|
43
|
+
// console.log('***update page url');
|
|
44
|
+
this.page = value;
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
} // end constructor
|
|
48
|
+
|
|
49
|
+
init() {}
|
|
50
|
+
} // end class
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @note call nav.init() during component initialization phase
|
|
54
|
+
*/
|
|
55
|
+
export const nav = lazySingleton({ class: Navigation });
|
package/dist/stores/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * as theme from './theme.js';
|
|
1
|
+
export * as theme from './theme.js';
|
package/dist/stores/theme.js
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @example Set theme color in a layout file
|
|
3
|
-
*
|
|
4
|
-
* // +layout.svelte
|
|
5
|
-
* <script>
|
|
6
|
-
* import { theme as themeStore } from './theme.js';
|
|
7
|
-
*
|
|
8
|
-
* const { metaThemeColorBase, metaThemeColorDark } = themeStore;
|
|
9
|
-
* </script>
|
|
10
|
-
*
|
|
11
|
-
* <svelte:head>
|
|
12
|
-
* <meta
|
|
13
|
-
* name="theme-color"
|
|
14
|
-
* media="(prefers-color-scheme: light)"
|
|
15
|
-
* content={$metaThemeColorBase}
|
|
16
|
-
* />
|
|
17
|
-
* <meta
|
|
18
|
-
* name="theme-color"
|
|
19
|
-
* media="(prefers-color-scheme: dark)"
|
|
20
|
-
* content={$metaThemeColorDark}
|
|
21
|
-
* />
|
|
22
|
-
* </svelte:head>
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
import { writable, get } from 'svelte/store';
|
|
26
|
-
|
|
27
|
-
// > Internals
|
|
28
|
-
|
|
29
|
-
const DEFAULT_THEME_COLOR_BASE = '#fffffe';
|
|
30
|
-
const DEFAULT_THEME_COLOR_DARK = '#000001';
|
|
31
|
-
|
|
32
|
-
/** @type {import('svelte/store').Writable<string>} */
|
|
33
|
-
const themeColorBase = writable(DEFAULT_THEME_COLOR_BASE);
|
|
34
|
-
|
|
35
|
-
/** @type {import('svelte/store').Writable<string|null>} */
|
|
36
|
-
const themeColorDark = writable(DEFAULT_THEME_COLOR_DARK);
|
|
37
|
-
|
|
38
|
-
// > Exports
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Set meta theme color for both light and dark mode
|
|
42
|
-
*
|
|
43
|
-
* @param {string} value - HTML Color
|
|
44
|
-
*/
|
|
45
|
-
export function setMetaThemeColor(value) {
|
|
46
|
-
themeColorBase.set(value);
|
|
47
|
-
themeColorDark.set(value);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Set meta theme color for light mode
|
|
52
|
-
*
|
|
53
|
-
* @param {string} value - HTML Color
|
|
54
|
-
*/
|
|
55
|
-
export function setMetaThemeColorBase(value) {
|
|
56
|
-
themeColorBase.set(value);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Set meta theme color for dark mode only
|
|
61
|
-
*
|
|
62
|
-
* @param {string} value - HTML Color
|
|
63
|
-
*/
|
|
64
|
-
export function setMetaThemeColorDark(value) {
|
|
65
|
-
themeColorDark.set(value);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export const metaThemeColorBase = {
|
|
69
|
-
subscribe: themeColorBase.subscribe,
|
|
70
|
-
get: () => {
|
|
71
|
-
get(themeColorBase);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const metaThemeColorDark = {
|
|
76
|
-
subscribe: themeColorDark.subscribe,
|
|
77
|
-
get: () => {
|
|
78
|
-
get(themeColorDark);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @example Set theme color in a layout file
|
|
3
|
+
*
|
|
4
|
+
* // +layout.svelte
|
|
5
|
+
* <script>
|
|
6
|
+
* import { theme as themeStore } from './theme.js';
|
|
7
|
+
*
|
|
8
|
+
* const { metaThemeColorBase, metaThemeColorDark } = themeStore;
|
|
9
|
+
* </script>
|
|
10
|
+
*
|
|
11
|
+
* <svelte:head>
|
|
12
|
+
* <meta
|
|
13
|
+
* name="theme-color"
|
|
14
|
+
* media="(prefers-color-scheme: light)"
|
|
15
|
+
* content={$metaThemeColorBase}
|
|
16
|
+
* />
|
|
17
|
+
* <meta
|
|
18
|
+
* name="theme-color"
|
|
19
|
+
* media="(prefers-color-scheme: dark)"
|
|
20
|
+
* content={$metaThemeColorDark}
|
|
21
|
+
* />
|
|
22
|
+
* </svelte:head>
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
import { writable, get } from 'svelte/store';
|
|
26
|
+
|
|
27
|
+
// > Internals
|
|
28
|
+
|
|
29
|
+
const DEFAULT_THEME_COLOR_BASE = '#fffffe';
|
|
30
|
+
const DEFAULT_THEME_COLOR_DARK = '#000001';
|
|
31
|
+
|
|
32
|
+
/** @type {import('svelte/store').Writable<string>} */
|
|
33
|
+
const themeColorBase = writable(DEFAULT_THEME_COLOR_BASE);
|
|
34
|
+
|
|
35
|
+
/** @type {import('svelte/store').Writable<string|null>} */
|
|
36
|
+
const themeColorDark = writable(DEFAULT_THEME_COLOR_DARK);
|
|
37
|
+
|
|
38
|
+
// > Exports
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Set meta theme color for both light and dark mode
|
|
42
|
+
*
|
|
43
|
+
* @param {string} value - HTML Color
|
|
44
|
+
*/
|
|
45
|
+
export function setMetaThemeColor(value) {
|
|
46
|
+
themeColorBase.set(value);
|
|
47
|
+
themeColorDark.set(value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Set meta theme color for light mode
|
|
52
|
+
*
|
|
53
|
+
* @param {string} value - HTML Color
|
|
54
|
+
*/
|
|
55
|
+
export function setMetaThemeColorBase(value) {
|
|
56
|
+
themeColorBase.set(value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Set meta theme color for dark mode only
|
|
61
|
+
*
|
|
62
|
+
* @param {string} value - HTML Color
|
|
63
|
+
*/
|
|
64
|
+
export function setMetaThemeColorDark(value) {
|
|
65
|
+
themeColorDark.set(value);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export const metaThemeColorBase = {
|
|
69
|
+
subscribe: themeColorBase.subscribe,
|
|
70
|
+
get: () => {
|
|
71
|
+
get(themeColorBase);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const metaThemeColorDark = {
|
|
76
|
+
subscribe: themeColorDark.subscribe,
|
|
77
|
+
get: () => {
|
|
78
|
+
get(themeColorDark);
|
|
79
|
+
}
|
|
80
|
+
};
|
package/dist/typedef/context.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* @typedef {Symbol|'default'} ContextKey
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export default {};
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @typedef {Symbol|'default'} ContextKey
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export default {};
|
package/dist/typedef/drag.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} DragData
|
|
3
|
-
* @property {string} draggableId
|
|
4
|
-
* @property {number} offsetX
|
|
5
|
-
* @property {number} offsetY
|
|
6
|
-
* @property {any} item - The item being dragged
|
|
7
|
-
* @property {string} [source] - Source identifier
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @typedef {Object} SimulatedDragEvent
|
|
12
|
-
* @property {'dragstart'|'dragover'|'dragleave'|'drop'|'dragend'} type
|
|
13
|
-
* @property {number} clientX
|
|
14
|
-
* @property {number} clientY
|
|
15
|
-
* @property {Object} dataTransfer
|
|
16
|
-
* @property {Array<string>} dataTransfer.types
|
|
17
|
-
* @property {Function} dataTransfer.getData
|
|
18
|
-
* @property {'none'|'copy'|'link'|'move'} dataTransfer.dropEffect
|
|
19
|
-
* @property {'none'|'copy'|'copyLink'|'copyMove'|'link'|'linkMove'|'move'|'all'|'uninitialized'} dataTransfer.effectAllowed
|
|
20
|
-
* @property {FileList|Array} dataTransfer.files
|
|
21
|
-
* @property {Function} preventDefault
|
|
22
|
-
* @property {Function} stopPropagation
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
export default {}
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} DragData
|
|
3
|
+
* @property {string} draggableId
|
|
4
|
+
* @property {number} offsetX
|
|
5
|
+
* @property {number} offsetY
|
|
6
|
+
* @property {any} item - The item being dragged
|
|
7
|
+
* @property {string} [source] - Source identifier
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {Object} SimulatedDragEvent
|
|
12
|
+
* @property {'dragstart'|'dragover'|'dragleave'|'drop'|'dragend'} type
|
|
13
|
+
* @property {number} clientX
|
|
14
|
+
* @property {number} clientY
|
|
15
|
+
* @property {Object} dataTransfer
|
|
16
|
+
* @property {Array<string>} dataTransfer.types
|
|
17
|
+
* @property {Function} dataTransfer.getData
|
|
18
|
+
* @property {'none'|'copy'|'link'|'move'} dataTransfer.dropEffect
|
|
19
|
+
* @property {'none'|'copy'|'copyLink'|'copyMove'|'link'|'linkMove'|'move'|'all'|'uninitialized'} dataTransfer.effectAllowed
|
|
20
|
+
* @property {FileList|Array} dataTransfer.files
|
|
21
|
+
* @property {Function} preventDefault
|
|
22
|
+
* @property {Function} stopPropagation
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export default {}
|
package/dist/typedef/drop.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} DropData
|
|
3
|
-
* @property {number} x
|
|
4
|
-
* @property {number} y
|
|
5
|
-
* @property {string} zone
|
|
6
|
-
* @property {string} source
|
|
7
|
-
* @property {any} item
|
|
8
|
-
* @property {import('./drag').DragData} drag
|
|
9
|
-
* @property {{offsetX: number, offsetY: number, target: Element}} drop
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export default {};
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} DropData
|
|
3
|
+
* @property {number} x
|
|
4
|
+
* @property {number} y
|
|
5
|
+
* @property {string} zone
|
|
6
|
+
* @property {string} source
|
|
7
|
+
* @property {any} item
|
|
8
|
+
* @property {import('./drag').DragData} drag
|
|
9
|
+
* @property {{offsetX: number, offsetY: number, target: Element}} drop
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export default {};
|
package/dist/typedef/index.d.ts
CHANGED
package/dist/typedef/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './context.js';
|
|
2
|
-
export * from './drag.js';
|
|
3
|
-
export * from './drop.js';
|
|
4
|
-
export * from '../
|
|
1
|
+
export * from './context.js';
|
|
2
|
+
export * from './drag.js';
|
|
3
|
+
export * from './drop.js';
|
|
4
|
+
export * from '../network/typedef.js';
|