katanakit-js 4.0.2 → 4.0.3

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 (54) hide show
  1. package/README.md +54 -55
  2. package/dist/adapters/angular/index.d.ts +1 -0
  3. package/dist/adapters/angular/index.d.ts.map +1 -1
  4. package/dist/adapters/angular/index.js +1 -0
  5. package/dist/adapters/angular/index.js.map +1 -1
  6. package/dist/adapters/angular/query.d.ts +56 -73
  7. package/dist/adapters/angular/query.d.ts.map +1 -1
  8. package/dist/adapters/angular/query.js +66 -129
  9. package/dist/adapters/angular/query.js.map +1 -1
  10. package/dist/adapters/react/index.d.ts +1 -0
  11. package/dist/adapters/react/index.d.ts.map +1 -1
  12. package/dist/adapters/react/index.js +1 -0
  13. package/dist/adapters/react/index.js.map +1 -1
  14. package/dist/adapters/react/query.d.ts +27 -72
  15. package/dist/adapters/react/query.d.ts.map +1 -1
  16. package/dist/adapters/react/query.js +51 -165
  17. package/dist/adapters/react/query.js.map +1 -1
  18. package/dist/adapters/solid/index.d.ts +1 -0
  19. package/dist/adapters/solid/index.d.ts.map +1 -1
  20. package/dist/adapters/solid/index.js +1 -0
  21. package/dist/adapters/solid/index.js.map +1 -1
  22. package/dist/adapters/solid/query.d.ts +32 -74
  23. package/dist/adapters/solid/query.d.ts.map +1 -1
  24. package/dist/adapters/solid/query.js +56 -131
  25. package/dist/adapters/solid/query.js.map +1 -1
  26. package/dist/adapters/svelte/index.d.ts +1 -0
  27. package/dist/adapters/svelte/index.d.ts.map +1 -1
  28. package/dist/adapters/svelte/index.js +1 -0
  29. package/dist/adapters/svelte/index.js.map +1 -1
  30. package/dist/adapters/svelte/query.d.ts +24 -72
  31. package/dist/adapters/svelte/query.d.ts.map +1 -1
  32. package/dist/adapters/svelte/query.js +41 -135
  33. package/dist/adapters/svelte/query.js.map +1 -1
  34. package/dist/adapters/vanilla/index.d.ts +3 -0
  35. package/dist/adapters/vanilla/index.d.ts.map +1 -0
  36. package/dist/adapters/vanilla/index.js +3 -0
  37. package/dist/adapters/vanilla/index.js.map +1 -0
  38. package/dist/adapters/vanilla/query.d.ts +69 -0
  39. package/dist/adapters/vanilla/query.d.ts.map +1 -0
  40. package/dist/adapters/vanilla/query.js +76 -0
  41. package/dist/adapters/vanilla/query.js.map +1 -0
  42. package/dist/adapters/vue/index.d.ts +1 -0
  43. package/dist/adapters/vue/index.d.ts.map +1 -1
  44. package/dist/adapters/vue/index.js +1 -0
  45. package/dist/adapters/vue/index.js.map +1 -1
  46. package/dist/adapters/vue/query.d.ts +35 -86
  47. package/dist/adapters/vue/query.d.ts.map +1 -1
  48. package/dist/adapters/vue/query.js +57 -168
  49. package/dist/adapters/vue/query.js.map +1 -1
  50. package/dist/core/services/query.service.d.ts +87 -134
  51. package/dist/core/services/query.service.d.ts.map +1 -1
  52. package/dist/core/services/query.service.js +99 -378
  53. package/dist/core/services/query.service.js.map +1 -1
  54. package/package.json +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/adapters/vue/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/adapters/vue/query.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAIhB,aAAa,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,eAAe,EAEf,cAAc,EACd,eAAe,EACf,OAAO,EACP,KAAK,GACL,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,QAAQ,CACvB,OAAoE,EACpE,MAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnG,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAG/D,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,KAAK,CACJ,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EACtB,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EACpE,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;IAEF,IAAI,eAAe,EAAE,EAAE,CAAC;QACvB,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAC1B,OAA+E,EAC/E,MAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAK/D,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,KAAK,CACJ,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EACtB,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;IAEF,IAAI,eAAe,EAAE,EAAE,CAAC;QACvB,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -1,140 +1,93 @@
