bytekit 1.0.0 → 1.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 (107) hide show
  1. package/README.md +11 -0
  2. package/dist/cli/index.js +7 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/type-generator.js +26 -32
  5. package/dist/cli/type-generator.js.map +1 -1
  6. package/dist/color-utils.d.ts +2 -0
  7. package/dist/color-utils.d.ts.map +1 -0
  8. package/dist/color-utils.js +2 -0
  9. package/dist/color-utils.js.map +1 -0
  10. package/dist/number-utils.d.ts +2 -0
  11. package/dist/number-utils.d.ts.map +1 -0
  12. package/dist/number-utils.js +2 -0
  13. package/dist/number-utils.js.map +1 -0
  14. package/dist/utils/core/ApiClient.d.ts +60 -6
  15. package/dist/utils/core/ApiClient.d.ts.map +1 -1
  16. package/dist/utils/core/ApiClient.js +232 -28
  17. package/dist/utils/core/ApiClient.js.map +1 -1
  18. package/dist/utils/core/BatchRequest.d.ts +5 -5
  19. package/dist/utils/core/BatchRequest.d.ts.map +1 -1
  20. package/dist/utils/core/BatchRequest.js +18 -4
  21. package/dist/utils/core/BatchRequest.js.map +1 -1
  22. package/dist/utils/core/ErrorBoundary.js +66 -15
  23. package/dist/utils/core/ErrorBoundary.js.map +1 -1
  24. package/dist/utils/core/Logger.d.ts.map +1 -1
  25. package/dist/utils/core/Logger.js +18 -3
  26. package/dist/utils/core/Logger.js.map +1 -1
  27. package/dist/utils/core/Profiler.d.ts.map +1 -1
  28. package/dist/utils/core/Profiler.js +19 -3
  29. package/dist/utils/core/Profiler.js.map +1 -1
  30. package/dist/utils/core/QueryClient.d.ts +129 -0
  31. package/dist/utils/core/QueryClient.d.ts.map +1 -0
  32. package/dist/utils/core/QueryClient.js +417 -0
  33. package/dist/utils/core/QueryClient.js.map +1 -0
  34. package/dist/utils/core/QueryState.d.ts +99 -0
  35. package/dist/utils/core/QueryState.d.ts.map +1 -0
  36. package/dist/utils/core/QueryState.js +65 -0
  37. package/dist/utils/core/QueryState.js.map +1 -0
  38. package/dist/utils/core/RateLimiter.js +48 -8
  39. package/dist/utils/core/RateLimiter.js.map +1 -1
  40. package/dist/utils/core/RequestCache.d.ts.map +1 -1
  41. package/dist/utils/core/RequestCache.js +30 -6
  42. package/dist/utils/core/RequestCache.js.map +1 -1
  43. package/dist/utils/core/RequestDeduplicator.js +18 -3
  44. package/dist/utils/core/RequestDeduplicator.js.map +1 -1
  45. package/dist/utils/core/ResponseValidator.d.ts +1 -0
  46. package/dist/utils/core/ResponseValidator.d.ts.map +1 -1
  47. package/dist/utils/core/ResponseValidator.js +14 -0
  48. package/dist/utils/core/ResponseValidator.js.map +1 -1
  49. package/dist/utils/core/RetryPolicy.d.ts.map +1 -1
  50. package/dist/utils/core/RetryPolicy.js +77 -13
  51. package/dist/utils/core/RetryPolicy.js.map +1 -1
  52. package/dist/utils/helpers/CacheManager.d.ts +1 -1
  53. package/dist/utils/helpers/CacheManager.d.ts.map +1 -1
  54. package/dist/utils/helpers/CacheManager.js +49 -10
  55. package/dist/utils/helpers/CacheManager.js.map +1 -1
  56. package/dist/utils/helpers/ColorUtils.d.ts +235 -0
  57. package/dist/utils/helpers/ColorUtils.d.ts.map +1 -0
  58. package/dist/utils/helpers/ColorUtils.js +594 -0
  59. package/dist/utils/helpers/ColorUtils.js.map +1 -0
  60. package/dist/utils/helpers/EnvManager.d.ts.map +1 -1
  61. package/dist/utils/helpers/EnvManager.js +12 -3
  62. package/dist/utils/helpers/EnvManager.js.map +1 -1
  63. package/dist/utils/helpers/EventEmitter.d.ts.map +1 -1
  64. package/dist/utils/helpers/EventEmitter.js +52 -18
  65. package/dist/utils/helpers/EventEmitter.js.map +1 -1
  66. package/dist/utils/helpers/FileUploadHelper.d.ts.map +1 -1
  67. package/dist/utils/helpers/FileUploadHelper.js +14 -22
  68. package/dist/utils/helpers/FileUploadHelper.js.map +1 -1
  69. package/dist/utils/helpers/FormUtils.js +25 -5
  70. package/dist/utils/helpers/FormUtils.js.map +1 -1
  71. package/dist/utils/helpers/NumberUtils.d.ts +230 -0
  72. package/dist/utils/helpers/NumberUtils.d.ts.map +1 -0
  73. package/dist/utils/helpers/NumberUtils.js +536 -0
  74. package/dist/utils/helpers/NumberUtils.js.map +1 -0
  75. package/dist/utils/helpers/PaginationHelper.d.ts.map +1 -1
  76. package/dist/utils/helpers/PaginationHelper.js +43 -7
  77. package/dist/utils/helpers/PaginationHelper.js.map +1 -1
  78. package/dist/utils/helpers/PollingHelper.d.ts +30 -0
  79. package/dist/utils/helpers/PollingHelper.d.ts.map +1 -1
  80. package/dist/utils/helpers/PollingHelper.js +123 -5
  81. package/dist/utils/helpers/PollingHelper.js.map +1 -1
  82. package/dist/utils/helpers/Signal.d.ts +92 -0
  83. package/dist/utils/helpers/Signal.d.ts.map +1 -0
  84. package/dist/utils/helpers/Signal.js +243 -0
  85. package/dist/utils/helpers/Signal.js.map +1 -0
  86. package/dist/utils/helpers/StorageUtils.js +6 -2
  87. package/dist/utils/helpers/StorageUtils.js.map +1 -1
  88. package/dist/utils/helpers/StreamingHelper.d.ts.map +1 -1
  89. package/dist/utils/helpers/StreamingHelper.js +9 -7
  90. package/dist/utils/helpers/StreamingHelper.js.map +1 -1
  91. package/dist/utils/helpers/UrlBuilder.js +12 -2
  92. package/dist/utils/helpers/UrlBuilder.js.map +1 -1
  93. package/dist/utils/helpers/Validator.d.ts.map +1 -1
  94. package/dist/utils/helpers/Validator.js +2 -1
  95. package/dist/utils/helpers/Validator.js.map +1 -1
  96. package/dist/utils/helpers/WebSocketHelper.d.ts.map +1 -1
  97. package/dist/utils/helpers/WebSocketHelper.js +50 -10
  98. package/dist/utils/helpers/WebSocketHelper.js.map +1 -1
  99. package/dist/utils/helpers/index.d.ts +2 -0
  100. package/dist/utils/helpers/index.d.ts.map +1 -1
  101. package/dist/utils/helpers/index.js +2 -0
  102. package/dist/utils/helpers/index.js.map +1 -1
  103. package/dist/utils/helpers/useSignal.d.ts +11 -0
  104. package/dist/utils/helpers/useSignal.d.ts.map +1 -0
  105. package/dist/utils/helpers/useSignal.js +11 -0
  106. package/dist/utils/helpers/useSignal.js.map +1 -0
  107. package/package.json +234 -208
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/utils/core/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/utils/core/Logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Profiler.d.ts","sourceRoot":"","sources":["../../../src/utils/core/Profiler.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACjB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA8B;IAE7C,KAAK,CAAC,KAAK,EAAE,MAAM;IAInB,GAAG,CAAC,KAAK,EAAE,MAAM;IAOjB,OAAO;CAGV"}
1
+ {"version":3,"file":"Profiler.d.ts","sourceRoot":"","sources":["../../../src/utils/core/Profiler.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACjB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA8B;IAE7C,KAAK,CAAC,KAAK,EAAE,MAAM;IAInB,GAAG,CAAC,KAAK,EAAE,MAAM;IAWjB,OAAO;CAGV"}
@@ -1,11 +1,27 @@
1
1
  export class Profiler {
2
- stack = [];
3
- results = {};
2
+ constructor() {
3
+ Object.defineProperty(this, "stack", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: []
8
+ });
9
+ Object.defineProperty(this, "results", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: {}
14
+ });
15
+ }
4
16
  start(label) {
5
17
  this.stack.push({ label, start: performance.now() });
6
18
  }
