@hkdigital/lib-core 0.3.10 → 0.3.12

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 (362) hide show
  1. package/README.md +36 -12
  2. package/dist/assets/autospuiten/car-paint-picker.d.ts +7 -7
  3. package/dist/classes/data/IterableTree.d.ts +13 -6
  4. package/dist/classes/data/IterableTree.js +18 -5
  5. package/dist/classes/promise/HkPromise.d.ts +18 -17
  6. package/dist/classes/promise/HkPromise.js +135 -128
  7. package/dist/classes/streams/ServerEventsStore.d.ts +2 -3
  8. package/dist/classes/streams/ServerEventsStore.js +5 -4
  9. package/dist/classes/svelte/index.d.ts +0 -8
  10. package/dist/classes/svelte/index.js +0 -13
  11. package/dist/config/README.md +197 -0
  12. package/dist/config/generators/vite.d.ts +47 -0
  13. package/dist/config/generators/vite.js +148 -0
  14. package/dist/config/imagetools.d.ts +2 -2
  15. package/dist/config/vite.d.ts +1 -0
  16. package/dist/config/vite.js +5 -0
  17. package/dist/constants/regexp/README.md +96 -0
  18. package/dist/constants/regexp/index.d.ts +1 -1
  19. package/dist/constants/regexp/index.js +2 -2
  20. package/dist/constants/regexp/text.d.ts +6 -6
  21. package/dist/constants/regexp/text.js +6 -6
  22. package/dist/constants/regexp/url.d.ts +1 -0
  23. package/dist/constants/regexp/url.js +3 -0
  24. package/dist/constants/regexp/user.d.ts +0 -1
  25. package/dist/constants/regexp/user.js +6 -10
  26. package/dist/design/README.md +405 -0
  27. package/dist/design/index.d.ts +8 -0
  28. package/dist/design/index.js +97 -0
  29. package/dist/design/tailwind-theme-extend.js +4 -4
  30. package/dist/design/themes/README.md +103 -0
  31. package/dist/{themes → design/themes}/hkdev/theme-ext.js +1 -1
  32. package/dist/{util/design-system/css → design/utils}/clamp.js +1 -1
  33. package/dist/{util/design-system/css/root-design-vars.d.ts → design/utils/root-vars.d.ts} +2 -2
  34. package/dist/{util/design-system/css/root-design-vars.js → design/utils/root-vars.js} +3 -3
  35. package/dist/{util/design-system/layout → design/utils}/scaling.js +1 -1
  36. package/dist/errors/index.d.ts +1 -0
  37. package/dist/errors/index.js +1 -0
  38. package/dist/errors/promise.d.ts +27 -0
  39. package/dist/errors/promise.js +26 -0
  40. package/dist/logging/README.md +158 -0
  41. package/dist/logging/index.d.ts +3 -1
  42. package/dist/logging/index.js +6 -2
  43. package/dist/logging/internal/adapters/console.js +1 -1
  44. package/dist/logging/internal/adapters/pino.js +29 -11
  45. package/dist/logging/internal/factories/client.d.ts +1 -1
  46. package/dist/logging/internal/factories/client.js +2 -2
  47. package/dist/logging/internal/factories/server.d.ts +1 -1
  48. package/dist/logging/internal/factories/server.js +2 -2
  49. package/dist/logging/internal/factories/universal.d.ts +2 -2
  50. package/dist/logging/internal/factories/universal.js +1 -1
  51. package/dist/logging/internal/{unified-logger → logger}/Logger.d.ts +2 -2
  52. package/dist/logging/internal/{unified-logger → logger}/Logger.js +3 -3
  53. package/dist/logging/internal/logger/index.d.ts +1 -0
  54. package/dist/logging/internal/logger/index.js +1 -0
  55. package/dist/logging/internal/{unified-logger/typedef.d.ts → typedef.d.ts} +2 -1
  56. package/dist/logging/internal/{unified-logger/typedef.js → typedef.js} +5 -1
  57. package/dist/network/README.md +173 -0
  58. package/dist/network/cache.d.ts +3 -0
  59. package/dist/network/cache.js +4 -0
  60. package/dist/{util → network}/http/caching.js +3 -5
  61. package/dist/{util → network}/http/errors.js +1 -1
  62. package/dist/{util → network}/http/headers.js +1 -1
  63. package/dist/{util → network}/http/http-request.js +2 -2
  64. package/dist/{util → network}/http/json-request.js +1 -1
  65. package/dist/{util → network}/http/response.js +1 -1
  66. package/dist/network/http.d.ts +6 -0
  67. package/dist/network/http.js +6 -0
  68. package/dist/network/loaders/README.md +255 -0
  69. package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.d.ts +1 -1
  70. package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.js +1 -1
  71. package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.js +1 -1
  72. package/dist/network/loaders/audio.d.ts +2 -0
  73. package/dist/network/loaders/audio.js +2 -0
  74. package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.d.ts +3 -6
  75. package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.js +5 -6
  76. package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.d.ts +5 -7
  77. package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.js +8 -9
  78. package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.d.ts +4 -4
  79. package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.js +3 -5
  80. package/dist/{util/image → network/loaders/image/utils}/index.d.ts +2 -2
  81. package/dist/{util/image → network/loaders/image/utils}/index.js +10 -10
  82. package/dist/network/loaders/image.d.ts +5 -0
  83. package/dist/network/loaders/image.js +8 -0
  84. package/dist/network/loaders.d.ts +2 -0
  85. package/dist/network/loaders.js +2 -0
  86. package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.d.ts +1 -1
  87. package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.js +4 -4
  88. package/dist/{classes/svelte/network-loader → network/states}/mocks.js +2 -2
  89. package/dist/network/typedef.d.ts +4 -0
  90. package/dist/network/typedef.js +10 -0
  91. package/dist/services/README.md +200 -0
  92. package/dist/services/index.d.ts +6 -1
  93. package/dist/services/index.js +8 -1
  94. package/dist/services/{internal/service-base → service-base}/ServiceBase.d.ts +2 -2
  95. package/dist/services/{internal/service-base → service-base}/ServiceBase.js +2 -2
  96. package/dist/services/{internal/service-base → service-base}/constants.d.ts +0 -12
  97. package/dist/services/{internal/service-base → service-base}/constants.js +0 -12
  98. package/dist/services/{internal/service-base → service-base}/typedef.d.ts +1 -1
  99. package/dist/services/{internal/service-base → service-base}/typedef.js +1 -1
  100. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.d.ts +2 -2
  101. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.js +2 -2
  102. package/dist/typedef/index.d.ts +0 -1
  103. package/dist/typedef/index.js +1 -1
  104. package/dist/{components → ui/components}/button-group/ButtonGroup.svelte +1 -1
  105. package/dist/{components → ui/components}/game-box/GameBox.svelte +1 -1
  106. package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +6 -0
  107. package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.state.svelte.js +1 -1
  108. package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte +1 -1
  109. package/dist/{components → ui/components}/image-box/ImageBox.svelte +14 -14
  110. package/dist/{components → ui/components}/image-box/ImageBox.svelte.d.ts +6 -6
  111. package/dist/{components → ui/components}/image-box/index.js +1 -1
  112. package/dist/{components → ui/components}/presenter/ImageSlide.svelte +2 -2
  113. package/dist/{components → ui/components}/presenter/ImageSlide.svelte.d.ts +2 -2
  114. package/dist/{components → ui/components}/presenter/Presenter.state.svelte.d.ts +1 -1
  115. package/dist/{components → ui/components}/presenter/Presenter.state.svelte.js +2 -2
  116. package/dist/{components → ui/components}/presenter/util.js +2 -2
  117. package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte +1 -1
  118. package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte +1 -1
  119. package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte.d.ts +1 -1
  120. package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +2 -2
  121. package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte +1 -1
  122. package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte.d.ts +1 -1
  123. package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte +4 -4
  124. package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte.d.ts +1 -1
  125. package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte +6 -6
  126. package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte.d.ts +3 -3
  127. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte +3 -3
  128. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte.d.ts +3 -3
  129. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte +3 -3
  130. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte.d.ts +3 -3
  131. package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.d.ts +11 -11
  132. package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.js +5 -5
  133. package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte +1 -1
  134. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.d.ts +3 -3
  135. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.js +2 -2
  136. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.d.ts +3 -3
  137. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.js +2 -2
  138. package/dist/util/exceptions/index.d.ts +4 -3
  139. package/dist/util/exceptions/index.js +9 -6
  140. package/dist/util/expect/url.d.ts +6 -6
  141. package/dist/util/expect/url.js +17 -17
  142. package/dist/util/iterate/index.d.ts +4 -4
  143. package/dist/util/iterate/index.js +2 -2
  144. package/dist/valibot/README.md +61 -0
  145. package/dist/valibot/index.d.ts +4 -4
  146. package/dist/valibot/index.js +4 -5
  147. package/dist/valibot/parsers/email.d.ts +12 -0
  148. package/dist/valibot/parsers/email.js +34 -0
  149. package/dist/valibot/{url.d.ts → parsers/url.d.ts} +13 -5
  150. package/dist/valibot/{url.js → parsers/url.js} +22 -6
  151. package/dist/valibot/{user.js → parsers/user.js} +2 -2
  152. package/dist/valibot/parsers.d.ts +2 -0
  153. package/dist/valibot/parsers.js +4 -0
  154. package/package.json +3 -5
  155. package/dist/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +0 -6
  156. package/dist/constants/regexp/web.d.ts +0 -1
  157. package/dist/constants/regexp/web.js +0 -3
  158. package/dist/logging/internal/unified-logger/index.d.ts +0 -3
  159. package/dist/logging/internal/unified-logger/index.js +0 -6
  160. package/dist/schemas/index.d.ts +0 -1
  161. package/dist/schemas/index.js +0 -1
  162. package/dist/schemas/validate-url.d.ts +0 -30
  163. package/dist/schemas/validate-url.js +0 -180
  164. package/dist/services/internal/index.d.ts +0 -6
  165. package/dist/services/internal/index.js +0 -8
  166. package/dist/themes/index.d.ts +0 -1
  167. package/dist/themes/index.js +0 -1
  168. package/dist/util/design-system/index.d.ts +0 -5
  169. package/dist/util/design-system/index.js +0 -5
  170. package/dist/zod/all.d.ts +0 -6
  171. package/dist/zod/all.js +0 -33
  172. package/dist/zod/generic.d.ts +0 -6
  173. package/dist/zod/generic.js +0 -11
  174. package/dist/zod/javascript.d.ts +0 -8
  175. package/dist/zod/javascript.js +0 -32
  176. package/dist/zod/user.d.ts +0 -9
  177. package/dist/zod/user.js +0 -16
  178. package/dist/zod/web.d.ts +0 -21
  179. package/dist/zod/web.js +0 -52
  180. /package/dist/config/{imagetools-config.d.ts → generators/imagetools.d.ts} +0 -0
  181. /package/dist/config/{imagetools-config.js → generators/imagetools.js} +0 -0
  182. /package/dist/design/{design-config.d.ts → config/design-config.d.ts} +0 -0
  183. /package/dist/design/{design-config.js → config/design-config.js} +0 -0
  184. /package/dist/{util/design-system/tailwind.d.ts → design/generators/index.d.ts} +0 -0
  185. /package/dist/{util/design-system/tailwind.js → design/generators/index.js} +0 -0
  186. /package/dist/{util/design-system → design/plugins}/skeleton.d.ts +0 -0
  187. /package/dist/{util/design-system → design/plugins}/skeleton.js +0 -0
  188. /package/dist/{themes → design/themes}/hkdev/components/blocks/text-block.css +0 -0
  189. /package/dist/{themes → design/themes}/hkdev/components/boxes/game-box.css +0 -0
  190. /package/dist/{themes → design/themes}/hkdev/components/buttons/button-icon-steeze.css +0 -0
  191. /package/dist/{themes → design/themes}/hkdev/components/buttons/button-text.css +0 -0
  192. /package/dist/{themes → design/themes}/hkdev/components/buttons/button.css +0 -0
  193. /package/dist/{themes → design/themes}/hkdev/components/buttons/skip-button.css +0 -0
  194. /package/dist/{themes → design/themes}/hkdev/components/drag-drop/draggable.css +0 -0
  195. /package/dist/{themes → design/themes}/hkdev/components/drag-drop/drop-zone.css +0 -0
  196. /package/dist/{themes → design/themes}/hkdev/components/icons/icon-steeze.css +0 -0
  197. /package/dist/{themes → design/themes}/hkdev/components/inputs/text-input.css +0 -0
  198. /package/dist/{themes → design/themes}/hkdev/components/panels/panel.css +0 -0
  199. /package/dist/{themes → design/themes}/hkdev/components/rows/panel-grid-row.css +0 -0
  200. /package/dist/{themes → design/themes}/hkdev/components/rows/panel-row-2.css +0 -0
  201. /package/dist/{themes → design/themes}/hkdev/components.css +0 -0
  202. /package/dist/{themes → design/themes}/hkdev/debug.css +0 -0
  203. /package/dist/{themes → design/themes}/hkdev/global/layout.css +0 -0
  204. /package/dist/{themes → design/themes}/hkdev/global/on-colors.css +0 -0
  205. /package/dist/{themes → design/themes}/hkdev/globals.css +0 -0
  206. /package/dist/{themes → design/themes}/hkdev/responsive.css +0 -0
  207. /package/dist/{themes → design/themes}/hkdev/theme-ext.d.ts +0 -0
  208. /package/dist/{themes → design/themes}/hkdev/theme.css +0 -0
  209. /package/dist/{util/design-system/css → design/utils}/clamp.d.ts +0 -0
  210. /package/dist/{util/design-system/layout → design/utils}/scaling.d.ts +0 -0
  211. /package/dist/{util/design-system/components → design/utils}/states.d.ts +0 -0
  212. /package/dist/{util/design-system/components → design/utils}/states.js +0 -0
  213. /package/dist/logging/internal/{unified-logger/constants.d.ts → constants.d.ts} +0 -0
  214. /package/dist/logging/internal/{unified-logger/constants.js → constants.js} +0 -0
  215. /package/dist/{classes → network}/cache/IndexedDbCache.d.ts +0 -0
  216. /package/dist/{classes → network}/cache/IndexedDbCache.js +0 -0
  217. /package/dist/{classes → network}/cache/MemoryResponseCache.d.ts +0 -0
  218. /package/dist/{classes → network}/cache/MemoryResponseCache.js +0 -0
  219. /package/dist/{classes → network}/cache/index.d.ts +0 -0
  220. /package/dist/{classes → network}/cache/index.js +0 -0
  221. /package/dist/{classes → network}/cache/typedef.d.ts +0 -0
  222. /package/dist/{classes → network}/cache/typedef.js +0 -0
  223. /package/dist/{util → network}/http/caching.d.ts +0 -0
  224. /package/dist/{util → network}/http/errors.d.ts +0 -0
  225. /package/dist/{util → network}/http/headers.d.ts +0 -0
  226. /package/dist/{util → network}/http/http-request.d.ts +0 -0
  227. /package/dist/{util → network}/http/index.d.ts +0 -0
  228. /package/dist/{util → network}/http/index.js +0 -0
  229. /package/dist/{util → network}/http/json-request.d.ts +0 -0
  230. /package/dist/{util → network}/http/mocks.d.ts +0 -0
  231. /package/dist/{util → network}/http/mocks.js +0 -0
  232. /package/dist/{util → network}/http/response.d.ts +0 -0
  233. /package/dist/{util → network}/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
  234. /package/dist/{util → network}/http/typedef.d.ts +0 -0
  235. /package/dist/{util → network}/http/typedef.js +0 -0
  236. /package/dist/{util → network}/http/url.d.ts +0 -0
  237. /package/dist/{util → network}/http/url.js +0 -0
  238. /package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.d.ts +0 -0
  239. /package/dist/{classes/svelte → network/loaders}/audio/mocks.d.ts +0 -0
  240. /package/dist/{classes/svelte → network/loaders}/audio/mocks.js +0 -0
  241. /package/dist/{classes/svelte → network/loaders}/image/index.d.ts +0 -0
  242. /package/dist/{classes/svelte → network/loaders}/image/index.js +0 -0
  243. /package/dist/{classes/svelte → network/loaders}/image/mocks.d.ts +0 -0
  244. /package/dist/{classes/svelte → network/loaders}/image/mocks.js +0 -0
  245. /package/dist/{classes/svelte → network/loaders}/image/typedef.d.ts +0 -0
  246. /package/dist/{classes/svelte → network/loaders}/image/typedef.js +0 -0
  247. /package/dist/{typedef/image.d.ts → network/loaders/typedef.d.ts} +0 -0
  248. /package/dist/{typedef/image.js → network/loaders/typedef.js} +0 -0
  249. /package/dist/{classes/svelte/network-loader → network/states}/constants.d.ts +0 -0
  250. /package/dist/{classes/svelte/network-loader → network/states}/constants.js +0 -0
  251. /package/dist/{classes/svelte/network-loader → network/states}/index.d.ts +0 -0
  252. /package/dist/{classes/svelte/network-loader → network/states}/index.js +0 -0
  253. /package/dist/{classes/svelte/network-loader → network/states}/mocks.d.ts +0 -0
  254. /package/dist/{classes/svelte/network-loader → network/states}/typedef.d.ts +0 -0
  255. /package/dist/{classes/svelte/network-loader → network/states}/typedef.js +0 -0
  256. /package/dist/services/{internal/service-base → service-base}/index.d.ts +0 -0
  257. /package/dist/services/{internal/service-base → service-base}/index.js +0 -0
  258. /package/dist/services/{internal/service-manager → service-manager}/constants.d.ts +0 -0
  259. /package/dist/services/{internal/service-manager → service-manager}/constants.js +0 -0
  260. /package/dist/services/{internal/service-manager → service-manager}/typedef.d.ts +0 -0
  261. /package/dist/services/{internal/service-manager → service-manager}/typedef.js +0 -0
  262. /package/dist/{components → ui/components}/button-group/ButtonGroup.svelte.d.ts +0 -0
  263. /package/dist/{components → ui/components}/button-group/typedef.d.ts +0 -0
  264. /package/dist/{components → ui/components}/button-group/typedef.js +0 -0
  265. /package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte +0 -0
  266. /package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte.d.ts +0 -0
  267. /package/dist/{components → ui/components}/compare-left-right/index.d.ts +0 -0
  268. /package/dist/{components → ui/components}/compare-left-right/index.js +0 -0
  269. /package/dist/{components → ui/components}/game-box/GameBox.svelte.d.ts +0 -0
  270. /package/dist/{components → ui/components}/game-box/gamebox.util.d.ts +0 -0
  271. /package/dist/{components → ui/components}/game-box/gamebox.util.js +0 -0
  272. /package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte.d.ts +0 -0
  273. /package/dist/{components → ui/components}/image-box/index.d.ts +0 -0
  274. /package/dist/{components → ui/components}/image-box/typedef.d.ts +0 -0
  275. /package/dist/{components → ui/components}/image-box/typedef.js +0 -0
  276. /package/dist/{components → ui/components}/index.d.ts +0 -0
  277. /package/dist/{components → ui/components}/index.js +0 -0
  278. /package/dist/{components → ui/components}/presenter/Presenter.svelte +0 -0
  279. /package/dist/{components → ui/components}/presenter/Presenter.svelte.d.ts +0 -0
  280. /package/dist/{components → ui/components}/presenter/constants.d.ts +0 -0
  281. /package/dist/{components → ui/components}/presenter/constants.js +0 -0
  282. /package/dist/{components → ui/components}/presenter/index.d.ts +0 -0
  283. /package/dist/{components → ui/components}/presenter/index.js +0 -0
  284. /package/dist/{components → ui/components}/presenter/typedef.d.ts +0 -0
  285. /package/dist/{components → ui/components}/presenter/typedef.js +0 -0
  286. /package/dist/{components → ui/components}/presenter/util.d.ts +0 -0
  287. /package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte.d.ts +0 -0
  288. /package/dist/{primitives → ui/primitives}/area/HkArea.svelte +0 -0
  289. /package/dist/{primitives → ui/primitives}/area/HkArea.svelte.d.ts +0 -0
  290. /package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte +0 -0
  291. /package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte.d.ts +0 -0
  292. /package/dist/{primitives → ui/primitives}/area/index.d.ts +0 -0
  293. /package/dist/{primitives → ui/primitives}/area/index.js +0 -0
  294. /package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte +0 -0
  295. /package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte.d.ts +0 -0
  296. /package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte +0 -0
  297. /package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte.d.ts +0 -0
  298. /package/dist/{primitives → ui/primitives}/buttons/index.d.ts +0 -0
  299. /package/dist/{primitives → ui/primitives}/buttons/index.js +0 -0
  300. /package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte.d.ts +0 -0
  301. /package/dist/{primitives → ui/primitives}/debug/index.d.ts +0 -0
  302. /package/dist/{primitives → ui/primitives}/debug/index.js +0 -0
  303. /package/dist/{primitives → ui/primitives}/drag-drop/DragController.d.ts +0 -0
  304. /package/dist/{primitives → ui/primitives}/drag-drop/DragController.js +0 -0
  305. /package/dist/{primitives → ui/primitives}/drag-drop/actions.d.ts +0 -0
  306. /package/dist/{primitives → ui/primitives}/drag-drop/actions.js +0 -0
  307. /package/dist/{primitives → ui/primitives}/drag-drop/index.d.ts +0 -0
  308. /package/dist/{primitives → ui/primitives}/drag-drop/index.js +0 -0
  309. /package/dist/{primitives → ui/primitives}/drag-drop/util.d.ts +0 -0
  310. /package/dist/{primitives → ui/primitives}/drag-drop/util.js +0 -0
  311. /package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte +0 -0
  312. /package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte.d.ts +0 -0
  313. /package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte +0 -0
  314. /package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte.d.ts +0 -0
  315. /package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte +0 -0
  316. /package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte.d.ts +0 -0
  317. /package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte +0 -0
  318. /package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte.d.ts +0 -0
  319. /package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte +0 -0
  320. /package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte.d.ts +0 -0
  321. /package/dist/{primitives → ui/primitives}/icons/index.d.ts +0 -0
  322. /package/dist/{primitives → ui/primitives}/icons/index.js +0 -0
  323. /package/dist/{primitives → ui/primitives}/icons/typedef.d.ts +0 -0
  324. /package/dist/{primitives → ui/primitives}/icons/typedef.js +0 -0
  325. /package/dist/{primitives → ui/primitives}/index.d.ts +0 -0
  326. /package/dist/{primitives → ui/primitives}/index.js +0 -0
  327. /package/dist/{primitives → ui/primitives}/inputs/index.d.ts +0 -0
  328. /package/dist/{primitives → ui/primitives}/inputs/index.js +0 -0
  329. /package/dist/{primitives → ui/primitives}/inputs/text-input/TestTextInput.svelte__ +0 -0
  330. /package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte.d.ts +0 -0
  331. /package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte___ +0 -0
  332. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte +0 -0
  333. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte.d.ts +0 -0
  334. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte +0 -0
  335. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte.d.ts +0 -0
  336. /package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte +0 -0
  337. /package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte.d.ts +0 -0
  338. /package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte__heightFrom__ +0 -0
  339. /package/dist/{primitives → ui/primitives}/layout/grid-layers/util.d.ts +0 -0
  340. /package/dist/{primitives → ui/primitives}/layout/grid-layers/util.js +0 -0
  341. /package/dist/{primitives → ui/primitives}/layout/index.d.ts +0 -0
  342. /package/dist/{primitives → ui/primitives}/layout/index.js +0 -0
  343. /package/dist/{primitives → ui/primitives}/panels/index.d.ts +0 -0
  344. /package/dist/{primitives → ui/primitives}/panels/index.js +0 -0
  345. /package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte +0 -0
  346. /package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte.d.ts +0 -0
  347. /package/dist/{primitives → ui/primitives}/rows/index.d.ts +0 -0
  348. /package/dist/{primitives → ui/primitives}/rows/index.js +0 -0
  349. /package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte +0 -0
  350. /package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte.d.ts +0 -0
  351. /package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte +0 -0
  352. /package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte.d.ts +0 -0
  353. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte +0 -0
  354. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte.d.ts +0 -0
  355. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte +0 -0
  356. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte.d.ts +0 -0
  357. /package/dist/{primitives → ui/primitives}/tab-bar/index.d.ts +0 -0
  358. /package/dist/{primitives → ui/primitives}/tab-bar/index.js +0 -0
  359. /package/dist/{primitives → ui/primitives}/tab-bar/typedef.d.ts +0 -0
  360. /package/dist/{primitives → ui/primitives}/tab-bar/typedef.js +0 -0
  361. /package/dist/valibot/{date.js__ → parsers/date.js__} +0 -0
  362. /package/dist/valibot/{user.d.ts → parsers/user.d.ts} +0 -0
