bytekit 1.0.31 → 2.0.0

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 (118) hide show
  1. package/README.md +58 -188
  2. package/dist/utils/core/ApiClient.d.ts +11 -10
  3. package/dist/utils/core/ApiClient.d.ts.map +1 -1
  4. package/dist/utils/core/ApiClient.js +17 -9
  5. package/dist/utils/core/ApiClient.js.map +1 -1
  6. package/dist/utils/core/SchemaAdapter.d.ts +35 -0
  7. package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
  8. package/dist/utils/core/SchemaAdapter.js +36 -0
  9. package/dist/utils/core/SchemaAdapter.js.map +1 -0
  10. package/dist/utils/core/index.d.ts +1 -1
  11. package/dist/utils/core/index.d.ts.map +1 -1
  12. package/dist/utils/core/index.js +1 -1
  13. package/dist/utils/core/index.js.map +1 -1
  14. package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
  15. package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
  16. package/dist/utils/helpers/QueryStringHelper.js +84 -0
  17. package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
  18. package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
  19. package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
  20. package/dist/utils/helpers/UrlSlugHelper.js +27 -0
  21. package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
  22. package/dist/utils/helpers/index.d.ts +2 -13
  23. package/dist/utils/helpers/index.d.ts.map +1 -1
  24. package/dist/utils/helpers/index.js +2 -13
  25. package/dist/utils/helpers/index.js.map +1 -1
  26. package/dist/utils/index.d.ts +2 -8
  27. package/dist/utils/index.d.ts.map +1 -1
  28. package/dist/utils/index.js +2 -8
  29. package/dist/utils/index.js.map +1 -1
  30. package/package.json +13 -71
  31. package/dist/color-utils.d.ts +0 -2
  32. package/dist/color-utils.d.ts.map +0 -1
  33. package/dist/color-utils.js +0 -2
  34. package/dist/color-utils.js.map +0 -1
  35. package/dist/date-utils.d.ts +0 -2
  36. package/dist/date-utils.d.ts.map +0 -1
  37. package/dist/date-utils.js +0 -2
  38. package/dist/date-utils.js.map +0 -1
  39. package/dist/number-utils.d.ts +0 -2
  40. package/dist/number-utils.d.ts.map +0 -1
  41. package/dist/number-utils.js +0 -2
  42. package/dist/number-utils.js.map +0 -1
  43. package/dist/string-utils.d.ts +0 -2
  44. package/dist/string-utils.d.ts.map +0 -1
  45. package/dist/string-utils.js +0 -2
  46. package/dist/string-utils.js.map +0 -1
  47. package/dist/utils/core/BatchRequest.d.ts +0 -79
  48. package/dist/utils/core/BatchRequest.d.ts.map +0 -1
  49. package/dist/utils/core/BatchRequest.js +0 -152
  50. package/dist/utils/core/BatchRequest.js.map +0 -1
  51. package/dist/utils/core/QueryClient.d.ts +0 -145
  52. package/dist/utils/core/QueryClient.d.ts.map +0 -1
  53. package/dist/utils/core/QueryClient.js +0 -453
  54. package/dist/utils/core/QueryClient.js.map +0 -1
  55. package/dist/utils/core/QueryState.d.ts +0 -99
  56. package/dist/utils/core/QueryState.d.ts.map +0 -1
  57. package/dist/utils/core/QueryState.js +0 -65
  58. package/dist/utils/core/QueryState.js.map +0 -1
  59. package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
  60. package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
  61. package/dist/utils/helpers/ArrayUtils.js +0 -306
  62. package/dist/utils/helpers/ArrayUtils.js.map +0 -1
  63. package/dist/utils/helpers/ColorUtils.d.ts +0 -235
  64. package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
  65. package/dist/utils/helpers/ColorUtils.js +0 -598
  66. package/dist/utils/helpers/ColorUtils.js.map +0 -1
  67. package/dist/utils/helpers/DateUtils.d.ts +0 -36
  68. package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
  69. package/dist/utils/helpers/DateUtils.js +0 -131
  70. package/dist/utils/helpers/DateUtils.js.map +0 -1
  71. package/dist/utils/helpers/FormUtils.d.ts +0 -176
  72. package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
  73. package/dist/utils/helpers/FormUtils.js +0 -437
  74. package/dist/utils/helpers/FormUtils.js.map +0 -1
  75. package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
  76. package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
  77. package/dist/utils/helpers/HttpStatusHelper.js +0 -174
  78. package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
  79. package/dist/utils/helpers/NumberUtils.d.ts +0 -230
  80. package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
  81. package/dist/utils/helpers/NumberUtils.js +0 -564
  82. package/dist/utils/helpers/NumberUtils.js.map +0 -1
  83. package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
  84. package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
  85. package/dist/utils/helpers/ObjectUtils.js +0 -301
  86. package/dist/utils/helpers/ObjectUtils.js.map +0 -1
  87. package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
  88. package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
  89. package/dist/utils/helpers/PaginationHelper.js +0 -295
  90. package/dist/utils/helpers/PaginationHelper.js.map +0 -1
  91. package/dist/utils/helpers/Signal.d.ts +0 -92
  92. package/dist/utils/helpers/Signal.d.ts.map +0 -1
  93. package/dist/utils/helpers/Signal.js +0 -243
  94. package/dist/utils/helpers/Signal.js.map +0 -1
  95. package/dist/utils/helpers/StringUtils.d.ts +0 -46
  96. package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
  97. package/dist/utils/helpers/StringUtils.js +0 -228
  98. package/dist/utils/helpers/StringUtils.js.map +0 -1
  99. package/dist/utils/helpers/TimeUtils.d.ts +0 -87
  100. package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
  101. package/dist/utils/helpers/TimeUtils.js +0 -234
  102. package/dist/utils/helpers/TimeUtils.js.map +0 -1
  103. package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
  104. package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
  105. package/dist/utils/helpers/UrlBuilder.js +0 -161
  106. package/dist/utils/helpers/UrlBuilder.js.map +0 -1
  107. package/dist/utils/helpers/Validator.d.ts +0 -31
  108. package/dist/utils/helpers/Validator.d.ts.map +0 -1
  109. package/dist/utils/helpers/Validator.js +0 -175
  110. package/dist/utils/helpers/Validator.js.map +0 -1
  111. package/dist/utils/helpers/useSignal.d.ts +0 -11
  112. package/dist/utils/helpers/useSignal.d.ts.map +0 -1
  113. package/dist/utils/helpers/useSignal.js +0 -11
  114. package/dist/utils/helpers/useSignal.js.map +0 -1
  115. package/dist/validator.d.ts +0 -2
  116. package/dist/validator.d.ts.map +0 -1
  117. package/dist/validator.js +0 -2
  118. package/dist/validator.js.map +0 -1