7
19
  end(label) {
8
- const entry = this.stack.findLast((e) => e.label === label);
20
+ // Compatible con ES2020: usar slice().reverse() en lugar de findLast
21
+ const entry = this.stack
22
+ .slice()
23
+ .reverse()
24
+ .find((e) => e.label === label);
9
25
  if (!entry)
10
26
  return;
11
27
  const duration = performance.now() - entry.start;
@@ -1 +1 @@
1
- {"version":3,"file":"Profiler.js","sourceRoot":"","sources":["../../../src/utils/core/Profiler.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IACT,KAAK,GAAuC,EAAE,CAAC;IAC/C,OAAO,GAA2B,EAAE,CAAC;IAE7C,KAAK,CAAC,KAAa;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,KAAa;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ"}
1
+ {"version":3,"file":"Profiler.js","sourceRoot":"","sources":["../../../src/utils/core/Profiler.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IAArB;QACY;;;;mBAA4C,EAAE;WAAC;QAC/C;;;;mBAAkC,EAAE;WAAC;IAoBjD,CAAC;IAlBG,KAAK,CAAC,KAAa;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,KAAa;QACb,qEAAqE;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;aACnB,KAAK,EAAE;aACP,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,CAAmC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ"}
@@ -0,0 +1,129 @@
1
+ import { ApiClient } from "./ApiClient.js";
2
+ import type { RequestOptions } from "./ApiClient.js";
3
+ import { RequestState, RequestLifecycleCallbacks, QueryClientEvents } from "./QueryState.js";
4
+ /**
5
+ * QueryClient configuration
6
+ */
7
+ export interface QueryClientConfig {
8
+ /** Default time before data is considered stale (ms) */
9
+ defaultStaleTime?: number;
10
+ /** Default time before cache is garbage collected (ms) */
11
+ defaultCacheTime?: number;
12
+ /** Maximum number of queries to cache */
13
+ maxCacheSize?: number;
14
+ /** Refetch on window focus */
15
+ refetchOnWindowFocus?: boolean;
16
+ /** Refetch on reconnect */
17
+ refetchOnReconnect?: boolean;
18
+ /** Global lifecycle callbacks */
19
+ globalCallbacks?: RequestLifecycleCallbacks;
20
+ /** Enable automatic deduplication */
21
+ enableDeduplication?: boolean;
22
+ }
23
+ /**
24
+ * Query options
25
+ */
26
+ export interface QueryOptions<T = unknown> extends Omit<RequestOptions, "method"> {
27
+ /** Unique identifier for the query */
28
+ queryKey: string[];
29
+ /** API endpoint path */
30
+ path: string;
31
+ /** HTTP method */
32
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
33
+ /** Time before data is considered stale (ms) */
34
+ staleTime?: number;
35
+ /** Time before cache is garbage collected (ms) */
36
+ cacheTime?: number;
37
+ /** Refetch on window focus */
38
+ refetchOnWindowFocus?: boolean;
39
+ /** Refetch on reconnect */
40
+ refetchOnReconnect?: boolean;
41
+ /** Auto-refetch interval (ms) */
42
+ refetchInterval?: number;
43
+ /** Lifecycle callbacks */
44
+ callbacks?: RequestLifecycleCallbacks<T>;
45
+ /** Initial data */
46
+ initialData?: T;
47
+ /** Placeholder data while loading */
48
+ placeholderData?: T;
49
+ }
50
+ /**
51
+ * Mutation options
52
+ */
53
+ export interface MutationOptions<T = unknown> extends RequestOptions {
54
+ /** API endpoint path */
55
+ path: string;
56
+ /** HTTP method */
57
+ method?: "POST" | "PUT" | "PATCH" | "DELETE";
58
+ /** Lifecycle callbacks */
59
+ callbacks?: RequestLifecycleCallbacks<T>;
60
+ /** Called before mutation */
61
+ onMutate?: (variables: unknown) => void | Promise<void>;
62
+ /** Query keys to invalidate on success */
63
+ invalidateQueries?: string[][];
64
+ }
65
+ /**
66
+ * QueryClient - State management wrapper for ApiClient
67
+ * Provides React Query-like functionality with cache, state tracking, and lifecycle callbacks
68
+ */
69
+ export declare class QueryClient {
70
+ private apiClient;
71
+ private eventEmitter;
72
+ private cache;
73
+ private stateManager;
74
+ private config;
75
+ private pendingRequests;
76
+ constructor(apiClient: ApiClient, options?: QueryClientConfig);
77
+ /**
78
+ * Execute a query
79
+ */
80
+ query<T>(options: QueryOptions<T>): Promise<T>;
81
+ /**
82
+ * Execute a mutation
83
+ */
84
+ mutate<T>(options: MutationOptions<T>): Promise<T>;
85
+ /**
86
+ * Get current state of a query
87
+ */
88
+ getQueryState<T = unknown>(queryKey: string[]): RequestState<T> | undefined;
89
+ /**
90
+ * Get cached data for a query
91
+ */
92
+ getQueryData<T = unknown>(queryKey: string[]): T | undefined;
93
+ /**
94
+ * Set query data manually
95
+ */
96
+ setQueryData<T = unknown>(queryKey: string[], data: T): void;
97
+ /**
98
+ * Invalidate queries matching the query key
99
+ */
100
+ invalidateQueries(queryKey: string[]): void;
101
+ /**
102
+ * Refetch queries matching the query key
103
+ */
104
+ refetchQueries(queryKey: string[]): Promise<void>;
105
+ /**
106
+ * Clear all cache
107
+ */
108
+ clearCache(): void;
109
+ /**
110
+ * Subscribe to events
111
+ */
112
+ on<K extends keyof QueryClientEvents>(event: K, listener: (data: QueryClientEvents[K]) => void): () => void;
113
+ /**
114
+ * Get cache statistics
115
+ */
116
+ getCacheStats(): import("#helpers/CacheManager.js").CacheStatistics;
117
+ private executeQuery;
118
+ private executeCallbacks;
119
+ private getCacheKey;
120
+ private matchesQueryKey;
121
+ private isStale;
122
+ private generateRequestId;
123
+ private refetchStaleQueries;
124
+ }
125
+ /**
126
+ * Factory function for creating QueryClient
127
+ */
128
+ export declare function createQueryClient(apiClient: ApiClient, options?: QueryClientConfig): QueryClient;
129
+ //# sourceMappingURL=QueryClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryClient.d.ts","sourceRoot":"","sources":["../../../src/utils/core/QueryClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,417 @@
1
+ import { EventEmitter } from "#helpers/EventEmitter.js";
2
+ import { CacheManager } from "#helpers/CacheManager.js";
3
+ import { createInitialState, createLoadingState, createSuccessState, createErrorState, } from "./QueryState.js";
4
+ /**
5
+ * QueryClient - State management wrapper for ApiClient
6
+ * Provides React Query-like functionality with cache, state tracking, and lifecycle callbacks
7
+ */
8
+ export class QueryClient {
9
+ constructor(apiClient, options = {}) {
10
+ Object.defineProperty(this, "apiClient", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ Object.defineProperty(this, "eventEmitter", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
22
+ Object.defineProperty(this, "cache", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(this, "stateManager", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "config", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "pendingRequests", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ this.apiClient = apiClient;
47
+ this.eventEmitter = new EventEmitter();
48
+ this.stateManager = new Map();
49
+ this.pendingRequests = new Map();
50
+ // Set default config
51
+ this.config = {
52
+ defaultStaleTime: options.defaultStaleTime ?? 0,
53
+ defaultCacheTime: options.defaultCacheTime ?? 5 * 60 * 1000, // 5 min
54
+ maxCacheSize: options.maxCacheSize ?? 100,
55
+ refetchOnWindowFocus: options.refetchOnWindowFocus ?? true,
56
+ refetchOnReconnect: options.refetchOnReconnect ?? true,
57
+ globalCallbacks: options.globalCallbacks ?? {},
58
+ enableDeduplication: options.enableDeduplication ?? true,
59
+ };
60
+ // Initialize cache
61
+ this.cache = new CacheManager({
62
+ maxMemorySize: this.config.maxCacheSize,
63
+ defaultTTL: this.config.defaultCacheTime,
64
+ });
65
+ // Setup window focus refetch
66
+ if (this.config.refetchOnWindowFocus &&
67
+ typeof window !== "undefined") {
68
+ window.addEventListener("focus", () => this.refetchStaleQueries());
69
+ }
70
+ // Setup reconnect refetch
71
+ if (this.config.refetchOnReconnect &&
72
+ typeof window !== "undefined") {
73
+ window.addEventListener("online", () => this.refetchStaleQueries());
74
+ }
75
+ }
76
+ /**
77
+ * Execute a query
78
+ */
79
+ async query(options) {
80
+ const cacheKey = this.getCacheKey(options.queryKey);
81
+ const requestId = this.generateRequestId();
82
+ // Check for deduplication
83
+ if (this.config.enableDeduplication) {
84
+ const pending = this.pendingRequests.get(cacheKey);
85
+ if (pending) {
86
+ return pending;
87
+ }
88
+ }
89
+ // Check cache
90
+ const cached = this.cache.get(cacheKey) ?? undefined;
91
+ const staleTime = options.staleTime ?? this.config.defaultStaleTime;
92
+ if (cached && !this.isStale(cached, staleTime)) {
93
+ // Return cached data
94
+ return cached.data;
95
+ }
96
+ // Create context
97
+ const context = {
98
+ queryKey: options.queryKey,
99
+ url: options.path,
100
+ method: options.method ?? "GET",
101
+ timestamp: Date.now(),
102
+ requestId,
103
+ };
104
+ // Initialize state
105
+ const initialState = cached
106
+ ? createLoadingState(cached.data)
107
+ : options.placeholderData
108
+ ? createLoadingState(options.placeholderData)
109
+ : createLoadingState();
110
+ this.stateManager.set(cacheKey, initialState);
111
+ // Execute request
112
+ const requestPromise = this.executeQuery(options, context, cached);
113
+ // Store pending request for deduplication
114
+ if (this.config.enableDeduplication) {
115
+ this.pendingRequests.set(cacheKey, requestPromise);
116
+ }
117
+ try {
118
+ const result = await requestPromise;
119
+ return result;
120
+ }
121
+ finally {
122
+ // Clean up pending request
123
+ this.pendingRequests.delete(cacheKey);
124
+ }
125
+ }
126
+ /**
127
+ * Execute a mutation
128
+ */
129
+ async mutate(options) {
130
+ const requestId = this.generateRequestId();
131
+ const context = {
132
+ url: options.path,
133
+ method: options.method ?? "POST",
134
+ timestamp: Date.now(),
135
+ requestId,
136
+ };
137
+ // Call onMutate if provided
138
+ if (options.onMutate) {
139
+ await options.onMutate(options.body);
140
+ }
141
+ // Execute callbacks
142
+ await this.executeCallbacks("onStart", context, options.callbacks, undefined);
143
+ this.eventEmitter.emit("query:start", { context });
144
+ try {
145
+ // Execute request
146
+ const method = options.method ?? "POST";
147
+ const { callbacks: _callbacks, onMutate: _onMutate, invalidateQueries: _invalidate, ...requestOptions } = options;
148
+ let result;
149
+ if (method === "POST") {
150
+ result = await this.apiClient.post(options.path, requestOptions);
151
+ }
152
+ else if (method === "PUT") {
153
+ result = await this.apiClient.put(options.path, requestOptions);
154
+ }
155
+ else if (method === "PATCH") {
156
+ result = await this.apiClient.patch(options.path, requestOptions);
157
+ }
158
+ else {
159
+ result = await this.apiClient.delete(options.path, requestOptions);
160
+ }
161
+ // Success callbacks
162
+ await this.executeCallbacks("onSuccess", context, options.callbacks, result);
163
+ this.eventEmitter.emit("query:success", { data: result, context });
164
+ // Invalidate queries if specified
165
+ if (options.invalidateQueries) {
166
+ options.invalidateQueries.forEach((queryKey) => this.invalidateQueries(queryKey));
167
+ }
168
+ // Settled callback
169
+ await this.executeCallbacks("onSettled", context, options.callbacks, result, undefined);
170
+ this.eventEmitter.emit("query:settled", {
171
+ data: result,
172
+ context,
173
+ });
174
+ return result;
175
+ }
176
+ catch (err) {
177
+ const error = err;
178
+ // Error callbacks
179
+ await this.executeCallbacks("onError", context, options.callbacks, undefined, error);
180
+ this.eventEmitter.emit("query:error", { error, context });
181
+ // Settled callback
182
+ await this.executeCallbacks("onSettled", context, options.callbacks, undefined, error);
183
+ this.eventEmitter.emit("query:settled", {
184
+ error,
185
+ context,
186
+ });
187
+ throw error;
188
+ }
189
+ }
190
+ /**
191
+ * Get current state of a query
192
+ */
193
+ getQueryState(queryKey) {
194
+ const cacheKey = this.getCacheKey(queryKey);
195
+ return this.stateManager.get(cacheKey);
196
+ }
197
+ /**
198
+ * Get cached data for a query
199
+ */
200
+ getQueryData(queryKey) {
201
+ const cacheKey = this.getCacheKey(queryKey);
202
+ const cached = this.cache.get(cacheKey);
203
+ return cached?.data;
204
+ }
205
+ /**
206
+ * Set query data manually
207
+ */
208
+ setQueryData(queryKey, data) {
209
+ const cacheKey = this.getCacheKey(queryKey);
210
+ const cached = {
211
+ data,
212
+ state: createSuccessState(data),
213
+ queryKey,
214
+ cachedAt: Date.now(),
215
+ staleTime: this.config.defaultStaleTime,
216
+ cacheTime: this.config.defaultCacheTime,
217
+ };
218
+ this.cache.set(cacheKey, cached);
219
+ this.stateManager.set(cacheKey, cached.state);
220
+ this.eventEmitter.emit("cache:update", { queryKey, data });
221
+ }
222
+ /**
223
+ * Invalidate queries matching the query key
224
+ */
225
+ invalidateQueries(queryKey) {
226
+ const pattern = this.getCacheKey(queryKey);
227
+ // Find all matching queries
228
+ const keysToInvalidate = [];
229
+ this.stateManager.forEach((_, key) => {
230
+ if (this.matchesQueryKey(key, pattern)) {
231
+ keysToInvalidate.push(key);
232
+ }
233
+ });
234
+ // Invalidate each matching query
235
+ keysToInvalidate.forEach((key) => {
236
+ const state = this.stateManager.get(key);
237
+ if (state) {
238
+ // Mark as stale by setting to idle
239
+ this.stateManager.set(key, createInitialState());
240
+ }
241
+ });
242
+ this.eventEmitter.emit("cache:invalidate", { queryKey });
243
+ }
244
+ /**
245
+ * Refetch queries matching the query key
246
+ */
247
+ async refetchQueries(queryKey) {
248
+ // For now, just invalidate - actual refetch would require storing query options
249
+ this.invalidateQueries(queryKey);
250
+ }
251
+ /**
252
+ * Clear all cache
253
+ */
254
+ clearCache() {
255
+ this.cache.clear();
256
+ this.stateManager.clear();
257
+ }
258
+ /**
259
+ * Subscribe to events
260
+ */
261
+ on(event, listener) {
262
+ this.eventEmitter.on(event, listener);
263
+ return () => this.eventEmitter.off(event, listener);
264
+ }
265
+ /**
266
+ * Get cache statistics
267
+ */
268
+ getCacheStats() {
269
+ return this.cache.getStats();
270
+ }
271
+ // -------------------------
272
+ // Private methods
273
+ // -------------------------
274
+ async executeQuery(options, context, cached) {
275
+ const cacheKey = this.getCacheKey(options.queryKey);
276
+ // Execute callbacks
277
+ await this.executeCallbacks("onStart", context, options.callbacks, undefined);
278
+ this.eventEmitter.emit("query:start", { context });
279
+ try {
280
+ // Execute request
281
+ const method = options.method ?? "GET";
282
+ const { queryKey: _queryKey, callbacks: _callbacks, initialData: _initialData, placeholderData: _placeholderData, staleTime: _staleTime, cacheTime: _cacheTime, refetchInterval: _refetchInterval, refetchOnWindowFocus: _refetchOnWindowFocus, refetchOnReconnect: _refetchOnReconnect, ...requestOptions } = options;
283
+ let result;
284
+ if (method === "GET") {
285
+ result = await this.apiClient.get(options.path, requestOptions);
286
+ }
287
+ else if (method === "POST") {
288
+ result = await this.apiClient.post(options.path, requestOptions);
289
+ }
290
+ else if (method === "PUT") {
291
+ result = await this.apiClient.put(options.path, requestOptions);
292
+ }
293
+ else if (method === "PATCH") {
294
+ result = await this.apiClient.patch(options.path, requestOptions);
295
+ }
296
+ else {
297
+ result = await this.apiClient.delete(options.path, requestOptions);
298
+ }
299
+ // Update state
300
+ const successState = createSuccessState(result);
301
+ this.stateManager.set(cacheKey, successState);
302
+ // Update cache
303
+ const cachedQuery = {
304
+ data: result,
305
+ state: successState,
306
+ queryKey: options.queryKey,
307
+ cachedAt: Date.now(),
308
+ staleTime: options.staleTime ?? this.config.defaultStaleTime,
309
+ cacheTime: options.cacheTime ?? this.config.defaultCacheTime,
310
+ };
311
+ this.cache.set(cacheKey, cachedQuery, cachedQuery.cacheTime);
312
+ // Success callbacks
313
+ await this.executeCallbacks("onSuccess", context, options.callbacks, result);
314
+ this.eventEmitter.emit("query:success", { data: result, context });
315
+ this.eventEmitter.emit("state:change", {
316
+ state: successState,
317
+ context,
318
+ });
319
+ // Settled callback
320
+ await this.executeCallbacks("onSettled", context, options.callbacks, result, undefined);
321
+ this.eventEmitter.emit("query:settled", {
322
+ data: result,
323
+ context,
324
+ });
325
+ return result;
326
+ }
327
+ catch (err) {
328
+ const error = err;
329
+ // Update state
330
+ const errorState = createErrorState(error, cached?.data);
331
+ this.stateManager.set(cacheKey, errorState);
332
+ // Error callbacks
333
+ await this.executeCallbacks("onError", context, options.callbacks, undefined, error);
334
+ this.eventEmitter.emit("query:error", { error, context });
335
+ this.eventEmitter.emit("state:change", {
336
+ state: errorState,
337
+ context,
338
+ });
339
+ // Settled callback
340
+ await this.executeCallbacks("onSettled", context, options.callbacks, undefined, error);
341
+ this.eventEmitter.emit("query:settled", {
342
+ error,
343
+ context,
344
+ });
345
+ throw error;
346
+ }
347
+ }
348
+ async executeCallbacks(type, context, callbacks, data, error) {
349
+ const globalCallback = this.config.globalCallbacks[type];
350
+ const localCallback = callbacks?.[type];
351
+ if (type === "onStart") {
352
+ if (globalCallback) {
353
+ await globalCallback(context);
354
+ }
355
+ if (localCallback) {
356
+ await localCallback(context);
357
+ }
358
+ }
359
+ else if (type === "onSuccess" && data !== undefined) {
360
+ if (globalCallback) {
361
+ await globalCallback(data, context);
362
+ }
363
+ if (localCallback) {
364
+ await localCallback(data, context);
365
+ }
366
+ }
367
+ else if (type === "onError" && error) {
368
+ if (globalCallback) {
369
+ await globalCallback(error, context);
370
+ }
371
+ if (localCallback) {
372
+ await localCallback(error, context);
373
+ }
374
+ }
375
+ else if (type === "onSettled") {
376
+ if (globalCallback) {
377
+ await globalCallback(data, error, context);
378
+ }
379
+ if (localCallback) {
380
+ await localCallback(data, error, context);
381
+ }
382
+ }
383
+ }
384
+ getCacheKey(queryKey) {
385
+ return JSON.stringify(queryKey);
386
+ }
387
+ matchesQueryKey(cacheKey, pattern) {
388
+ // Simple prefix matching
389
+ return cacheKey.startsWith(pattern.slice(0, -1));
390
+ }
391
+ isStale(cached, staleTime) {
392
+ if (staleTime === Infinity)
393
+ return false;
394
+ return Date.now() - cached.cachedAt > staleTime;
395
+ }
396
+ generateRequestId() {
397
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
398
+ }
399
+ async refetchStaleQueries() {
400
+ // Iterate through all cached queries and refetch stale ones
401
+ // This is a simplified implementation
402
+ // In production, you'd want to track query options to refetch properly
403
+ this.stateManager.forEach((state, key) => {
404
+ if (state.status === "success") {
405
+ // Mark as potentially stale for next query
406
+ this.stateManager.set(key, { ...state, isFetching: false });
407
+ }
408
+ });
409
+ }
410
+ }
411
+ /**
412
+ * Factory function for creating QueryClient
413
+ */
414
+ export function createQueryClient(apiClient, options) {
415
+ return new QueryClient(apiClient, options);
416
+ }
417
+ //# sourceMappingURL=QueryClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryClient.js","sourceRoot":"","sources":["../../../src/utils/core/QueryClient.ts"],"names":[],"mappings":"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"}