1
- import type { ApiError, FetchResult } from "../../types/index.js";
2
- /** Status of a cached query. */
3
- export type QueryStatus = "idle" | "loading" | "success" | "error";
4
- /** Serializable query key — array of primitives or nested arrays/objects. */
5
- export type QueryKey = readonly unknown[];
6
- /** Fetcher function that returns a Safe Result. */
7
- export type QueryFn<T> = () => Promise<FetchResult<T>>;
8
- /** Configuration for a single query. */
9
- export interface QueryConfig<T = unknown> {
10
- queryKey: QueryKey;
11
- queryFn: QueryFn<T>;
12
- /** Time in ms before cached data is considered stale (default: 0). */
13
- staleTime?: number;
14
- /** Time in ms to keep unused data in cache (default: 5 min). */
15
- cacheTime?: number;
16
- /** Number of retry attempts on failure (default: 3). */
17
- retry?: number;
18
- /** Base delay in ms for exponential backoff (default: 1000). */
19
- retryDelay?: number;
20
- /** Refetch when the window/tab regains focus (default: true). */
21
- refetchOnWindowFocus?: boolean;
22
- /** Refetch when the network reconnects (default: true). */
23
- refetchOnReconnect?: boolean;
24
- /** Whether the query is enabled (default: true). */
25
- enabled?: boolean;
26
- /** Called on successful fetch. */
27
- onSuccess?: (data: T) => void;
28
- /** Called on error. */
29
- onError?: (error: ApiError) => void;
30
- }
31
- /** Reactive state of a query. */
32
- export interface QueryState<T = unknown> {
33
- status: QueryStatus;
34
- data: T | null;
35
- error: ApiError | null;
36
- isLoading: boolean;
37
- isSuccess: boolean;
38
- isError: boolean;
39
- isStale: boolean;
40
- dataUpdatedAt: number;
41
- errorUpdatedAt: number;
42
- fetchCount: number;
43
- }
44
- /** Observer (subscriber) that listens to query state changes. */
45
- export type QueryObserver<T = unknown> = (state: QueryState<T>) => void;
46
- /** Configuration for a mutation. */
47
- export interface MutationConfig<TData = unknown, TVariables = unknown> {
48
- mutationFn: (variables: TVariables) => Promise<FetchResult<TData>>;
49
- onSuccess?: (data: TData, variables: TVariables) => void;
50
- onError?: (error: ApiError, variables: TVariables) => void;
51
- onSettled?: (data: TData | null, error: ApiError | null, variables: TVariables) => void;
52
- }
53
- /** State of a mutation. */
54
- export interface MutationState<TData = unknown> {
55
- status: "idle" | "loading" | "success" | "error";
56
- data: TData | null;
57
- error: ApiError | null;
58
- isLoading: boolean;
59
- isSuccess: boolean;
60
- isError: boolean;
61
- }
62
- /** Default configuration for all queries. */
63
- export interface QueryClientConfig {
64
- defaultOptions?: {
65
- queries?: Partial<Omit<QueryConfig, "queryKey" | "queryFn">>;
66
- };
67
- }
68
- export declare class QueryClient {
69
- private cache;
70
- private defaults;
71
- constructor(config?: QueryClientConfig);
72
- /**
73
- * Fetches data for a query key, using the cache when possible.
74
- * Returns the cached data immediately if fresh, then optionally
75
- * refetches in the background (stale-while-revalidate).
76
- */
77
- fetchQuery<T>(config: QueryConfig<T>): Promise<T>;
78
- /**
79
- * Prefetches data into the cache without returning it.
80
- * Useful for anticipatory fetching.
81
- */
82
- prefetchQuery<T>(config: QueryConfig<T>): Promise<void>;
83
- /**
84
- * Returns the cached data for a query key, or undefined if not cached.
85
- */
86
- getQueryData<T>(queryKey: QueryKey): T | undefined;
87
- /**
88
- * Sets query data directly in the cache (optimistic updates).
89
- */
90
- setQueryData<T>(queryKey: QueryKey, updater: T | ((old: T | undefined) => T)): void;
91
- /**
92
- * Marks queries matching the filter as stale and optionally refetches
93
- * active queries.
94
- */
95
- invalidateQueries(filters?: {
96
- queryKey?: QueryKey;
97
- }): Promise<void>;
98
- /**
99
- * Removes a query from the cache.
100
- */
101
- removeQueries(queryKey: QueryKey): void;
102
- /**
103
- * Clears the entire cache.
104
- */
105
- clear(): void;
106
- /**
107
- * Returns the current state of a cached query (reactive signal).
108
- * Subscribes to future updates.
109
- */
110
- getQueryState<T>(queryKey: QueryKey): QueryState<T> | undefined;
111
- /**
112
- * Subscribes to state changes for a specific query.
113
- * Returns an unsubscribe function.
114
- */
115
- subscribe<T>(queryKey: QueryKey, observer: QueryObserver<T>): () => void;
116
- /**
117
- * Cancels an in-flight request for a query.
118
- *
119
- * Marks the entry as cancelled; the next time its fetch resolves, the
120
- * result is discarded without updating state or notifying observers.
121
- */
122
- cancelQueries(queryKey: QueryKey): void;
123
- private mergeDefaults;
124
- private createEntry;
125
- private isStale;
126
- private executeFetch;
127
- private applyError;
128
- private notifyObservers;
129
- }
1
+ import { QueryClient, type QueryClientConfig, type QueryFunctionContext } from "@tanstack/query-core";
2
+ import type { FetchResult } from "../../types/index.js";
130
3
  /**
131
- * Returns the global {@link QueryClient} singleton.
132
- * Creates one with default options on first call.
4
+ * Query engine — a thin facade over {@link https://tanstack.com/query | TanStack Query Core}.
5
+ *
6
+ * The full `@tanstack/query-core` API is re-exported from here (and therefore
7
+ * from `katanakit-js`), so consumers get TanStack's cache, retries, stale-while-
8
+ * revalidate, focus/reconnect refetch, garbage collection and infinite queries
9
+ * without installing TanStack separately.
10
+ */
11
+ export * from "@tanstack/query-core";
12
+ /**
13
+ * Creates a **new** {@link QueryClient}. Use this on the server (SSR) to get one
14
+ * client per request and avoid sharing a process-global cache across users.
15
+ *
16
+ * @param config - TanStack {@link QueryClientConfig} (caches, default options).
17
+ * @returns A fresh {@link QueryClient}.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * // Server: one client per request, then dehydrate/hydrate.
22
+ * const client = useCreateQueryClient();
23
+ * await client.prefetchQuery({ queryKey, queryFn });
24
+ * const state = dehydrate(client);
25
+ * ```
26
+ */
27
+ export declare function useCreateQueryClient(config?: QueryClientConfig): QueryClient;
28
+ /**
29
+ * Returns the shared {@link QueryClient} singleton, creating one on first call.
30
+ *
31
+ * This is a **process-global** instance: it is the right default in the browser,
32
+ * but on the server it would leak cached data across requests. Use
33
+ * {@link useCreateQueryClient} per request when running under SSR.
34
+ *
35
+ * @returns The shared {@link QueryClient}.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * import { useQueryClient } from "katanakit-js";
40
+ *
41
+ * const client = useQueryClient();
42
+ * await client.invalidateQueries({ queryKey: ["users"] });
43
+ * ```
133
44
  */
