@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.
Files changed (293) hide show
  1. package/README.md +173 -149
  2. package/dist/assets/autospuiten/car-paint-picker.js +41 -41
  3. package/dist/assets/autospuiten/labels.js +7 -7
  4. package/dist/classes/data/IterableTree.js +242 -242
  5. package/dist/classes/data/Selector.js +190 -190
  6. package/dist/classes/data/index.js +2 -2
  7. package/dist/classes/data/typedef.js +9 -9
  8. package/dist/classes/event-emitter/EventEmitter.js +273 -273
  9. package/dist/classes/event-emitter/index.js +2 -2
  10. package/dist/classes/index.js +4 -4
  11. package/dist/classes/promise/HkPromise.js +384 -384
  12. package/dist/classes/promise/index.js +1 -1
  13. package/dist/classes/stores/SubscribersCount.js +107 -107
  14. package/dist/classes/stores/index.js +1 -1
  15. package/dist/classes/streams/LogTransformStream.js +19 -19
  16. package/dist/classes/streams/ServerEventsStore.js +111 -111
  17. package/dist/classes/streams/TimeStampSource.js +26 -26
  18. package/dist/classes/streams/index.js +3 -3
  19. package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
  20. package/dist/classes/svelte/finite-state-machine/index.js +1 -1
  21. package/dist/classes/svelte/index.js +1 -11
  22. package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
  23. package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
  24. package/dist/classes/svelte/loading-state-machine/index.js +3 -3
  25. package/dist/config/README.md +197 -196
  26. package/dist/config/generators/imagetools.js +189 -189
  27. package/dist/config/generators/vite.js +148 -142
  28. package/dist/config/imagetools.d.ts +72 -72
  29. package/dist/config/vite.js +4 -4
  30. package/dist/constants/bases/index.js +13 -13
  31. package/dist/constants/http/headers.js +6 -6
  32. package/dist/constants/http/index.js +2 -2
  33. package/dist/constants/http/methods.js +14 -14
  34. package/dist/constants/index.js +6 -6
  35. package/dist/constants/mime/application.js +5 -5
  36. package/dist/constants/mime/audio.js +13 -13
  37. package/dist/constants/mime/image.js +3 -3
  38. package/dist/constants/mime/index.js +4 -4
  39. package/dist/constants/mime/text.js +2 -2
  40. package/dist/constants/regexp/README.md +96 -95
  41. package/dist/constants/regexp/index.js +31 -31
  42. package/dist/constants/regexp/inspiratie.js__ +95 -95
  43. package/dist/constants/regexp/text.d.ts +4 -4
  44. package/dist/constants/regexp/text.js +49 -49
  45. package/dist/constants/regexp/url.js +3 -3
  46. package/dist/constants/regexp/user.js +29 -29
  47. package/dist/constants/states/drag.js +6 -6
  48. package/dist/constants/states/drop.js +6 -6
  49. package/dist/constants/states/index.js +4 -4
  50. package/dist/constants/states/input.js +11 -11
  51. package/dist/constants/states/submit.js +4 -4
  52. package/dist/constants/time/index.js +28 -28
  53. package/dist/css/utilities.css +43 -43
  54. package/dist/design/README.md +405 -405
  55. package/dist/design/config/design-config.js +73 -73
  56. package/dist/design/generators/index.js +288 -288
  57. package/dist/design/index.js +96 -96
  58. package/dist/design/plugins/skeleton.js +208 -208
  59. package/dist/design/tailwind-theme-extend.js +158 -158
  60. package/dist/design/themes/README.md +102 -102
  61. package/dist/design/themes/hkdev/components/blocks/text-block.css +34 -34
  62. package/dist/design/themes/hkdev/components/boxes/game-box.css +11 -11
  63. package/dist/design/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
  64. package/dist/design/themes/hkdev/components/buttons/button-text.css +32 -32
  65. package/dist/design/themes/hkdev/components/buttons/button.css +146 -146
  66. package/dist/design/themes/hkdev/components/buttons/skip-button.css +5 -5
  67. package/dist/design/themes/hkdev/components/drag-drop/draggable.css +73 -73
  68. package/dist/design/themes/hkdev/components/drag-drop/drop-zone.css +58 -58
  69. package/dist/design/themes/hkdev/components/icons/icon-steeze.css +15 -15
  70. package/dist/design/themes/hkdev/components/inputs/text-input.css +102 -102
  71. package/dist/design/themes/hkdev/components/panels/panel.css +25 -25
  72. package/dist/design/themes/hkdev/components/rows/panel-grid-row.css +4 -4
  73. package/dist/design/themes/hkdev/components/rows/panel-row-2.css +5 -5
  74. package/dist/design/themes/hkdev/components.css +29 -29
  75. package/dist/design/themes/hkdev/debug.css +1 -1
  76. package/dist/design/themes/hkdev/global/layout.css +32 -32
  77. package/dist/design/themes/hkdev/global/on-colors.css +32 -32
  78. package/dist/design/themes/hkdev/globals.css +3 -3
  79. package/dist/design/themes/hkdev/responsive.css +12 -12
  80. package/dist/design/themes/hkdev/theme-ext.js +12 -12
  81. package/dist/design/themes/hkdev/theme.css +218 -218
  82. package/dist/design/utils/clamp.js +66 -66
  83. package/dist/design/utils/root-vars.js +102 -102
  84. package/dist/design/utils/scaling.js +228 -228
  85. package/dist/design/utils/states.js +22 -22
  86. package/dist/errors/api.js +9 -9
  87. package/dist/errors/generic.js +20 -20
  88. package/dist/errors/http.js +16 -16
  89. package/dist/errors/index.js +5 -5
  90. package/dist/errors/jwt.js +5 -5
  91. package/dist/errors/promise.js +25 -25
  92. package/dist/logging/README.md +158 -0
  93. package/dist/logging/index.d.ts +3 -1
  94. package/dist/logging/index.js +11 -7
  95. package/dist/logging/internal/adapters/console.js +114 -114
  96. package/dist/logging/internal/adapters/index.js +2 -2
  97. package/dist/logging/internal/adapters/pino.js +160 -142
  98. package/dist/logging/internal/adapters/typedef.js +10 -10
  99. package/dist/logging/internal/{unified-logger/constants.js → constants.js} +22 -22
  100. package/dist/logging/internal/factories/client.d.ts +1 -1
  101. package/dist/logging/internal/factories/client.js +21 -21
  102. package/dist/logging/internal/factories/server.d.ts +1 -1
  103. package/dist/logging/internal/factories/server.js +22 -22
  104. package/dist/logging/internal/factories/universal.d.ts +2 -2
  105. package/dist/logging/internal/factories/universal.js +22 -22
  106. package/dist/logging/internal/{unified-logger → logger}/Logger.d.ts +2 -2
  107. package/dist/logging/internal/{unified-logger → logger}/Logger.js +217 -217
  108. package/dist/logging/internal/logger/index.d.ts +1 -0
  109. package/dist/logging/internal/logger/index.js +1 -0
  110. package/dist/logging/internal/{unified-logger/typedef.d.ts → typedef.d.ts} +2 -1
  111. package/dist/logging/internal/{unified-logger/typedef.js → typedef.js} +21 -17
  112. package/dist/network/README.md +172 -172
  113. package/dist/network/cache/IndexedDbCache.js +1407 -1407
  114. package/dist/network/cache/MemoryResponseCache.js +138 -138
  115. package/dist/network/cache/index.js +5 -5
  116. package/dist/network/cache/typedef.js +41 -41
  117. package/dist/network/cache.js +3 -3
  118. package/dist/network/http/caching.js +261 -261
  119. package/dist/network/http/errors.js +97 -97
  120. package/dist/network/http/headers.js +75 -75
  121. package/dist/network/http/http-request.js +578 -578
  122. package/dist/network/http/index.js +22 -22
  123. package/dist/network/http/json-request.js +224 -224
  124. package/dist/network/http/mocks.js +65 -65
  125. package/dist/network/http/response.js +318 -318
  126. package/dist/network/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
  127. package/dist/network/http/typedef.js +93 -93
  128. package/dist/network/http/url.js +52 -52
  129. package/dist/network/http.js +5 -5
  130. package/dist/network/loaders/README.md +254 -254
  131. package/dist/network/loaders/audio/AudioLoader.svelte.js +58 -58
  132. package/dist/network/loaders/audio/AudioScene.svelte.js +324 -324
  133. package/dist/network/loaders/audio/mocks.js +35 -35
  134. package/dist/network/loaders/audio.js +1 -1
  135. package/dist/network/loaders/image/ImageLoader.svelte.js +44 -44
  136. package/dist/network/loaders/image/ImageScene.svelte.js +248 -248
  137. package/dist/network/loaders/image/ImageVariantsLoader.svelte.js +150 -150
  138. package/dist/network/loaders/image/index.js +4 -4
  139. package/dist/network/loaders/image/mocks.js +35 -35
  140. package/dist/network/loaders/image/typedef.js +8 -8
  141. package/dist/network/loaders/image/utils/index.js +86 -86
  142. package/dist/network/loaders/image.js +7 -7
  143. package/dist/network/loaders/typedef.js +38 -38
  144. package/dist/network/loaders.js +2 -2
  145. package/dist/network/states/NetworkLoader.svelte.js +338 -338
  146. package/dist/network/states/constants.js +3 -3
  147. package/dist/network/states/index.js +3 -3
  148. package/dist/network/states/mocks.js +30 -30
  149. package/dist/network/states/typedef.js +8 -8
  150. package/dist/network/typedef.js +9 -9
  151. package/dist/services/README.md +200 -0
  152. package/dist/services/index.d.ts +6 -1
  153. package/dist/services/index.js +8 -1
  154. package/dist/services/{internal/service-base → service-base}/ServiceBase.d.ts +2 -2
  155. package/dist/services/{internal/service-base → service-base}/ServiceBase.js +462 -462
  156. package/dist/services/{internal/service-base → service-base}/constants.d.ts +0 -12
  157. package/dist/services/{internal/service-base → service-base}/constants.js +98 -110
  158. package/dist/services/{internal/service-base → service-base}/index.js +3 -3
  159. package/dist/services/{internal/service-base → service-base}/typedef.d.ts +1 -1
  160. package/dist/services/{internal/service-base → service-base}/typedef.js +101 -101
  161. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.d.ts +2 -2
  162. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.js +608 -608
  163. package/dist/services/{internal/service-manager → service-manager}/constants.js +6 -6
  164. package/dist/services/{internal/service-manager → service-manager}/typedef.js +90 -90
  165. package/dist/states/index.js +1 -1
  166. package/dist/states/navigation.svelte.js +55 -55
  167. package/dist/stores/index.js +1 -1
  168. package/dist/stores/theme.js +80 -80
  169. package/dist/typedef/context.js +6 -6
  170. package/dist/typedef/drag.js +25 -25
  171. package/dist/typedef/drop.js +12 -12
  172. package/dist/typedef/index.d.ts +1 -0
  173. package/dist/typedef/index.js +4 -4
  174. package/dist/ui/components/button-group/ButtonGroup.svelte +82 -82
  175. package/dist/ui/components/button-group/typedef.js +10 -10
  176. package/dist/ui/components/compare-left-right/CompareLeftRight.svelte +179 -179
  177. package/dist/ui/components/compare-left-right/index.js +1 -1
  178. package/dist/ui/components/game-box/GameBox.svelte +577 -577
  179. package/dist/ui/components/game-box/gamebox.util.js +83 -83
  180. package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  181. package/dist/ui/components/hk-app-layout/HkAppLayout.svelte +251 -251
  182. package/dist/ui/components/image-box/ImageBox.svelte +210 -210
  183. package/dist/ui/components/image-box/index.js +5 -5
  184. package/dist/ui/components/image-box/typedef.js +32 -32
  185. package/dist/ui/components/index.js +23 -23
  186. package/dist/ui/components/presenter/ImageSlide.svelte +64 -64
  187. package/dist/ui/components/presenter/Presenter.state.svelte.js +638 -638
  188. package/dist/ui/components/presenter/Presenter.svelte +142 -142
  189. package/dist/ui/components/presenter/constants.js +7 -7
  190. package/dist/ui/components/presenter/index.js +10 -10
  191. package/dist/ui/components/presenter/typedef.js +106 -106
  192. package/dist/ui/components/presenter/util.js +210 -210
  193. package/dist/ui/components/virtual-viewport/VirtualViewport.svelte +196 -196
  194. package/dist/ui/primitives/area/HkArea.svelte +49 -49
  195. package/dist/ui/primitives/area/HkGridArea.svelte +77 -77
  196. package/dist/ui/primitives/area/index.js +2 -2
  197. package/dist/ui/primitives/buttons/button/Button.svelte +82 -82
  198. package/dist/ui/primitives/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  199. package/dist/ui/primitives/buttons/button-text/TextButton.svelte +21 -21
  200. package/dist/ui/primitives/buttons/index.js +3 -3
  201. package/dist/ui/primitives/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  202. package/dist/ui/primitives/debug/index.js +1 -1
  203. package/dist/ui/primitives/drag-drop/DragController.js +44 -44
  204. package/dist/ui/primitives/drag-drop/DragDropContext.svelte +111 -111
  205. package/dist/ui/primitives/drag-drop/Draggable.svelte +519 -519
  206. package/dist/ui/primitives/drag-drop/DropZone.svelte +258 -258
  207. package/dist/ui/primitives/drag-drop/DropZoneArea.svelte +119 -119
  208. package/dist/ui/primitives/drag-drop/DropZoneList.svelte +125 -125
  209. package/dist/ui/primitives/drag-drop/actions.js +26 -26
  210. package/dist/ui/primitives/drag-drop/drag-state.svelte.js +322 -322
  211. package/dist/ui/primitives/drag-drop/index.js +7 -7
  212. package/dist/ui/primitives/drag-drop/util.js +85 -85
  213. package/dist/ui/primitives/hkdev/blocks/TextBlock.svelte +46 -46
  214. package/dist/ui/primitives/hkdev/buttons/CheckButton.svelte +62 -62
  215. package/dist/ui/primitives/icons/HkIcon.svelte +86 -86
  216. package/dist/ui/primitives/icons/HkTabIcon.svelte +116 -116
  217. package/dist/ui/primitives/icons/SteezeIcon.svelte +97 -97
  218. package/dist/ui/primitives/icons/index.js +6 -6
  219. package/dist/ui/primitives/icons/typedef.js +16 -16
  220. package/dist/ui/primitives/index.js +2 -2
  221. package/dist/ui/primitives/inputs/index.js +1 -1
  222. package/dist/ui/primitives/inputs/text-input/TestTextInput.svelte__ +102 -0
  223. package/dist/ui/primitives/inputs/text-input/TextInput.svelte +223 -223
  224. package/dist/ui/primitives/inputs/text-input/TextInput.svelte___ +83 -0
  225. package/dist/ui/primitives/inputs/text-input/assets/IconInvalid.svelte +14 -14
  226. package/dist/ui/primitives/inputs/text-input/assets/IconValid.svelte +12 -12
  227. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte +63 -63
  228. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +372 -0
  229. package/dist/ui/primitives/layout/grid-layers/util.js +74 -74
  230. package/dist/ui/primitives/layout/index.js +1 -1
  231. package/dist/ui/primitives/panels/index.js +1 -1
  232. package/dist/ui/primitives/panels/panel/Panel.svelte +43 -43
  233. package/dist/ui/primitives/rows/index.js +3 -3
  234. package/dist/ui/primitives/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  235. package/dist/ui/primitives/rows/panel-row-2/PanelRow2.svelte +40 -40
  236. package/dist/ui/primitives/tab-bar/HkTabBar.state.svelte.js +149 -149
  237. package/dist/ui/primitives/tab-bar/HkTabBar.svelte +74 -74
  238. package/dist/ui/primitives/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  239. package/dist/ui/primitives/tab-bar/HkTabBarSelector.svelte +49 -49
  240. package/dist/ui/primitives/tab-bar/index.js +17 -17
  241. package/dist/ui/primitives/tab-bar/typedef.js +11 -11
  242. package/dist/util/array/index.js +436 -436
  243. package/dist/util/bases/base58.js +262 -262
  244. package/dist/util/bases/index.js +1 -1
  245. package/dist/util/compare/index.js +247 -247
  246. package/dist/util/css/css-vars.js +83 -83
  247. package/dist/util/css/index.js +1 -1
  248. package/dist/util/env/index.js +9 -9
  249. package/dist/util/exceptions/index.d.ts +4 -3
  250. package/dist/util/exceptions/index.js +26 -23
  251. package/dist/util/expect/arrays.js +47 -47
  252. package/dist/util/expect/index.js +259 -259
  253. package/dist/util/expect/primitives.js +55 -55
  254. package/dist/util/expect/url.js +60 -60
  255. package/dist/util/function/index.js +218 -218
  256. package/dist/util/geo/index.js +26 -26
  257. package/dist/util/index.js +7 -7
  258. package/dist/util/is/index.js +147 -147
  259. package/dist/util/iterate/index.js +204 -204
  260. package/dist/util/object/index.js +1345 -1345
  261. package/dist/util/singleton/index.js +97 -97
  262. package/dist/util/string/array-path.js +75 -75
  263. package/dist/util/string/convert.js +54 -54
  264. package/dist/util/string/fs.js +226 -226
  265. package/dist/util/string/index.js +5 -5
  266. package/dist/util/string/interpolate.js +61 -61
  267. package/dist/util/string/pad.js +10 -10
  268. package/dist/util/svelte/index.js +4 -4
  269. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  270. package/dist/util/svelte/observe/index.js +49 -49
  271. package/dist/util/svelte/state-context/index.js +117 -117
  272. package/dist/util/svelte/wait/index.js +38 -38
  273. package/dist/util/sveltekit/index.js +1 -1
  274. package/dist/util/sveltekit/route-folders/index.js +101 -101
  275. package/dist/util/time/index.js +328 -328
  276. package/dist/util/unique/index.js +231 -231
  277. package/dist/valibot/README.md +61 -50
  278. package/dist/valibot/index.js +8 -8
  279. package/dist/valibot/parsers/date.js__ +10 -0
  280. package/dist/valibot/parsers/email.d.ts +12 -0
  281. package/dist/valibot/parsers/email.js +34 -0
  282. package/dist/valibot/parsers/url.js +110 -110
  283. package/dist/valibot/parsers/user.js +23 -23
  284. package/dist/valibot/parsers.js +3 -3
  285. package/package.json +131 -131
  286. package/dist/logging/internal/unified-logger/index.d.ts +0 -3
  287. package/dist/logging/internal/unified-logger/index.js +0 -6
  288. package/dist/services/internal/index.d.ts +0 -6
  289. package/dist/services/internal/index.js +0 -8
  290. /package/dist/logging/internal/{unified-logger/constants.d.ts → constants.d.ts} +0 -0
  291. /package/dist/services/{internal/service-base → service-base}/index.d.ts +0 -0
  292. /package/dist/services/{internal/service-manager → service-manager}/constants.d.ts +0 -0
  293. /package/dist/services/{internal/service-manager → service-manager}/typedef.d.ts +0 -0