@@ -1,453 +0,0 @@
1
- import { EventEmitter } from "#helpers/EventEmitter.js";
2
- import { CacheManager } from "#helpers/CacheManager.js";
3
- import { CryptoUtils } from "#helpers/CryptoUtils.js";
4
- import { createInitialState, createLoadingState, createSuccessState, createErrorState, } from "./QueryState.js";
5
- /**
6
- * QueryClient - State management wrapper for ApiClient
7
- * Provides React Query-like functionality with cache, state tracking, and lifecycle callbacks
8
- */
9
- export class QueryClient {
10
- constructor(apiClient, options = {}) {
11
- Object.defineProperty(this, "apiClient", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: void 0
16
- });
17
- Object.defineProperty(this, "eventEmitter", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: void 0
22
- });
23
- Object.defineProperty(this, "cache", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: void 0
28
- });
29
- Object.defineProperty(this, "stateManager", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: void 0
34
- });
35
- Object.defineProperty(this, "config", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: void 0
40
- });
41
- Object.defineProperty(this, "pendingRequests", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: void 0
46
- });
47
- this.apiClient = apiClient;
48
- this.eventEmitter = new EventEmitter();
49
- this.stateManager = new Map();
50
- this.pendingRequests = new Map();
51
- // Set default config
52
- this.config = {
53
- defaultStaleTime: options.defaultStaleTime ?? 0,
54
- defaultCacheTime: options.defaultCacheTime ?? 5 * 60 * 1000, // 5 min
55
- maxCacheSize: options.maxCacheSize ?? 100,
56
- refetchOnWindowFocus: options.refetchOnWindowFocus ?? true,
57
- refetchOnReconnect: options.refetchOnReconnect ?? true,
58
- globalCallbacks: options.globalCallbacks ?? {},
59
- enableDeduplication: options.enableDeduplication ?? true,
60
- };
61
- // Initialize cache
62
- this.cache = new CacheManager({
63
- maxMemorySize: this.config.maxCacheSize,
64
- defaultTTL: this.config.defaultCacheTime,
65
- });
66
- // Setup window focus refetch
67
- if (this.config.refetchOnWindowFocus &&
68
- globalThis.window !== undefined) {
69
- globalThis.window.addEventListener("focus", () => this.refetchStaleQueries());
70
- }
71
- // Setup reconnect refetch
72
- if (this.config.refetchOnReconnect && globalThis.window !== undefined) {
73
- globalThis.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
- let initialState;
106
- if (cached) {
107
- initialState = createLoadingState(cached.data);
108
- }
109
- else if (options.placeholderData) {
110
- initialState = createLoadingState(options.placeholderData);
111
- }
112
- else {
113
- initialState = createLoadingState();
114
- }
115
- this.stateManager.set(cacheKey, initialState);
116
- // Execute request
117
- const requestPromise = this.executeQuery(options, context, cached);
118
- // Store pending request for deduplication
119
- if (this.config.enableDeduplication) {
120
- this.pendingRequests.set(cacheKey, requestPromise);
121
- }
122
- try {
123
- const result = await requestPromise;
124
- return result;
125
- }
126
- finally {
127
- // Clean up pending request
128
- this.pendingRequests.delete(cacheKey);
129
- }
130
- }
131
- /**
132
- * Execute a mutation
133
- */
134
- async mutate(options) {
135
- const requestId = this.generateRequestId();
136
- const context = {
137
- url: options.path,
138
- method: options.method ?? "POST",
139
- timestamp: Date.now(),
140
- requestId,
141
- };
142
- // Call onMutate if provided
143
- if (options.onMutate) {
144
- await options.onMutate(options.body);
145
- }
146
- // Execute callbacks
147
- await this.executeCallbacks("onStart", context, options.callbacks);
148
- this.eventEmitter.emit("query:start", { context });
149
- try {
150
- // Execute request
151
- const method = options.method ?? "POST";
152
- const { callbacks: _callbacks, onMutate: _onMutate, invalidateQueries: _invalidate, ...requestOptions } = options;
153
- let result;
154
- if (method === "POST") {
155
- result = await this.apiClient.post(options.path, requestOptions);
156
- }
157
- else if (method === "PUT") {
158
- result = await this.apiClient.put(options.path, requestOptions);
159
- }
160
- else if (method === "PATCH") {
161
- result = await this.apiClient.patch(options.path, requestOptions);
162
- }
163
- else {
164
- result = await this.apiClient.delete(options.path, requestOptions);
165
- }
166
- // Success callbacks
167
- await this.executeCallbacks("onSuccess", context, options.callbacks, result);
168
- this.eventEmitter.emit("query:success", { data: result, context });
169
- // Invalidate queries if specified
170
- if (options.invalidateQueries) {
171
- options.invalidateQueries.forEach((queryKey) => this.invalidateQueries(queryKey));
172
- }
173
- // Settled callback
174
- await this.executeCallbacks("onSettled", context, options.callbacks, result, undefined);
175
- this.eventEmitter.emit("query:settled", {
176
- data: result,
177
- context,
178
- });
179
- return result;
180
- }
181
- catch (err) {
182
- const error = err;
183
- // Error callbacks
184
- await this.executeCallbacks("onError", context, options.callbacks, undefined, error);
185
- this.eventEmitter.emit("query:error", { error, context });
186
- // Settled callback
187
- await this.executeCallbacks("onSettled", context, options.callbacks, undefined, error);
188
- this.eventEmitter.emit("query:settled", {
189
- error,
190
- context,
191
- });
192
- throw error;
193
- }
194
- }
195
- /**
196
- * Get current state of a query
197
- */
198
- getQueryState(queryKey) {
199
- const cacheKey = this.getCacheKey(queryKey);
200
- return this.stateManager.get(cacheKey);
201
- }
202
- /**
203
- * Get cached data for a query
204
- */
205
- getQueryData(queryKey) {
206
- const cacheKey = this.getCacheKey(queryKey);
207
- const cached = this.cache.get(cacheKey);
208
- return cached?.data;
209
- }
210
- /**
211
- * Set query data manually
212
- */
213
- setQueryData(queryKey, data) {
214
- const cacheKey = this.getCacheKey(queryKey);
215
- const cached = {
216
- data,
217
- state: createSuccessState(data),
218
- queryKey,
219
- cachedAt: Date.now(),
220
- staleTime: this.config.defaultStaleTime,
221
- cacheTime: this.config.defaultCacheTime,
222
- };
223
- this.cache.set(cacheKey, cached);
224
- this.stateManager.set(cacheKey, cached.state);
225
- this.eventEmitter.emit("cache:update", { queryKey, data });
226
- }
227
- /**
228
- * Invalidate queries matching the query key
229
- */
230
- invalidateQueries(queryKey) {
231
- const pattern = this.getCacheKey(queryKey);
232
- // Find all matching queries
233
- const keysToInvalidate = [];
234
- this.stateManager.forEach((_, key) => {
235
- if (this.matchesQueryKey(key, pattern)) {
236
- keysToInvalidate.push(key);
237
- }
238
- });
239
- // Invalidate each matching query
240
- keysToInvalidate.forEach((key) => {
241
- const state = this.stateManager.get(key);
242
- if (state) {
243
- // Mark as stale by setting to idle
244
- this.stateManager.set(key, createInitialState());
245
- }
246
- });
247
- this.eventEmitter.emit("cache:invalidate", { queryKey });
248
- }
249
- /**
250
- * Refetch queries matching the query key
251
- */
252
- async refetchQueries(queryKey) {
253
- // For now, just invalidate - actual refetch would require storing query options
254
- this.invalidateQueries(queryKey);
255
- }
256
- /**
257
- * Clear all cache
258
- */
259
- clearCache() {
260
- this.cache.clear();
261
- this.stateManager.clear();
262
- }
263
- /**
264
- * Subscribe to events
265
- */
266
- on(event, listener) {
267
- this.eventEmitter.on(event, listener);
268
- return () => this.eventEmitter.off(event, listener);
269
- }
270
- /**
271
- * Get cache statistics
272
- */
273
- getCacheStats() {
274
- return this.cache.getStats();
275
- }
276
- // -------------------------
277
- // Private methods
278
- // -------------------------
279
- async executeQuery(options, context, cached) {
280
- const cacheKey = this.getCacheKey(options.queryKey);
281
- // Execute callbacks
282
- await this.executeCallbacks("onStart", context, options.callbacks);
283
- this.eventEmitter.emit("query:start", { context });
284
- try {
285
- // Execute request
286
- const method = options.method ?? "GET";
287
- const { queryKey: _queryKey, callbacks: _callbacks, initialData: _initialData, placeholderData: _placeholderData, staleTime: _staleTime, cacheTime: _cacheTime, refetchInterval: _refetchInterval, refetchOnWindowFocus: _refetchOnWindowFocus, refetchOnReconnect: _refetchOnReconnect, ...requestOptions } = options;
288
- let result;
289
- if (method === "GET") {
290
- result = await this.apiClient.get(options.path, requestOptions);
291
- }
292
- else if (method === "POST") {
293
- result = await this.apiClient.post(options.path, requestOptions);
294
- }
295
- else if (method === "PUT") {
296
- result = await this.apiClient.put(options.path, requestOptions);
297
- }
298
- else if (method === "PATCH") {
299
- result = await this.apiClient.patch(options.path, requestOptions);
300
- }
301
- else {
302
- result = await this.apiClient.delete(options.path, requestOptions);
303
- }
304
- // Update state
305
- const successState = createSuccessState(result);
306
- this.stateManager.set(cacheKey, successState);
307
- // Update cache
308
- const cachedQuery = {
309
- data: result,
310
- state: successState,
311
- queryKey: options.queryKey,
312
- cachedAt: Date.now(),
313
- staleTime: options.staleTime ?? this.config.defaultStaleTime,
314
- cacheTime: options.cacheTime ?? this.config.defaultCacheTime,
315
- };
316
- this.cache.set(cacheKey, cachedQuery, cachedQuery.cacheTime);
317
- // Success callbacks
318
- await this.executeCallbacks("onSuccess", context, options.callbacks, result);
319
- this.eventEmitter.emit("query:success", { data: result, context });
320
- this.eventEmitter.emit("state:change", {
321
- state: successState,
322
- context,
323
- });
324
- // Settled callback
325
- await this.executeCallbacks("onSettled", context, options.callbacks, result);
326
- this.eventEmitter.emit("query:settled", {
327
- data: result,
328
- context,
329
- });
330
- return result;
331
- }
332
- catch (err) {
333
- const error = err;
334
- // Update state
335
- const errorState = createErrorState(error, cached?.data);
336
- this.stateManager.set(cacheKey, errorState);
337
- // Error callbacks
338
- await this.executeCallbacks("onError", context, options.callbacks, undefined, error);
339
- this.eventEmitter.emit("query:error", { error, context });
340
- this.eventEmitter.emit("state:change", {
341
- state: errorState,
342
- context,
343
- });
344
- // Settled callback
345
- await this.executeCallbacks("onSettled", context, options.callbacks, undefined, error);
346
- this.eventEmitter.emit("query:settled", {
347
- error,
348
- context,
349
- });
350
- throw error;
351
- }
352
- }
353
- /**
354
- * Execute onStart callbacks
355
- */
356
- async executeOnStartCallbacks(context, callbacks) {
357
- const globalCallback = this.config.globalCallbacks.onStart;
358
- const localCallback = callbacks?.onStart;
359
- if (globalCallback) {
360
- await globalCallback(context);
361
- }
362
- if (localCallback) {
363
- await localCallback(context);
364
- }
365
- }
366
- /**
367
- * Execute onSuccess callbacks
368
- */
369
- async executeOnSuccessCallbacks(data, context, callbacks) {
370
- const globalCallback = this.config.globalCallbacks.onSuccess;
371
- const localCallback = callbacks?.onSuccess;
372
- if (globalCallback) {
373
- await globalCallback(data, context);
374
- }
375
- if (localCallback) {
376
- await localCallback(data, context);
377
- }
378
- }
379
- /**
380
- * Execute onError callbacks
381
- */
382
- async executeOnErrorCallbacks(error, context, callbacks) {
383
- const globalCallback = this.config.globalCallbacks.onError;
384
- const localCallback = callbacks?.onError;
385
- if (globalCallback) {
386
- await globalCallback(error, context);
387
- }
388
- if (localCallback) {
389
- await localCallback(error, context);
390
- }
391
- }
392
- /**
393
- * Execute onSettled callbacks
394
- */
395
- async executeOnSettledCallbacks(data, error, context, callbacks) {
396
- const globalCallback = this.config.globalCallbacks.onSettled;
397
- const localCallback = callbacks?.onSettled;
398
- if (globalCallback) {
399
- await globalCallback(data, error, context);
400
- }
401
- if (localCallback) {
402
- await localCallback(data, error, context);
403
- }
404
- }
405
- async executeCallbacks(type, context, callbacks, data, error) {
406
- if (type === "onStart") {
407
- await this.executeOnStartCallbacks(context, callbacks);
408
- }
409
- else if (type === "onSuccess" && data !== undefined) {
410
- await this.executeOnSuccessCallbacks(data, context, callbacks);
411
- }
412
- else if (type === "onError" && error) {
413
- await this.executeOnErrorCallbacks(error, context, callbacks);
414
- }
415
- else if (type === "onSettled") {
416
- await this.executeOnSettledCallbacks(data, error, context, callbacks);
417
- }
418
- }
419
- getCacheKey(queryKey) {
420
- return JSON.stringify(queryKey);
421
- }
422
- matchesQueryKey(cacheKey, pattern) {
423
- // Simple prefix matching
424
- return cacheKey.startsWith(pattern.slice(0, -1));
425
- }
426
- isStale(cached, staleTime) {
427
- if (staleTime === Infinity)
428
- return false;
429
- return Date.now() - cached.cachedAt > staleTime;
430
- }
431
- generateRequestId() {
432
- // Use CryptoUtils from the library for cryptographically secure UUID generation
433
- return CryptoUtils.generateUUID();
434
- }
435
- async refetchStaleQueries() {
436
- // Iterate through all cached queries and refetch stale ones
437
- // This is a simplified implementation
438
- // In production, you'd want to track query options to refetch properly
439
- this.stateManager.forEach((state, key) => {
440
- if (state.status === "success") {
441
- // Mark as potentially stale for next query
442
- this.stateManager.set(key, { ...state, isFetching: false });
443
- }
444
- });
445
- }
446
- }
447
- /**
448
- * Factory function for creating QueryClient
449
- */
450
- export function createQueryClient(apiClient, options) {
451
- return new QueryClient(apiClient, options);
452
- }
453
- //# sourceMappingURL=QueryClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryClient.js","sourceRoot":"","sources":["../../../src/utils/core/QueryClient.ts"],"names":[],"mappings":"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"}
@@ -1,99 +0,0 @@
1
- import type { ApiError } from "./ApiClient.js";
2
- /**
3
- * Request status states
4
- */
5
- export type RequestStatus = "idle" | "loading" | "success" | "error";
6
- /**
7
- * Complete state of a request
8
- */
9
- export interface RequestState<T = unknown> {
10
- status: RequestStatus;
11
- data?: T;
12
- error?: ApiError;
13
- isLoading: boolean;
14
- isSuccess: boolean;
15
- isError: boolean;
16
- isIdle: boolean;
17
- isFetching: boolean;
18
- dataUpdatedAt: number;
19
- errorUpdatedAt: number;
20
- }
21
- /**
22
- * Request context information
23
- */
24
- export interface RequestContext {
25
- queryKey?: string[];
26
- url: string;
27
- method: string;
28
- timestamp: number;
29
- requestId: string;
30
- }
31
- /**
32
- * Lifecycle callbacks for requests
33
- */
34
- export interface RequestLifecycleCallbacks<T = unknown> {
35
- onStart?: (context: RequestContext) => void | Promise<void>;
36
- onSuccess?: (data: T, context: RequestContext) => void | Promise<void>;
37
- onError?: (error: ApiError, context: RequestContext) => void | Promise<void>;
38
- onSettled?: (data: T | undefined, error: ApiError | undefined, context: RequestContext) => void | Promise<void>;
39
- }
40
- /**
41
- * Events emitted by QueryClient
42
- */
43
- export interface QueryClientEvents<T = unknown> {
44
- "query:start": {
45
- context: RequestContext;
46
- };
47
- "query:success": {
48
- data: T;
49
- context: RequestContext;
50
- };
51
- "query:error": {
52
- error: ApiError;
53
- context: RequestContext;
54
- };
55
- "query:settled": {
56
- data?: T;
57
- error?: ApiError;
58
- context: RequestContext;
59
- };
60
- "state:change": {
61
- state: RequestState<T>;
62
- context: RequestContext;
63
- };
64
- "cache:invalidate": {
65
- queryKey: string[];
66
- };
67
- "cache:update": {
68
- queryKey: string[];
69
- data: T;
70
- };
71
- }
72
- /**
73
- * Cached query entry
74
- */
75
- export interface CachedQuery<T = unknown> {
76
- data: T;
77
- state: RequestState<T>;
78
- queryKey: string[];
79
- cachedAt: number;
80
- staleTime: number;
81
- cacheTime: number;
82
- }
83
- /**
84
- * Helper to create initial request state
85
- */
86
- export declare function createInitialState<T = unknown>(): RequestState<T>;
87
- /**
88
- * Helper to create loading state
89
- */
90
- export declare function createLoadingState<T = unknown>(previousData?: T): RequestState<T>;
91
- /**
92
- * Helper to create success state
93
- */
94
- export declare function createSuccessState<T = unknown>(data: T): RequestState<T>;
95
- /**
96
- * Helper to create error state
97
- */
98
- export declare function createErrorState<T = unknown>(error: ApiError, previousData?: T): RequestState<T>;
99
- //# sourceMappingURL=QueryState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryState.d.ts","sourceRoot":"","sources":["../../../src/utils/core/QueryState.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Helper to create initial request state
3
- */
4
- export function createInitialState() {
5
- return {
6
- status: "idle",
7
- isLoading: false,
8
- isSuccess: false,
9
- isError: false,
10
- isIdle: true,
11
- isFetching: false,
12
- dataUpdatedAt: 0,
13
- errorUpdatedAt: 0,
14
- };
15
- }
16
- /**
17
- * Helper to create loading state
18
- */
19
- export function createLoadingState(previousData) {
20
- return {
21
- status: "loading",
22
- data: previousData,
23
- isLoading: true,
24
- isSuccess: false,
25
- isError: false,
26
- isIdle: false,
27
- isFetching: true,
28
- dataUpdatedAt: 0,
29
- errorUpdatedAt: 0,
30
- };
31
- }
32
- /**
33
- * Helper to create success state
34
- */
35
- export function createSuccessState(data) {
36
- return {
37
- status: "success",
38
- data,
39
- isLoading: false,
40
- isSuccess: true,
41
- isError: false,
42
- isIdle: false,
43
- isFetching: false,
44
- dataUpdatedAt: Date.now(),
45
- errorUpdatedAt: 0,
46
- };
47
- }
48
- /**
49
- * Helper to create error state
50
- */
51
- export function createErrorState(error, previousData) {
52
- return {
53
- status: "error",
54
- data: previousData,
55
- error,
56
- isLoading: false,
57
- isSuccess: false,
58
- isError: true,
59
- isIdle: false,
60
- isFetching: false,
61
- dataUpdatedAt: 0,
62
- errorUpdatedAt: Date.now(),
63
- };
64
- }
65
- //# sourceMappingURL=QueryState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryState.js","sourceRoot":"","sources":["../../../src/utils/core/QueryState.ts"],"names":[],"mappings":"AAgFA;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAC9B,OAAO;QACH,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;KACpB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAC9B,YAAgB;IAEhB,OAAO;QACH,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;KACpB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAc,IAAO;IACnD,OAAO;QACH,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;QACzB,cAAc,EAAE,CAAC;KACpB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,KAAe,EACf,YAAgB;IAEhB,OAAO;QACH,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,YAAY;QAClB,KAAK;QACL,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC7B,CAAC;AACN,CAAC"}