134
45
  export declare function useQueryClient(): QueryClient;
135
46
  /**
136
- * Initialises the global {@link QueryClient} singleton with custom options.
137
- * Must be called before any `useQuery` call.
47
+ * Replaces the shared {@link QueryClient} singleton with a configured instance.
48
+ * The previous client's caches are cleared before swapping.
49
+ *
50
+ * @param config - TanStack {@link QueryClientConfig} (caches, default options).
51
+ * @returns The newly created {@link QueryClient}.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * import { useInitQueryClient } from "katanakit-js";
56
+ *
57
+ * useInitQueryClient({
58
+ * defaultOptions: { queries: { staleTime: 60_000, retry: 2 } },
59
+ * });
60
+ * ```
61
+ */
62
+ export declare function useInitQueryClient(config?: QueryClientConfig): QueryClient;
63
+ /**
64
+ * Bridges a KatanaKit Safe Result fetcher into a TanStack `queryFn`.
65
+ *
66
+ * TanStack expects `queryFn` to resolve with data and **throw** on failure;
67
+ * KatanaKit returns `{ data, error, ok }`. This adapter unwraps the Safe Result
68
+ * so the two fit together. Throws a real `Error` (with `status`) so `instanceof`
69
+ * checks and error boundaries work; the upstream response body is **not** placed
70
+ * on the thrown error.
71
+ *
72
+ * Receives TanStack's {@link QueryFunctionContext}, so you can forward
73
+ * `signal` for real request cancellation.
74
+ *
75
+ * @typeParam T - The resolved data type.
76
+ * @param fn - A function returning a Safe Result (e.g. `() => useGetApi(...)`).
77
+ * @returns A `queryFn` that throws on error.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * import { useSafeQueryFn, useGetApi, useFetch } from "katanakit-js";
82
+ *
83
+ * // Simple: the Safe Result gate.
84
+ * queryFn: useSafeQueryFn(() => useGetApi("pokeapi", "pokemonById", { params: { id } }))
85
+ *
86
+ * // With cancellation: forward TanStack's AbortSignal into the request.
87
+ * queryFn: useSafeQueryFn(({ signal }) =>
88
+ * useFetch("pokeapi", "pokemonById", { method: "GET", urlOptions: { params: { id } }, signal }),
89
+ * )
90
+ * ```
138
91
  */
139
- export declare function useInitQueryClient(config: QueryClientConfig): QueryClient;
92
+ export declare function useSafeQueryFn<T>(fn: (context: QueryFunctionContext) => Promise<FetchResult<T>>): (context: QueryFunctionContext) => Promise<T>;
140
93
  //# sourceMappingURL=query.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/query.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/query.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;GAOG;AACH,cAAc,sBAAsB,CAAC;AAKrC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,iBAAsB,GAAG,WAAW,CAEhF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,iBAAsB,GAAG,WAAW,CAI9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC/B,EAAE,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC5D,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,CAQ/C"}