@@ -38,61 +38,49 @@
38
38
  */
39
39
  /**
40
40
  * Service has not been created yet
41
- * @const {string}
42
41
  */
43
42
  export const NOT_CREATED: "not-created";
44
43
  /**
45
44
  * Service has been created but not initialized
46
- * @const {string}
47
45
  */
48
46
  export const CREATED: "created";
49
47
  /**
50
48
  * Service is currently initializing
51
- * @const {string}
52
49
  */
53
50
  export const INITIALIZING: "initializing";
54
51
  /**
55
52
  * Service has been initialized and is ready to start
56
- * @const {string}
57
53
  */
58
54
  export const INITIALIZED: "initialized";
59
55
  /**
60
56
  * Service is currently starting up
61
- * @const {string}
62
57
  */
63
58
  export const STARTING: "starting";
64
59
  /**
65
60
  * Service is running and operational
66
- * @const {string}
67
61
  */
68
62
  export const RUNNING: "running";
69
63
  /**
70
64
  * Service is currently shutting down
71
- * @const {string}
72
65
  */
73
66
  export const STOPPING: "stopping";
74
67
  /**
75
68
  * Service has been stopped
76
- * @const {string}
77
69
  */
78
70
  export const STOPPED: "stopped";
79
71
  /**
80
72
  * Service is being destroyed and cleaned up
81
- * @const {string}
82
73
  */
