katanakit-js 3.2.1 → 4.0.2

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 (181) hide show
  1. package/README.md +435 -307
  2. package/dist/adapters/angular/fetch.d.ts +37 -0
  3. package/dist/adapters/angular/fetch.d.ts.map +1 -0
  4. package/dist/adapters/angular/fetch.js +67 -0
  5. package/dist/adapters/angular/fetch.js.map +1 -0
  6. package/dist/adapters/angular/index.d.ts +4 -0
  7. package/dist/adapters/angular/index.d.ts.map +1 -0
  8. package/dist/adapters/angular/index.js +4 -0
  9. package/dist/adapters/angular/index.js.map +1 -0
  10. package/dist/adapters/angular/query.d.ts +107 -0
  11. package/dist/adapters/angular/query.d.ts.map +1 -0
  12. package/dist/adapters/angular/query.js +166 -0
  13. package/dist/adapters/angular/query.js.map +1 -0
  14. package/dist/adapters/angular/watch.d.ts +34 -0
  15. package/dist/adapters/angular/watch.d.ts.map +1 -0
  16. package/dist/adapters/angular/watch.js +38 -0
  17. package/dist/adapters/angular/watch.js.map +1 -0
  18. package/dist/adapters/assistant/assistant.service.js +1 -1
  19. package/dist/adapters/assistant/assistant.service.js.map +1 -1
  20. package/dist/adapters/astro/astro.service.d.ts +0 -1
  21. package/dist/adapters/astro/astro.service.d.ts.map +1 -1
  22. package/dist/adapters/astro/astro.service.js +0 -1
  23. package/dist/adapters/astro/astro.service.js.map +1 -1
  24. package/dist/adapters/bun/dummyjson.service.d.ts +88 -0
  25. package/dist/adapters/bun/dummyjson.service.d.ts.map +1 -0
  26. package/dist/adapters/bun/dummyjson.service.js +149 -0
  27. package/dist/adapters/bun/dummyjson.service.js.map +1 -0
  28. package/dist/adapters/bun/index.d.ts +5 -0
  29. package/dist/adapters/bun/index.d.ts.map +1 -0
  30. package/dist/adapters/bun/index.js +5 -0
  31. package/dist/adapters/bun/index.js.map +1 -0
  32. package/dist/adapters/bun/main.d.ts +2 -0
  33. package/dist/adapters/bun/main.d.ts.map +1 -0
  34. package/dist/adapters/bun/main.js +6 -0
  35. package/dist/adapters/bun/main.js.map +1 -0
  36. package/dist/adapters/bun/routes.d.ts +62 -0
  37. package/dist/adapters/bun/routes.d.ts.map +1 -0
  38. package/dist/adapters/bun/routes.js +60 -0
  39. package/dist/adapters/bun/routes.js.map +1 -0
  40. package/dist/adapters/bun/seed.d.ts +65 -0
  41. package/dist/adapters/bun/seed.d.ts.map +1 -0
  42. package/dist/adapters/bun/seed.js +117 -0
  43. package/dist/adapters/bun/seed.js.map +1 -0
  44. package/dist/adapters/bun/server.d.ts +53 -0
  45. package/dist/adapters/bun/server.d.ts.map +1 -0
  46. package/dist/adapters/bun/server.js +64 -0
  47. package/dist/adapters/bun/server.js.map +1 -0
  48. package/dist/adapters/express/app.d.ts +2 -1
  49. package/dist/adapters/express/app.d.ts.map +1 -1
  50. package/dist/adapters/express/app.js +14 -2
  51. package/dist/adapters/express/app.js.map +1 -1
  52. package/dist/adapters/express/products.controller.d.ts.map +1 -1
  53. package/dist/adapters/express/products.controller.js +3 -1
  54. package/dist/adapters/express/products.controller.js.map +1 -1
  55. package/dist/adapters/express/server.js +2 -2
  56. package/dist/adapters/express/server.js.map +1 -1
  57. package/dist/adapters/notion/notion.service.d.ts +4 -2
  58. package/dist/adapters/notion/notion.service.d.ts.map +1 -1
  59. package/dist/adapters/notion/notion.service.js +19 -5
  60. package/dist/adapters/notion/notion.service.js.map +1 -1
  61. package/dist/adapters/react/fetch.d.ts +44 -0
  62. package/dist/adapters/react/fetch.d.ts.map +1 -0
  63. package/dist/adapters/react/fetch.js +74 -0
  64. package/dist/adapters/react/fetch.js.map +1 -0
  65. package/dist/adapters/react/index.d.ts +4 -0
  66. package/dist/adapters/react/index.d.ts.map +1 -0
  67. package/dist/adapters/react/index.js +4 -0
  68. package/dist/adapters/react/index.js.map +1 -0
  69. package/dist/adapters/react/query.d.ts +104 -0
  70. package/dist/adapters/react/query.d.ts.map +1 -0
  71. package/dist/adapters/react/query.js +200 -0
  72. package/dist/adapters/react/query.js.map +1 -0
  73. package/dist/adapters/react/watch.d.ts +37 -0
  74. package/dist/adapters/react/watch.d.ts.map +1 -0
  75. package/dist/adapters/react/watch.js +39 -0
  76. package/dist/adapters/react/watch.js.map +1 -0
  77. package/dist/adapters/solid/fetch.d.ts +43 -0
  78. package/dist/adapters/solid/fetch.d.ts.map +1 -0
  79. package/dist/adapters/solid/fetch.js +72 -0
  80. package/dist/adapters/solid/fetch.js.map +1 -0
  81. package/dist/adapters/solid/index.d.ts +4 -0
  82. package/dist/adapters/solid/index.d.ts.map +1 -0
  83. package/dist/adapters/solid/index.js +4 -0
  84. package/dist/adapters/solid/index.js.map +1 -0
  85. package/dist/adapters/solid/query.d.ts +102 -0
  86. package/dist/adapters/solid/query.d.ts.map +1 -0
  87. package/dist/adapters/solid/query.js +163 -0
  88. package/dist/adapters/solid/query.js.map +1 -0
  89. package/dist/adapters/solid/watch.d.ts +32 -0
  90. package/dist/adapters/solid/watch.d.ts.map +1 -0
  91. package/dist/adapters/solid/watch.js +36 -0
  92. package/dist/adapters/solid/watch.js.map +1 -0
  93. package/dist/adapters/svelte/fetch.d.ts +40 -0
  94. package/dist/adapters/svelte/fetch.d.ts.map +1 -0
  95. package/dist/adapters/svelte/fetch.js +75 -0
  96. package/dist/adapters/svelte/fetch.js.map +1 -0
  97. package/dist/adapters/svelte/index.d.ts +4 -0
  98. package/dist/adapters/svelte/index.d.ts.map +1 -0
  99. package/dist/adapters/svelte/index.js +4 -0
  100. package/dist/adapters/svelte/index.js.map +1 -0
  101. package/dist/adapters/svelte/query.d.ts +108 -0
  102. package/dist/adapters/svelte/query.d.ts.map +1 -0
  103. package/dist/adapters/svelte/query.js +172 -0
  104. package/dist/adapters/svelte/query.js.map +1 -0
  105. package/dist/adapters/svelte/watch.d.ts +32 -0
  106. package/dist/adapters/svelte/watch.d.ts.map +1 -0
  107. package/dist/adapters/svelte/watch.js +41 -0
  108. package/dist/adapters/svelte/watch.js.map +1 -0
  109. package/dist/adapters/telegram/telegram.service.js +1 -1
  110. package/dist/adapters/telegram/telegram.service.js.map +1 -1
  111. package/dist/adapters/vue/query.d.ts +1 -2
  112. package/dist/adapters/vue/query.d.ts.map +1 -1
  113. package/dist/adapters/vue/query.js +9 -9
  114. package/dist/adapters/vue/query.js.map +1 -1
  115. package/dist/adapters/vue/vue.service.d.ts +9 -5
  116. package/dist/adapters/vue/vue.service.d.ts.map +1 -1
  117. package/dist/adapters/vue/vue.service.js +7 -3
  118. package/dist/adapters/vue/vue.service.js.map +1 -1
  119. package/dist/adapters/whatsapp/whatsapp.service.js +1 -1
  120. package/dist/adapters/whatsapp/whatsapp.service.js.map +1 -1
  121. package/dist/adapters/wordpress/wordpress.service.d.ts +2 -1
  122. package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
  123. package/dist/adapters/wordpress/wordpress.service.js +10 -5
  124. package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
  125. package/dist/core/services/agent.service.d.ts.map +1 -1
  126. package/dist/core/services/agent.service.js +9 -1
  127. package/dist/core/services/agent.service.js.map +1 -1
  128. package/dist/core/services/dates.service.d.ts.map +1 -1
  129. package/dist/core/services/dates.service.js +2 -1
  130. package/dist/core/services/dates.service.js.map +1 -1
  131. package/dist/core/services/error.service.d.ts +1 -1
  132. package/dist/core/services/error.service.js +1 -1
  133. package/dist/core/services/http.service.d.ts +26 -5
  134. package/dist/core/services/http.service.d.ts.map +1 -1
  135. package/dist/core/services/http.service.js +30 -6
  136. package/dist/core/services/http.service.js.map +1 -1
  137. package/dist/core/services/logger.service.d.ts +10 -67
  138. package/dist/core/services/logger.service.d.ts.map +1 -1
  139. package/dist/core/services/logger.service.js +13 -139
  140. package/dist/core/services/logger.service.js.map +1 -1
  141. package/dist/core/services/query.service.d.ts +4 -0
  142. package/dist/core/services/query.service.d.ts.map +1 -1
  143. package/dist/core/services/query.service.js +75 -63
  144. package/dist/core/services/query.service.js.map +1 -1
  145. package/dist/core/services/reactive.service.d.ts.map +1 -1
  146. package/dist/core/services/reactive.service.js +7 -10
  147. package/dist/core/services/reactive.service.js.map +1 -1
  148. package/dist/core/services/timing.service.js +8 -8
  149. package/dist/core/services/timing.service.js.map +1 -1
  150. package/dist/core/services/utils.service.d.ts.map +1 -1
  151. package/dist/core/services/utils.service.js +3 -0
  152. package/dist/core/services/utils.service.js.map +1 -1
  153. package/dist/index.d.ts +0 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +0 -1
  156. package/dist/index.js.map +1 -1
  157. package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
  158. package/dist/infrastructure/dom/dom.service.js +18 -4
  159. package/dist/infrastructure/dom/dom.service.js.map +1 -1
  160. package/dist/infrastructure/observer/observer.service.js +2 -2
  161. package/dist/infrastructure/observer/observer.service.js.map +1 -1
  162. package/dist/infrastructure/sensors/sensors.service.js +6 -6
  163. package/dist/infrastructure/sensors/sensors.service.js.map +1 -1
  164. package/dist/infrastructure/storage/storage.service.d.ts.map +1 -1
  165. package/dist/infrastructure/storage/storage.service.js +12 -2
  166. package/dist/infrastructure/storage/storage.service.js.map +1 -1
  167. package/dist/prisma/assistant.store.d.ts +3 -0
  168. package/dist/prisma/assistant.store.d.ts.map +1 -1
  169. package/dist/prisma/assistant.store.js +12 -6
  170. package/dist/prisma/assistant.store.js.map +1 -1
  171. package/dist/prisma/use-prisma.d.ts +5 -4
  172. package/dist/prisma/use-prisma.d.ts.map +1 -1
  173. package/dist/prisma/use-prisma.js +5 -4
  174. package/dist/prisma/use-prisma.js.map +1 -1
  175. package/dist/types/index.d.ts +2 -6
  176. package/dist/types/index.d.ts.map +1 -1
  177. package/package.json +244 -185
  178. package/dist/prisma/db.d.ts +0 -4
  179. package/dist/prisma/db.d.ts.map +0 -1
  180. package/dist/prisma/db.js +0 -12
  181. package/dist/prisma/db.js.map +0 -1