@@ -2,3 +2,4 @@ export * from "./api.js";
2
2
  export * from "./generic.js";
3
3
  export * from "./http.js";
4
4
  export * from "./jwt.js";
5
+ export * from "./promise.js";
@@ -2,3 +2,4 @@ export * from './api.js';
2
2
  export * from './generic.js';
3
3
  export * from './http.js';
4
4
  export * from './jwt.js';
5
+ export * from './promise.js';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Promise-related error classes
3
+ */
4
+ /**
5
+ * Error class specifically for HkPromise operations
6
+ * Provides timeout and cancelled properties with proper type safety
7
+ */
8
+ export class PromiseError extends Error {
9
+ /**
10
+ * @param {string} message - Error message
11
+ * @param {object} [options] - Error options
12
+ * @param {boolean} [options.timeout=false] - Whether this is a timeout error
13
+ * @param {boolean} [options.cancelled=false] - Whether this is a cancellation error
14
+ * @param {Error|*} [options.cause] - Original error or cause
15
+ * @param {*} [options.details] - Additional details object
16
+ */
17
+ constructor(message: string, options?: {
18
+ timeout?: boolean;
19
+ cancelled?: boolean;
20
+ cause?: Error | any;
21
+ details?: any;
22
+ });
23
+ timeout: boolean;
24
+ cancelled: boolean;
25
+ cause: any;
26
+ details: any;
27
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Promise-related error classes
3
+ */
4
+
5
+ /**
6
+ * Error class specifically for HkPromise operations
7
+ * Provides timeout and cancelled properties with proper type safety
8
+ */
9
+ export class PromiseError extends Error {
10
+ /**
11
+ * @param {string} message - Error message
12
+ * @param {object} [options] - Error options
13
+ * @param {boolean} [options.timeout=false] - Whether this is a timeout error
14
+ * @param {boolean} [options.cancelled=false] - Whether this is a cancellation error
15
+ * @param {Error|*} [options.cause] - Original error or cause
16
+ * @param {*} [options.details] - Additional details object
17
+ */
18
+ constructor(message, options = {}) {
19
+ super(message);
20
+ this.name = 'PromiseError';
21
+ this.timeout = options.timeout ?? false;
22
+ this.cancelled = options.cancelled ?? false;
23
+ this.cause = options.cause;
24
+ this.details = options.details;
25
+ }
26
+ }
@@ -0,0 +1,158 @@
1
+ # Logging
2
+
3
+ Universal logging utilities for SvelteKit applications with server/client/universal logger factories.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add -D pino-pretty
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```javascript
14
+ import { createServerLogger,
15
+ createClientLogger,
16
+ createLogger } from '@hkdigital/lib-core/logging/index.js';
17
+
18
+ // Server-side logging (uses pino)
19
+ const serverLogger = createServerLogger('app');
20
+
21
+ // Client-side logging (uses console)
22
+ const clientLogger = createClientLogger('app');
23
+
24
+ // Universal logger (works on both server and client)
25
+ const logger = createLogger('app');
26
+
27
+ // Log at different levels
28
+ logger.debug('Debug info', { data: 'details' });
29
+ logger.info('Info message');
30
+ logger.warn('Warning message');
31
+ logger.error('Error message', { error: new Error('Something went wrong') });
32
+ ```
33
+
34
+ ## SvelteKit Integration
35
+
36
+ ### Server-side logging (src/hooks.server.js)
37
+
38
+ ```javascript
39
+ import { createServerLogger } from '@hkdigital/lib-core/logging/index.js';
40
+
41
+ let logger;
42
+
43
+ // Initialize server logging and services
44
+ export async function init() {
45
+ logger = createServerLogger('server');
46
+
47
+ try {
48
+ logger.info('Initializing server');
49
+
50
+ // Initialize your services here
51
+ // const serviceManager = new ServiceManager();
52
+ // await serviceManager.startAll();
53
+
54
+ logger.info('Server initialization complete');
55
+ } catch (error) {
56
+ logger.error('Server initialization failed:', error);
57
+ throw error;
58
+ }
59
+ }
60
+
61
+ // Graceful shutdown
62
+ export async function destroy() {
63
+ if (logger) {
64
+ logger.info('Shutting down server');
65
+
66
+ // Clean up services here
67
+ // if (serviceManager) {
68
+ // await serviceManager.stopAll();
69
+ // }
70
+ }
71
+ }
72
+
73
+ /** @type {import('@sveltejs/kit').Handle} */
74
+ export async function handle({ event, resolve }) {
75
+ const start = Date.now();
76
+
77
+ logger?.info('Request started', {
78
+ method: event.request.method,
79
+ url: event.url.pathname,
80
+ userAgent: event.request.headers.get('user-agent')
81
+ });
82
+
83
+ try {
84
+ const response = await resolve(event);
85
+ const duration = Date.now() - start;
86
+
87
+ logger?.info('Request completed', {
88
+ method: event.request.method,
89
+ url: event.url.pathname,
90
+ status: response.status,
91
+ duration: `${duration}ms`
92
+ });
93
+
94
+ return response;
95
+ } catch (error) {
96
+ logger?.error('Request failed', {
97
+ method: event.request.method,
98
+ url: event.url.pathname,
99
+ error: error.message,
100
+ stack: error.stack
101
+ });
102
+ throw error;
103
+ }
104
+ }
105
+ ```
106
+
107
+ ### Client-side logging (src/hooks.client.js)
108
+
109
+ ```javascript
110
+ import { createClientLogger } from '@hkdigital/lib-core/logging/index.js';
111
+
112
+ const logger = createClientLogger('client');
113
+
114
+ /** @type {import('@sveltejs/kit').HandleClientError} */
115
+ export function handleError({ error, event }) {
116
+ logger.error('Client error occurred', {
117
+ message: error.message,
118
+ stack: error.stack,
119
+ url: event.url?.pathname,
120
+ userAgent: navigator.userAgent
121
+ });
122
+ }
123
+
124
+ // Initialize client-side logging
125
+ export function init() {
126
+ logger.info('Client application initialized', {
127
+ userAgent: navigator.userAgent,
128
+ viewport: `${window.innerWidth}x${window.innerHeight}`
129
+ });
130
+
131
+ // Log unhandled errors
132
+ window.addEventListener('error', (event) => {
133
+ logger.error('Unhandled error', {
134
+ message: event.error?.message || event.message,
135
+ filename: event.filename,
136
+ lineno: event.lineno,
137
+ colno: event.colno
138
+ });
139
+ });
140
+
141
+ // Log unhandled promise rejections
142
+ window.addEventListener('unhandledrejection', (event) => {
143
+ logger.error('Unhandled promise rejection', {
144
+ reason: event.reason
145
+ });
146
+ });
147
+ }
148
+
149
+ // Cleanup when app is destroyed
150
+ export function destroy() {
151
+ logger.info('Client application destroyed');
152
+ // Note: Console adapter doesn't require cleanup
153
+ }
154
+ ```
155
+
156
+ ## Development
157
+
158
+ Requires `pino-pretty` as peer dependency for development mode formatting.
@@ -1,4 +1,6 @@
1
1
  export { createServerLogger } from "./internal/factories/server.js";
2
2
  export { createClientLogger } from "./internal/factories/client.js";
3
3
  export { createLogger } from "./internal/factories/universal.js";
4
- export * from "./internal/unified-logger/index.js";
4
+ export { Logger } from "./internal/logger/index.js";
5
+ export * from "./internal/constants.js";
6
+ export * from "./internal/typedef.js";
@@ -3,5 +3,9 @@ export { createServerLogger } from './internal/factories/server.js';
3
3
  export { createClientLogger } from './internal/factories/client.js';
4
4
  export { createLogger } from './internal/factories/universal.js';
5
5
 
6
- // Logger, constants and typedefs
7
- export * from './internal/unified-logger/index.js';
6
+ // Logger (advanced usage)
7
+ export { Logger } from './internal/logger/index.js';
8
+
9
+ // Constants and typedefs
10
+ export * from './internal/constants.js';
11
+ export * from './internal/typedef.js';
@@ -1,4 +1,4 @@
1
- import { LEVELS } from '../unified-logger/constants.js';
1
+ import { LEVELS } from '../constants.js';
2
2
 
3
3
  /**
4
4
  * (Browser) console adapter that uses native DevTools styling
@@ -55,19 +55,37 @@ export class PinoAdapter {
55
55
  }
56
56
  };
57
57
 
58
- const devOptions = dev
59
- ? {
60
- level: 'debug',
61
- transport: {
62
- target: 'pino-pretty',
63
- options: {
64
- colorize: true
65
- }
58
+ // Add error handling for missing pino-pretty in dev
59
+ if (dev) {
60
+ const devOptions = {
61
+ level: 'debug',
62
+ transport: {
63
+ target: 'pino-pretty',
64
+ options: {
65
+ colorize: true
66
66
  }
67
67
  }
68
- : {};
69
-
70
- this.pino = pino({ ...baseOptions, ...devOptions, ...options });
68
+ };
69
+
70
+ try {
71
+ this.pino = pino({ ...baseOptions, ...devOptions, ...options });
72
+ } catch (error) {
73
+ if (error.message.includes('pino-pretty')) {
74
+ const errorMessage = `
75
+ ╭─────────────────────────────────────────────────────────────╮
76
+ │ Missing Dependency │
77
+ ├─────────────────────────────────────────────────────────────┤
78
+ │ 'pino-pretty' is required for development logging │
79
+ │ Install it with: pnpm add -D pino-pretty │
80
+ ╰─────────────────────────────────────────────────────────────╯`;
81
+ console.error(errorMessage);
82
+ throw new Error('pino-pretty is required for development mode');
83
+ }
84
+ throw error;
85
+ }
86
+ } else {
87
+ this.pino = pino({ ...baseOptions, ...options });
88
+ }
71
89
  }
72
90
 
73
91
  /**
@@ -7,4 +7,4 @@
7
7
  * @returns {Logger} Configured logger instance
8
8
  */
9
9
  export function createClientLogger(name: string, level?: string, consoleOptions?: any): Logger;
10
- import { Logger } from '../unified-logger';
10
+ import { Logger } from '../logger/index.js';
@@ -1,6 +1,6 @@
1
- import { Logger } from '../unified-logger';
1
+ import { Logger } from '../logger/index.js';
2
2
  import { ConsoleAdapter } from '../adapters/console.js';
3
- import { INFO } from '../unified-logger/constants.js';
3
+ import { INFO } from '../constants.js';
4
4
 
5
5
  /**
6
6
  * Create a client-side logger with console adapter
@@ -7,4 +7,4 @@
7
7
  * @returns {Logger} Configured logger instance
8
8
  */
9
9
  export function createServerLogger(name: string, level?: string, pinoOptions?: any): Logger;
10
- import { Logger } from '../unified-logger';
10
+ import { Logger } from '../logger/index.js';
@@ -1,7 +1,7 @@
1
- import { Logger } from '../unified-logger';
1
+ import { Logger } from '../logger/index.js';
2
2
 
3
3
  import { PinoAdapter } from '../adapters/pino.js';
4
- import { INFO } from '../unified-logger/constants.js';
4
+ import { INFO } from '../constants.js';
5
5
 
6
6
  /**
7
7
  * Create a server-side logger with pino adapter
@@ -4,6 +4,6 @@
4
4
  * @param {string} serviceName - Name of the service
5
5
  * @param {string} [level] - Initial log level
6
6
  * @param {Object} [options] - Additional options
7
- * @returns {import('../unified-logger').Logger} Configured logger instance
7
+ * @returns {import('../logger').Logger} Configured logger instance
8
8
  */
9
- export function createLogger(serviceName: string, level?: string, options?: any): import("../unified-logger").Logger;
9
+ export function createLogger(serviceName: string, level?: string, options?: any): import("../logger").Logger;
@@ -11,7 +11,7 @@ import { createClientLogger } from './client.js';
11
11
  * @param {string} serviceName - Name of the service
12
12
  * @param {string} [level] - Initial log level
13
13
  * @param {Object} [options] - Additional options
14
- * @returns {import('../unified-logger').Logger} Configured logger instance
14
+ * @returns {import('../logger').Logger} Configured logger instance
15
15
  */
16
16
  export function createLogger(serviceName, level, options = {}) {
17
17
  if (browser) {
@@ -70,9 +70,9 @@ export default class Logger extends EventEmitter {
70
70
  * forwarded to this logger.
71
71
  *
72
72
  * @param {string} eventName
73
- * @param {import('./typedef.js').LogEventData} eventData
73
+ * @param {import('../typedef.js').LogEventData} eventData
74
74
  */
75
- logFromEvent(eventName: string, eventData: import("./typedef.js").LogEventData): boolean;
75
+ logFromEvent(eventName: string, eventData: import("../typedef.js").LogEventData): boolean;
76
76
  #private;
77
77
  }
78
78
  import { EventEmitter } from '../../../classes/event-emitter';
@@ -41,7 +41,7 @@ import {
41
41
  ERROR,
42
42
  LEVELS,
43
43
  LOG
44
- } from './constants.js';
44
+ } from '../constants.js';
45
45
 
46
46
  /**
47
47
  * Logger class for consistent logging
@@ -157,7 +157,7 @@ export default class Logger extends EventEmitter {
157
157
  * forwarded to this logger.
158
158
  *
159
159
  * @param {string} eventName
160
- * @param {import('./typedef.js').LogEventData} eventData
160
+ * @param {import('../typedef.js').LogEventData} eventData
161
161
  */
162
162
  logFromEvent(eventName, eventData) {
163
163
  const level = eventData.level;
@@ -205,7 +205,7 @@ export default class Logger extends EventEmitter {
205
205
  /**
206
206
  * Internal event loggin method
207
207
  *
208
- * @param {import('./typedef.js').LogEvent} logEvent
208
+ * @param {import('../typedef.js').LogEvent} logEvent
209
209
  */
210
210
  #logEvent(logEvent) {
211
211
  // Emit as both specific level event and generic 'log' event
@@ -0,0 +1 @@
1
+ export { default as Logger } from "./Logger.js";
@@ -0,0 +1 @@
1
+ export { default as Logger } from './Logger.js';
@@ -1,5 +1,6 @@
1
1
  declare const _default: {};
2
2
  export default _default;
3
+ export type LogLevel = "debug" | "info" | "warn" | "error" | "none";
3
4
  export type LogEventData = {
4
5
  /**
5
6
  * - When the log event was created
@@ -12,7 +13,7 @@ export type LogEventData = {
12
13
  /**
13
14
  * - Log level (DEBUG, INFO, WARN, ERROR)
14
15
  */
15
- level: string;
16
+ level: LogLevel;
16
17
  /**
17
18
  * - The log message
18
19
  */
@@ -1,8 +1,12 @@
1
+ /**
2
+ * @typedef {'debug'|'info'|'warn'|'error'|'none'} LogLevel
3
+ */
4
+
1
5
  /**
2
6
  * @typedef {Object} LogEventData
3
7
  * @property {Date} timestamp - When the log event was created
4
8
  * @property {string} source - Name of the source where the event came from
5
- * @property {string} level - Log level (DEBUG, INFO, WARN, ERROR)
9
+ * @property {LogLevel} level - Log level (DEBUG, INFO, WARN, ERROR)
6
10
  * @property {string} message - The log message
7
11
  * @property {Object|null} context
8
12
  * Default context data from the logger (null if no context)
@@ -0,0 +1,173 @@
1
+ # Network
2
+
3
+ Network utilities for HTTP requests, responses, caching, and specialized media loaders.
4
+
5
+ ## Quick Start
6
+
7
+ ```javascript
8
+ import * as http from '$lib/network/http.js';
9
+ import * as cache from '$lib/network/cache.js';
10
+ import * as loaders from '$lib/network/loaders.js';
11
+ ```
12
+
13
+ ## HTTP Utilities
14
+
15
+ ### Making Requests
16
+
17
+ ```javascript
18
+ import { httpRequest, jsonRequest } from '$lib/network/http.js';
19
+
20
+ // Basic HTTP request
21
+ const response = await httpRequest('https://api.example.com/data');
22
+
23
+ // JSON request with POST
24
+ const result = await jsonRequest('https://api.example.com/users', {
25
+ method: 'POST',
26
+ body: { name: 'John', email: 'john@example.com' }
27
+ });
28
+ ```
29
+
30
+ ### URL Utilities
31
+
32
+ ```javascript
33
+ import { toURL, addSearchParams } from '$lib/network/http.js';
34
+
35
+ const url = toURL('https://example.com', { page: 1, limit: 10 });
36
+ // Result: https://example.com?page=1&limit=10
37
+ ```
38
+
39
+ ### Headers and Response Handling
40
+
41
+ ```javascript
42
+ import {
43
+ setRequestHeaders,
44
+ waitForAndCheckResponse,
45
+ getErrorFromResponse
46
+ } from '$lib/network/http.js';
47
+
48
+ // Set custom headers
49
+ const headers = setRequestHeaders({ 'Authorization': 'Bearer token' });
50
+
51
+ // Handle response with error checking
52
+ const response = await fetch('/api/data');
53
+ const result = await waitForAndCheckResponse(response);
54
+ ```
55
+
56
+ ## Caching
57
+
58
+ ### Memory Cache (for temporary storage)
59
+
60
+ ```javascript
61
+ import { MemoryResponseCache } from '$lib/network/cache.js';
62
+
63
+ const cache = new MemoryResponseCache();
64
+
65
+ // Store response with 1-hour expiration
66
+ const response = await fetch('https://api.example.com/data');
67
+ await cache.set('api-data', response, { expiresIn: 3600000 });
68
+
69
+ // Retrieve cached response
70
+ const cached = await cache.get('api-data');
71
+ if (cached) {
72
+ console.log('Cached data:', cached.response);
73
+ }
74
+ ```
75
+
76
+ ### IndexedDB Cache (for persistent storage)
77
+
78
+ ```javascript
79
+ import { IndexedDbCache } from '$lib/network/cache.js';
80
+
81
+ const cache = new IndexedDbCache('my-app-cache');
82
+
83
+ // Store response persistently
84
+ const response = await fetch('https://api.example.com/users');
85
+ await cache.set('users-list', response, {
86
+ expiresIn: 86400000, // 24 hours
87
+ etag: response.headers.get('etag')
88
+ });
89
+
90
+ // Check if cached version is still valid
91
+ const cached = await cache.get('users-list');
92
+ if (cached && !cache.isExpired(cached)) {
93
+ return cached.response;
94
+ }
95
+ ```
96
+
97
+ ## Media Loaders
98
+
99
+ Advanced network-based loaders for media assets with loading state management and streaming support. See the [loaders documentation](./loaders/README.md) for detailed usage examples.
100
+
101
+ ```javascript
102
+ import { ImageLoader, AudioLoader, ImageScene } from '$lib/network/loaders.js';
103
+
104
+ // Load a single image with progress tracking
105
+ const imageLoader = new ImageLoader({ imageSource: { src: '/image.jpg' } });
106
+ imageLoader.load();
107
+
108
+ // Load multiple images as a scene
109
+ const scene = new ImageScene();
110
+ scene.defineImage({ label: 'hero', imageSource: heroImage });
111
+ scene.load();
112
+ ```
113
+
114
+ ## Network State Management
115
+
116
+ For managing loading states across network operations:
117
+
118
+ ```javascript
119
+ import { NetworkLoader } from '$lib/network/states/index.js';
120
+
121
+ // Base class for custom network loaders
122
+ class CustomLoader extends NetworkLoader {
123
+ // Implementation
124
+ }
125
+ ```
126
+
127
+ ## Available Exports
128
+
129
+ ### HTTP (`$lib/network/http.js`)
130
+ - `httpRequest()` - Make HTTP requests with configuration
131
+ - `jsonRequest()` - Make JSON API requests
132
+ - `toURL()` - Convert strings to URL objects with params
133
+ - `setRequestHeaders()` - Set and merge request headers
134
+ - `waitForAndCheckResponse()` - Handle responses with error checking
135
+ - `getErrorFromResponse()` - Extract errors from failed responses
136
+ - HTTP constants and error types
137
+
138
+ ### Cache (`$lib/network/cache.js`)
139
+ - `MemoryResponseCache` - In-memory response caching
140
+ - `IndexedDbCache` - Persistent browser storage caching
141
+ - Cache-related type definitions
142
+
143
+ ### Loaders (`$lib/network/loaders.js`)
144
+ - `ImageLoader` - Single image loading with progress tracking
145
+ - `ImageVariantsLoader` - Responsive image variants loading
146
+ - `ImageScene` - Multi-image loading and management
147
+ - `AudioLoader` - Audio data loading and processing
148
+ - `AudioScene` - Multi-audio loading and management
149
+ - Media utilities and type definitions
150
+
151
+ ### States (`$lib/network/states/`)
152
+ - `NetworkLoader` - Base class for network-based loaders
153
+ - Loading state management and progress tracking
154
+
155
+ ## Error Handling
156
+
157
+ All HTTP utilities throw structured errors:
158
+
159
+ ```javascript
160
+ import { httpRequest } from '$lib/network/http.js';
161
+
162
+ try {
163
+ const response = await httpRequest('/api/data');
164
+ } catch (error) {
165
+ if (error.name === 'AbortError') {
166
+ console.log('Request was cancelled');
167
+ } else if (error.name === 'TimeoutError') {
168
+ console.log('Request timed out');
169
+ } else {
170
+ console.log('HTTP error:', error.message);
171
+ }
172
+ }
173
+ ```
@@ -0,0 +1,3 @@
1
+ export { default as MemoryResponseCache } from "./cache/MemoryResponseCache.js";
2
+ export { default as IndexedDbCache } from "./cache/IndexedDbCache.js";
3
+ export * from "./cache/typedef.js";
@@ -0,0 +1,4 @@
1
+ export { default as MemoryResponseCache } from "./cache/MemoryResponseCache.js";
2
+ export { default as IndexedDbCache } from "./cache/IndexedDbCache.js";
3
+
4
+ export * from './cache/typedef.js';
@@ -1,11 +1,9 @@
1
- import {
2
- MemoryResponseCache,
3
- IndexedDbCache
4
- } from '../../classes/cache';
1
+ import MemoryResponseCache from '../cache/MemoryResponseCache.js';
2
+ import IndexedDbCache from '../cache/IndexedDbCache.js';
5
3
 
6
4
  import { browser } from '$app/environment';
7
5
 
8
- import { isTestEnv } from '../env';
6
+ import { isTestEnv } from '../../util/env';
9
7
 
10
8
  let defaultCacheStorage = null;
11
9
 
@@ -1,4 +1,4 @@
1
- import * as expect from '../expect/index.js';
1
+ import * as expect from '../../util/expect/index.js';
2
2
 
3
3
  import { CONTENT_TYPE } from '../../constants/http/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import * as expect from '../expect/index.js';
1
+ import * as expect from '../../util/expect/index.js';
2
2
 
3
3
  /**
4
4
  * Set headers in an existing `Headers` object
@@ -13,7 +13,7 @@ import { CONTENT_TYPE } from '../../constants/http/headers.js';
13
13
 
14
14
  import { AbortError, TimeoutError } from '../../errors/api.js';
15
15
 
16
- import * as expect from '../expect/index.js';
16
+ import * as expect from '../../util/expect/index.js';
17
17
 
18
18
  import { toURL } from './url.js';
19
19
  import { setRequestHeaders } from './headers.js';
@@ -21,7 +21,7 @@ import { waitForAndCheckResponse } from './response.js';
21
21
 
22
22
  import { getCachedResponse, storeResponseInCache } from './caching.js';
23
23
 
24
- import { isTestEnv } from '../env';
24
+ import { isTestEnv } from '../../util/env';
25
25
 
26
26
  /**
27
27
  * Default configuration for HTTP requests