83
74
  export const DESTROYING: "destroying";
84
75
  /**
85
76
  * Service has been destroyed and cannot be used
86
- * @const {string}
87
77
  */
88
78
  export const DESTROYED: "destroyed";
89
79
  /**
90
80
  * Service encountered an error and is not operational
91
- * @const {string}
92
81
  */
93
82
  export const ERROR: "error";
94
83
  /**
95
84
  * Service is attempting to recover from an error
96
- * @const {string}
97
85
  */
98
86
  export const RECOVERING: "recovering";
@@ -1,110 +1,98 @@
1
- /**
2
- * @fileoverview Service state constants for the service management system.
3
- *
4
- * Defines all possible states a service can be in during its lifecycle.
5
- * Services transition through these states as they are initialized, started,
6
- * stopped, and handle errors or recovery.
7
- *
8
- * @example
9
- * // Using state constants in a service
10
- * import { RUNNING, ERROR } from './service-states.js';
11
- *
12
- * class MyService extends ServiceBase {
13
- * async doWork() {
14
- * if (this.state !== RUNNING) {
15
- * throw new Error('Service not running');
16
- * }
17
- * // ... do work
18
- * }
19
- * }
20
- *
21
- * @example
22
- * // Checking service states
23
- * import { RUNNING, ERROR, STOPPED } from './service-states.js';
24
- *
25
- * const service = serviceManager.get('database');
26
- *
27
- * switch (service.state) {
28
- * case RUNNING:
29
- * console.log('Service is operational');
30
- * break;
31
- * case ERROR:
32
- * console.log('Service has failed');
33
- * break;
34
- * case STOPPED:
35
- * console.log('Service is stopped');
36
- * break;
37
- * }
38
- */
39
-
40
- /**
41
- * Service has not been created yet
42
- * @const {string}
43
- */
44
- export const NOT_CREATED = 'not-created';
45
-
46
- /**
47
- * Service has been created but not initialized
48
- * @const {string}
49
- */
50
- export const CREATED = 'created';
51
-
52
- /**
53
- * Service is currently initializing
54
- * @const {string}
55
- */
56
- export const INITIALIZING = 'initializing';
57
-
58
- /**
59
- * Service has been initialized and is ready to start
60
- * @const {string}
61
- */
62
- export const INITIALIZED = 'initialized';
63
-
64
- /**
65
- * Service is currently starting up
66
- * @const {string}
67
- */
68
- export const STARTING = 'starting';
69
-
70
- /**
71
- * Service is running and operational
72
- * @const {string}
73
- */
74
- export const RUNNING = 'running';
75
-
76
- /**
77
- * Service is currently shutting down
78
- * @const {string}
79
- */
80
- export const STOPPING = 'stopping';
81
-
82
- /**
83
- * Service has been stopped
84
- * @const {string}
85
- */
86
- export const STOPPED = 'stopped';
87
-
88
- /**
89
- * Service is being destroyed and cleaned up
90
- * @const {string}
91
- */
92
- export const DESTROYING = 'destroying';
93
-
94
- /**
95
- * Service has been destroyed and cannot be used
96
- * @const {string}
97
- */
98
- export const DESTROYED = 'destroyed';
99
-
100
- /**
101
- * Service encountered an error and is not operational
102
- * @const {string}
103
- */
104
- export const ERROR = 'error';
105
-
106
- /**
107
- * Service is attempting to recover from an error
108
- * @const {string}
109
- */
110
- export const RECOVERING = 'recovering';
1
+ /**
2
+ * @fileoverview Service state constants for the service management system.
3
+ *
4
+ * Defines all possible states a service can be in during its lifecycle.
5
+ * Services transition through these states as they are initialized, started,
6
+ * stopped, and handle errors or recovery.
7
+ *
8
+ * @example
9
+ * // Using state constants in a service
10
+ * import { RUNNING, ERROR } from './service-states.js';
11
+ *
12
+ * class MyService extends ServiceBase {
13
+ * async doWork() {
14
+ * if (this.state !== RUNNING) {
15
+ * throw new Error('Service not running');
16
+ * }
17
+ * // ... do work
18
+ * }
19
+ * }
20
+ *
21
+ * @example
22
+ * // Checking service states
23
+ * import { RUNNING, ERROR, STOPPED } from './service-states.js';
24
+ *
25
+ * const service = serviceManager.get('database');
26
+ *
27
+ * switch (service.state) {
28
+ * case RUNNING:
29
+ * console.log('Service is operational');
30
+ * break;
31
+ * case ERROR:
32
+ * console.log('Service has failed');
33
+ * break;
34
+ * case STOPPED:
35
+ * console.log('Service is stopped');
36
+ * break;
37
+ * }
38
+ */
39
+
40
+ /**
41
+ * Service has not been created yet
42
+ */
43
+ export const NOT_CREATED = 'not-created';
44
+
45
+ /**
46
+ * Service has been created but not initialized
47
+ */
48
+ export const CREATED = 'created';
49
+
50
+ /**
51
+ * Service is currently initializing
52
+ */
53
+ export const INITIALIZING = 'initializing';
54
+
55
+ /**
56
+ * Service has been initialized and is ready to start
57
+ */
58
+ export const INITIALIZED = 'initialized';
59
+
60
+ /**
61
+ * Service is currently starting up
62
+ */
63
+ export const STARTING = 'starting';
64
+
65
+ /**
66
+ * Service is running and operational
67
+ */
68
+ export const RUNNING = 'running';
69
+
70
+ /**
71
+ * Service is currently shutting down
72
+ */
73
+ export const STOPPING = 'stopping';
74
+
75
+ /**
76
+ * Service has been stopped
77
+ */
78
+ export const STOPPED = 'stopped';
79
+
80
+ /**
81
+ * Service is being destroyed and cleaned up
82
+ */
83
+ export const DESTROYING = 'destroying';
84
+
85
+ /**
86
+ * Service has been destroyed and cannot be used
87
+ */
88
+ export const DESTROYED = 'destroyed';
89
+
90
+ /**
91
+ * Service encountered an error and is not operational
92
+ */
93
+ export const ERROR = 'error';
94
+
95
+ /**
96
+ * Service is attempting to recover from an error
97
+ */
98
+ export const RECOVERING = 'recovering';
@@ -1,3 +1,3 @@
1
- export * from './ServiceBase.js';
2
- export * from './constants.js';
3
- export * from './typedef.js';
1
+ export * from './ServiceBase.js';
2
+ export * from './constants.js';
3
+ export * from './typedef.js';
@@ -76,7 +76,7 @@ export type ServiceInstance = {
76
76
  /**
77
77
  * - Service logger
78
78
  */
79
- logger: import("../../../logging/internal/unified-logger").Logger;
79
+ logger: import("../../logging/internal/logger").Logger;
80
80
  initialize: (config?: any) => Promise<boolean>;
81
81
  start: () => Promise<boolean>;
82
82
  stop: (options?: StopOptions) => Promise<boolean>;
@@ -1,101 +1,101 @@
1
- /**
2
- * @fileoverview Type definitions for ServiceBase class.
3
- *
4
- * This file contains all TypeScript/JSDoc type definitions used by
5
- * the ServiceBase class and service implementations.
6
- *
7
- * @example
8
- * // In your service implementation
9
- * import { ServiceBase } from './ServiceBase.js';
10
- *
11
- * class MyService extends ServiceBase {
12
- * async _init(config) {
13
- * }
14
- *
15
- * async _healthCheck() {
16
- * // Return type is HealthStatus
17
- * return { latency: 10 };
18
- * }
19
- * }
20
- */
21
-
22
- // ============================================================================
23
- // PUBLIC TYPES
24
- // ============================================================================
25
-
26
- /**
27
- * Options for creating a service instance
28
- *
29
- * @typedef {Object} ServiceOptions
30
- * @property {string} [logLevel] - Initial log level for the service
31
- * @property {number} [shutdownTimeout=5000] - Timeout for graceful shutdown
32
- */
33
-
34
- /**
35
- * Options for stopping a service
36
- *
37
- * @typedef {Object} StopOptions
38
- * @property {number} [timeout] - Override shutdown timeout
39
- * @property {boolean} [force=false] - Force stop even if timeout exceeded
40
- */
41
-
42
- /**
43
- * Health status returned by service health checks
44
- *
45
- * @typedef {Object} HealthStatus
46
- * @property {string} name - Service name
47
- * @property {string} state - Current service state
48
- * @property {boolean} healthy - Whether the service is healthy
49
- * @property {string} [error] - Error message if unhealthy
50
- * @property {string} [checkError] - Error from health check itself
51
- * @property {*} [key] - Additional health check properties
52
- */
53
-
54
- /**
55
- * Base class interface that services must implement
56
- *
57
- * @typedef {Object} ServiceInstance
58
- * @property {string} name - Service name
59
- * @property {string} state - Current state
60
- * @property {boolean} healthy - Health status
61
- * @property {Error|null} error - Last error
62
- * @property {import('../../../logging/internal/unified-logger').Logger} logger - Service logger
63
- * @property {(config?: *) => Promise<boolean>} initialize
64
- * @property {() => Promise<boolean>} start
65
- * @property {(options?: StopOptions) => Promise<boolean>} stop
66
- * @property {() => Promise<boolean>} recover
67
- * @property {() => Promise<boolean>} destroy
68
- * @property {() => Promise<HealthStatus>} getHealth
69
- * @property {(level: string) => boolean} setLogLevel
70
- * @property {(event: string, handler: Function) => Function} on
71
- * @property {(event: string, data: any) => boolean} emit
72
- */
73
-
74
- // ============================================================================
75
- // INTERNAL TYPES
76
- // ============================================================================
77
-
78
- /**
79
- * @typedef {Object} StateChangeEvent
80
- * @property {string} service - Service name (added by ServiceManager)
81
- * @property {string} oldState - Previous state
82
- * @property {string} newState - New state
83
- */
84
-
85
- /**
86
- * @typedef {Object} HealthChangeEvent
87
- * @property {string} service - Service name (added by ServiceManager)
88
- * @property {boolean} healthy - Current health status
89
- * @property {boolean} [wasHealthy] - Previous health status
90
- */
91
-
92
- /**
93
- * Event emitted when service encounters an error
94
- *
95
- * @typedef {Object} ServiceErrorEvent
96
- * @property {string} service - Service name
97
- * @property {string} operation - Operation that failed
98
- * @property {Error} error - Error that occurred
99
- */
100
-
101
- export {};
1
+ /**
2
+ * @fileoverview Type definitions for ServiceBase class.
3
+ *
4
+ * This file contains all TypeScript/JSDoc type definitions used by
5
+ * the ServiceBase class and service implementations.
6
+ *
7
+ * @example
8
+ * // In your service implementation
9
+ * import { ServiceBase } from './ServiceBase.js';
10
+ *
11
+ * class MyService extends ServiceBase {
12
+ * async _init(config) {
13
+ * }
14
+ *
15
+ * async _healthCheck() {
16
+ * // Return type is HealthStatus
17
+ * return { latency: 10 };
18
+ * }
19
+ * }
20
+ */
21
+
22
+ // ============================================================================
23
+ // PUBLIC TYPES
24
+ // ============================================================================
25
+
26
+ /**
27
+ * Options for creating a service instance
28
+ *
29
+ * @typedef {Object} ServiceOptions
30
+ * @property {string} [logLevel] - Initial log level for the service
31
+ * @property {number} [shutdownTimeout=5000] - Timeout for graceful shutdown
32
+ */
33
+
34
+ /**
35
+ * Options for stopping a service
36
+ *
37
+ * @typedef {Object} StopOptions
38
+ * @property {number} [timeout] - Override shutdown timeout
39
+ * @property {boolean} [force=false] - Force stop even if timeout exceeded
40
+ */
41
+
42
+ /**
43
+ * Health status returned by service health checks
44
+ *
45
+ * @typedef {Object} HealthStatus
46
+ * @property {string} name - Service name
47
+ * @property {string} state - Current service state
48
+ * @property {boolean} healthy - Whether the service is healthy
49
+ * @property {string} [error] - Error message if unhealthy
50
+ * @property {string} [checkError] - Error from health check itself
51
+ * @property {*} [key] - Additional health check properties
52
+ */
53
+
54
+ /**
55
+ * Base class interface that services must implement
56
+ *
57
+ * @typedef {Object} ServiceInstance
58
+ * @property {string} name - Service name
59
+ * @property {string} state - Current state
60
+ * @property {boolean} healthy - Health status
61
+ * @property {Error|null} error - Last error
62
+ * @property {import('../../logging/internal/logger').Logger} logger - Service logger
63
+ * @property {(config?: *) => Promise<boolean>} initialize
64
+ * @property {() => Promise<boolean>} start
65
+ * @property {(options?: StopOptions) => Promise<boolean>} stop
66
+ * @property {() => Promise<boolean>} recover
67
+ * @property {() => Promise<boolean>} destroy
68
+ * @property {() => Promise<HealthStatus>} getHealth
69
+ * @property {(level: string) => boolean} setLogLevel
70
+ * @property {(event: string, handler: Function) => Function} on
71
+ * @property {(event: string, data: any) => boolean} emit
72
+ */
73
+
74
+ // ============================================================================
75
+ // INTERNAL TYPES
76
+ // ============================================================================
77
+
78
+ /**
79
+ * @typedef {Object} StateChangeEvent
80
+ * @property {string} service - Service name (added by ServiceManager)
81
+ * @property {string} oldState - Previous state
82
+ * @property {string} newState - New state
83
+ */
84
+
85
+ /**
86
+ * @typedef {Object} HealthChangeEvent
87
+ * @property {string} service - Service name (added by ServiceManager)
88
+ * @property {boolean} healthy - Current health status
89
+ * @property {boolean} [wasHealthy] - Previous health status
90
+ */
91
+
92
+ /**
93
+ * Event emitted when service encounters an error
94
+ *
95
+ * @typedef {Object} ServiceErrorEvent
96
+ * @property {string} service - Service name
97
+ * @property {string} operation - Operation that failed
98
+ * @property {Error} error - Error that occurred
99
+ */
100
+
101
+ export {};
@@ -141,5 +141,5 @@ export type ServiceManagerConfig = import("./typedef.js").ServiceManagerConfig;
141
141
  export type ServiceEntry = import("./typedef.js").ServiceEntry;
142
142
  export type HealthCheckResult = import("./typedef.js").HealthCheckResult;
143
143
  export type StopOptions = import("../service-base/typedef.js").StopOptions;
144
- import { EventEmitter } from '../../../classes/event-emitter';
145
- import { Logger } from '../../../logging/index.js';
144
+ import { EventEmitter } from '../../classes/event-emitter';
145
+ import { Logger } from '../../logging/index.js';