@@ -0,0 +1,163 @@
1
+ import { createEffect, createSignal, onCleanup } from "solid-js";
2
+ import { useQueryClient, } from "../../core/services/query.service.js";
3
+ /**
4
+ * Solid primitive that wraps the {@link QueryClient} with fine-grained signals.
5
+ * Integrates with the API manager — your `queryFn` typically calls `useGetApi`
6
+ * or `useFetch` and returns the Safe Result.
7
+ *
8
+ * @param config - Query configuration.
9
+ * @param client - Optional QueryClient instance (uses global singleton by default).
10
+ * @returns Signal accessors for `{ data, error, isLoading, isSuccess, isError, isStale, status }` plus `refetch`.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * import { useQuery } from "katanakit-js/adapters/solid";
15
+ * import { useGetApi } from "katanakit-js";
16
+ *
17
+ * function Pokemon() {
18
+ * const { data, isLoading, error } = useQuery({
19
+ * queryKey: ["pokemon", 25],
20
+ * queryFn: () => useGetApi("pokeapi", "pokemonById", { params: { id: 25 } }),
21
+ * });
22
+ * return <Show when={!isLoading() && !error()} fallback={<div>Loading…</div>}>
23
+ * <div>{data()?.name}</div>
24
+ * </Show>;
25
+ * }
26
+ * ```
27
+ */
28
+ export function useQuery(config, client) {
29
+ const qc = client ?? useQueryClient();
30
+ const [data, setData] = createSignal(null);
31
+ const [error, setError] = createSignal(null);
32
+ const [isLoading, setIsLoading] = createSignal(false);
33
+ const [isSuccess, setIsSuccess] = createSignal(false);
34
+ const [isError, setIsError] = createSignal(false);
35
+ const [isStale, setIsStale] = createSignal(true);
36
+ const [status, setStatus] = createSignal("idle");
37
+ const sync = (state) => {
38
+ // Updater form avoids Solid's "function as value" ambiguity for generic T.
39
+ setData(() => state.data);
40
+ setError(state.error);
41
+ setIsLoading(state.isLoading);
42
+ setIsSuccess(state.isSuccess);
43
+ setIsError(state.isError);
44
+ setIsStale(state.isStale);
45
+ setStatus(state.status);
46
+ };
47
+ createEffect(() => {
48
+ const qKey = config.queryKey;
49
+ const unsubscribe = qc.subscribe(qKey, (next) => sync(next));
50
+ const existing = qc.getQueryState(qKey);
51
+ if (existing)
52
+ sync(existing);
53
+ if (config.enabled !== false) {
54
+ void qc
55
+ .fetchQuery({
56
+ queryKey: qKey,
57
+ queryFn: config.queryFn,
58
+ staleTime: config.staleTime,
59
+ cacheTime: config.cacheTime,
60
+ retry: config.retry,
61
+ retryDelay: config.retryDelay,
62
+ })
63
+ .catch(() => {
64
+ // Error is already reflected in the cache state.
65
+ });
66
+ }
67
+ onCleanup(unsubscribe);
68
+ });
69
+ const refetch = async () => {
70
+ await qc
71
+ .fetchQuery({
72
+ queryKey: config.queryKey,
73
+ queryFn: config.queryFn,
74
+ staleTime: 0,
75
+ cacheTime: config.cacheTime,
76
+ retry: config.retry,
77
+ retryDelay: config.retryDelay,
78
+ })
79
+ .catch(() => {
80
+ // Error is already reflected in the cache state.
81
+ });
82
+ };
83
+ return { data, error, isLoading, isSuccess, isError, isStale, status, refetch };
84
+ }
85
+ /**
86
+ * Solid primitive for mutations (POST/PUT/PATCH/DELETE).
87
+ * Does not cache — returns a `mutate` function that executes the mutation.
88
+ *
89
+ * @param config - Mutation configuration.
90
+ * @returns Signal accessors plus `{ mutate, reset }`.
91
+ *
92
+ * @example
93
+ * ```tsx
94
+ * import { useMutation, useQueryClient } from "katanakit-js/adapters/solid";
95
+ * import { usePost } from "katanakit-js";
96
+ *
97
+ * function CreateUser() {
98
+ * const qc = useQueryClient();
99
+ * const { mutate, isLoading } = useMutation({
100
+ * mutationFn: (name: string) => usePost("api", "createUser", { name }),
101
+ * onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }),
102
+ * });
103
+ * return <button disabled={isLoading()} onClick={() => mutate("Ada")}>Create</button>;
104
+ * }
105
+ * ```
106
+ */
107
+ export function useMutation(config) {
108
+ const [data, setData] = createSignal(null);
109
+ const [error, setError] = createSignal(null);
110
+ const [isLoading, setIsLoading] = createSignal(false);
111
+ const [isSuccess, setIsSuccess] = createSignal(false);
112
+ const [isError, setIsError] = createSignal(false);
113
+ const [status, setStatus] = createSignal("idle");
114
+ const mutate = async (variables) => {
115
+ setIsLoading(true);
116
+ setIsSuccess(false);
117
+ setIsError(false);
118
+ setStatus("loading");
119
+ try {
120
+ const result = await config.mutationFn(variables);
121
+ if (result.ok) {
122
+ setData(() => result.data);
123
+ setError(null);
124
+ setIsSuccess(true);
125
+ setStatus("success");
126
+ config.onSuccess?.(result.data, variables);
127
+ config.onSettled?.(result.data, null, variables);
128
+ }
129
+ else {
130
+ setData(null);
131
+ setError(result.error);
132
+ setIsError(true);
133
+ setStatus("error");
134
+ config.onError?.(result.error, variables);
135
+ config.onSettled?.(null, result.error, variables);
136
+ }
137
+ }
138
+ catch (caught) {
139
+ const apiError = caught instanceof Error
140
+ ? { message: caught.message, status: 0 }
141
+ : { message: String(caught), status: 0 };
142
+ setData(null);
143
+ setError(apiError);
144
+ setIsError(true);
145
+ setStatus("error");
146
+ config.onError?.(apiError, variables);
147
+ config.onSettled?.(null, apiError, variables);
148
+ }
149
+ finally {
150
+ setIsLoading(false);
151
+ }
152
+ };
153
+ const reset = () => {
154
+ setData(null);
155
+ setError(null);
156
+ setIsLoading(false);
157
+ setIsSuccess(false);
158
+ setIsError(false);
159
+ setStatus("idle");
160
+ };
161
+ return { data, error, isLoading, isSuccess, isError, status, mutate, reset };
162
+ }
163
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/adapters/solid/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** Options for {@link useWatch}. Accepted for API parity; Solid tracks deep reads natively. */
2
+ export interface UseWatchOptions {
3
+ deep?: boolean;
4
+ }
5
+ /**
6
+ * Solid effect-based watcher that invokes `callback` whenever any signal read
7
+ * inside `source` changes. Tracks the previous value so the callback receives
8
+ * `(value, previous)`.
9
+ *
10
+ * Solid's fine-grained reactivity means nested mutations are tracked
11
+ * automatically, so `deep` is effectively always on. Runs once on creation and
12
+ * on every tracked change; cleans up with the owning component.
13
+ *
14
+ * @typeParam T - The watched value type.
15
+ * @param source - A getter that reads the signals to watch.
16
+ * @param callback - Invoked on change as `(value, previous)`.
17
+ * @param options - Accepted for API parity (ignored).
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * import { createSignal } from "solid-js";
22
+ * import { useWatch } from "katanakit-js/adapters/solid";
23
+ *
24
+ * function Form() {
25
+ * const [product, setProduct] = createSignal({ name: "", price: 0 });
26
+ * useWatch(() => product(), (next, prev) => console.log(next, prev));
27
+ * // ...
28
+ * }
29
+ * ```
30
+ */
31
+ export declare function useWatch<T>(source: () => T, callback: (value: T, previous: T | undefined) => void, _options?: UseWatchOptions): void;
32
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/adapters/solid/watch.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,EACrD,QAAQ,GAAE,eAAoB,GAC5B,IAAI,CAQN"}
@@ -0,0 +1,36 @@
1
+ import { createEffect } from "solid-js";
2
+ /**
3
+ * Solid effect-based watcher that invokes `callback` whenever any signal read
4
+ * inside `source` changes. Tracks the previous value so the callback receives
5
+ * `(value, previous)`.
6
+ *
7
+ * Solid's fine-grained reactivity means nested mutations are tracked
8
+ * automatically, so `deep` is effectively always on. Runs once on creation and
9
+ * on every tracked change; cleans up with the owning component.
10
+ *
11
+ * @typeParam T - The watched value type.
12
+ * @param source - A getter that reads the signals to watch.
13
+ * @param callback - Invoked on change as `(value, previous)`.
14
+ * @param options - Accepted for API parity (ignored).
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * import { createSignal } from "solid-js";
19
+ * import { useWatch } from "katanakit-js/adapters/solid";
20
+ *
21
+ * function Form() {
22
+ * const [product, setProduct] = createSignal({ name: "", price: 0 });
23
+ * useWatch(() => product(), (next, prev) => console.log(next, prev));
24
+ * // ...
25
+ * }
26
+ * ```
27
+ */
28
+ export function useWatch(source, callback, _options = {}) {
29
+ let previous;
30
+ createEffect(() => {
31
+ const value = source();
32
+ callback(value, previous);
33
+ previous = value;
34
+ });
35
+ }
36
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/adapters/solid/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAOxC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,QAAQ,CACvB,MAAe,EACf,QAAqD,EACrD,WAA4B,EAAE;IAE9B,IAAI,QAAuB,CAAC;IAE5B,YAAY,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1B,QAAQ,GAAG,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type Readable } from "svelte/store";
2
+ import type { ApiError, UrlOptions } from "../../types/index.js";
3
+ /** Reactive state exposed by the {@link useRequest} factory (Svelte stores). */
4
+ export interface RequestState<T = unknown> {
5
+ data: Readable<T | null>;
6
+ error: Readable<ApiError | null>;
7
+ loading: Readable<boolean>;
8
+ refetch: () => Promise<void>;
9
+ }
10
+ /**
11
+ * Svelte store factory that wraps KatanaKit's HTTP GET. Bridges the Safe
12
+ * Result pattern to idiomatic Svelte stores and never throws on HTTP errors.
13
+ *
14
+ * Stale responses are ignored via a request version counter and AbortController;
15
+ * in-flight requests are aborted on component destroy.
16
+ *
17
+ * @param apiName - Name of the registered API (see `useInitApis`).
18
+ * @param endpointName - Name of the endpoint inside that API.
19
+ * @param options - Optional `UrlOptions` (path/query params).
20
+ * @returns Readable stores `{ data, error, loading }` plus `refetch`.
21
+ *
22
+ * @example
23
+ * ```svelte
24
+ * <script lang="ts">
25
+ * import { useRequest } from "katanakit-js/adapters/svelte";
26
+ *
27
+ * const { data, error, loading } = useRequest("pokeapi", "pokemonById", { params: { id: 25 } });
28
+ * </script>
29
+ *
30
+ * {#if $loading}
31
+ * <div>Loading…</div>
32
+ * {:else if $error}
33
+ * <div>{$error.message}</div>
34
+ * {:else}
35
+ * <div>{$data?.name}</div>
36
+ * {/if}
37
+ * ```
38
+ */
39
+ export declare function useRequest<T>(apiName: string, endpointName: string, options?: UrlOptions): RequestState<T>;
40
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/svelte/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,cAAc,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEjE,gFAAgF;AAChF,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACxC,IAAI,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,UAAU,GAClB,YAAY,CAAC,CAAC,CAAC,CA+CjB"}
@@ -0,0 +1,75 @@
1
+ import { onDestroy } from "svelte";
2
+ import { writable } from "svelte/store";
3
+ import { useFetch } from "../../core/services/http.service.js";
4
+ /**
5
+ * Svelte store factory that wraps KatanaKit's HTTP GET. Bridges the Safe
6
+ * Result pattern to idiomatic Svelte stores and never throws on HTTP errors.
7
+ *
8
+ * Stale responses are ignored via a request version counter and AbortController;
9
+ * in-flight requests are aborted on component destroy.
10
+ *
11
+ * @param apiName - Name of the registered API (see `useInitApis`).
12
+ * @param endpointName - Name of the endpoint inside that API.
13
+ * @param options - Optional `UrlOptions` (path/query params).
14
+ * @returns Readable stores `{ data, error, loading }` plus `refetch`.
15
+ *
16
+ * @example
17
+ * ```svelte
18
+ * <script lang="ts">
19
+ * import { useRequest } from "katanakit-js/adapters/svelte";
20
+ *
21
+ * const { data, error, loading } = useRequest("pokeapi", "pokemonById", { params: { id: 25 } });
22
+ * </script>
23
+ *
24
+ * {#if $loading}
25
+ * <div>Loading…</div>
26
+ * {:else if $error}
27
+ * <div>{$error.message}</div>
28
+ * {:else}
29
+ * <div>{$data?.name}</div>
30
+ * {/if}
31
+ * ```
32
+ */
33
+ export function useRequest(apiName, endpointName, options) {
34
+ const data = writable(null);
35
+ const error = writable(null);
36
+ const loading = writable(true);
37
+ let version = 0;
38
+ let controller = null;
39
+ let disposed = false;
40
+ const refetch = async () => {
41
+ const current = ++version;
42
+ controller?.abort();
43
+ const next = new AbortController();
44
+ controller = next;
45
+ loading.set(true);
46
+ error.set(null);
47
+ const result = await useFetch(apiName, endpointName, {
48
+ method: "GET",
49
+ urlOptions: options,
50
+ signal: next.signal,
51
+ });
52
+ if (disposed || current !== version)
53
+ return;
54
+ if (result.ok) {
55
+ data.set(result.data);
56
+ error.set(null);
57
+ }
58
+ else if (!next.signal.aborted) {
59
+ error.set(result.error);
60
+ }
61
+ loading.set(false);
62
+ };
63
+ try {
64
+ onDestroy(() => {
65
+ disposed = true;
66
+ controller?.abort();
67
+ });
68
+ }
69
+ catch {
70
+ // Not inside a component init — the caller owns teardown.
71
+ }
72
+ void refetch();
73
+ return { data, error, loading, refetch };
74
+ }
75
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/adapters/svelte/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAiB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAW/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,UAAU,CACzB,OAAe,EACf,YAAoB,EACpB,OAAoB;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAA2B,IAAI,CAAC;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACzC,MAAM,OAAO,GAAG,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,UAAU,GAAG,IAAI,CAAC;QAElB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAI,OAAO,EAAE,YAAY,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO;QAE5C,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,IAAI,CAAC;QACJ,SAAS,CAAC,GAAG,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,EAAE,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,0DAA0D;IAC3D,CAAC;IAED,KAAK,OAAO,EAAE,CAAC;IAEf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./fetch.js";
2
+ export * from "./query.js";
3
+ export * from "./watch.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/svelte/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./fetch.js";
2
+ export * from "./query.js";
3
+ export * from "./watch.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/svelte/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { type Readable } from "svelte/store";
2
+ import { type QueryClient, type QueryKey, type QueryState } from "../../core/services/query.service.js";
3
+ import type { ApiError, FetchResult } from "../../types/index.js";
4
+ /** Configuration for `useQuery` (Svelte store factory). */
5
+ export interface UseQueryConfig<T = unknown> {
6
+ /** Cache key (stable array). */
7
+ queryKey: QueryKey;
8
+ /** Fetcher function returning a Safe Result. */
9
+ queryFn: () => Promise<FetchResult<T>>;
10
+ /** Time in ms before cached data is stale (default: 0). */
11
+ staleTime?: number;
12
+ /** Time in ms to keep unused data (default: 5 min). */
13
+ cacheTime?: number;
14
+ /** Retry count on failure (default: 3). */
15
+ retry?: number;
16
+ /** Base delay for exponential backoff (default: 1000). */
17
+ retryDelay?: number;
18
+ /** Whether the query is enabled (default: true). */
19
+ enabled?: boolean;
20
+ }
21
+ /** Reactive return value of `useQuery` (Svelte readable stores). */
22
+ export interface UseQueryReturn<T = unknown> {
23
+ data: Readable<T | null>;
24
+ error: Readable<ApiError | null>;
25
+ isLoading: Readable<boolean>;
26
+ isSuccess: Readable<boolean>;
27
+ isError: Readable<boolean>;
28
+ isStale: Readable<boolean>;
29
+ status: Readable<QueryState<T>["status"]>;
30
+ /** Manually refetch the query. */
31
+ refetch: () => Promise<void>;
32
+ }
33
+ /** Configuration for `useMutation`. */
34
+ export interface UseMutationConfig<TData = unknown, TVariables = unknown> {
35
+ mutationFn: (variables: TVariables) => Promise<FetchResult<TData>>;
36
+ onSuccess?: (data: TData, variables: TVariables) => void;
37
+ onError?: (error: ApiError, variables: TVariables) => void;
38
+ onSettled?: (data: TData | null, error: ApiError | null, variables: TVariables) => void;
39
+ }
40
+ /** Reactive return value of `useMutation`. */
41
+ export interface UseMutationReturn<TData = unknown, TVariables = unknown> {
42
+ data: Readable<TData | null>;
43
+ error: Readable<ApiError | null>;
44
+ isLoading: Readable<boolean>;
45
+ isSuccess: Readable<boolean>;
46
+ isError: Readable<boolean>;
47
+ status: Readable<"idle" | "loading" | "success" | "error">;
48
+ /** Execute the mutation. */
49
+ mutate: (variables: TVariables) => Promise<void>;
50
+ /** Reset the mutation state. */
51
+ reset: () => void;
52
+ }
53
+ /**
54
+ * Svelte store factory that wraps the {@link QueryClient}.
55
+ * Integrates with the API manager — your `queryFn` typically calls `useGetApi`
56
+ * or `useFetch` and returns the Safe Result.
57
+ *
58
+ * Unsubscribes automatically on component destroy when called during init.
59
+ *
60
+ * @param config - Query configuration.
61
+ * @param client - Optional QueryClient instance (uses global singleton by default).
62
+ * @returns Readable stores `{ data, error, isLoading, isSuccess, isError, isStale, status }` plus `refetch`.
63
+ *
64
+ * @example
65
+ * ```svelte
66
+ * <script lang="ts">
67
+ * import { useQuery } from "katanakit-js/adapters/svelte";
68
+ * import { useGetApi } from "katanakit-js";
69
+ *
70
+ * const { data, isLoading, error } = useQuery({
71
+ * queryKey: ["pokemon", 25],
72
+ * queryFn: () => useGetApi("pokeapi", "pokemonById", { params: { id: 25 } }),
73
+ * });
74
+ * </script>
75
+ *
76
+ * {#if $isLoading}
77
+ * <div>Loading…</div>
78
+ * {:else if $error}
79
+ * <div>{$error.message}</div>
80
+ * {:else}
81
+ * <div>{$data?.name}</div>
82
+ * {/if}
83
+ * ```
84
+ */
85
+ export declare function useQuery<T>(config: UseQueryConfig<T>, client?: QueryClient): UseQueryReturn<T>;
86
+ /**
87
+ * Svelte store factory for mutations (POST/PUT/PATCH/DELETE).
88
+ * Does not cache — returns a `mutate` function that executes the mutation.
89
+ *
90
+ * @param config - Mutation configuration.
91
+ * @returns Readable stores plus `{ mutate, reset }`.
92
+ *
93
+ * @example
94
+ * ```svelte
95
+ * <script lang="ts">
96
+ * import { useMutation, useQueryClient } from "katanakit-js/adapters/svelte";
97
+ * import { usePost } from "katanakit-js";
98
+ *
99
+ * const qc = useQueryClient();
100
+ * const { mutate, isLoading } = useMutation({
101
+ * mutationFn: (name: string) => usePost("api", "createUser", { name }),
102
+ * onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }),
103
+ * });
104
+ * </script>
105
+ * ```
106
+ */
107
+ export declare function useMutation<TData = unknown, TVariables = unknown>(config: UseMutationConfig<TData, TVariables>): UseMutationReturn<TData, TVariables>;
108
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/adapters/svelte/query.ts"],"names":[],"mappings":"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"}